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

📄 program_iir_hp.asv

📁 基于matlab和DSP的IIR/FIR 滤波器
💻 ASV
字号:
%用双线性变换法设计一个Chebyshev1型数字高通滤波器,设计指标为:Rp=1db,Rs=60db,fp=0.4kHz,fs=0.3kHz,F=1kHz 
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
%subplot(2,2,1);stem(n,x);title('signal x(n)');grid;             %信号的绘图
k=[0:1:N/2];w=2*pi/N*k;                                         
X=fft(x,N)';magX=abs(X(1:1:N/2+1));                             %输入信号的频谱
subplot(2,1,1);plot(w/pi,magX);
title('X(e^j^w)');xlabel('频率(单位:2*pi)');ylabel('|X|');axis([0,0.8,0,200]);grid;                             

fp=0.4;fs=0.3;Rp=1;Rs=60;wp=fp*2*pi;ws=fs*2*pi;                 %性能指标
wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2);                        %预畸变
[n,wn]=cheb1ord(wp1,ws1,Rp,Rs,'s')                              %估计满足性能指标的模拟低通原型阶数和截止频率
[z,p,k]=cheb1ap(n,Rp);                                          %设计模拟低通原型滤波器(截止频率为1rad/s)
[c,d]=zp2tf(z,p,k);                                             %零极点形式转化为多项式形式
[c1,d1]=lp2hp(c,d,wn);                                          %将模拟低通原型滤波器(截止频率为1rad/s),变换为指定截止频率为wn的低通滤波器
[b,a]=bilinear(c1,d1,F)                                         %利用双线形变换法,实现模拟滤波器到数字滤波器的映射
[db,mag,pha,grd,w] = freqz_m(b,a);
%subplot(2,2,3);plot(w/pi,db);
title('H(e^j^w)');xlabel('频率(单位:2*pi)');ylabel('|H|');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(2,1,2);plot(w/pi,magY);axis([0,0.8,0,200]);grid;    %滤波输出信号的频谱
title('Y(e^j^w)');xlabel('频率(单位:2*pi)');ylabel('|Y|');

⌨️ 快捷键说明

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