基于matlab的FIR滤波器设计与仿真Word文档下载推荐.docx
- 文档编号:17398911
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:32
- 大小:604.42KB
基于matlab的FIR滤波器设计与仿真Word文档下载推荐.docx
《基于matlab的FIR滤波器设计与仿真Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于matlab的FIR滤波器设计与仿真Word文档下载推荐.docx(32页珍藏版)》请在冰豆网上搜索。
指导教师签名:
课程负责人签名:
基于MATLAB的FIR数字滤波器设计
摘要
滤波器的设计是信号处理的核心问题之一。
本设计根据FIR滤波器的原理,简要介绍了利用各种窗函数设计FIR数字滤波器的方法,并且分析了不同窗函数形式对滤波器性能的影响。
采用Matlab软件对FIR数字滤波器进行仿真设计,简化了设计中繁琐的计算。
本文采用窗函数法通过调用Matlab函数设计FIR数字滤波器。
分析表明所用的矩形窗,海明窗,汉宁窗,三角窗,布拉克曼窗,五种窗函数中布拉克曼窗性能最好。
最后运用matlab进行了仿真。
关键词:
matlab数字信号处理FIR滤波器
1概述
1.1课题背景及意义
随着数字化时代的到来,数字信号处理已经成为当今一门极其重要的技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用。
而滤波器在实际的信号处理中起到了重要的作用,它是去除信号中噪声的基本手段,因此在数字信号的处理中滤波是一个基本问题。
FIR滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限的,其在通信、图像处理、模式识别等领域都有着广泛的应用。
几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。
信号处理的目的一般是对信号进行分析、变换、综合、估值与识别等。
如何在较强的噪声背景下提取出真正的信号或信号的特征,并将其应用于工程实际是信号处理的首要任务。
数字信号处理中一个非常重要且应用普遍的技术就是数字滤波。
数字滤波器有FIR数字滤波器和IIR数字滤波器,IIR数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图表进行设计的,因而保留了一些典型模拟滤波器优良的幅度特性,但设计中只考虑了幅度特性,没考虑相位特性,所设计的滤波器一般是某种确定的非线性相位特性。
为了得到线性相位特性,对IIR滤波器必须另外加相位校正网络,使滤波器设计变得复杂,成本也高,又难以得到严格的线性相位特性。
而FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性,同时为了使FIR数字滤波器的设计更优化,因而研究FIR数字滤波器的优化设计具有重要的理论意义。
MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,功能强大、使用方便。
相比传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,利用matlab信号处理工具箱(signalprocessingtoolbox)可以快速有效的设计由软件组成的常规数字滤波器的设计方法,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量。
1.2数字滤波器概述
1.2.1数字滤波器简介
数字滤波在DSP中占有重要地位。
数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。
如果IRR滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。
数字滤波器精确度高,使用灵活,可靠性高,具有模拟设备没有的许多优点,已广泛地应用与各个科学技术领域,例如数字电视,语音,通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。
随着信息时代数字时代的到来,数字滤波技术已经成为一门及其重要的科学和技术领域。
以往的滤波器大多采用模拟电路技术,但是模拟电路技术存在很多难以解决的问题,而采用数字则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。
数字滤波在通信。
图像编码,语音编码,雷达等许多领域有着十分广泛的应用。
目前,数字信号滤波器的设计在图像处理,数据压缩等方面的应用取得了令人瞩目的进展和成就。
近年来迅速发展。
1.2.2数字滤波器分类
按功能分:
低通、高通、带通、带阻、全通滤波器。
按实现的网络结构或单位抽样响应分:
无限脉冲响应滤波器(IIR滤波器)、有限脉冲响应滤波器(FIR滤波器),其中FIR数字滤波器网络不存在反馈支路,其单位冲激响应为有限长。
IIR数字滤波器网络存在反馈支路,即信号流图中存在环路,其单位冲激响应为无限长。
另外,按线性系统它可以被分为线性与非线性,按因果性分因果与非因果等。
其中,线性时不变的数字滤波器是最基本的类型;
而由于数字系统可以对延时器加以利用,因此可以引入一定程度的非因果性,获得比传统的因果滤波器更灵活强大的特性;
相对于IIR滤波器,FIR滤波器有着易于实现和系统绝对稳定的优势,因此得到广泛的应用。
1.2.3FIR滤波器概述
根据冲激响应的时域特性,数字滤波器可分为无限长冲激响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。
相比于IIR滤波器,FIR的突出优点是:
(1)具有精确的线性相位
(2)总是稳定的
(3)硬件容易实现
(4)滤波器的过渡过程具有有限区间
但其在满足同样阻带衰减的情况下需要的阶数较高。
滤波器的阶数越高,占用的运算时间越多,因此在满足指标要求的情况下应尽量减少滤波器的阶数。
FIR滤波器的基本结构可以理解为一个分节的延时线,把每一节的输出加权累加,可得到滤波器的输出。
FIR滤波器的冲激响应h(n)是有限长的,数学上M阶FIR滤波器可以表示为:
(1-1)
其系统函数为:
(1-2)
由于FIR滤波器的单位冲激响应
是一个有限长序列,系统函数
是
的
次多项式,它在
平面有
个零点,同时在原点有
阶重极点。
因此,
永远稳定。
2FIR数字滤波器设计方法研究
2.1FIR滤波器的设计原理
FIR滤波器的系统输入输出差分方程为:
y[n]=
(2-1)
所以FIR滤波器的系统函数为:
(2-2)
由于FIR滤波器的单位脉冲响应
是一个有限长序列,
次多项式,它在Z平面上有
FIR滤波器设计的任务是选择有限长度的
,使传输函数
满足一定的幅度特性和线性相位要求。
由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。
FIR滤波器目前常用的设计方法有窗函数法和频率采样法,窗函数法是从时域进行设计,而频率采样法是从频域进行设计。
窗函数法由于简单、物理意义清晰,因而得到了较为广泛的应用。
窗函数法设计的基本思想是:
首先根据技术指标要求,选取合适的阶数N和窗函数的类型
,使其幅频特性逼近理想滤波器幅频特性。
其次,因为理想滤波器的
是无限长的,所以需要对
进行截断,数学上称这种方法为窗函数法。
(2-3)
(2-4)
(2-5)
其中
是希望逼近的滤波器的单位脉冲响应,
是希望逼近的滤波器的幅频特性,
是所设计的滤波器的单位脉冲响应,
是一个矩阵序列,长度为N。
在截断的过程中要保证FIR滤波器的稳定性与线性相位的特性。
由于截断效应使所设计滤波器的幅频特性存在误差,称之为吉布斯效应。
最后,验证所设计的滤波器是否满足要求,若不满足,重新设计。
常用的窗函数有矩形窗、三角窗、汉宁窗和凯塞窗等。
窗函数的选择一般要满足以下三个条件:
(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。
(2)旁瓣幅度下降速度要快,以利于增加阻带衰减。
(3)主瓣宽度要窄,以获得较陡的过渡带。
2.2几种常见的窗函数
2.2.1矩形窗
矩形窗函数的时域形式可以表示为:
(2-6)
它的频域特性为:
(2-7)
矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。
这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。
2.2.2汉宁窗
汉宁窗函数的时域形式可以表示为:
(2-8)
(2-9)
为矩形窗函数的幅度频率特性函数。
汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为
汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗。
但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨率下降。
2.2.3海明窗
海明窗函数的时域形式可以表示为:
(2-10)
它的频域特性为:
(2-11)
其中,
海明窗函数的最大旁瓣值比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大的,只是加权系数不同。
海明窗加权的系数能使旁瓣达到更小。
2.2.4三角形窗函数
三角窗是最简单的频谱函数
为非负的一种窗函数。
三角窗函数的时域形式可以表示为:
当n为奇数时:
(2-12)
当n为偶数时:
(2-13)
(2-14)
三角窗函数的主瓣宽度为
,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽度却小得多。
2.2.5布拉克曼窗
(2-15)
增加一个二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,增加N可减少过渡带。
频谱的幅度函数为:
(2-16)
2.3五种窗函数基本参数比较
表2-1五种窗函数参数比较
窗函数
窗谱性能指标
加窗后滤波器性能指标
旁瓣
峰值
/dB
主瓣宽度
过渡带宽
阻带最小衰减
矩形窗
-13
2
0.9
-21
三角形窗
-25
4
3.05
汉宁窗
-31
3.1
-44
海明窗
-41
3.3
-53
布拉克曼窗
-57
6
5.5
-74
从表中可以看出当所加窗函数形式确定时,对应FIR滤波器的阻带最小衰减也就确定了。
不同的窗函数主瓣频宽和第一旁瓣相对主瓣衰减都不一样,不同窗函数在这两方面的特点是不同的,因此应根据具体的问题进行选择。
此外,主旁瓣频率宽度还与窗函数长度N有关。
增加窗函数长度N将减小窗函数的主瓣宽度,但不能减小旁瓣幅值衰减的相对值(分贝数),这个值是由窗函数决定的。
例如:
绘制矩形窗函数的幅频响应,窗长度分别为:
(1)N=10;
(2)N=20;
(3)N=50;
(4)N=100时的图形如下:
图2-1不同长度矩形窗函数的幅频响应
由上图可以看出,随着N的增大,主瓣和旁瓣都变窄,但第一旁瓣相对主瓣的幅值下降分贝数相同,第二旁瓣相对第一旁瓣幅值下降的分贝数也相同。
然而,随着N的增大,旁瓣数也增多,减少主瓣宽度和抑制旁瓣是一对矛盾,不可兼得,只能根据不同用途折衷处理。
2.4窗函数设计FIR过程
1、首先是给定所要求的频率响应函数
;
2、其次,求单位冲激响应
3、再次,有过渡带宽及阻带最小衰减的要求,查表选定窗函数及N的大小,一般N的大小要通过几次试探而后确定;
4、求得所设计的FIR滤波器的单位冲激响应如下;
5、求
,检验是否满足设计要求,如不满足,则需要重新设计。
用框图表示如下:
图2-2用窗函数设计FIR滤波器的步骤
3FIR滤波器设计
3.1要用到的两个主要MATLAB函数
3.1.1fir1函数介绍
fir1:
功能:
基于窗函数的FIR滤波器设计—标准频率响应形状。
格式:
b=fir1(N,wc,’ftype’,window).
说明:
标准频率响应指所设计的滤波器预期特性为理想频率响应,包括低通,带通,高通,带阻。
Ftype和window可以缺省。
b=fir1(N,wc)可以得到截止频率为wc且满足线性相位条件的N阶FIR低通滤波器,window默认选用hamming窗.
当wc=[wc1,wc2]时,得到的是带通滤波器。
当ftype=high时,设计高通FIR滤波器。
当ftype=stop时,设计带阻FIR滤波器。
应当注意在设计高通和带阻滤波器时,阶数N只能取偶数,即h(n)的长度为奇数。
3.1.2freqz函数介绍
MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种:
(1)[H,w]=freqz(B,A,N)
(2)[H,w]=freqz(B,A,N,’whole’)
(1)中B和A分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H则包含了离散系统频响在0到
范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个频率等分点。
调用默认的N时,其值是512。
本设计采用第一种。
3.2高通FIR滤波器设计
要求如下:
数字高通滤波器:
,
,通带最大衰减为1dB,阻带最小衰减为100dB。
3.2.1基于矩形窗高通FIR滤波器
由要求知过渡带为
,由表2-1分析知:
当选用矩形窗时,窗宽
,则滤波器阶次为
Matlab源程序如下:
clear;
closeall;
N=9;
wc=0.6*pi;
%冲击响应长度9,即滤波器阶数为8
b=fir1(N-1,wc/pi,'
high'
boxcar(N));
n=0:
1:
8;
%调用fir1函数
subplot(1,2,1);
stem(n,b,'
.'
)%输出单位脉冲冲击响应
axis([0,8,-0.4,1]);
grid;
xlabel('
n'
);
ylabel('
h(n)'
title('
冲激响应'
[h,w]=freqz(b,1,512)%调用函数求解频率响应
subplot(1,2,2);
plot(w/pi,20*log10(abs(h)));
grid;
axis([0,1,-100,10]);
w/pi'
幅度dB'
幅频特性'
滤波器冲激响应及幅频特性输出图形如下:
图3-1基于矩形窗高通FIR滤波器特性
由前面分析知基于矩形窗的FIR滤波器阻带最小衰减是一定的,为-21dB,是无法达到题设要求的-100dB的。
观察幅频特性图形可知实际仿真结果验证了这一结论。
通带最大衰减-1dB符合预期要求。
3.2.2基于海明窗高通FIR滤波器
同理利用表2-1求得滤波器阶数为32.
MATLAB源程序如下:
%以下采用海明窗设计
N=33;
%冲击响应长度33,即滤波器级数为32
hamming(N));
32;
%调用fir1函数
)%输出单位脉冲冲击响应
axis([0,32,-0.4,1]);
[h,w]=freqz(b,1,512)%调用函数求解频率响应
滤波器冲激响应及幅频特性图形如下:
图3-2基于海明窗高通FIR滤波器特性
由前面分析知基于海明窗的FIR滤波器阻带最小衰减是一定的,为-53dB,是无法达到题设要求的-100dB的。
3.2.3基于汉宁窗高通FIR滤波器
同理利用图2-1可知滤波器阶次选为30。
源程序如下:
%以下采用汉宁窗设计
N=31;
%冲击响应长度31,即滤波器级数为30
hanning(N));
30;
axis([0,30,-0.4,1]);
dB'
图3-3基于汉宁窗高通FIR滤波器特性
由前面分析知基于汉宁窗的FIR滤波器阻带最小衰减是一定的,为-44dB,是无法达到题设要求的-100dB的。
3.2.4基于三角形窗高通FIR滤波器
分析知滤波器阶数为31,原理同上。
%以下采用三角形窗设计
%冲击响应长度31,即滤波器级数为30
triang(N));
[h,w]=freqz(b,1,512)%调用函数求解频率响应
图3-4基于三角形窗高通FIR滤波器特性
由前面分析知基于三角形窗的FIR滤波器阻带最小衰减是一定的,为-25dB,是无法达到题设要求的-100dB的。
3.2.5基于布拉克曼窗高通FIR滤波器
分析知滤波器阶数为54,原理同上。
%以下采用布拉克曼窗设计
N=55;
%冲击响应长度55,即滤波器级数为54
blackman(N));
54;
axis([0,54,-0.4,1]);
axis([0,1,-140,10]);
line([0,0.6],[-1,-1]);
line([0.4,0.4],[-100,0]);
line([0.6,0.6],[-100,0])%划线观察通带波纹与阻带衰减是否符合要求
图3-5基于布拉克曼窗高通FIR滤波器特性
由前面分析知基于布拉克曼窗的FIR滤波器阻带最小衰减是一定的,为-74dB,是无法达到题设要求的-100dB的。
3.3带通FIR滤波器设计
数字带通滤波器:
3.3.1基于矩形窗带通FIR滤波器
由图2-1,窗宽度
此处取滤波器阶数为18.
.%以下采用矩形窗设计
N=19;
wc=[0.3*pi,0.7*pi];
%冲击响应长度19,即滤波器级数为18
b=fir1(N-1,wc/pi,boxcar(N));
18;
%输出单位脉冲冲击响应
axis([0,18,-0.4,1]);
[h,w]=freqz(b,1,512)%调用函数求解频率响应
图3-6基于矩形窗带通FIR滤波器特性
3.3.2基于海明窗带通FIR滤波器
同理可计算出滤波器阶数为66.
N=67;
wc=[0.3*pi,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab FIR 滤波器 设计 仿真
![提示](https://static.bdocx.com/images/bang_tan.gif)