FIR低通滤波器的设计报告Word格式.docx
- 文档编号:19601399
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:11
- 大小:110.36KB
FIR低通滤波器的设计报告Word格式.docx
《FIR低通滤波器的设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《FIR低通滤波器的设计报告Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
1.2MATLAB应用
MATLAB产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●数字图像处理技术
●数字信号处理技术
●通讯系统设计与仿真
●财务与金融工程
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
1.3MATLAB特点
●此高级语言可用于技术计算
●此开发环境可对代码、文件和数据进行管理
●交互式工具可以按迭代的方式探查、设计及求解问题
●数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等
●二维和三维图形函数可用于可视化数据
●各种工具可用于构建自定义的图形用户界面
●各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及MicrosoftExcel)集成[2]
●不支持大写输入,内核仅仅支持小写
1.4MATLAB的优势
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采的的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
2设计目的
1、通过课程设计把自己在大学中所学的知识应用到实践当中。
2、深入了解利用Matlab设计FIR数字滤波器的基本方法。
3、在课程设计的过程中掌握程序编译及软件设计的基本方法。
4、提高自己对于新知识的学习能力及进行实际操作的能力。
5、锻炼自己通过网络及各种资料解决实际问题的能力。
3设计要求
1、设计通带截止频率为200Hz的FIR数字低通滤波器;
2、独立编写程序实现
3、完成符合学校要求的设计说明书
4设计原理
FIR滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。
目前FIR滤波器的设计方法主要有三种:
窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。
如果FIR滤波器的h(n)为实数,而且满足以下任意条件,滤波器就具有准确的线相位:
第一种:
偶对称,h(n)=h(N-1-n),φ(ω)=-(N-1)ω/2。
第二种:
奇对称,h(n)=-h(N-1-n),φ(ω)=-(N-1)ω/2+pi/2。
对称中心在n=(N-1)/2处。
5用窗函数设计FIR滤波器的基本方法
基本思路:
从时域出发设计h(n)逼近理想hd(n)。
设理想滤波器的单位响应时域表达为hd(n),则Hd(n)一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器单位抽样响应h(n),最直接的方法是先将hd(n)往右平移,再迕行截断,即截取为有限长因果序列:
h(n)=hd(n)w(n),并用合适的窗函数迕行加权作为FIR滤波器的单位脉冲响应。
按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,返个现象称为吉布斯(Gibbs)效应。
为了消除吉布斯效应,一般采用其他类型的窗函数。
MATLAB设计FIR滤波器有多种方法和对应的函数。
窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。
FIR数字滤波器的设计是选择有限长度(长度为H)的单位脉冲响应h(n),使其传输函数H(ejw)=
满足技术要求。
FIR数字滤波器的设计问题就是要求所设计的FIR数字滤波器的频率响应H(ejw)去逼近所要求的理想滤波器的响应Hd(ejw)。
从单位取样序列来看,就是使所设计的滤波器的h(n)逼近单位取样响应序列hd(n)。
而且
设理想低通滤波器的传输函数为
(
),它的表达式如下:
边界频率wc是不连续点,相应的单位取样响应
可见,理想低通滤波器的单位取样响应
(n)是无限长的,n从-∞到+∞,且是非因果序列。
为了从hd(n)得到一个因果线性相位的FIR滤波器,必须利用有限长度N的窗函数wN(n)对hd(n)进行截取,截取后的冲击响应函数h(n)可表示为:
此时h(n)为关于τ=
偶对称的有限因果序列。
当N为奇数时,所设计的FIR数字低通滤波器为I型滤波器;
当N为偶数时,为Ⅱ型滤波器。
而h(n)表示的滤波器频率特性为:
H(ejw)是否能够很好的逼近Hd(ejw)取决于窗函数的频谱特性W(ejw)。
若将理想滤波器的频率响应写成:
其中幅度频率特性:
此时,h(n)滤波器的频率特性可表示为:
由此可以得到所设计的滤波器的幅度频率特性为:
实际对FIR滤波器的H(ω)有影响的只是窗函数的幅度频率特性WR(ω)。
实际中的FIR滤波器的幅度频率特性,是理想低通滤波器的幅度频率特性和窗函数的幅度频率特性的复卷积。
复卷积给H(ω)带来过冲和波动,所以加窗函数后,对滤波器的理想特性的影响有以下几点:
1)Hd(ω)在截止频率的间断点变成了连续的曲线,使得H(ω)出现了一个过渡带,它的宽度等于窗函数的主瓣宽度,过渡带就越宽,
2)由于窗函数的旁瓣的影响,使得滤波器的幅度频率特性出现了波动,波动的幅度取决于旁瓣的相对幅度。
旁瓣范围的面积越大,通带波动和阻带波动就越大,也就是说阻带的衰减减小。
而波动的多少,取决于旁瓣的多少。
3)增加创函数的长度,只能减少窗函数的幅度频率特性W(ω)的主瓣宽度,而不能减少主瓣和旁瓣的相对值,该值取决于窗函数的形状,即增加取决函数的长度N只能相应的减小过渡带,而不能改变滤波器的波动程度。
为了满足工程上的需要,可以通过改变窗函数的形状来改善滤波器的幅度频率特性,而创函数的选择原则是:
1)具有较低的旁瓣幅度,尤其是第一旁瓣的幅度;
2)旁瓣的幅度下降的速率要快,以利于增加阻带的衰减;
3)主瓣的宽度要窄,这样就可以得到比较窄的过渡带。
通常上述的几点难以同时满足。
当选用主瓣宽度较窄时,虽然能够得到比较陡峭,但是通带和阻带的波动明显增加;
当选用比较小的旁瓣幅度时,虽然能够得到比较平坦和匀滑的幅度频率响应,但是过渡带将加宽,因此实际中选用的窗函数往往是它们的折中。
在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣的波动减小。
以上是从幅度频率特性设计方面对窗函数提出的要求,实际中设计FIR数字滤波器往往要求是线性相位的,以此要求w(n)满足线性相位的条件,即要求w(n)满足:
W(n)=W(N-1-n)
所以,窗函数不仅有截短的作用,而且能够起到平滑的作用,在很多领域得到了应用。
表一、六种窗函数基本参数比较
窗函数
窗谱性能指标
加窗后滤波器性能指标
旁瓣峰值/dB
主瓣宽度
/(2π/N
)
过滤带宽Δω
阻带最小衰减/dB
矩形窗
-13
2
0.9
-21
三角窗
-25
4
3.05
汉宁窗
-31
3.1
-44
海明窗
-41
3.3
-53
布拉克曼窗
-57
6
5.5
-74
凯泽窗
5
-80
6程序的设计
程序如下:
functionhd=id_lp(wc,N)
n=0:
N-1;
alp=(N-1)/2;
M=n-alp+eps;
hd=sin(wc*M)./(pi*N);
在MATLAB中利用freqz—m计算绝对和相对的幅度响应。
function[db,mag,pha,grd,w]=freqz_m(b,a)
[h,w]=freqz(b,a,1000,'
whole'
);
h=(h(1:
501))'
;
w=(w(1:
mag=abs(h);
db=20*log10((mag+eps)/max(mag));
pha=angle(h);
grd=grpdelay(b,a,w);
clear;
%清除MATLAB工作空间中内存变量
%用海明窗设计低通滤波器
fs=1000;
wp=0.35*pi;
ws=0.45*pi;
tr_width=ws-wp;
%过度带带宽
N=ceil(6.6*pi/tr_width)+1;
%滤波器的长度,N=奇数为1型,N=偶数为2型
disp(['
滤波器的长度为'
num2str(N)]);
wc=(ws+wp)/2;
%理想低通滤波器的截止频率
hd=ideal_lp(wc,N);
%理想低通滤波器的单位脉冲响应
w_ham=(hamming(N))'
%海明窗
h=hd.*w_ham;
%截取得到的实际单位脉冲响应
[db,mag,pha,grd,w]=freqz_m(h,[1]);
%计算实际滤波器的幅度响应
delta_w=2*pi/1000;
ap=-(min(db(1:
1:
wp/delta_w+1)));
%求出实际通带波动
as=-round(max(db(ws/delta_w+1:
501)));
%求出最小阻带衰减
%绘图
subplot(231);
stem(n,hd);
title('
理想冲激响应'
ylabel('
hd(n)'
subplot(232);
stem(n,w_ham);
海明窗w(n)'
w(n)'
subplot(233);
stem(n,h);
实际冲激响应)'
h(n)'
subplot(234);
plot((w*fs)/(2*pi),db);
幅度特性)'
subplot(235);
plot(w/pi,pha);
相位特性'
弧度'
7仿真结果
八心得体会
通过本次课程设计自己对滤波器的设计有了初步的了解与掌握。
也对MATLAB有了一定的了解。
设计过程中,学习了许多数字信号处理课程中关于数字滤波器的设计的内容,再通过利用参考文献与网络,完成了用Matlab进行数字信号处理课程设计。
通过课程设计,加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。
同时掌握编程方法和解决实际问题的技巧。
与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷地设计出具有严格线性相位的FIR滤波器,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。
随着版本的不断提高,MATLAB在数字滤波器技术发挥着更大的作用。
同时,用MATLAB计算有关数字滤波器的设计参数,如H(z)、h(n)等,对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。
在平时的数字信号处理实验课中我们很少接触MATLAB编程语言,但在这次编写程序以及调试的过程中遇到了很多困难,一次问我通过去图书馆查找资料,请教同学,在自己一点点改善程序,最终编写出一些比较完善的程序,这使我在这次课程设计中学到了很多知识,使我对数字信号这门课程有了更加的了解和掌握。
在这几天的学习中使我对数字信号处理这门课程有了进一步的理解。
经过查阅相关资料,逐步的掌握了滤波器的设计过程,使我加强了对实际问题的动手和思考和解决问题的能力。
但也暴露了自身的许多不足,如自主解决问题的能力有所欠缺,这在以后学习过程中需要更好的加强。
在这一周中每天都是忙碌的,但我觉得很充实,自己学到很多东西,也加深我对数字信号处理的学习兴趣。
数字信号里边的公式虽多,但理解了它、掌握了它,就会发现其中也是有规律可循的。
这次的课程设计中培养了我如何去学习和掌握新知识的能力,这对以后的学习和工作都有很大的帮助。
参考文献
[1]数字信号处理与MATLAB实现.清华大学出版社
[2]应用MATLAB实现信号分析和处理.科学出版社
[3]董长虹.MATLAB信号处理与应用.北京:
国防工业出版社,2005
[4]张葛祥,李娜.MATLAB仿真技术与应用.北京:
清华大学出版社,2003
[5]MATLAB7辅助信号处理技术与应用.电子工业出版社
[6]MATLAB信号处理与应用.国防工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FIR 滤波器 设计 报告