用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
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 03:47:10
用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
用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('滤波后信号');
用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
% 代码如下:
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 :200
if abs(i-iCenter) >38 && abs(i - iCenter)