⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iir_hp_altercoef.asv

📁 基于matlab和DSP的IIR/FIR 滤波器
💻 ASV
字号:
N=256;F=1000;T=1/F;                                             %抽样频率设置
n=1:N;f1=200;f2=450;                                            %信号的频率设置
x=1.3*sin(2*pi*f1*n*T)+sin(2*pi*f2*n*T)+sin(2*pi*(f1+20)*n*T);  %信号的产生:f1=200HZ,f2=450Hz,f3=220Hz

a=[1 4.8694 10.381 12.337 8.5969 3.3268 0.55856];
b=[4.6372e-005 -0.00027823 0.00069558 -0.00092744 0.00069558 -0.00027823 4.6372e-005];
[db,mag,pha,grd,w]=freqz_m(b,a);
subplot(5,2,1);plot(w/pi,mag);grid;
y=filter(b,a,x);                                                %用所设计滤波器对输入信号进行滤波处理                                   
k=[0:1:N/2];w=2*pi/N*k;
Y=fft(y,N)';magY=abs(Y(1:1:N/2+1));
subplot(5,2,2);plot(w/(2*pi),magY);grid;                        %滤波输出信号的频谱

a1=1/128*[128 4.8694 10.381 12.337 8.5969 3.3268 0.55856];
b1=[4.6372e-005 -0.00027823 0.00069558 -0.00092744 0.00069558 -0.00027823 4.6372e-005];
[db,mag1,pha,grd,w]=freqz_m(b1,a1);
subplot(5,2,3);plot(w/pi,mag1);grid;
y1=filter(b1,a1,x);                                             %用所设计滤波器对输入信号进行滤波处理   
k=[0:1:N/2];w=2*pi/N*k;
Y1=fft(y1,N)';magY1=abs(Y1(1:1:N/2+1));
subplot(5,2,4);plot(w/(2*pi),magY1);grid;                        %滤波输出信号的频谱

a2=1/256*[256 4.8694 10.381 12.337 8.5969 3.3268 0.55856];
b2=[4.6372e-005 -0.00027823 0.00069558 -0.00092744 0.00069558 -0.00027823 4.6372e-005];
[db,mag2,pha,grd,w]=freqz_m(b2,a2);
subplot(5,2,5);plot(w/pi,mag2);grid;
y2=filter(b2,a2,x);                                                %用所设计滤波器对输入信号进行滤波处理    
k=[0:1:N/2];w=2*pi/N*k;
Y2=fft(y2,N)';magY2=abs(Y2(1:1:N/2+1));
subplot(5,2,6);plot(w/(2*pi),magY2);grid;                        %滤波输出信号的频谱

a3=1/512*[512 4.8694 10.381 12.337 8.5969 3.3268 0.55856];
%-623,-1329,-1579,-1100,-426,71
b3=[4.6372e-005 -0.00027823 0.00069558 -0.00092744 0.00069558 -0.00027823 4.6372e-005];
%97,
[db,mag3,pha,grd,w]=freqz_m(b3,a3);
subplot(5,2,7);plot(w/pi,mag3);grid;
y3=filter(b3,a3,x);                                                %用所设计滤波器对输入信号进行滤波处理    
k=[0:1:N/2];w=2*pi/N*k;
Y3=fft(y3,N)';magY3=abs(Y3(1:1:N/2+1));
subplot(5,2,8);plot(w/(2*pi),magY3);grid;                        %滤波输出信号的频谱

a4=1/64*[64 4.8694 10.381 12.337 8.5969 3.3268 0.55856];
b4=[4.6372e-005 -0.00027823 0.00069558 -0.00092744 0.00069558 -0.00027823 4.6372e-005];
[db,mag4,pha,grd,w]=freqz_m(b4,a4);
subplot(5,2,9);plot(w/pi,mag4);grid;
y4=filter(b4,a4,x);                                                %用所设计滤波器对输入信号进行滤波处理    
k=[0:1:N/2];w=2*pi/N*k;
Y4=fft(y4,N)';magY4=abs(Y4(1:1:N/2+1));
subplot(5,2,10);plot(w/(2*pi),magY4);grid;                        %滤波输出信号的频谱

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -