武汉理工大学Matlab 课程设计1.docx
- 文档编号:30537693
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:28
- 大小:415.51KB
武汉理工大学Matlab 课程设计1.docx
《武汉理工大学Matlab 课程设计1.docx》由会员分享,可在线阅读,更多相关《武汉理工大学Matlab 课程设计1.docx(28页珍藏版)》请在冰豆网上搜索。
武汉理工大学Matlab课程设计1
课程设计任务书
学生姓名:
xxx专业班级:
信息xxx班
指导教师:
xxx工作单位:
信息工程学院
题目:
MATLAB课程设计
要求完成的主要任务:
1.在数字信号处理平台上(PC机﹑MATLAB仿真软件系统)进行软件仿真设计,并进行调试和数据分析。
2.利用MATLAB仿真软件系统结合频率取样法设计一个数字高通FIR滤波器。
课程设计的目的:
1.理论目的
课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。
2.实践目的
课程设计的目的之二是通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。
时间安排:
序
号
阶段内容
所需时间
1
方案设计
2天
2
软件设计
3天
3
系统调试
2天
4
答辩
1天
合计
8天
指导教师签名:
年月日
系主任(或责任教师)签字:
年月日
目录
1引言1
1.1MATLAB介绍1
1.2MATLAB信号处理工具箱函数介绍1
1.3滤波器的介绍2
2FIR数字滤波器设计原理3
3FIR数字滤波器设计方法4
3.1窗函数法4
3.2频率取样法5
4频率采样法实际FIR高通滤波器7
4.1设计原理7
4.2设计步骤9
5MATLAB环境下设计FIR数字高通滤波器9
5.1设计要求9
5.2FIR数字高通滤波器程序设计10
5.3调试结果11
5.4高通FIR数字滤波器的进一步设计12
6高通FIR数字滤波器性能测试14
6.1高通FIR数字滤波器性能测试程序14
6.2性能测试结果15
7FDATOOL工具箱设计高通FIR滤波器16
7.1FDATOOL工具箱16
7.2FIR滤波器参数设置17
8心得体会19
参考文献20
附件:
MATLAB程序21
摘要
数字滤波是语音和图象处理、模式识别、频谱分析等应用中的一个基本处理算法,数字滤波技术是信号消噪的基本方法。
根据噪声频率分量的不同,可选用具有不同滤波特性的数字滤波器。
当噪声的频率低于信号的频率时,就应该选用高通滤波器。
本设计采用了频率抽样法设计的FIR高通数字滤波器,其目的是为了让中高频率的信号通过,而且利用频率抽样法的优点是可以在频域直接设计,并且适合最优化设计。
FIR滤波器为有限长冲激响应滤波器,因其在线性相位特性方面具有独特的优点,因此也越来越受到广泛的重视。
MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩展能力强等特点,MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。
关键词:
FIR数字滤波器频率抽样高通MATLAB
Abstrct
Thedigitalfilteristhevoiceandimageprocessing,patternrecognition,spectrumanalysisintheapplicationofabasicalgorithm,digitalfilteringtechnologyisthebasicmethodofsignaldenoising.Accordingtodifferentfrequencycomponentsofnoise,canbeusedwithdifferentfilteringcharacteristicsofdigitalfilter.Whenthenoiseofhighfrequencybelowthesignalfrequency,shouldchooseahigh-passfilter.ThisdesignusesthefrequencysamplingdesignmethodofFIRhighpassdigitalfilter,itspurposeistomakethehighfrequencysignalthrough,andbyusingthefrequencysamplingmethodcanbedirectlyinthefrequencydomaindesign,andissuitableforoptimizationdesign.FIRfilterforfiniteimpulseresponsefilters,duetoitslinearphasecharacteristichasuniqueadvantages,soitattractsmoreandmoreattention.
MATLABisascienceandengineerin-orientedcomputinglanguage,whichsetnumericalanalysis,matrixxomputing,graphicsandsignalprocessinginone,theprogramhasahighlyefficientmeansofdebuggingarich,strong,andothercharacteristicsoftheexpansion,MATLABsignalprocessingtoolsBoxfeaturesapowerfulfunction,whichnotonlycanbeusedtodesignisapowerfultool.
Keyword:
FIRdigitalfilterFrequencysamplingHighpasst.MATLAB
1引言
1.1MATLAB介绍
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
1.2MATLAB信号处理工具箱函数介绍
以下就本课程设计所用到的MATLAB函数进行简要介绍。
1、freqs求模拟滤波器Ha(s)的频率响应函数。
H=freqs(B,A,w)计算由向量w(rad/s)指定的频率点上模拟滤波器Ha(s)的频率响应Ha(jw),结果存于H向量中。
向量B和A分别为模拟滤波器系统()aHs的分子和分母多项式系数。
[H,w]=freqs(B,A,w)计算出M个频率点上的频率响应存于H向量中,M个频率存放在向量w中。
freqs函数自动将这M个频点设置在适当的频率范围。
默认w和M时freqs自动选取200个频率点计算。
不带左端输出向量时,freqs函数将自动绘出幅频和相频曲线。
1.3滤波器的介绍
1.3.1滤波器功能及分类
滤波器主要功能是对信号进行处理,保留信号中的有用成分,去除信号中的无用成分。
其按处理的信号可分为数字滤波器(DigitalFilter,DF)和模拟滤波器(AnalogFilter,AF),按频域特性分为低通、高通、带通、带阻滤波器,按时域特性可分为有限长冲激响应(FIR)滤波器和无限长冲激响应(IIR)滤波器。
1.3.2模拟滤波器设计理论
模拟滤波器的理论和设计方法已发展得相当成熟,且有若干典型的模拟低通滤波器的设计原型可供选择,如巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Ellips)滤波器、贝塞尔(Bessel)滤波器等。
这些滤波器各有特点,巴特沃斯滤波器具有通带内最平坦且单调下降的幅频特性;切比雪夫滤波器的幅频特性在通带或阻带内有波动,可以提高选择性;贝塞尔滤波器通带内有较好的线性相位特性;而椭圆滤波器的选择性相对前三种是最好的。
模拟低通滤波器的设计是最基本的,而高通、带通、带阻滤波器则可利用频率转换的方法由低通滤波器映射而得到。
模拟滤波器的设计是根据一组设计规范来设计模拟系统函数Ha(s),使其逼近某个理想滤波器的特性。
其中可以由幅度平方函数确定系统函数。
下面介绍两种常用的低通滤波器特性。
一般以低通滤波器为基础来讨论逼近函数,而高通、带通、带阻滤波器则可用变换方法有低通滤波器映射而得到。
一种是巴特沃斯低通逼近,另一种是切比雪夫低通逼近。
本设计中选用第一种方法巴特沃斯低通逼近。
由模拟低通滤波器系统函数确定模拟高通滤波器系统函数的方法如下:
(1)定低通系统函数HLP(s),其参考角频率Ωc(一般为截止频率)由高通参考角频率(一般为截止频率)Ωc选定,一般都选Ωc=1的归一化原型低通滤波器;
(2)所得到的HLP(s)中代入变换关系式
中,得到高通系统函数
(1)
故模拟高通滤波器的实现可由模拟低通滤波器的归一化原型再经频率变换得到。
1.3.3数字滤波器介绍
数字滤波器是在模拟滤波器的基础上发展起来的,从结构上看,数字滤波器可以分内递归型(IIR)与非递归型(FIR)两大类。
与模拟滤波器之间存在着一些重要的差别。
相比起来,数字滤波器具有精度高、稳定性好、设计灵活、不存在阻抗匹配、便于大规模集成和可以实现多维滤波等优点。
在一般情况下,数字滤波器是一个线性非移变系统。
从频域特性上看,它与模拟滤波器一样,有低通、高通、带通和带阻之分。
但在时域的实现方法与方式上,它们是完全不同的两类系统。
数字滤波器(digitalfilter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。
按照滤波电路的工作频带为其命名:
设截止频率为fp,频率低于fp的信号可以通过,高于fp的信号被衰减的电路称为低通滤波器,频率高于fp的信号可以通过,低于fp的信号被衰减的电路称为高通滤波器;而带通吗,就是频率介于低频段截止频率和高频段截止频率的信号可以通过的电路。
2FIR数字滤波器设计原理
FIR滤波器即有限长冲激响应滤波器,突出优点是:
系统总是稳定的,易于实现线性相位、允许设计多通带(或多阻带)滤波器,但与IIR滤波器相比,在满足同样阻带衰减的情况下需要的阶数较高,滤波器的阶数越高,占用的运算时间越多,因此在满足指标要求的情况下应尽量减少滤波器的阶数。
FIR滤波器的基本结构可以理解为一个分节的延时线,把每一节的输出加权累加,可得到滤波器的输出,FIR滤波器的冲激响应h(n)是有限长的,数字上M阶FIR滤波器可以表示为:
(2)
其系统函数为:
(3)
在自适应处理、数据通信等领域中往往要求信号在传输过程中不能有明显的相位失真,FIR滤波器可以做到线性相位满足此要求。
FIR滤波器实质上是一个分节的延迟线,把每一节的输出加权累加,得到滤波器的输出。
对于FIR滤波器的单位脉冲响应h(i)只要满足以下两个条件之一,则为线性相位滤波器。
线性相位的FIR滤波器具有中心对称的特性,其对称中心在N/2处。
h(i)=h(N-1-i)偶对称(4)
h(i)=-h(N-1-i)奇对称(5)
FIR滤波器的设计问题实质是确定所满足要求的转移序列或脉冲响应的常数的问题,设计方法主要有窗函数法、频率取样法和等波纹最佳逼近法等。
3FIR数字滤波器设计方法
3.1窗函数法
窗函数法就是设计FIR数字滤波器的最简单也是最常用的方法。
它在设计FIR数字滤波器中有很重要的作用,正确的选择窗函数可以提高设计数字滤波器的性能,或者在满足设计要求的情况下,减少FIR滤波器的阶次。
各种窗函数的性能比较见表1,在设计FIR滤波器的过程中可以根据要求选择合适的窗函数:
表1各种窗函数的性能比较
窗函数
第一旁瓣相对于主瓣衰减(dB)
主瓣宽
阻带最小衰减(dB)
矩形窗
-13
4π/N
21
三角窗
-25
8π/N
25
汉宁窗
-31
8π/N
44
海明窗
-41
8π/N
53
布拉克曼窗
-57
12π/N
74
凯瑟窗
可调
可调
可调
切比雪夫窗
可调
可调
可调
3.2频率取样法
窗函数设计FIR数字滤波器是从时域出发,把理想的滤波器的单位取样响应Hd(n)用合适的窗函数截短成为有限长度的H(n),并使H(n)逼近理想的Hd(n),以实现所设计的滤波器的频率响应Hd(ejw)逼近与理想滤波器的频率响应Hd(ejw)。
一个有限长的序列,如果满足频率采样定理,可以通过频谱的有限个采样点的值被准确的得以恢复。
设理想滤波器的频率响应是Hd(ejw),它是连续频率w的周期函数。
对其抽样,使每一个周期有N个抽样值,再对它做IDFT,可得到N点的单位抽样序列Hd(n),即:
,n=0,1,2,…………,N-1(6)
将h(n)作为所设计的滤波器的单位冲激响应,这样就可以求出该滤波器的传输函数,即:
(7)
当然H(z)也可以用Hd(k)来表示,即:
(8)
经推导,有:
(9)
由此得出的滤波器,其频率响应在l=mk的抽样点上严格的等于所希望的值Hd(k),而在l≠mk的点上,H(ejw)则由内插函数的插值决定。
所以这种滤波器的设计方法被称之为频率抽样法,该内插函数是:
(10)
在频率抽样法中指定Hd(k)要比窗函数法中指定Hd(ejw)复杂。
Hd(k)指定的原则是:
1、在通带内,可令|Hd(k)|=1,阻带内|Hd(k)|=0,且在通带内赋给Hd(k)相位函数;
2、指定的Hd(k)应保证h(n)是实数;
3、由抽样序列h(n)求出的Hd(ejw)应具有线性相位。
为保证所设计的滤波器具有线性相位,必须对频率采样值进行约束。
有以下四种情况:
1)抽样序列h(n)偶对称,N为奇数。
2)抽样序列h(n)偶对称,N为偶数。
3)抽样序列h(n)奇对称,N为奇数。
4)抽样序列h(n)奇对称,N为偶数。
对于理想滤波器的频率响应Hd(ejw),应根据第一个采样点的不同,可分为两种采样方法:
方法1:
第一个采样点在w=0处
1)N为奇数
若理想滤波器的频率响应Hd(ejw)不存在相移时,即设计Ⅰ型FIR滤波器。
若理想滤波器的频率响应Hd(ejw)存在π/2相移时,即设计Ⅲ型FIR滤波器。
2)N为奇数
若理想滤波器的频率响应Hd(ejw)不存在相移时,即设计Ⅱ型FIR滤波器。
若理想滤波器的频率响应Hd(ejw)存在π/2相移时,即设计Ⅳ型FIR滤波器。
方法2:
第一个采样点在w=π/N处
1)N为奇数
若理想滤波器的频率响应Hd(ejw)不存在相移时,即设计Ⅰ型FIR滤波器。
若理想滤波器的频率响应Hd(ejw)存在π/2相移时,即设计Ⅱ型FIR滤波器。
2)N为偶数
若理想滤波器的频率响应Hd(ejw)不存在相移时,即设计Ⅱ型FIR滤波器。
若理想滤波器的频率响应Hd(ejw)存在π/2相移时,即设计Ⅳ型FIR滤波器。
4频率采样法实际FIR高通滤波器
4.1设计原理
4.1.1重构FIR的单位抽样响应
根据频率抽样定理,有N个频率抽样点可以唯一确定h(n),即对H(k)进行IDFT变换:
,n=0,1,2,……,N-1(11)
4.1.2重构系统函数
=
=
=
=
(12)
4.1.3FIR的频率响应
将z=ejw代入H(z)表达式可得:
=
=
(13)
其中,
为大家所知的内插函数,分析
可知,当
,i=0,1,2,……,N-1时(采样点)有:
i=0,1,2,……,N-1(14)
这说明,重构的频率响应H(ejw)在采样上严格等于H(k),而在采样点之间,频率响应则由加权的内插函数延伸叠加而成。
4.1.4线性相位的约束条件
以h(n)为偶对称,N为奇数的情况进行分析。
1)FIR滤波器的频率响应具有线性相位的一般表达式
当h(n)为偶对称,N为奇数时,则
(15)
而且幅度函数H(w)应为偶对称,即
(16)
2)采样点H(k)具有线性相位的约束条件:
(17)
其中,
表示采样值的模(纯标量),θk表示其相角。
因此,在采样点上具有线性相位的条件是:
(18)
而且,Hk必须满足偶对称,即
(19)
4.2设计步骤
1.根据指标要求,画出频率采样序列的图形;
2.根据|Hk|的对称特点,可以使问题得以简化;
3.根据线性相位的约束条件,求出
;
4.将
代入FIR滤波器的频率响应表达式;
5.有Hk的表达式画出实际频率响应。
5MATLAB环境下设计FIR数字高通滤波器
5.1设计要求
1.在数字信号处理平台上(PC机﹑MATLAB仿真软件系统)进行软件仿真设计,并进行调试和数据分析。
2.利用MATLAB仿真软件系统结合频率取样法设计一个数字高通FIR滤波器。
3.性能指标如下:
阻带截止频率0.5π,通带截止频率0.6π,阻带衰减不小于30dB,通带衰减不大于1dB。
5.2FIR数字高通滤波器程序设计
基于频率采样法的FIR数组高通滤波器程序如下:
N=33;%采样点
wc=3*pi/5;%通带截止频率
N1=fix(wc/(2*pi/N));%阻带上采样点
N2=N-2*N1;%通带上采样点
A=[zeros(1,N1),ones(1,N2),zeros(1,N1)];
theta=-pi*[0:
N-1]*(N-1)/N;%线性相位约束条件
H=A.*exp(j*theta);%频率采样
h=real(ifft(H));%傅里叶逆变换
v=1:
N;
figure
(1);
subplot(211)
plot(v,A,'*');
title('频率采样');
ylabel('H(k)');
axis([0,fix(N*1.1),-0.1,1.1]);
subplot(212)
stem(v,h);title(‘脉冲响应’);ylabel('h(n)');
axis([0,fix(N*1.1),min(h)*1.1,max(h)*1.1]);
M=5000;
nx=[1:
N];
w=linspace(0,pi,M);%0~π范围等间隔
X=h*exp(-j*nx'*w);%求取频率响应
figure
(2);
plot(w./pi,abs(X),'k');xlabel('\omega/\pi');ylabel('|Hd(w)|');
title('幅度响应');axis([0,1,-0.1,1.3]);
figure(3);
plot(w./pi,20*log10(abs(X)),'k');title(‘幅度特性’);
xlabel('\omega/\pi');ylabel('dB');axis([0,1,-80,10]);
5.3调试结果
图1理想高通滤波器频率采样情况及其脉冲响应
分析:
从频率抽样样本及其脉冲响应来看,抽样点的选择满足线性相位的条件,即在0~2π上等间隔采样33个点,满足对于高通和带阻滤波器,N只能取奇数的要求。
同时,采样点的选取9个0点,15个1点,9个0点,这样在2π的区间上在π的附近就是通带,满足高频滤波器频带处于π的奇数倍附近。
图2高通FIR滤波器的幅频响应曲线
分析:
从高通滤波器的幅频响应曲线可以看出,大于0.6π区间上处于通带,满足高通滤波器阻带截止频率0.6π的要求,而阻带截止频率截止于0.5π同样满足设计的要求。
图3高通滤波器幅度特性
分析:
从高通滤波器幅度响应曲线可以看出,在通带内高通滤波器幅度衰减满足小于1dB的设计要求。
而在阻带内同样满足大于30dB的衰减要求。
说明设计的高通FIR滤波器满足设计的性能要求,达到了设计的标准。
5.4高通FIR数字滤波器的进一步设计
5.4.1高通FIR滤波器改进措施分析
以上设计的FIR数字滤波器满足设计的要求,但是我们发现在阻带内信号存在很大的震荡,但是实际上我们总是希望信号在通带内无衰减,而在阻带内没有信号通过。
这也是理想滤波器的设计要求,但是实际上并不能达到理想的标准。
但我们可以通过一定的手段减小阻带内的信号震荡,使之趋近于理想滤波器的特性要求。
对于此次设计的高通滤波器,我们可以通过增加频率采样点,即在频率响应间断点附近区间内插一个或几个过渡采样点,使不连续点变成缓慢过渡,这样,虽然加大了过渡带,但明显增大了阻带衰减。
5.4.2高通FIR滤波器改进设计程序
N=33;
wc=3*pi/5;T1=0.2;T2=0.7;%增加过渡点值
N1=fix(wc/(2*pi/N));
N2=N-2*N1;
A=[zeros(1,N1),T1,T2,ones(1,N2-4),T2,T1,zeros(1,N1)];%增加过渡点
theta=-pi*[1:
N]*(N-1)/N;
………………
在这个采样频率点的选取上,新增了四个过渡点在频率响应间断点上,即0.2,0.7,这样的方法是提高阻带衰减的最有效的方法。
由于程序设计大部分不变,所以这部分只给出了部分程序。
5.4.3改进型高通FIR滤波器调试结果
图4理想高通滤波器增加频率过度点
图5改进型高通FIR滤波器幅度特性
分析:
在频率响应间断点附近区间内插了几个过渡采样点,是不连续的点变成缓慢过渡,我们可以看到,在改进后的高通FIR滤波器特性曲线中,可以看到明显使得阻带
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉理工大学Matlab 课程设计1 武汉理工大学 Matlab 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)