• 沒有找到結果。

改良式本質模態分解法

第四章 改良式本質模態分解法之架構與分析結果

4.1 改良式本質模態分解法

4.1.1 演算法

在3.3 節介紹了改良式本質模態分解法(RIMD)的靈感是由片段式線性訊 號的研究啟發而來的。本研究希望RIMD 能夠具有片段式線性處理之快速特 性,在大量文獻回顧並參考Kizhner et al. (2006)提出有關 EMD 演算法之架 構後【41】,RIMD 演算法如圖 4.1 所示(藍色的部份為整個 RIMD 演算法之 流程,而黃色的部份則是表示IMF 之篩選程序);其流程如下:

1) 找出原始訊號 xn,k(t)之極值點序列 extre(K),其中 K 表示的為極值點 序列的個數;

2) 透過 extre(t-1)與 extre(t+1)找到與 extre(t)時間點上相對應之點,並求 出此點與extre(t)之均值得到中值點 Mpointk(t);

3) 利用立方雲線(或原始訊號比例)找出中值點分量 MpointCompk(t);

4) 取出分量 hk(t) = xn,k(t) - MpointCompk(t);

5) 若分量平均小於 0.01(i.e. Avg(hk(t)) < 0.01)並且第一個極大值週期(不 包含邊界極大值之第一與第二個出現之極大值間之週期)Tmax(1)與 第一個極小值週期(不包含邊界極小值之第一與第二個出現之極小值 間之週期)Tmin(1)相同時,記錄 cn(t) = hk(t);若不滿足上述條件,重 複步驟1)- 4),直到 hk(t)滿足 IMF 之定義,記錄 cn(t) = hk(t);

6) 若 IMF 個數(n)達到選定之 IMF 個數(m_num),演算法終止;否則執 行步驟 7);

7) 計算殘餘量 rn(t) = xn,k(t) - cn(t),如果 rn(t)是一個趨勢分量,演算法終 止;否則重複步驟1)- 4)找出其它 IMF。

圖 4.1 RIMD 演算法之流程圖

而演算法執行時,需自行設定下列參數(預設值如圖 4.2 所示):

 邊界中值點之設定是以最接近邊界點(非邊界點極值)之極大值與極 小值之總和,乘上邊界中值點係數α 而成,其值大小介於 0~1 之間。

 停止準則的設定以標準 EMD 之 SD 值(sd)以及自訂篩選次數 S 數(S) 兩者滿足其中一個即停止篩選程序。

 最後,選定 IMF 之個數(m_num)。當訊號跨度越長時,要滿足終止 趨勢分量的條件就越困難(極大值個數或極小值個數<=3),並且越後

者之IMF 其能量大小可能是非常的小,因此給定 IMF 個數的上限,

也可以降低過多的迭代次數。

且數位訊號是透過取樣(離散化)以及量化(數值化)類比(連續)訊號而得 到的,其取樣的處理上需滿足奈奎斯特─香農取樣定理(Nyquist- Shannon sampling theorem),也就是取樣的頻率最少要是奈奎斯特頻率的兩倍大,因 此設定參數sample。並在模擬訊號的產生時,給定時間長度,設定參數 te。

表 4.1 RIMD 輸入參數列表

輸入參數 代表特性

sample 取樣率(單位:點/秒)

te 時間長度(單位:秒)

α 邊界中值點係數(0~1 之間)

sd 停止準則SD 值(0.2~0.3 之間) S 停止準則S 數(3~5 之間) m_num 選定之IMF 個數(<= 10)

(a) (b) 圖 4.2 RIMD 預設參數對話窗 (a)模擬訊號 (b)測試訊號

4.1.2 極值點選取與邊界點處理

RIMD 尋找中值點的方法是透過連續三個極值點,利用前後兩個極值點 為直線兩端點,找出與中間極值點時間對應之點的平均值求得中值點,如圖 3.12 (b)所示。然而,極值點選取最大的問題,還是在邊界極值的選定上。配 合RIMD 需符合快速之特性,可以選用以下兩種方式:

 斜率比值求邊界極值

利用最靠近邊界點之連續兩極大值與邊界點到最靠近邊界點之極大值 的比值判定,若求出之值比原訊號邊界點x(1)、x(lx)大者則替代;反之邊界 極小值之判定,以求出之值比原訊號邊界點x(1)、x(lx)小者則替代。其中lx 為原訊號點的個數。

 平均值求邊界極值

初始邊界極大值以之後所有極大值之平均值(最末邊界極大值為原訊號 邊界點x(lx))判定,最末邊界極大值以之前所有極大值之平均值(初始邊界極 大值為原訊號邊界點x(1))判定,若求出之值比原訊號邊界點x(1)、x(lx)大者 則替代;反之邊界極小值之判定,以求出之值比原訊號邊界點x(1)、x(lx)小 者則替代。

RIMD極值點之選取流程如下:

1) 當訊號輸入時將邊界點分別考慮成極大值點與極小值點,則極大值 與極小值序列分別表示成:spmax(N) = [x(1) max x(lx)]與 spmin(n)=

[x(1) min x(lx)],其中 N 為極大值序列的個數,則 n 為極小值序列的 個數;

2) 利用斜率比值(或平均值)判定求得邊界之極值;

3) 重新排列極值點序列 extre(K);

4) 若不包含初始邊界極值而極大值點先出現(i.e. spmax(2) < spmin(2)),

則初始邊界極值則由初始邊界極小值替代(i.e. extre(1) = spmin(1)),反 之初始邊界極值則由初始邊界極大值替代(i.e. extre(1) = spmax(1));

5) 若 不 包 含 最 末 邊 界 極 值 而 極 大 值 點 最 後 出 現 (i.e. spmax(N-1) >

spmin(n-1)),則最末邊界極值則由最末邊界極小值替代(i.e. extre(K) = spmin(n)),反之最末邊界極值則由最末邊界極大值替代(i.e. extre(K) = spmax(N))。

圖 4.3 RIMD 極值點選取之流程圖

相關文件