当前位置:文档之家› FIR数字滤波器设计与仿真

FIR数字滤波器设计与仿真

FIR数字滤波器设计与仿真
FIR数字滤波器设计与仿真

毕业论文(设计) 题目FIR数字滤波器设计与仿真

学生姓名

学号

院系

专业

指导教师

二○一一年六月二日

目录

1. 引言 (1)

1.1 课题研究的目的和意义 (1)

1.2 国内外发展现状 (2)

1.3 本文的研究工作 (2)

2. 数字滤波器 (3)

2.1 数字滤波器的分类 (3)

2.2 FIR滤波器特点 (3)

2.3 数字滤波器的设计 (4)

3. FIR滤波器的设计 (5)

3.1 FIR数字低通滤波器的设计 (5)

3.2 FIR数字高通滤波器设计 (9)

3.3 FIR带通滤波器设计 (11)

3.4 FIR数字带阻滤波器设计 (15)

4. FIR数字滤波器的实例仿真 (19)

总结 (21)

参考文献 (22)

致谢 (23)

Abstract (24)

FIR数字滤波器设计与仿真

宗铭

南京信息工程大学电子信息工程系,南京 210044

摘要:数字滤波器可以利用软件和数字处理硬件两种方式实现,本文在matlab基础上采用了窗函数设计法、波纹逼近设计法、最小乘方设计法分别设计了低通、带阻、带通、高通FIR数字滤波器,比较了不同方法设计出滤波器的通带、阻带、过渡带以及阶数,通过分析大量的设计仿真指出了不同设计方法的特点:窗函数设计法设计方法简便,通带内稳定性高,过渡带宽度随滤波器的阶数变化而变化;波纹逼近法设计出的滤波器阶数较低,计算量较小;最小乘方法误差较低,通带内平稳度高并且最小阻带衰减高。

关键词: FIR;Matlab;数字滤波器

1. 引言

1.1 课题研究的目的和意义

数字信号处理(Digital Signal Processing,简称DSP)是一门涉及多门学科并广泛应用于很多科学和工程领域的新兴学科,它是指利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以便提取有用的信息并进行有效的传输与应用,得到符合人们需要的信号形式。与模拟信号处理相比,数字信号处理具有精确、灵活、抗干扰能力强、可靠性高、体积小、易于大规模集成等优点。数字信号处理的实现在早期采用通用的处理器实现,但其速度低,价格昂贵。数字信号处理器(Digital Signal Processor)的出现则改变了这一状况,其内部带有专门用于数字信号处理的硬件,因此速度非常快,方便实时快速地实现各种数字信号处理算法。数字滤波器由数字乘法器、加法器和延时单元组成的一种算法或装置。数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。与模拟处理相比,数字处理有灵活性强、精度高、处理成本低以及对环境没有特殊要求等优点。它不仅能实现模拟处理的大部分功能,而且还能完成模拟处理由于成本、可靠性等原因而无法具体实现的功能。数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。数字滤波在通信、图像编码、语音编码、雷达等许多领域中也有着十分广泛的应用。数字滤波器是通过对抽样数据进行数学处理来达到频域滤波的目的。数字滤波器可以用软件或设计专用

的数字处理硬件两种方式来实现。用软件来实现数字滤波器优点是:随着滤波器参数的改变,很容易改变滤波器的性能。

1.2国内外发展现状

现代滤波理论研究的主要内容是从含有噪声的数据记录(又称为时间序列)中估计出信号的某些特征或信号本身。一旦信号被估计出,那么估计出的信号将比原信号会有高的信噪比。现代滤波器把信号和噪声都视为随机信号,利用它们的统计特征(如自相关函数、功率谱函数等等)导出一套最佳的估值算法,然后用硬件和软件实现。目前现代滤波器主要有:维纳滤波器、卡尔曼滤波器、线性预测器、自适应滤波器等,很多专家将基于特征分解的频率估计及奇异值分解算法都归入现代滤波器的范畴。GR雷达信号处理分析系统中的信号分析中的滑动平均谱和常规处理中的反褶积运算采用了现代处理的部分功能。

