我有真正的麻煩試圖創建/使用MATLAB中的過濾器是在非常低的頻率足夠準確的高通濾波器。低頻率,MATLAB
我感興趣的一個範圍內的5和50赫茲之間的信號,高頻段沒有太多關注的,我真正想要做的是過濾5HZ下任何東西。但是,我發現巴特沃斯濾波器在濾波方面做得很少,只是將信號衰減到正常信號的一半左右。
我已經試過兩種方法。一個是使用MATLABs過濾工具fdatool
,另一個是下面的手動方法:
filtLow = 5;
filtHigh = 50;
Fs = 1000;
[b, a] = butter(1, filtLow/(Fs/2), 'high');
y = filtfilt(b, a, data);
或
[b, a] = butter(1, [filtLow/(Fs/2), filtHigh/(Fs/2)]);
y = filtfilt(b, a, data);
誰能給我一個建議或代碼可以給我更好的結果?
你是如何設計你的巴特沃斯過濾器的?你可以發佈一些代碼嗎? – 2013-03-07 17:28:29
我試過兩種方法。其中之一是使用MATLABs濾波器工具(的FDATool),另一個是下方的手動方法: 'filtLow = 5; filtHigh = 50; Fs = 1000; [b,a] = butter(1,filtLow /(Fs/2),'high'); y = filtfilt(b,a,data); OR 並[b,A] =黃油(1,[filtLow /(FS/2),filtHigh /(FS/2)]); y = filtfilt(b,a,data);' – ritchie888 2013-03-07 17:48:11
將來,請在問題中張貼代碼並正確格式化。 – 2013-03-07 17:51:00