制作一个简单的零相位butterworth滤波器?

时间:2016-07-15 14:34:15

标签: matlab filtering

我正在尝试使用butterworth制作两个零相位滤波器用于matlab上的研究项目,具有1000hz低通和5hz高通,但是我很难做到这一点,因为我刚刚开始使用它。到目前为止,我只是尝试youtube教程并略微修改他们的代码,但我不知道在哪里放频率值。任何人都可以帮我编写脚本吗?

x = audioread('audio file goes here.wav');
pressure1_seg = x(44100*20 : 44100*50);
d1 = designfilt('lowpassiir','FilterOrder',2, ...
    'HalfPowerFrequency',0.15,'DesignMethod','butter');
y = filtfilt(d1,pressure1_seg);
d2 = designfilt('highpassiir', 'FilterOrder',2, ...
    'HalfPowerFrequency',0.15,'DesignMethod','butter');
y1 = filtfilt(d2,y);
subplot(1,1,1)
plot(pressure1_seg)
hold on
plot(y,'LineWidth',3)
legend('Noisy ECG','Zero-Phase Filtering')

0 个答案:

没有答案