MATLAB 是一套用于工程计算的可视化高性能语言与软件环境。它集成了数值计算、符号计算、可视化建模、仿真和图形处理等功能。MATLAB语言运算符丰富,既具有结构化的控制语言,又能面向对象编程,语法限制不严格,具又强大的图形功能和功能强大的工具箱。它为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。MATLAB 推出的工具箱使各个领域的研究人员可以直观方便地进行科学研究、工程应用,其中的信号处理(signal processing )、图像处理(image processing )、小波(wavelet )等工具箱为数字滤波研究的蓬勃发展提供了有力的工具。

其中MATLAB 的信号处理工具箱是专门应用于信号处理领域的专用工具箱,它的两个基本组成就是滤波器的设计与实现部分以及谱分析部分。工具箱提供了丰富而简便的设计,使原来繁琐的程序设计简化成函数的调用。只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,所以使用非常方便。

MATLAB也是大量的计算机仿真软件中的优秀代表,它在科学研究特别是电子信息科学中有着极为广泛的应用。MATLAB现已被广泛应用于数学、通信、信号处理、自动控制、神经网络、图形处理等许多不同学科的研究中。

1.3 本文的研究工作

本文在MATLAB环境下完成FIR滤波器的设计仿真。采用窗函数设计法、最优等波动设计法、最小二乘法设计法分别设计低通、带阻、带通、高通FIR数字滤波器,通过大量仿真比较不同方法设计的滤波器幅频特性的通带平稳度、过渡带宽度、最小阻带衰减以及滤波器阶数,分析不同设计方法的特点。

2. 数字滤波器

所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。

2.1 数字滤波器的分类

数字滤波器按照不同的分类方法,有许多种类,但总起来可以分成两大类。一类称为经典滤波器,即一般的滤波器,特点是输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频率波器达到滤波的目的。例如,输入信号中含有干扰,如果信号和干扰的频带互不重叠,可滤除干扰得到纯信号。但对于一般滤波器如果信号和干扰的频带相互重叠,则不用完成对干扰的有效滤除,对时需要采用另一类所谓的现代滤波器,例如维纳滤波器、卡尔曼滤波器、自适应滤波器等最佳滤波器。这些滤波器可按照随机信号内部的一些统计分布规律,从干扰中最佳地提取信号。

