本文主要展示常見的肌電信號預處理的實現,開發環境為matlab。
目錄
1 肌電信號低通,高通,帶通濾波
2 去除DC 0階偏置,1階偏置
3 全波整流
4 信號降采樣
5 linear envolope / butterworth 低通濾波器
1 肌電信號低通,高通,帶通濾波
fs=2000;
[b,a]=butter(6,[10,500]*2/fs);signal_filter=filtfilt(b,a,data1);
2 去除DC 0階偏置,1階偏置
signal_dc_rv=detrend(signal_filter,0);
signal_dc_rv=detrend(signal_filter,1);
3 全波整流
%% full-wave rectificartion of EMG
signal_fwr=abs(signal_dc_rv);
4 信號降采樣
%% downsampling the signal
signal_downsample=downsample(signal_fwr,20);
fs=100;
5 linear envolope / butterworth 低通濾波器
%% butterworth low-pass filter
[b,a]=butter(5,2*2/fs);
signal_lowpass=filtfilt(b,a,signal_downsample);