FIR数字滤波器的设计与实现
5 用各种窗函数设计FIR数字滤波器实例
[例]分别用矩形窗和Hamming窗设计线性相位FIR低通滤波器。要求通带截止频率wc=π/4,单位脉冲响应h(n)的长度N=21。绘出h(n)及其幅频响应特性曲线。
[设计分析]
(1)用窗函数法设计FIR数字滤波器时,先求出相应的理想滤波器(本例应为理想低通)单位脉冲响应hd(n),再根据阻带最小衰减选择合适的窗函数w(n),最后得到FIR滤波器单位脉冲响应h(n)=w(n)*hd(n)。
(2)本题中,wc=π/4,N = 21,所以线性相位理想低通滤波器的单位脉冲响应为:
hd(n)=■
(3)为了满足线性相位FIR滤波器条件h(n)=h(N-1-n),要求 a=(N-1)/2=10。
信号处理工具箱中有窗生成函数boxcar,hamming,hanning和blackman等。Wn=boxcar(m)产生长度为m的矩形窗函数列向量wn,其他窗函数产生工具箱函数的调用格式相同。
(4)MATLAB程序
clear;close all
N=21; wc=pi/4; %理想低通滤波器参数
n=0:N-1; r=(N-1)/2;
hdn=sin(wc*(n-r))/pi./(n-r); %计算理想低通单位脉冲响应hd(n)
if rem(N,2)~=0 hdn(r+1)=wc/pi; end % N为奇数时,处理n=r点的0/0型
wn1=boxcar(N); % 矩形窗
hn1=hdn.*wn1'; % 加窗
% 以上两条语句可代以fir函数:hn1=fir1(N-1,wc/pi,boxcar(N));
wn2=hamming(N); % hamming 窗
hn2=hdn.*wn2'; % 加窗
% 以上两条语句可代以fir函数:hn2=fir1(N-1,wc/pi,hamming(N));k=3;
k=1; %绘图函数p751f的位置参数
hnwplot(hn1,k);title('矩形窗设计的h(n)')
%hamming 窗
wn2=hamming(N);
hn2=hdn.*wn2';
k=3;
hnwplot(hn2,k);title('hamming设计的h(n)')
(5)程序运行结果
(6)结果分析
对两种窗函数的设计结果分别如上图所示。由图中可以看出,不同的窗函数生成的过渡带宽和阻带最小衰减是不同的。这就是选择窗函数的根据。FIR滤波器的应用十分广泛,当今的许多信号处理系统,如图像处理等系统要求具有线性相位特性。在这方面FIR滤波器有独特的优点,我们能很容易设计出具有严格线性相位的FIR系统。此外,FIR滤波器的冲激响应应是有限长序列,其系统函数为一个多项式,它所包含的极点多为原点,所以FIR滤波器永远是稳定的。
结束语
FIR数字滤波器在数字处理领域有非常重要的地位,应用MATLAB语言进行FIR数字滤波器的设计仿真时,可根据设计要求随时改变参数,以使滤波器达到最优化。
参考文献
[1]陈怀琛.MATLAB及在电子信息课程中的应用(第三版)[M].电子工业出版社,2006.3.
[2]中仿信息科技有限公司.MATLAB产品介绍[EB/OL].http://www.simwe.com/art/product/2004-02-24/product0-13-218.shtml.
[3]丁玉美.数字信号处理(第二版)[M].西安:西安电子科技大学出版社,2000.12.
作者简介:李洋洋,女,22岁,华中师范大学信息技术系电子信息工程专业2005级本科生,致力于移动通信、无线通信和数字信号处理等方面的研究。参加了2007年度经教育部备案的第一批大学生创新性实验计划,实验课题为《辅助研究性学习的手机报系统构建与设计》。
- 用频率采样法设计FIR滤波器(10-07)
- 高阶FIR滤波器的计算机设计与FPGA实现(03-13)
- FIR结构IQ串行处理RRC滤波器(04-18)
- 优化FIR数字滤波器的FPGA实现(04-18)
- 基于Matlab的FIR数字滤波器设计(10-07)
- 详解FIR滤波器和IIR滤波器的区别(04-04)