用窗函数法设计FIR数字滤波器---数字信号处理课程设计.docx

上传人:教**** 文档编号:87911182 上传时间:2023-04-18 格式:DOCX 页数:35 大小:246.43KB
返回 下载 相关 举报
用窗函数法设计FIR数字滤波器---数字信号处理课程设计.docx_第1页
第1页 / 共35页
用窗函数法设计FIR数字滤波器---数字信号处理课程设计.docx_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《用窗函数法设计FIR数字滤波器---数字信号处理课程设计.docx》由会员分享,可在线阅读,更多相关《用窗函数法设计FIR数字滤波器---数字信号处理课程设计.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、课程设计任务书学生姓名: 专业班级: 电信 指导教师: 工作单位: 信息工程学院 题 目: 用窗函数法设计FIR数字滤波器初始条件:1. MATLAB6.5以上版本软件2. 课程设计辅导资料:“MATLAB语言基础及使用入门”、“数字信号处理原理与实现”、“MATLAB及在电子信息课程中的应用”等;3. 先修课程:信号与系统、数字信号处理、MATLAB应用实践及信号处理类课程等。时间安排:第20周理论设计、实验室安装调试,地点:鉴主15楼通信实验室一序号阶段内容所需时间1方案设计2天2软件设计2天3系统仿真2天4答辩1天总计1周指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日数

2、字信号处理课程设计说明书目 录摘 要1Abstract21 绪论31.1 数字滤波技术31.2 FIR滤波器32 设计方法42.1 MATLAB结合窗函数法的设计方法42.2 窗函数设计法42.2.1设计函数的选取42.2.2窗函数的构造52.2.1窗函数的设计条件53 基本窗函数73.1 三类基本窗函数介绍73.1.1矩形窗73.1.2三角形窗73.1.3汉宁窗(升余弦窗)84 各类窗函数比较94.1窗函数绘图比较94.2窗函数法设计步骤104.3窗函数法设计比较105具体设计内容156总结与体会217参考文献22 摘 要现代图像、语声、数据通信对线性相位的要求是普遍的。正是此原因,使得具有

3、线性相位的FIR数字滤波器得到迅速发展和广泛应用。在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR

4、滤波器的设计中,为获得有限长单位采样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见窗函数加权技术在数字信号处理中的重要地位。传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效地设计由软件组成的常规数字滤波器的设计方法。本文给出了使用MATLAB语言进行程序设计的方法。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。关键字:FIR滤波

5、器;窗函数;MATLABAbstractA modern image, Voice and data communications to the linear phase requirement is universal. It is for this reason, making a linear phase FIR digital filters are to develop and widely used.In practice, digital signal processing, they often need to observe the time limit for the si

6、gnal in a certain time interval, only need to select a period of time to analyze the signals. In this way, access to a finite number of data about the process of signal data truncation is equivalent to the signal, the additional window function operation. And this after the operation, often occur fr

7、om the normal component of the spectrum spread spectrum open to the phenomenon of so-called spectral leakage. When it comes to discrete Fourier transform, the time domain truncation is necessary, therefore, leakage effects are also inherent in discrete Fourier transform, and must be inhibited. But w

8、ould like to suppress the spectral leakage can be inhibited by the weighted window function equivalent DFT filter amplitude characteristics of side-lobe, or the weighted window function so that the limited length of the extension of the input signal cycle, after the border to minimize the degree of

9、discontinuity the method of implementation. In the back of the FIR filter design, in order to obtain finite sampling units to respond to the need to truncate the infinite length window function with unit sampling response sequence. In addition, power spectrum estimation problem also encountered in t

10、he weighted window function. Thus, the weighted windows function in digital signal processing in an important position.Conventional digital filter design process is complex, computing workload, difficulties in adjustment of filter characteristics, affecting its application. This paper introduces a M

11、ATLAB Signal Processing Toolbox (Signal Processing Toolbox) quickly and efficiently design formed by the software of conventional digital filter design methods. This article presents use MATLAB language for programming and utilization of signal processing Toolbox FDA Tool for interface design. A fil

12、ter was designed using MATLAB. You can always compare the design requirements and adjust the parameters of filter characteristics, visual simple and greatly reduced the workload will help filter design optimized5数字信号处理课程设计说明书1 绪论1.1 数字滤波技术数字滤波,就是通过一定的计算或判断程序减少干扰信号在有用信号中的比例,所以实质上是一种程序滤波。与此对应的就是模拟滤波,模

