04_生醫訊號分析思考與實現

42
生生生生生生生生生生生 生生生生生生 生生 [email protected]

description

Signal analysis

Transcript of 04_生醫訊號分析思考與實現

Page 1: 04_生醫訊號分析思考與實現

生醫訊號分析思考與實現

台科大醫工所 許昕[email protected]

Page 2: 04_生醫訊號分析思考與實現

分析主題 ECG 之時域分析 PPG 之頻域分析 低 SNR 之演練: LDF 之時域分析 待分析數據:由老師提供給大家演練

– ECG+PPG+LDF

都是大學問– 演算法層面:要能作得出來、有效率– 生理層面:要有實質意義

Page 3: 04_生醫訊號分析思考與實現

1. ECG 之時域分析

For what purpose?– 抓取 R peak

– 切出每一 heartbeat

– 協尋其他小 peak

– 協助其他訊號抓取特定點• Ex: 血壓脈波之 foot or peak

– Time-averaging 的對齊點• 可提升 SNR

Page 4: 04_生醫訊號分析思考與實現

需要做什麼事?

Page 5: 04_生醫訊號分析思考與實現

1-1 通道分離 [HWECG-1]

將不同 channel 的數據分開 因為在 AD 的數位檔案中,各 channel 為混雜排列 每隔” channel 數”個,需予以拆解分離 並觀察各頻道訊號的不同特性

1 2 3 4 5 6 7 8 1 2 3 4raw data

channel 1

channel 2

1 1 1 1

2 2 2 2

分離

Page 6: 04_生醫訊號分析思考與實現

1-2 數位高低通濾波

Why necessary?– Interference vs noise ?– 一定分得開嗎?什麼狀況會分不開?– 如果分不開,怎麼辦?

HF LF Peak detection 的影響

Page 7: 04_生醫訊號分析思考與實現

數位濾波 硬體的麻煩

– 階數少– 元件需挑選– 多級製作需考慮其他因素,如:阻抗匹配、漏電流影響等

數位比硬體濾波好用– 階數更高– 更易設定– 代價:計算時間、 memory 大小

Ex: 截止頻率為 0.1~50Hz– 主要目的為去除訊號的直流成分與市電 60Hz 的雜訊濾除– 使用帶通濾波器為 Cheb -I 型的濾波器,– 由 45Hz 的 11 階 LPF 與 0.1Hz 的 2 階 HPF 所組成

Page 8: 04_生醫訊號分析思考與實現

Matlab 實現 [HWECG-2]

Syntax : y = filtfilt(b,a,x) Description:

– y = filtfilt(b,a,x) performs zero-phase digital filtering by processing the input data in both the forward and reverse directions.

– The resulting sequence has precisely zero-phase distortion and double the filter order.

– filtfilt minimizes start-up and ending transients by matching initial conditions, and works for both real and complex inputs.

請以此函數設計出前述之帶通濾波器

Page 9: 04_生醫訊號分析思考與實現

Low-pass filter 舉例

wp=50/(sample_rate/2); – %設定 cutoff frequency

ws=55/(sample_rate/2); [N, Wn]=cheb1ord(wp,ws,-6,-40); [B,A]=cheby1(N,0.5,Wn,‘low’);

– %找出 filter係數 tmps1=filtfilt(B,A,ecg_f);

– 執行 filter

Page 10: 04_生醫訊號分析思考與實現

1-3 抓取 R peak :如何進行

Page 11: 04_生醫訊號分析思考與實現

抓取 R peak :操作流程 [HWECG-3]1. 算出平均 HR

– How? 時域還未知,所以要用?– 演算法為何?

2. 抓 1st R peak– How?

3. 利用平均 RR length ,設定一 searching window ,找下一 peak– Window 該設多長?– 會造成何限制?

4. 週而復始

Page 12: 04_生醫訊號分析思考與實現

抓取 R peak :特殊狀況 [HWECG-4]

如果有怪波形,可能造成 R-peak 誤判,怎麼辦?– 拖很長– 每隔數個,有一個怪波– Motion artifact

– 請設想演算法? 手工檢驗的必要性

– 拿數據較辛苦,分析是較輕鬆的– 永遠無法預料會出什麼狀況– 如何執行檢驗?請寫出演算法

Page 13: 04_生醫訊號分析思考與實現

抓取 R peak :錯誤處理

有錯誤的 or 無法判定,該怎麼辦? 排除?

– 如何知道是哪一個 RR interval 出錯 容忍?

– 如何是可接受的方式

Page 14: 04_生醫訊號分析思考與實現

HRV (heart rate variability) [HWECG-5]

相鄰兩個 QRS 時間的間距代表著心跳週期,將各個 QRS 時間間距組合而成之時間序列即為心率變異訊號。

