Matlab實現EMD(經驗模式分解)

2021-10-09 00:06:33 字數 524 閱讀 8894

背景:對8通道表面肌電訊號進行emd去噪

%%

%emd分解

[m,n] = size(emg_data);

refactor = zeros(m,n);%

for i = 1:n%每一列單獨進行emd分解

c = emd(emg_data(:,i),'interpolation','pchip');%c儲存分解後的imf1、imf2到imf9和殘差

for j = 1:4%取前4列imf,求和-->相當於高通濾波(要去噪參考下圖)

refactor(:,i) = refactor(:,i)+c(:,j);

endendemg_data = refactor;

emd分解為高頻imf、低頻imf和殘餘訊號,對高頻imf進行小波閾值去噪,再對去噪後的imf』、低頻imf和殘餘訊號求和,重構訊號。

matlab的小經驗

1.m檔案如果是函式,儲存的檔名最好與函式名一致,這點都很清楚。不過容易疏忽的是,m檔名的命名盡量不要是簡單的英文單詞,最好是由大小寫英文 數字 下劃線等組成。原因是簡單的單詞命名容易與matlab內部函式名同名,結果會出現一些莫名其妙的錯誤。2.除錯程式時,經常要遮蔽掉一整段程式進行,也就是將其標...

模式經驗 理解

前言 很久前把設計模式給研讀了一遍,也做了一些專案來實踐,可惜時間久了總有這麼點遺忘,現把簡要的描述寫出來,方便記憶 1 命令模式 簡而言之 服務員 命令 廚師 做烤肉 2 門面模式 就是客戶端只需要跟乙個類打交道就可以獲得很多底層類的功能,比如service中的某個類實現了dao包中很多個dao類...

Matlab命令模式

命令模式 command 將命令封裝為物件,實現命令傳送者和命令接收者的解耦。執行緒池 mvc框架用到了命令模式,本文根據以下類圖,用matlab實現命令模式。invoker.m 傳遞命令物件invoker 持有命令物件,要求命令物件執行請求 classdef invoker handle prop...