13、拟滤波主要无源滤波(由电阻、电容、电感等不外接电源的元件组成)与有源滤波(由运算放大器等需要外接电源的元件组成),其目的是将信号中的噪音和干扰信号滤去或者将希望得到的频率信号滤出为我所用。数字滤波的出现克服了模拟滤波的很多不足,具有以下优点:1是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。2可以对频率很低的信号实现滤波,克服了模拟滤波的缺陷。3可以根据不同信号采用不同的滤波方法或参数,具有灵活、方便、功能强的特点。1.2 FIR滤波器FIR滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,

14、是稳定的系统。FIR滤波器具有以下主要优点:1.FIR滤波器具有严格的线性相位;2.FIR滤波器永远稳定;3.FIR滤波器设计方法一般是线性的;4.FIR滤波器在硬件上具有更高的运行效率;5.FIR滤波器启动传输时间只需要有限时间。FIR滤波器的主要缺点有:1.FIR滤波器为达到同样的性能要求需要比IIR滤波器高得多的阶数;2.相应的FIR滤波器的时延比同等性能的IIR滤波器高很多。FIR滤波器的硬件实现主要有数字集成芯片,DSP芯片FIR滤波器,可编程FIR滤波器,后两者的实际方法主要通过MATLAB软件进行设计,其设计方法多样,形式灵活,能够满足各种要求,并且不受数字集成芯片规格的限制。2

15、 设计方法2.1 MATLAB结合窗函数法的设计方法MATLAB作为一款优秀的数值计算软件,本身就内置了丰富的函数,其中便有用于通信仿真的一系列函数,并且MATLAB中还集成了通信设计的工具箱,不管是内置的函数,还是通信工具箱,均有专用于滤波器设计的工具,常用的主要有用函数法设计和用通信工具箱设计。2.2 窗函数设计法2.2.1 设计函数的选取MATLAB信号处理工具箱提供了基于加窗的线性相位FIR滤波器设计函数fir1和fir2,fir1函数的调用格式为:b=fir1(n,Wn)b=fir1(n,Wn,ftype)b=fir1(n,Wn,window)b=fir1(n,Wn,ftype,wi

16、ndow)b=fir1(.,normalization)函数参数说明如下:1n表示滤波器的阶数2ftype表示所设计滤波器的类型:3high表示高通滤波器4stop表示带阻滤波器5DC-1表示多通带滤波器,第一频带为通带6DC-0表示多通带滤波器,第一频带为阻带;默认时为低通或带通滤波器;7window为窗函数,是长度为n+1的列向量,默认时函数自动取hamming窗。该函数实现加窗的线性相位FIR滤波器设计,可以设计标准低通、带通、高通和带阻滤波器2.2.2 窗函数的构造MATLAB工具箱已经提供了各种窗函数的构造函数,因而窗函数的构造十分方便,下面给出几种常用窗函数的构造方法:1矩形窗:利

