数字信号处理等波纹数字FIR低通滤波器.docx
《数字信号处理等波纹数字FIR低通滤波器.docx》由会员分享,可在线阅读,更多相关《数字信号处理等波纹数字FIR低通滤波器.docx(19页珍藏版)》请在冰豆网上搜索。
数字信号处理等波纹数字FIR低通滤波器
《数字信号处理》课程设计
学院:
电气工程学院
题目:
等波纹FIR低通滤波器
起止时间:
2015年10月10日至2015年12月20日
2015年10月10日
《数字信号处理》课程设计
任务书
学院:
电气工程学院
题目:
等波纹FIR低通滤波器
起止时间:
2015年10月10日至2015年12月20日
2015年10月10日
一.课程设计内容
课程设计内容如下:
1.功能要求
2.方案论证
3.数字滤波器的基本介绍
3.1数字滤波器的实现方法
3.2数字滤波器的可实现性
3.3等波纹逼近法的原理
4.滤波器的初始设计
4.1设计要求
4.2手工计算
4.3在Matlab的程序仿真
5.用FDA工具实现要求的滤波功能
5.1滤波器不同结构对性能指标的影响
5.2参数字长对性能指标的影响
6.收获与体会
7.参考文献
8、附录:
源程序清单
.
二.课程设计要求
1.课程设计报告写作请参考“课程设计报告写作的内容、要求与应注意的一些问题”。
所有的文档和表格必须采用Word形式,格式按照“课程设计报告写作的内容、要求与应注意的一些问题”要求。
2.设计报告中的Matlab仿真程序,FDA工具箱仿真图必须采用自己的图。
不能够抄袭别人的,必须自己完成,抄袭者和被抄袭者都不及格。
3.设计资料中的有关的公式可以直接采用。
设计资料中有关的曲线图可以直接采用,成文时根据需要选用(可放大300倍后裁剪到Word文档中),以图文清晰为标准。
4.英文资料中的图可以直接采用(可放大300倍后裁剪到Word文档中),图中的英文可以采用英文(中文)方式翻译在图下或者文章中。
5.英文资料中的一些词,如果翻译拿不准,可以采用英文(中文)方式标注。
6.课程设计报告需要写自己的收获和体会。
不能够抄袭别人的收获和体会,雷同者不及格。
7.每个人需要交文字稿和电子稿,采用2003Word(或者更高版本)文档形式。
三.课程设计进度(时间)安排
课程设计进度(时间)安排如下:
1.2015年10月10日—2015年10月15日理解课程设计题目的设计要求,查阅相关资料;
2.2015年10月16日—2015年11月15日完成matlab程序仿真及系统调试;
3.2015年11月16日—2015年11月22日完成课程设计初稿;
4.2015年11月23日—2015年12月09日完成完整的课程设计报告;
5.2015年12月10日—2015年12月20日上交课程设计作品、报告及答辩。
四.参考文献
[1]巩萍,赵杰.MATLAB在数字信号处理中的应用[J].长沙大学学报,2009,05:
78-79.
[2]朱敏.MATLAB数字信号处理工具箱的开发和应用——数字滤波器FIR的设计[J].信息与电脑(理论版),2010,02:
154-155.
[3]施琴红,赵明镜.基于MATLAB/FDATOOL工具箱的IIR数字滤波器的设计及仿真[J].科技广场,2010,07:
56-58.
[4]宁长春,陈天禄,索郎桑姆,胡海冰,厉海金.数字信号处理中常用的matlab工具箱函数简介[J].西藏科技,2007,12:
75-78.
[5]赵颖,刘祖深,李胜寅.基于MATLAB的FIR数字滤波器的方法设计[J].国外电子测量技术,2012,10:
35-37.
[6]李彩霞.数字滤波器的设计技术[D].哈尔滨工程大学,2007.
[7]丁磊,潘贞存,丛伟.基于MATLAB信号处理工具箱的数字滤波器设计与仿真[J].继电器,2003,09:
49-51.
[8]王蔚.MATLAB环境下的数字滤波器设计及其应用[D].苏州大学,2002.
[9]赵瑞堃.基于MATLAB的FIR和IIR数字滤波器的设计[D].吉林大学,2012.
指导老师:
2015年10月10日
摘要:
数字滤波器的设计方法有窗函数法,频率采样法以及等波纹逼近法等,其中等波纹逼近法为最优化设计,在同样的技术指标下,用这种方法设计得到的滤波器要比窗函数法和频率采样法得到的滤波器的长度均要小,而且设计过程简单易行。
在本课程设计中,借助MATLAB,设计出等波纹低通滤波器,仿真产生一个连续信号,包含低频,高频分量,对其进行频谱分析。
并分析与巴特沃斯低通滤波器的优势及特点。
关键字:
低通滤波器等波纹?
?
MATLAB巴特沃斯
Abstract:
Thedesignofadigitalfilterwithwindowfunctionmethod,frequencysamplingmethodandrippleapproachmethod,whichequirippleapproximationmethodfortheoptimaldesign,inthesametechnicalindicators,obtainedbythismethodfiltersdesignedtothanthelengthofthefilterwindowfunctionmethodandfrequencysamplingmethodhavetogetsmaller,andthedesignprocesssimple.Inthiscoursedesign,withMATLAB,designequiripplelow-passfilter,simulationgeneratesacontinuoussignal,alowfrequency,highfrequencycomponents,itsspectrumanalysis.AndanalysisandButterworthlow-passfilteradvantagesandcharacteristics.
Keywords:
Low-passfilterrippleMATLABButterworth
1.绪论1
2.数字滤波器的基本概念介绍1
2.1滤波的涵义1
2.2数字滤波器的概述1
2.3数字滤波器的实现方法2
2.4.数字滤波器的可实现性2
2.5数字滤波器的分类2
2.6FIR滤波器简介及其优点2
2.6.1FIR滤波器2
2.6.2FIR滤波器具有以下主要优点:
2
3.等波纹最佳逼近法的原理说明3
3.1等波纹最佳逼近法概述3
3.2.等波纹最佳逼近法基本思想3
3.3等波纹滤波器的技术指标及其描述参数介绍4
3.3.1滤波器的描述参数4
3.3.2matlab中的firpm和firpmord函数介绍4
4.手工计算完成等波纹FIR低通滤波器初始设计4
4.1设计要求4
4.2手工计算5
4.3在Matlab中利用FIRPM函数计算6
4.4基于Matlab的幅频响应曲线6
5.使用FDA工具箱设计FIR低通滤波器7
5.1简要介绍FDA工具箱7
5.2用FDA工具箱实现要求的滤波功能:
8
5.3手工计算和利用FIRPM函数计算结果比较9
6.滤波器的结构不同对性能指标的影响10
6.1FIR滤波器的基本结构10
6.1.1利用直接型结构构建数字滤波器11
6.1.2利用级联型结构构建数字滤波器13
6.1.3两种滤波器结构对性能指标影响的比较与总结15
6.2参数字长对性能指标的影响15
6.2.1参数字长取2位对性能指标的影响16
6.2.2参数字长取8位对性能指标的影响17
6.2.3参数字长取12位对性能指标的影响18
6.2.4参数字长取14位对性能指标的影响19
7结论20
8.参考文献21
1.绪论
数字滤波器(digitalfilter)是由数字乘法器、加法器和延时单元组成的一种装置,在通信、图像、语音、雷达等许多领域都有着十分广泛的应用。
在数字信号处理中,数字滤波占有极其重要的地位。
目前对数字滤波器的设计有多种方法。
其中Matlab软件已成为设计数字滤波器的强有力工具。
传统的数字滤波器设计过程复杂、计算工作量大、滤波特性调整困难,但利用Matlab信号处理工具箱可以快速有效地实现由软件组成的常规数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。
2.数字滤波器的基本概念介绍
2.1滤波的涵义
a)将输入信号的某些频率成分或某个频带进行压缩、放大;
b)对信号进行检测;
c)对参数估计;
2.2数字滤波器的概述
所谓数字滤波器,是指输入、输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。
如图2.2.1给出了一个具有模拟输入信号和输出信号的实时数字滤波器的简化方框图。
这个带限模拟信号被周期地抽样,且转化成一系列数字X(n)(n=0,1,…)。
数字处理器依据滤波器的计算算法,执行滤波运算,把输入系列X(n)映射到输出系列Y(n)。
DAC把数字滤波后的输出转化成模拟值,这些模拟值接着被模拟滤波器平滑,并且消去不想要的高频分量。
图2.2.1具有模拟输入和输出信号的实时数字滤波器的简化方框图
数字滤波器在数字信号处理中具有非常重要的地位。
在许多应用中(例如数据压缩,生物医学信号处理、语音处理、图象处理、数据传输、数字音频、电话回声对消,等等),数字滤波器和模拟滤波器比数字滤波器的有优势更加明显。
2.3数字滤波器的实现方法
a)用软件在计算机上实现;
b)用专用的数字信号处理芯片实现;
c)用硬件实现。
2.4.数字滤波器的可实现性
a)要求系统因果稳定,即所设计的系统极点全部集中在单位圆内。
b)要求系统的差分方程的系数或者系统函数的系数为实数,即系统的零极点必须共轭成对出现,或者是实数。
2.5数字滤波器的分类
数字滤波器可以分为经典滤波器和现代滤波器。
经典滤波器按照滤波特性可以分为数字高通、数字低通、数字带通、数字带阻等类型。
数字滤波器从实现的网络结构或者从单位脉冲响应长度分类可以分为无限长单位脉冲(IIR)和有限长单位脉冲(FIR)。
2.6FIR滤波器简介及其优点
2.6.1FIR滤波器
即有限长单位脉冲响应滤波器,是数字信号处理中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲击响应是有限的,没有输入到输出的反馈,是稳定的系统。
因此,FIR滤波器在通信、图像、语音、雷达等许多领域都有着十分广泛的应用。
2.6.2FIR滤波器具有以下主要优点:
a)FIR滤波器具有准确的线性相位
b)FIR滤波器永远稳定
c)FIR滤波器设计方法一般是线性的
d)FIR滤波器在硬件上具有更高的运行效率
e)FIR滤波器启动传输时间只需要有限时间
3.等波纹最佳逼近法的原理说明
3.1等波纹最佳逼近法概述
等波纹最佳逼近法是一种优化设计法,它克服了窗函数设计法和频率采样法的缺点,使最大误差(即波纹的峰值)最小化,并在整个逼近频段上均匀分布。
用等波纹最佳逼近法设计的FIR数字滤波器的幅频响应在通带和阻带都是等波纹的,而且可以分别控制通带和阻带波纹幅度。
这就是等波纹的含义。
最佳逼近是指在滤波器长度给定的条件下,使加权误差波纹幅度最小化。
与窗函数设计法和频率采样法比较,由于这种设计法使滤波器的最大逼近误差均匀分布,所以设计的滤波器性能价格比最高。
阶数相同时,这种设计法使滤波器的最大逼近误差最小,即通带最大衰减最小,阻带最小衰减最大;指标相同时,这种设计法使滤波器阶数最低。
实现FIR数字滤波器的等波纹最佳逼近法的MATLAB信号处理工具函数为firpm和firpmord。
Firpm函数采用数值分析中的firpm多重交换迭代算法求解等波纹最佳逼近问题,求的满足等波纹最佳逼近准则的FIR数字滤波器的单位脉冲响应h(n)。
由于切比雪夫和雷米兹对解决该问题做出了贡献,所以又称之为切比雪夫逼近法和雷米兹逼近法。
3.2.等波纹最佳逼近法基本思想
用Hd(ω)表示希望逼近的幅度特性函数,要求设计线性相位FIR数字滤波器时,Hd(ω)必须满足线性相位约束条件。
用Hg(ω)表示实际设计的滤波器的幅度特性函数。
定义加权误差函数E(ω)为:
E(ω)=W(ω)[Hd(ω)-Hg(ω)]
式中,W(ω)成为误差加权函数,用来控制不同频段(一般指通带和阻带)的逼近精度。
等波纹最佳逼近基于切比雪夫逼近,在通带和阻带以
的最大值最小化为准则,采用firpm多重交换迭代算法求解滤波器系数h(n)。
所以W(ω)取值越大的频段,逼近精度越高,开始设计时应该根据精度要求确定W(ω),在Firpm多重交换迭代过程中W(ω)是确知函数。
等波纹最佳逼近设计中,把数字频段分为“逼近区域”和“无关区域”。
逼近区域一般指通带和阻带,无关区域一般指过渡带。
设计过程中只考虑对逼近区域的最佳逼近。
应当注意,无关区域不能为零,即Hd(ω)不能是理想滤波特性。
利用等波纹最佳逼近准则设计线性相位FIR数字滤波器数字模型的建立及其求解算法的推导复杂,求解计算必须借助计算机,可借助MATLAB信号处理工具箱函数firpmzord和firpm,简单调用这两个函数就可以完成线性相位FIR数字滤波器的等波纹最佳逼近设计。
3.3等波纹滤波器的技术指标及其描述参数介绍
3.3.1滤波器的描述参数
一般情况下,用损耗参数ωp,αp,ωs,αs.描述在工程实际中,通常取ωp=π/2,αp=2dB,ωs=11π/20,αs=20dB.
但是在等波纹最佳逼近设计法求滤波器阶数N和误差加权函数W(ω)时,要求给出的滤波器通带和阻带的震荡波纹δ1和δ2。
这是等波纹法设计滤波器时常使用的描述方法。
两种参数的转换关系:
3.3.2matlab中的firpm和firpmord函数介绍
Firpm函数实现线性相位FIR滤波器的等波纹最佳逼近设计。
调用格式为:
hn=firpm(M,f,m,w)
Firpm调用的参数(M,f,m,w)通常调用firpmord函数计算,调用格式为:
(M,f0,m0,w)=firpmord(f,m,rip,Fs)
其中,在低通滤波器设计时:
rip=[δ1,δ2]。
4.手工计算完成等波纹FIR低通滤波器初始设计
4.1设计要求
滤波器的设计指标要求为:
通带截止频率:
Wp=0.25πrad;
阻带截止频率:
Wst=0.4πrad;
通带最大衰减:
αp=2dB;
阻带最小衰减:
αs=20dB.
4.2手工计算
设采样频率Fs=100kHz,由公式
=Fs/2
ω可将截止频率的单位转换为Hz:
通带截止频率:
fp=12.5kHz
阻带截止频率:
fs=20kHz
过度带宽度:
△ftz=7.5kHz
过渡带宽度:
△Wtz=Wst-Wp=0.15πrad;
滚降:
αroll=αs-αp=18dB;
再将其除以采样频率Fs转换为归一化频率:
通带截止频率:
0.1221
阻带截止频率:
0.1321
将αp=2dB,αs=20dB带入公式
ξ1=(
)/(
),ξ2=
中:
得ξ1=0.1175,ξ2=0.09548
由凯泽逼近n的公式:
n=
Δ
=
求得ωs-ωp=0.15π;
Δ
=0.0075,
;
4.3在Matlab中利用FIRPM函数计算
程序如下:
clc;clearall;
Rp=2;As=20;
Fs=100*10^3;f=[12.5*10^3,20*10^3];a=[1,0];
dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];
[M,f0,a0,weights]=firpmord(f,a,dev,Fs);
h=firpm(M,f0,a0,weights);[H,f]=freqz(h,1,1024,Fs);
subplot(211);plot(2*f/Fs,20*log10(abs(H)),'linewidth',2);
title('幅度响应(dB)');xlabel('f/Fs');
ylabel('20log|H(e^j^\omega)|(dB)');
axis([0,1,-70,20]);
set(gca,'xtickmode','manual','xtick',[0,0.1,0.2,0.25,0.3,0.4,1]);
set(gca,'ytickmode','manual','ytick',[-70,-20,-10,-2,0,20]);grid;
subplot(212);plot(2*f/Fs,angle(H),'linewidth',2);grid;
title('相位响应');xlabel('f/Fs');ylabel('arg[H(e^j^\omega)]');
4.4基于Matlab的幅频响应曲线
如图4.4.1是等波纹低通滤波器的幅频响应曲线图。
图4.4.1等波纹最佳逼近法设计的数字低通滤波器的幅频响应曲线
5.使用FDA工具箱设计FIR低通滤波器
5.1简要介绍FDA工具箱
FDATool(FilterDesign&AnalysisTool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(FilterDesignToolbox)。
FDATool可以设计几乎所有的常规滤波器,包括FIR和IIR的各种设计方法。
它操作简单,方便灵活。
FDATool界面总共分两大部分,一部分是DesignFilter,在界面的下半部,用来设置滤波器的设计参数;另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。
DesignFilter部分主要分为:
FilterType(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。
DesignMethod(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、ChebyshevTypeⅠ(切比雪夫Ⅰ型)法、ChebyshevTypeⅡ(切比雪夫Ⅱ型)法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法、Least2Squares(最小乘方)法、Window(窗函数)法。
FilterOrder(滤波器阶数)选项,定义滤波器的阶数,包括SpecifyOrder(指定阶数)和MinimumOrder(最小阶数)。
在SpecifyOrder中填入所要设计的滤波器的阶数(N阶滤波器,SpecifyOrder=N-1),如果选择MinimumOrder,则MATLAB根据所选择的滤波器类型自动使用最小阶数。
FrenquencySpecifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。
它的具体选项由FilterType选项和DesignMethod选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。
采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。
MagnitudeSpecifications选项,可以定义幅值衰减的情况。
例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。
当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。
WindowSpecifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。
5.2用FDA工具箱实现要求的滤波功能:
调用FDA工具箱程序为:
>>FDAtool
调用后,据前述FDA工具箱简介设置,设置完后的界面截图如下:
图5.2.1滤波器量化分析图
调用FIRPM函数进行运算的结果如图5.2.2和图5.2.3:
图5.2.2Firpm函数运算结果
图5.2.3hn计算值(传递函数中分子各项前系数)
由图5.2.2和图5.2.3可得:
M为FIR数字滤波器阶数,h长度N=M+1
求得M=9,N=M+1=10
通带振荡波纹幅度ξ1=dat1=0.1164
阻带振荡波纹幅度ξ2=dat2=0.1000
误差加权函数W=[1,6.1462]
5.3手工计算和利用FIRPM函数计算结果比较
通过比较手工计算与运用Matlab中FIRPM函数计算结果可以发现,由手工计算得出的滤波器阶数N、通带振荡波纹幅度ξ1、阻带振荡波纹幅度ξ2与由FIRPM函数计算得出的N、ξ1与ξ2相等,证明计算无误。
6.滤波器的结构不同对性能指标的影响
6.1FIR滤波器的基本结构
FIR滤波器的单位抽样响应为有限长度,一般采用非递归形式实现。
通常的FIR数字滤波器有横截性和级联型两种。
(a)FIR滤波器的横截型结构
表示系统输入输出关系的差分方程可写作:
直接由差分方程得出的实现结构如图6.1.1所示:
图6.1.1横截型(直接型﹑卷积型)
若h(n)呈现对称特性,即此FIR滤波器具有线性相位,则可以简化加横截型结构,下面分情况讨论:
图6.1.2N为奇数时线形相位FIR滤波器实现结构
图6.1.3N为偶数时线性相位FIR滤波器实现结构
(b)FIR滤波器的级联型结构
将H(z)分解成实系数二阶因子的乘积形式:
这时FIR滤波器可用二阶节的级联结构来实现,每个二阶节用横截型结构实现。
如下图所示
6.1.4FIR滤波器级联型结构
在设计滤波器时,对于同一个传递函数对应着许多种等效结构,然而这些结构能达到的性能效果却有所不同。
在无限参数字长的情况下,所有能实现传递函数的结构之间,其表现完全相同。
然而,在实际中,由于参数字长有限的限制,各实现结构的表现并不相同。
在MATLAB中可以利用FDATool工具箱构建不同类型的数字滤波器。
为了使对比效果明显,将上述初步设计的等波纹数字FIR带通滤波器的设计参数的字长(即转移函数中分子各项前的系数)进行保留小数点后10位的缩减。
6.1.1利用直接型结构构建数字滤波器
FIR网络结构特点是没有反馈支路,即没有环路,其单位脉冲响应是有限长的。
设单位脉冲响应h(n)长度为N,由之前算出的h(n)可得出(系数小数点后保留10位)系统函数为:
H(z)=
-n=0.-0.z-1
+0.z-2+…-0.z-52+0.z-53
表示系统输入输出关系的差分方程可写作:
y(n)=
直接型的结构流图如图6.1.5所示:
图6.1.5直接型网络构图
选择filterstructure选项框中的Direct-FormI选项,点击窗口下方的ImportFilter按钮,构建直接2型结构的等波纹数字FIR低通滤波器,结果如图6.1.6所示