一般数字滤波器从功能上分类,和模拟滤波器一样,可以分成低通、高通、带通和带阻等滤波器。这种理想滤波器是不可能实现的,因为它们的单位脉冲响应均是非因果且是无限长的,我们只能按照某些准则设计滤波器,使之尽可能逼近它,着些理想滤波器可作为逼近的标准用。另外,需要注意的是数字滤波器的传输函数)(ω

j e

H 都是以π2为周期的,滤波器的低通频率带

处于π2的整数倍数,而高频频带处于π的奇数倍附近,这一点和模拟滤波器是由区别的。

数字滤波器按照滤波器的网络结构或者单位脉冲响应分类:可分为IIR 滤波器(即无限长单位冲激响应滤波器)和FIR 滤波器(即有限长单位冲激响应滤波器)。

2.2 FIR 滤波器特点

IIR 数字滤波器的设计简单方便,特别是采用双线性变换法设计的数字滤波器没有频谱混叠问题,效果较好。在有些实际应用场合,例如数据传输、图象处理等对滤波器的线性相位特性要求颇为严格,所以在这场合中一般选用FIR 数字滤波器。

FIR 数字滤波器可设计得具有严格的线性相位,而且其幅度特性可以随意设计。FIR 滤波器的单位冲激响应h(n)是有限长序列,其系统函数的极点位于Z 平面原点,因此FIR 滤波器不存在稳定问题。另外,FIR 滤波器还可以采用FFT 方法实现其功能,从而大大提高了效率,因此,FIR 数字滤波器日益引起人们的注意

对于线性相位的滤波器而言,通过滤波器的信号不存在相位失真,只存在固定单位的延迟,而这一点在数字通信、图象处理、语音合成等诸多应用中都极其重要。

FIR 数字滤波器具有线性相位特征的条件是它的单位冲激响应h(n)满足偶对称或者奇对称。

若h(n)满足偶对称,则其相位特性)(ωθ为:

ωωθ2

1

)(--

=N (1) 若h(n)满足奇对称,则其相位特性)(ωθ为:

2

21)(π

ωωθ+--

=N (2) 从频域上看h(n)是长度为N 的实序列,所以h(n)的N 点DFT 满足共轭对称性,即:H(k)=H *

(N-k)而幅度函数则一定呈偶对称特性,即:

)()(k N H k H -= (3)

当h(n)为偶对称,信号通过该滤波器时,其通带就产生(N-1)/2点群延迟,滤波器的相频特性是相位过原点的一条直线,其斜率为[-(N-1)/2],其幅频特性相当于对信号低通滤波;当h(n)为奇对称,信号通过该滤波器时,其通带不但产生(N-1)/2点群延迟,还对所有通带内各种频率的信号都有一个90°移相,这相当于信号先经过一个90°移相器,然后再作带通滤波。

FIR 滤波器灵活,易于实现某些特殊的应用,如构建微分或积分器。

2.3 数字滤波器的设计

数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。数字滤波器可以用软件或设计专用的数字处理硬件两种方式来实现。用软件来实现数字滤波器优点是:随着滤波器参数的改变,很容易改变滤波器的性能。

IIR 滤波器和FIR 滤波器的设计方法是很不相同的。IIR 滤波器设计方法有两类,经常用的一类设计方法是借助于模拟滤波器的设计方法进行的。其设计步骤是;先设计模拟滤波器得到传输函数)(s H A ,然后将)(s H A 按某种方法转换成数字滤波器的系统函数)(z H 。这一类方法相对容易一些,这是因为模拟滤波器设计方法已经很成熟,它不仅有完整的设计公式,还有完善的图表供查阅;另外,还有一些典型的滤波器类型可供我们使用。另一类是直接在频域或者时域中进行设计的,由于要解连立问题方程,设计时需要计算机作辅助设计。FIR 滤波器不能采用由模拟滤波器的设计进行转换得方法,经常用的是窗函数法和频率采样法。还有一种比较有效的方法是切毕雪夫等波纹逼近法,需通过计算机辅助设计完成。

对于线性相位滤波器,通常采用FIR 滤波器,其单位脉冲响应应满足一定条件,可以证明其相位特性在整个频带中是严格线性的,这是模拟滤波器无法达到的。当然,也可以采用IIR 滤波器,但必须使用全通网络对其非线性相位特性进行相位校正,这样增加了设计与实现的复

杂性。

一般情况下,数字滤波器是一个线性移不变离散系统,利用有限精度算法来实现。数字滤波器的设计一般包括:

(1)按照任务的要求,确定滤波器的性能要求;

(2)用一个因果稳定的离散线性移不变系统的系统函数去逼近这一性能要求。系统函数有无限长单位冲激响应(IIR )系统函数及有限长单位冲激响应(FIR )系统函数两种;

(3)利用有限精度算法来实现这个系统函数。这里包括选择运算结构、选择合适的字长(包括系数量化及输入变量、中间变量和输出变量的量化)以及有效数字的处理方法(舍入、截尾)等;

(4)实际的技术实现,包括采用通用计算机软件或专用数字滤波器硬件来实现,或是用专用的或通用的数字信号处理器来实现。

一般来说,滤波器的性能要求往往以频率响应的幅度特性的允许误差来表征。数字滤波器的频响特性函数)(ωj e H 一般为复函数,所以通常表示为:

)()()(ωθωωj j j e e H e H = (4)

其中)(ω

j e H 称为幅频特性函数;)(ωθ称为相频函数。幅频特性表示信号通过该滤波器

后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。

3. FIR 滤波器的设计

FIR 滤波器的设计方法很多,文中选取通常使用的用窗函数法、波纹逼近法、最小乘方法设计FIR 滤波器。采用不同的方法设计相同的滤波器(低通、高通、带阻、带通滤波器)并进行比较,分析不同设计方法的特点。

3.1 FIR 数字低通滤波器的设计

分别采用窗函数法(凯泽窗、汉宁窗、汉明窗、布莱克窗窗)、波纹逼近法、最小乘方法对FIR 数字低通滤波器进行设计并比较。 3.1.1 窗函数法 凯泽窗设计如下: Fs=48000Hz Fpass=9500Hz Fstop=12000Hz

Apass=1dB

Astop=80dB

图1凯泽窗函数法设计101阶FIR数字低通滤波器汉宁窗、汉明窗与布莱克曼窗设计如下:

Fs=48000Hz

Fc=10800Hz

图2汉宁窗函数法设计101阶FIR数字低通滤波器

图3汉明窗函数法设计101阶FIR数字低通滤波器

图4布莱克曼窗函数法设计101阶FIR数字低通滤波器

比较三种不同窗函数设计的滤波器可以看出:在相同阶数下,凯泽窗最小阻带衰减最大,但过度带较宽。

3.1.2 波纹逼近法

设计如下:

Fs=48000Hz;

Fpass=9500Hz;

Fstop=12000Hz;

Apass=1dB;

Astop=80dB;

Filter order选择Minimun order(matlab自动选取滤波器最小阶数)

图5波纹逼近法设计101阶FIR数字低通滤波器

3.1.3 最小乘方法

设计如下:

Fs=48000Hz;

Fpass=9500Hz;

Fstop=12000Hz;

Apass=1dB;

Astop=80dB;

Filter order选择specify order:101

图6最小乘方法设计101阶FIR数字低通滤波器

通过比较窗函数法、波纹逼近法以及最小乘方法对相同低通滤波器的设计可以看出:窗函数法通带内平稳度高,过渡带较宽,阻带衰减随频率增加而减小,阶数较高;波纹逼近法在通带内有较小波纹,过渡带较宽,阻带内衰减平稳,阶数较高;最小乘方法通带内平稳度高,过渡带较小,阻带衰减随频率减小。

3.2 FIR数字高通滤波器设计

分别采用窗函数法(凯泽窗、汉宁窗、汉明窗、布莱克窗窗)、波纹逼近法、最小乘方法对FIR数字高通滤波器进行设计并比较。

3.2.1窗函数法

设计如下:

Fs=48000Hz

Fpass=12000Hz

Fstop=9600Hz

Apass=80dB

Astop=1dB

图7凯泽窗函数法设计102阶FIR数字高通滤波器

汉宁窗、汉明窗与布莱克曼窗设计如下:

Fs=48000Hz

Fc=10800Hz

图8汉宁窗窗函数法设计102阶FIR数字高通滤波器

图9汉明窗函数法设计102阶FIR数字高通滤波器

图10布莱克曼窗窗函数法设计102阶FIR数字高通滤波器

比较三种不同窗函数设计的滤波器可以看出:在相同阶数下,凯泽窗最小阻带衰减最大,但过度带较宽。

3.2.2 波纹逼近法

设计如下:

Fs=48000Hz;

Fpass=12000Hz;

Fstop=9600Hz;

Apass=80dB;

Astop=1dB;

图11波纹逼近法设计56阶FIR数字高通滤波器

3.2.3 最小乘方法

设计如下:

Fs=48000Hz

Fpass=12000Hz

Fstop=9600Hz

Apass=80dB

Astop=1dB

图12最小乘方法设计101阶FIR数字高通滤波器

通过比较三种不同方法设计相同高通滤波器可以看出:窗函数法阻带衰减随频率增加而增加,过渡带较宽,通带平稳性高,阶数较高;波纹逼近法阻带衰减平稳,过渡带较宽,通带内有较小波纹,阶数较低;最小乘方法最小阻带衰减高,过渡带较宽,通带内平稳度高。

3.3 FIR带通滤波器设计

分别采用窗函数法(凯泽窗、汉宁窗、汉明窗、布莱克窗窗)、波纹逼近法、最小乘方法对

FIR数字带通滤波器进行设计并比较。

3.3.1窗函数法

设计如下:

Fs=48000Hz

Fstop1=8400Hz

Fpass1=9600Hz

Fpass2=12000Hz

Fstop2=14400Hz

Astop1=60dB

Apass=1dB

Astop2=80dB

图13凯泽窗函数法设计101阶FIR数字带通滤波器汉宁窗、汉明窗与布莱克曼窗设计如下:

Fs=48000Hz

Fc1=8400Hz

Fc2=13200Hz

图14汉宁窗窗函数法设计101阶FIR数字带通滤波器

图15汉明窗窗函数法设计101阶FIR数字带通滤波器

图16布莱克曼窗函数法设计101阶FIR数字带通滤波器

比较三种不同窗函数设计的滤波器可以看出:在相同阶数下,凯泽窗最小阻带衰减最大,但过度带较宽。

3.3.2 波纹逼近法

设计如下:

Fs=48000Hz

Fstop1=7200Hz

Fpass1=9600Hz

Fpass2=12000Hz

Fstop2=14400Hz

Astop1=60dB

Apass=1dB

Astop2=80dB

图17波纹逼近法设计50阶FIR数字带通滤波器3.3.3 最小乘方法

设计如下:

Fs=48000Hz

Fstop1=8400Hz

Fpass1=9600Hz

Fpass2=12000Hz

Fstop2=14400Hz

Wstop1=60dB

Wpass=1dB

Wstop2=80dB

图18最小乘方法设计101阶FIR数字带通滤波器

通过不同方法设计滤波器进行比较得出:窗函数法阻带衰减随频率变化,过渡带较宽,通带平稳度高;波纹逼近法阻带内平稳,过渡带较宽,通带内有较小波纹,阶数较低;最小乘方法最小阻带衰减高,过渡带较宽,通带内平稳度高。

3.4 FIR数字带阻滤波器设计

分别采用窗函数法(凯泽窗、汉宁窗、汉明窗、布莱克窗窗)、波纹逼近法、最小乘方法对FIR数字带阻滤波器进行设计并比较。

3.4.1窗函数法

设计如下:

Fs=48000Hz

Fpass1=8400Hz

Fstop1=9600Hz

Fstop2=12000Hz

Fpass2=14400Hz

Apass1=0.5dB

Astop=60dB

Apass2=1dB

图19凯泽窗函数法设计74阶FIR数字带阻滤波器汉宁窗、汉明窗与布莱克曼窗设计如下:

Fs=48000Hz

Fc1=8400Hz Fc2=13200Hz

图20汉宁窗函数法设计74阶FIR数字带阻滤波器

图21汉明窗函数法设计74阶FIR数字带阻滤波器

图22布莱克曼窗函数法设计74阶FIR数字带阻滤波器

比较三种不同窗函数设计的滤波器可以看出:在相同阶数下,凯泽窗最小阻带衰减最大,但过度带较宽。

3.4.2波纹逼近法

设计如下:

Fs=48000Hz

Fpass1=8400Hz

Fstop1=9600Hz

Fstop2=12000Hz

Fpass2=14400Hz

Apass1=0.5dB

Astop=60dB

Apass2=1dB

图23波纹逼近法设计46阶FIR数字带阻滤波器

3.4.3最小乘方法

设计如下:

Fs=48000Hz

Fpass1=8400Hz

Fstop1=9600Hz

Fstop2=12000Hz

Fpass2=14400Hz

Wpass1=0.5dB

Wstop=60dB

Wpass2=1dB

图24最小乘方法设计50阶FIR数字带阻滤波器

通过几种设计方法的比较可以得出:窗函数法通带内平稳度高,过渡带较宽,阻带衰减随频率变化,阶数较高;波纹逼近法通带内有较小波纹,过渡带较宽,最小阻带衰减高,阶数低;最小乘方法通带内平稳度高,过渡带较宽,最小阻带衰减高。

综合以上设计得出以下表格:

表一几种不同设计法的特点比较

相关主题
文本预览
相关文档 最新文档