基于窗函数与MATLAB的数字FIR滤波器设计

2016-11-12 07:50董胡
微型电脑应用 2016年3期
关键词:阻带汉明布莱克

董胡

基于窗函数与MATLAB的数字FIR滤波器设计

董胡

简要介绍了窗函数设计FIR滤波器的理论依据,运用MATLAB语言实现了低通FIR滤波器的设计及仿真。采用窗函数法设计FIR数字滤波器具有设计简单,方便,实用等优点,因而受到广泛运用。

窗函数;FIR滤波器;MATLAB ;矩形窗;汉明窗

0 引言

Matlab是Mathworks公司1984年推出的高速数值计算和可视化软件,是科研工程应用的强有力的工具。数字滤波器在数字信号处理的各种应用中挥着十分重要的作用,是通过采样数据信号进行数学运算处理来达到频域滤波的目的[1]-[2]。本文主要研究数字滤波器中的窗函数设计法,窗函数设计线性相位FIR滤波器的设计建立在对期望滤波器频率特性的某种近似基础之上,FIR设计主要有几种近似方法:窗函数法,频率抽样法,Fourier级数展开设计法及Chebyshev逼近法等。其中,窗函数设计技术是FIR滤波器设计的主要方法之一,由于运算简单,物理意义直观,又有闭合形式的公式可循,因而很实用,已成为工程实际中应用最广泛的方法。

1 窗函数设计FIR滤波器理论依据

1.1原理分析

设数字滤波器的传输函数为Hd(ejw),hd(n)是与它相对应的单位脉冲响应,如公式(1)、(2):

一般来说hd(n)是无限长的,需要对Hd(ejw)取一个近似的逼近。采用窗函数法设计时,可以通过对理想滤波器的单位采样响应加窗来设计滤波器如公式(3):

其中,w(n)是一个长度有限的窗,仅在区间[0,N]之间存在。并且其关于中间点对称如公式(4):

根据上式(4),由卷积定理可得公式(5):

窗函数的离散时间傅里叶变换w(ejw)使得理想的频率响应变得“平滑”。由于该方法通过加窗,取有限的脉冲响应,故被称为窗函数法[3]。

1.2几种典型窗函数比较

目前几种主要窗函数为:矩形窗(boxcar),三角形窗(triang),汉宁窗(hanning),汉明窗(hamming),布莱克曼窗(blackman),他们的性能比较[4]如表1所示:

表1 几种典型窗函数性能比较

1.3选窗原则

根据窗函数对数据处理的影响,可参照下述原则选取理想的窗函数[5]-[6]:

(1)窗函数频谱的主瓣应尽可能地窄,即能量尽可能集中在主瓣内,以提高谱估计时的频域分辨率和减小泄漏,在数字滤波器设计中获得较小的过渡带;

(2)尽量减少窗函数频谱的最大旁瓣的相对幅度,以使旁瓣高度随频率尽快衰减。如这两条不

能同时得到满足往,往是增加主瓣宽度以换取对旁瓣的抑制。

1.4窗函数设计FIR滤波器步骤

(1)给定Hd(ejw),求相应hd(n);

(2)根据允许的过度带宽及阻带衰减要求选择窗函数形状及滤波器长度N;

(3)按所得窗函数求得h(n)=hd(n)w(n);

(4)计算H(ejw)=[Hd(ejw)*W(ejw)]/2π,检验各项指标是否满足。

2 窗函数设计FIR低通滤波器

用窗函数设计FIR低通滤波器,其具体性能指标如下所示:

仅从阻带衰减αp=54dB 可知,汉明窗和布莱克曼窗均满足设计要求,但布莱克曼窗的过渡带宽大于汉明窗的过渡带宽,并且汉明窗的通带边缘增益要优于布莱克曼窗,所以在实际应用中选择汉明窗进行设计较佳,为了对二者所设计的滤波器进行比较,下面给出了用汉明窗和布莱克曼窗设计该滤波器的部分Matlab程序:function [bb,cc,dd,ee,w] =mock(b,a)

[H,w]=freqz(b,a,1000,'whole');

H=(H(1:501))';

w=

(w(1:501))';

cc=abs(H);

bb=20*log10((cc+eps)/max(cc));

dd=angle(H);

ee=grpdelay(b,a,w);

function hd=del(wc,M)

mm=(M-1)/2;

n=0:(M-1);

m=n-mm+eps;

hd=sin(wc*m)./(pi*m);

wp=0.3*pi;

ws=0.4*pi;

width=ws-wp;

M1=ceil(3.3*2*pi/width)+1;

M2=ceil(5.5*2*pi/width)+1;

xlabel('频率(归一化)');

ylabel('幅度(dB)');

legend('汉明窗','布莱克曼窗');

运行FIR低通滤波仿真程序可得:汉明窗和布莱克曼窗设计的滤波器长度分别为67和111;最大阻带起分别为-50和-73;实际通带边缘增益分别为-0.0458和-0.0033由此可看出用汉明窗设计的FIR低通波器性能的确优于布莱克曼窗。可知设计的滤波器满足设计指标如图1、图2所示:

图1 汉明窗时域图

图2 布莱克曼窗时域图

布汉明窗与莱克曼窗性能比较如图3所示:

图3 布汉明窗与莱克曼窗性能比较图

3 总结

FIR系统由于其稳定性好,具有线性相位的特点,因而在很多相关领域获得应用,如数字图象处理、二维卷积器、小波滤波等。采用窗函数法设计FIR数字滤波器具有设计简单,方便,实用等优点,因而受到广泛运用。

[1] 詹圣益.嵌入式系统中数字滤波器的分析和设计[J].微型电脑应用,2012,28(8):38-40.

[2] 丁玉美,高西全.数字信号处理(2版)[M].西安:西安电子科技大学出版社,2000.

[3] 胡广书.数字信号处理—理论,算法与实现(2版)[M].北京:清华大学出版社,2003.

[4] 吴镇扬.数字信号处理的原理与实现[M].南京:东南大学出版社,2001.

[5] 从玉良,王志宏.数字信号处理原理及其MATLAB实现[M].北京:电子工业出版社,2000.

[6] Meher P K. New approach or look-up-table design and memory-based realization of FIR digital filter[J].IEEE Circuits andd Systems Scoiety,2010,57(3):592-603.

Digital FIR Filter Design Based on Window Function and Matlab

Dong Hu
(Electronic and Information department,Changsha Normal University,Changsha 410100,China)

The article simply introduces the design of digital FIR filter with window function,and realizes the design and emulation of low-pass filter by means of MATLAB language. It is simple,convenient and useful to design FIR filter with window function. So it is widely used in digital FIR filter design.

Window Function; FIR Filter; MATLAB; Boxcar; Hamming

TP39

A

1007-757X(2016)03-0030-03

湖南省自然科学基金资助项目(2015JJ6007);湖南省教育厅科研项目(12C0952);长沙师范学院大学生研究性学习和创新性实验计划项目(DXYC201510)。

董 胡(1982-),男,湖北黄冈人,长沙师范学院电子与信息工程系,讲师,硕士,研究方向:嵌入式设计、传感器技术及信号处理,长沙,410100.

(2015.09.21)

猜你喜欢
阻带汉明布莱克
清夜
一种低损耗高抑制的声表面波滤波器
新生
天真的预言
一种改进的最大信杂比MTD滤波器设计算法
一粒沙子
二维周期介质阻带分析与应用研究
媳妇管钱
汉明距离矩阵的研究
一种基于互补环缝谐振器抑制SSN的新方法