但是由於每一個 QRS 波觸發的時間間距並不盡相同,因此上述所得到之心率變異訊號為非等時距取樣訊號 (unequal sampling signal)– 然而一般數位訊號處理所採用的分析訊號通常是以等時距取樣訊號

為主– 因此在使用數位訊號處理方法之前必須先將非等時距取樣之心率變異訊號轉變成等時距取樣訊號

將原有之心率變異訊號,以平均心率為單位時間重新取樣,– 每個取樣點的時間間隔為平均心率– 而取樣點的大小值則為相鄰兩個 QRS 波的時間間距 (R-R interval

length)

– 經過重新取樣之後即可得到等時距取樣的心率變異訊號

Page 15: 04_生醫訊號分析思考與實現

HRV 頻譜 得到心率變異訊號後,再進行功率頻譜密度的演算 功率頻譜密度圖形分成三個頻域區段1. 極低頻能帶 (VLF) 之頻率介於 0.01~0.04Hz

– 與體溫調節及血管收縮有關。2. 低頻能帶 (LF) 之頻率介於 0.04~0.15Hz

– 能夠反應出交感神經與副交感神經的活動情形– 交感與副交感神經彼此互相影響,是一種拮抗作用,當交感神經處於較興奮的狀態下,低頻能帶能量會有增加的現象,故低頻頻帶之能量變化是交感神經活動情形的指標。

3. 高頻能帶 (HF) 之頻率介於 0.15~0.4Hz– 與呼吸頻率及活動有關– 且呼吸活動會受到副交感神經的調節,所以高頻能帶之變化能反映出副交感神經的活動。

Page 16: 04_生醫訊號分析思考與實現

HRV 實際執行 通常需 200-500 個 pulse ,以逼近滿足無窮長數列之假

設– FFT 可採用 256 or 512

頻譜轉換可使用 FFT 得出 積分得到三頻帶 power spectral density 比較方式

– 絕對值– 相對比較: Ex, HF/LF

Page 17: 04_生醫訊號分析思考與實現

2. PPG 之頻域分析

時域分析的用途: PTT (pulse transit time)– 高血壓– 動脈硬化

時域的分析帶給我們直觀及訊號變化的流程– 缺點:時域波形易受振幅及雜訊的干擾– 如峰值的估算位置及 Aix(Augmentation index) 的誤判等

在頻域上的訊號與雜訊較易被區隔

Page 18: 04_生醫訊號分析思考與實現

Why 執行頻域分析 1

動脈血壓波形各諧波的能量強度分布情形– 可對應至不同血管床之血流推力– 可協助評估各重要器官的生理運作狀態

Page 19: 04_生醫訊號分析思考與實現

Why 執行頻域分析 2

PPG 訊號與血壓脈波之頻域諧波成分具有相關性

Page 20: 04_生醫訊號分析思考與實現

血壓脈波波形分析之生理意義 處理血壓波形,可反映較多特性

– 98% vs 2%

– 西瓜偎大邊 血壓波長長,量一處即可反映全身

– Global other than local

– 適於非侵入量測診斷– 對干擾之耐受力高

Page 21: 04_生醫訊號分析思考與實現

共振之啟示

BP信號近似週期性 週期信號就有 harmonics Harmonics 有其重要生理意義

– 代表推血進入器官的動力 Phase angle 也有其生理意義

– 血管硬化的指標

Page 22: 04_生醫訊號分析思考與實現

BP信號之特性

Quasi-periodic 該採用何種信號處理方式?

– traditional

– Modern modeling

– Adaptive

FT+segmentation may be quite good,– and may be the most appropriate.

– Why?

Page 23: 04_生醫訊號分析思考與實現

Advantages of FFT

Easy to implement Fast, efficient Suitable for determining harmonic power Phase information are not loss.

Page 24: 04_生醫訊號分析思考與實現

頻域 vs 諧波分析之不同

相似:皆是頻率域– 主要 tool 都是 FFT

執行對象之不同– 頻域:整串數據– 諧波:需針對每一 heartbeat 週期,各自執行 FFT ,再予以平

均 特性之不同

– 振幅: Blunt vs sharp

– 相位:哪一個比較清楚、穩定– 哪一種訊號適用諧波分析 rather than 頻域分析

• 心血管、神經、呼吸、語音?

Page 25: 04_生醫訊號分析思考與實現

BP量測規格之選擇

Based on “facts”. 取樣頻率

– Amplitude 頻域分佈– Phase angle 解析度

線性度– Amplitude 頻域分佈

AD 位數– min. amplitude / whole span

Page 26: 04_生醫訊號分析思考與實現

諧波分析執行流程

原始資料解碼 分離通道 帶通濾波

將 BP 、 PPG 、ECG 進行快速傅利葉轉換

將 BP 、 PPG 、ECG 的最低點挑出

計算 BP 與PPG 各諧坡能量

計算 BP 與PPG 各諧坡相位角

計算各項時域參數 輸出檔案

