MATLAB在信号处理中的应用汇.pptVIP

  • 14
  • 0
  • 约9.09千字
  • 约 42页
  • 2018-05-11 发布于浙江
  • 举报
MATLAB在信号处理中的应用汇

线性时不变(LTI)系统的常用表示方法 4.8.1冲激响应不变法 2.MATLAB信号处理工箱中的专用函数impinvar( ): 格式:[BZ,AZ] =impinvar(B,A,Fs) 功能:把具有[B,A]模拟滤波器传递函数模型转换成采样频率为Fs(Hz)的数字滤波器的 传递函数模型[BZ,AZ]。采样频率Fs的默认值为Fs=1。 1. 冲激响应不变法设计IIR数字滤波器的基本原理: [例4-37] MATLAB源程序如下: num=[1]; %模拟滤波器系统函数的分子 den=[1,sqrt(5),2,sqrt(2),1]; %模拟滤波器系统函数的分母 [num1,den1]=impinvar(num,den) %求数字低通滤波器的系统函数 程序的执行结果如下: num1 = -0.0000 0.0942 0.2158 0.0311 den1 = 1.0000 -2.0032 1.9982 -0.7612 0.1069 MATLAB信号处理工具箱中的专用双线性变换函数bilinear( ) 格式:[numd,dend]=bilinear(num,den,Fs) 功能:把模拟滤波器的传递函数模型转换成数字滤波器的传递函数模型。 4.8.2双线性变换法 双线性变换利用频率变换关系: [例4-38] MATLAB源程序如下: num=1; %模拟滤波器系统函数的分子 den=[1,sqrt(3),sqrt(2),1]; %模拟滤波器系统函数的分母 [num1,den1]=bilinear(num,den,1) %求数字滤波器的传递函数 运算的结果如下:  num1 = 0.0533 0.1599 0.1599 0.0533 den1 = 1.0000 -1.3382 0.9193 -0.1546 4.8.3 IIR数字滤波器的频率变换设计法 1. IIR数字滤波器的频率变换设计法的基本原理 根据滤波器设计要求,设计模拟原型低通滤波器,然后进行频率变换,将其转换为相应的模拟滤波器(高通、带通等),最后利用冲激响应不变法或双线性变换法,将模拟滤波器数字化成相应的数字滤波器。 图4.39 IIR数字滤波器MATLAB设计步骤流程图 1.MATLAB的典型设计 利用在MATLAB设计IIR数字滤波器可分以下几步来实现 (1)按一定规则将数字滤波器的技术指标转换为模拟低通滤波器的技术指标; (2)根据转换后的技术指标使用滤波器阶数函数,确定滤波器的最小阶数N和截止频率Wc; (3)利用最小阶数N产生模拟低通滤波原型; (4)利用截止频率Wc把模拟低通滤波器原型转换成模拟低通、高通、带通或带阻滤波器; (5)利用冲激响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。 [例4-39] 设计一个数字信号处理系统,它的采样率为Fs=100Hz,希望在该系统中设计一个Butterworth型高通数字滤波器,使其通带中允许的最小衰减为0.5dB,阻带内的最小衰减为40dB,通带上限临界频率为30Hz,阻带下限临界频率为40Hz。 MATLAB源程序设计如下: %把数字滤波器的频率特征转换成模拟滤波器的频率特征 wp=30*2*pi;ws=40*2*pi;rp=0.5;rs=40;Fs=100; [N,Wc]=buttord(wp,ws,rp,rs,s);  %选择滤波器的最小阶数 [Z,P,K]=buttap(N);  %创建Butterworth低通滤波器原型 [A,B,C,D]=zp2ss(Z,P,K); %零-极点增益模型转换为状态空间模型 [AT,BT,CT,DT]=lp2hp(A,B,C,D,Wc);  %实现低通向高通的转变 [num1,den1]=ss2tf(AT,BT,CT,DT); %状态空间模型转换为传递函数模型 %运用双线性变换法把模拟滤波器转换成数字滤波器 [num2,den2]=bilinear(num1,den1,100);  [H,W]=freqz(num2,den2);  %求频率响应 plot(W*Fs/(2*pi),abs(H));grid; %绘出频率响应曲线 xlabel(频率/Hz); ylabel(幅值) 程序运行

文档评论(0)

1亿VIP精品文档

相关文档