17、用w=boxcar(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。w=boxcar(n)等价于w=ones(1,n).2三角窗:利用w=triang(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。w=triang(N-2)等价于bartlett(N)。3汉宁窗:利用w=hanning(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。4布莱克曼窗:利用w=blackman(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的

18、n个系数。它的主瓣宽度是矩形窗主瓣宽度的3倍,为12/N,但是它的最大旁瓣值比主瓣值低57dB。5凯泽窗:利用w=kaiser(n,beta)的形式得到窗函数。2.2.2 窗函数的设计条件在使用窗函数设计滤波器时要满足以下两个条件:(1)主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带。(2)尽量减少最大旁瓣的相对幅度,也就是能量集中于主瓣,以减小带内、带外波动的最大幅度,增大阻带衰减。一般来说,以上两点很难同时满足。当选取主瓣宽度很窄时,旁瓣的分量势必增加,从而带内、带外的波动也增加了;当选取最小的旁瓣幅度时,降低了带内、带外的波动,但是过渡带的陡度减小了。所以实际采用的窗函数其特性往往是它

19、们的折中,在保证主瓣宽度达到一定要求的前提下,适当牺牲主瓣宽度来换取旁瓣波动的减小。实际工程常用的窗函数有五种,即矩形窗、三角窗、汉宁窗、海明窗和凯泽窗。这些窗函数之间的性能比较如下表所示。表2-1 5种窗函数的性能比较窗类型旁瓣峰值主瓣峰值最小阻带衰减矩形窗13dB4/M21dB三角窗25dB8/M25dB汉宁窗31dB8/M44dB海明窗41dB8/M53dB凯泽窗57dB12/M74dB3 基本窗函数3.1 三类基本窗函数介绍3.1.1 矩形窗矩形窗(Rectangular Window)函数的时域形式可以表示为: (公式3-1)它的频域特性为 (公式3-2)3.1.2 三角形窗三角形窗

20、(Bartlett Window)函数时域形式可表示为: (公式3-3)窗谱为: (公式3-4) 式中,当N远大于1时,此时,窗谱主瓣宽度为8/N。3.1.3 汉宁窗(升余弦窗)汉宁窗(hanning)函数时域形式可表示为: (公式3-7)利用傅利叶变换的调制特性,由上式可得汉宁窗的频谱函数为: (公式3-8)式中, (公式3-9)当N远大于1时,上式可近似表示为: (公式3-10)这三部分之和使旁瓣互相抵消,能量更集中在主瓣,汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8/N。hanning函数:生成汉宁窗调用方式:(1) w = hanning

21、(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。注意:此函数不返回是零点的窗函数的首尾两个元素。 (2) w = hanning(n,symmetric):与上面相类似。(3) w = hanning(n,periodic):此函数返回包括为零点的窗函数的首尾两个元素。4 各类窗函数比较4.1 窗函数绘图比较MATLAB程序源代码为:n=50;x=1:50;juxing=boxcar(n); %构造矩形窗sanjiao=triang(n); %构造三角窗hanming=hamming(n); %构造汉宁窗bulaikeman=blackman(n); %构造布莱克曼窗

22、kaize=kaiser(n); %构造凯泽窗plot(x,juxing,b.,x,sanjiao,gx,x,hanming,r+,x,bulaikeman,cd,x,kaize,k*);legend(矩形窗,三角窗,汉明窗,布莱克曼窗,凯泽窗);运行结果如图4-1所示:图4-1 各类窗函数绘图比较4.2 窗函数法设计步骤实际利用窗函数法进行FIR滤波器设计时,依据所给的技术指标一般需要经过以下几个步骤进行设计:1给定理想的频率响应函数Hd(ej)及技术指标;2求出理想的单位抽样响应hd(n);3根据阻带衰减选择窗函数w(n);4根据过渡带宽度确定N值;5求出所设计的FIR滤波器的单位抽样响应

23、;6计算频率响应,验算指标是否满足要求。4.3 窗函数法设计比较利用原理说明介绍的fir1函数进行设计,这种设计方法只需要给出滤波器的阶数,截止频率,窗函数等参数,MATLAB即可自行完成设计,并可通过freqz函数查看滤波器的幅频响应和相频响应,已验证滤波器是否满足设计要求,下面给出利用fir1函数设计的不同窗函数的数字带通滤波器。1.利用矩形窗进行设计MATLAB程序源代码为:fs=20000; %设定采样频率fp1=4500;fp2=6500; %第一截止频率fs1=3000;fs2=7500; %第二截止频率As=40; %最小阻带衰减Ws1=(fp1+fs1)/fs;Ws2=(fp2

24、+fs2)/fs; %截止频率归一化处理w=(fp1-fs1)/fs; %求归一化过渡带M=ceil(As-7.95)/(14.36*w) %计算所需滤波器的阶数juxing=boxcar(M+1); %生成长度为M+1的矩形窗boxb=fir1(M,Ws1,Ws2,juxing); %生成矩形窗设计的fir滤波器freqz(boxb,1,fs,fs); %绘制幅频和相频响应曲线运行结果为:图4-2 用矩形窗设计的FIR滤波器的幅频和相频响应曲线2.利用三角窗进行设计利用三角窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用triang()函数生成三角窗,程序运行结果为:图4-3 用三

25、角形窗设计的FIR滤波器幅频和相频响应曲线3. 利用汉宁窗进行设计利用汉宁窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用hanning()函数生成三角窗,程序运行结果为:图4-4 用汉宁窗设计的FIR滤波器的幅频和相频响应曲线4.利用布莱克曼窗进行设计利用布莱克曼窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用blackman()函数生成三角窗,程序运行结果如下:图4-5 用布莱克曼窗设计的FIR滤波器幅频和相频响应曲线5.利用凯泽窗进行设计利用凯泽窗进行设计时,滤波器的参数可以用以下函数求得:调用函数n,wn,bta,ftype=kaiserord(f,a,dev,fs

26、)参数:(1)f为对应的归一化频率(2)a为由f指定的各个频带上的幅值向量,一般只有0和1,和f长度关系为(2*a的长度)2=(f的长度)(3)devs用于指定各个频带输出滤波器的频率响应与其期望幅值之间的最大输出误差或偏差,长度与a相等。(4)fs为信号的采样频率。利用该函数修改代码得到凯泽窗设计FIR滤波器的MATLAB程序源代码如下:fs=20000; %设定采样频率fp1=4500;fp2=6500; %第一截止频率fs1=3000;fs2=7500; %第二截止频率n,wn,bta,ftype=kaiserord(fs1,fp1,fp2,fs2,. 0,1,0,0.01 0.1087

27、 0.01,fs) %求滤波器参数b=fir1(n,wn,ftype,kaiser(n+1,bta); %生成fir滤波器freqz(b,1,fs,fs); %绘制幅频和相频响应曲线程序运行结果为:图4-6 用凯泽窗设计的FIR滤波器幅频和相频响应曲线5具体设计内容1. 用矩形窗设计一个FIR线性相位数字低通滤波器,已知 。求出 并画出幅频响应特性曲线。解: MATLAB程序源代码为:wn=0.25;n=21;N=n+1;b=fir1(n,wn,low,boxcar(N);t=0:21;subplot(211);stem(t,b,.);hold on;plot(t,zeros(1,22);ti

28、tle(单位抽样响应h(n);grid;M=128;h=freqz(b,1,M);f=0:0.5/M:0.5-0.5/M;subplot(212);plot(f,abs(h);title(幅频响应);grid;xlabel(频率单位2pi);ylabel(幅度/db);运行结果为:2. 用三角形窗设计一个FIR线性相位数字低通滤波器,已知;要求画出滤波器的曲线。解:因为用三角形窗设计: MATLAB程序源代码如下:wc=0.5*pi;N=51;n=0:1:(N-1);a=(N-1)/2;m=n-a+eps;hd=sin(wc*m)./(pi*m);wd=(triang(N);h=hd.*wd;

29、H,rad=freqz(h);plot(rad,20*log10(abs(H);xlabel(频率/hz);ylabel(幅频响应/db);grid on;3. 用布莱克曼窗设计一个FIR线性相位相移的数字带通滤波器设。试求出的表达式,并画出曲线。解:可求得此滤波器的时域函数为:采用布拉克曼窗设计时( N =51 ):MATLAB程序原代码如下:w0=0.6*pi;wc=0.2*pi;w1=blackman(51);n=1:1:51;hd=i*(sin(w0+wc)*(n-25)-sin(w0-wc)*(n-25)./(pi*(n-25)+eps);h1=hd.*rot90(w1);mag1,

30、rad=freqz(h1);plot(rad,20*log10(abs(mag1);xlabel(频率/hz);ylabel(幅度/db);grid on;这个滤波器是90移相的线性相位带通滤波器(或称正交变换线性相位带通滤波器)。6 总结与体会这一次的课程设计时间比较紧,任务重,在课程设计之初,我对暂时用窗函数法设计FIR数字滤波器这个题目没有想法和方案。在课程设计的短短几天内,我不断搜集资料、设计方案、整理思路、编写程序、调试程序,这其中我遇到了很多的困难,在克服这些困难的同时,也学到了很多课本里学不到的知识,收获了很多课堂上讲不到的方法。这是第一次使用MATLAB这个软件对于电路进行数学

31、建模,我从网上获得了很多有关MATLAB设计滤波器的资料,也翻阅了很多书本,使我的设计思路渐渐明朗,最终弄明白了FIR滤波器的工作原理和 FIR滤波器设计相关的一些函数的使用方法,并了解了其中的优劣。在设计过程中,我也遇到了很多不懂的地方,程序经常出现错误,但经过自己的不断努力和尝试,最终还是解决了问题。通过这次学习,我不但掌握了FIR数字滤波器窗函数的基本知识及其实际应用的技巧了,而且还学会了MATLAB编程语言,同时还培养了我的工程设计思想。从收集资料、对比选择、确定方案到程序设计、程序调试,从中所获得的经验对今后的学习与工作都有很大的帮助,同时我也学会了如何在短时间之内对知识进行取舍与进

32、行重点学习和突破。虽然课程设计的过程是辛苦的,但结果确是令人振奋的。我从中学到的知识、方法与积累的自信、经验都会在今后的学习和工作中对我有很大的帮助。7 参考文献1. 陈怀琛 MATLAB及在电子信息课程中的应用 电子工业出版社20062. 刘泉 数字信号处理原理与实现 电子工业出版社 20053. 刘泉 信号与系统 高等教育出版社 20064. 徐以涛 数字信号处理 西安电子科技大学出版社 20095. 周开利,邓春辉 MATLAB基础及其应用教程 北京大学出版社 20076. 赵静,张瑾 基于MATLAB的通信系统仿真 北京航空航天大学出版社 20067. 宋寿鹏 数字滤波器设计及工程应用 江苏大学出版社 2007本科生课程设计成绩评定表姓 名 性 别专业、班级电信 课程设计题目:用窗函数法设计FIR数字滤波器课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 33

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