Page 27: 04_生醫訊號分析思考與實現

2-1 切波

可用 ECG 協助 [HW-PPG1] R-peak往後設定一個 searching window 找最低點 (foot)

– Why not peak?

– 如何設定此範圍 [HW-PPG1]• 設定錯會怎樣?

找不到的處理:與前述 ECG類似– 一個個檢查– 內插 or 丟棄

Page 28: 04_生醫訊號分析思考與實現

與 R-peak 找尋之不同

Foot 點不像 R-peak那麼清楚易辨識– R-peak 很尖– Foot只是相對低點

使用 minimal ,易發生找點之錯誤– Any better solution?試想演算法 [HWPPG-1]

一些怪現象– 放電過程拖很長– 每隔數個,有一個怪波– Motion artifact

如何確認正確 [HWPPG-1]

Page 29: 04_生醫訊號分析思考與實現

若無 ECG 協助:必須自立更生 [HW-PPG2]

類似 ECG 找尋 R-peak

1. 算出平均 HR

2. 抓 1st R peak

3. 利用平均 HR ,設定一 searching window ,找下一peak

4. 週而復始

差異在哪?– Hint: 前頁重點

Page 30: 04_生醫訊號分析思考與實現

2-2 各自頻域分析 [HW-PPG3]

需先切好波,標出切波時間點 各 foot 點之間,即為一 PPG 脈波 諧波分析:各脈波皆可執行 FFT 所有脈波之結果,可計算其 mean 與 SD

– Magnitude 與 phase angle皆可執行– 與整串分析的結果會類似

請與整串分析作比較 [HW-PPG3]

Page 31: 04_生醫訊號分析思考與實現

會有什麼問題要處理?

DC fluctuation– 表現在脈波的什麼部分?– 如何處理

異常波形怎麼辦?– 與 HW-ECG4類似– 手工檢驗的必要:逃不掉

Page 32: 04_生醫訊號分析思考與實現

DC fluctuation 的處理

頻域處理: HP filter [HWPPG-3]– 可將整筆數據拉平– 缺點:個別脈波的異常狀況,有時會被掩蓋

時域處理– 將脈波之前後點拉平– 缺點:若波動太大,拉平動作會造成波形之 distortion

– 缺點即是優點:可得知波形波動的劇烈程度

Page 33: 04_生醫訊號分析思考與實現

3. LDF 之時域分析

Page 34: 04_生醫訊號分析思考與實現

LDF 之訊號特性

與 ECG, BPW 同樣為 quasi-periodic– 可使用 FFT 等頻域分析技術

擷取頻率低– 最快機器為 40Hz

– 頻譜可用範圍小 波形品質差

– 來自於散射模型– 脈波之間變異大、雜亂無章

Page 35: 04_生醫訊號分析思考與實現

碰到困難,如何解決?

難以切波– 可用別人來幫忙– Which parameter is appropriate?

頻域分析意義低– 時域可能較具意義

Page 36: 04_生醫訊號分析思考與實現

血流時域波形之生理意義 血流是經由動脈血壓推力,使血液經由小開口噴出至末端

組織 每一 LDF 脈波波形,皆可代表 heartbeat推出血流之特性 Key problem: 要如何得到每一個脈波,才能有效決定這些參數值

Page 37: 04_生醫訊號分析思考與實現

執行流程

1. 切波2. 縱軸正規化3. 橫軸對齊平均4. 得到一個平均波形

– 即可計算各參數

Page 38: 04_生醫訊號分析思考與實現

1. 切波 [HW LDF-1 for 2 weeks]

需藉助其他訊號的協助– 要有能清楚辨視切點的訊號– Such as?

執行方式:類似 PPG藉助 ECG 協助的方式 (HWPPG-1所述 )

R-peak往後設定一個 searching window 找最低點 (foot)– 如何設定此範圍

Page 39: 04_生醫訊號分析思考與實現

2.縱軸正規化

定義各 pulse 的振幅– Max-min

將所有 pulse 的振幅,皆 normalize 至 100%– 消除波形之縱方向差異

Page 40: 04_生醫訊號分析思考與實現

3. 橫軸對齊平均

依照對齊點,將所有 pulse 進行平均 Q1 :對齊點是什麼? Q2 :若每個 pulse 不一樣長怎麼辦?

– 後面可補 0

Why適用?– 數學上:不影響後續平均– 生理上:後段 diastolic period 血流通常逐漸下降

Page 41: 04_生醫訊號分析思考與實現

最早於 2006年發表,全球首先提出 DCflux :血流直流值 ACflux :血流脈波值 PW :血流脈波寬度 (pulse width)

– 可代表微循環小開口之開啟時間比例 FRT :爬升時間 (flow rising time) FDT :低點延遲時間 (foot delay time)

– 可反映末端阻力

4. 得到一個平均波形:可計算各項參數

Page 42: 04_生醫訊號分析思考與實現