用matlab设计一个带阻滤波器,信号有5Hz,40Hz,50Hz,要求把40Hz的滤除,程序是这样的,滤波器和产生的信

学习 时间:2026-04-03 09:42:27 阅读:6827
用matlab设计一个带阻滤波器,信号有5Hz,40Hz,50Hz,要求把40Hz的滤除,程序是这样的,滤波器和产生的信w1=38/100;w2=42/100;[B,A]=butter(1,[w1,w2],'stop');[h,w]=freqz(B,A);f=w/pi*100;figure(1),plot(f,20*log10(abs(h)));axis([0,80,-30,10]);grid;xlabel('频率/Hz')ylabel('幅度/dB')title('频率响应曲线')fs=200;t=0:1/fs:1;x1=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*40*t);Y1=fft(x1,128);Y2=abs(Y1);f=(0:64)*100/64;figure(2),subplot(2,1,1),plot(f,Y2(1:65)),title('原始信号');y=filter(B,A,Y2);subplot(2,1,2),plot(y),title('滤波后信号');

最佳回答

英勇的小兔子

敏感的抽屉

2026-04-03 09:42:27

% 代码如下:fs=200;t=0:1/fs:1;x1=sin(2*pi*5*t)+sin(2*pi*50*t);plot(t,x1);title('sin(2*pi*5*t)+sin(2*pi*50*t)波形图');x2=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*40*t);figure;plot(t,x2);title('sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*40*t)波形图');fx = fft(x);fx1 = fftshift(fx);iCenter = 101;for i = 1 :200if abs(i-iCenter) >38 && abs(i - iCenter)

最新回答共有2条回答

  • 迅速的小蝴蝶
    回复
    2026-04-03 09:42:27

    % 代码如下:fs=200;t=0:1/fs:1;x1=sin(2*pi*5*t)+sin(2*pi*50*t);plot(t,x1);title('sin(2*pi*5*t)+sin(2*pi*50*t)波形图');x2=sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*40*t);figure;plot(t,x2);title('sin(2*pi*5*t)+sin(2*pi*50*t)+sin(2*pi*40*t)波形图');fx = fft(x);fx1 = fftshift(fx);iCenter = 101;for i = 1 :200if abs(i-iCenter) >38 && abs(i - iCenter)

上一篇 cast coated paper 和cast coated adhesive paper有什么区别

下一篇 平遥古城有多少年的历史啦?