FIR数字滤波器设计的WLS方法.docVIP

  • 10
  • 0
  • 约 8页
  • 2017-08-19 发布于安徽
  • 举报
FIR数字滤波器设计的WLS方法 一、理论推导 设理想数字滤波器的频率响应函数为, (1) 其中、分别是滤波器的幅频、相频特性。设FIR滤波器的单位冲激响应为 ,其频率响应可表示为, (2) 我们的任务是找到合适的,使得最大限度地逼近 。 我们采用加权均方误差(WLS:Weighted Least-Squares)最小的方法来完成设计任务。给定加权函数,根据(1) (2)式, 定义WLS函数为, (3) 显然,的极小值所对应的可作为设计结果,这个结果称为加权均方误差意义下的最优结果。根据数学知识,求的极小值,可以通过使而得到。 推到过程如下。先将(3)用欧拉公式展开, (4) 那么, (5) 继而,可写为, (6) 即, (7) 我们令, (8) (9) 那么(7)式就可以写为, (10) 进一步地,对所有成立的的表达式,则可以写成如下的线性方程组, (11) 写成矩阵形式, (12) 其中 , (13) (14) (15) 由线性代数理论知,的结果应为, (16) 二、设计例子:第一类FIR低通滤波器(为奇数) 设理想的滤波器频率响应函数为, (17) 定义加权函数为, (18) 根据(8) (9), (19) (20) 将(19)(20)代入(13-16),用MATLAB工具即可得到。然后可以根据结果画出频率特性曲线。 以下是用MATLAB完成上述设计的代码: clear all; close all; pass=0.2*pi; stop=0.3*pi; N=35; Wp=1; Ws=10; D=(N-1)/2; for m=1:N for n=1:N if abs((m-1)-(n-1))0 t(m,n)=Wp*sin(((m-1)-(n-1))*pass)/((m-1)-(n-1)) -Ws*sin(((m-1)-(n-1))*stop)/((m-1)-(n-1)); else t(m,n)=Wp*pass+Ws*(pi-stop); end; end; end; for m=1:N if abs(D-(m-1))0 s(m)=Wp*sin((D-(m-1))*pass)/(D-(m-1)); else s(m)=Wp*pass; end; end; hfir=t\s; hfir figure(1); w=linspace(0,pi); F=freqz(hfir,1,w); hm=20*log10(abs(F)); plot(w/pi,hm); xlabel(Normalized frequency); ylabel(Magnitude

文档评论(0)

1亿VIP精品文档

相关文档