毕业设计(论文)FIR滤波器的MATLAB设计以及DSP实现.doc
《毕业设计(论文)FIR滤波器的MATLAB设计以及DSP实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)FIR滤波器的MATLAB设计以及DSP实现.doc(31页珍藏版)》请在三一办公上搜索。
1、FIR滤波器的MATLAB设计以及DSP实现摘要:在数字信号处理应用中,数字滤波器占有十分重要的地位。本文首先介绍了FIR数字滤波器的原理,接下给出了在MATLAB环境下设计滤波器的方法,同时对本论文中的FIR数字滤波器给以设计,最后用DSP来实现。关键词:FIR滤波器 ; MATLAB ; DSP MATLAB design and realization based on DSP of FIR filterAbstract: In the digital signal processing application, the digital filter holds the extremel
2、y important status. Firstly, the FIR digital filter principle is introduced in this paper. Then, the paper provides the method of the filter designing under the MATLAB environment , simultaneously it gives the designing of the digital filter. Last the paper offers the realization of the digital filt
3、er by DSP.Key word: FIR filter ; MATLAB ; DSP目录1 引言41.1 设计背景41.2 工具简介41.3 本文的内容提要42 FIR滤波器的基本原理和设计方法 42.1 FIR滤波器的基本结构52.2 FIR滤波器的基本步骤52.3 FIR滤波器的设计方法62.4 FIR滤波器的MATLAB设计73 FIR滤波器的DSP实现93.1 DSP实现方式93.1.1 硬件平台TMS320VC5402 DSK93.1.2 软件开发环境 Code Composer Studio(CCS)103.2 FIR滤波器的实现方法.113.3 FIR滤波器的DSP实现 .
4、113.3.1使用带MAC 指令的循环寻址实现FIR 滤波器.113.3.2 利用C54x 系列芯片的提供的FIRS 指令来实现FIR 滤波器.123.3.3 DSP实现.144 结束语18参考文献19致谢20附录211引言1.1 设计背景随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器占有十分重要的地位。数字滤波和模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压飘移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相
5、位的严格要求。低通有限冲激响应滤波器(低通FIR滤波器)有其独特的优点,由于FIR系统只有零点,因此,系统总是稳定的,而且容易实现线性相位和允许实现多通道滤波器。1.2 工具简介本次设计硬件平台采用TI公司提供的DSP入门者套件(DSK, DSP Starter Kit)系列的DSK5402;软件开发平台采用Code Composer Studio(CCS)。具体内容将在第三章介绍。1.3 本文的内容提要本文第一部分是引言,第二部分介绍滤波器的基本原理和设计方法 ;第三部分是FIR滤波器的DSP实现;最后,第四部分是结论,对本文作了总结。2 FIR滤波器的基本原理和设计方法2.1 FIR滤波器
6、的基本结构滤波器的功能是把输入序列通过一定的运算,变成输出序列。数字滤波器一般可用如下的差分方程来描述:2-1其中,为输入序列,为输出序列,和b为滤波器系数,N是滤波器的阶数。若上式中所有b均为零,则有 ,这就是FIR滤波器的差分方程,一般我们将其表示为: 2-2对上式Z进行变换得到FIR滤波器的传递函数为: = 2-3FIR滤波器的一般结构如图所示,图1 FIR滤波器的实现结构图2.2 FIR滤波器的设计步骤数字滤波器设计的基本步骤如下:1 确定指标在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在
7、频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。它以分贝值的形式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中仍有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:只包含实数算法,不涉及复数运算;不存在延迟失真,只有固定数量的延迟;长度为N的滤波器(阶数为N-1),计算量为N/2数量级。2 逼近确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的
8、目标。3 性能分析和计算机仿真上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。2.3 FIR滤波器的设计方法FIR(Finite Impose Response filter)滤波器设计的任务是选择有限长度的h(n),使传输函数H(e)满足一定的幅度特征和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的革新思想是求出有限的脉冲响应来逼近给定的频率响应。目前常用的FIR滤波器的设计方法主要有三种,分别是窗函数法、频率采样
9、法和切比雪夫等波纹逼近优化设计法。1窗函数设计法设计的基本思想是:从时域出发,把理想的无限长的用一定形状的窗函数截取成有限长的h(n),以此h(n)来逼近,从而使得到的频率响应相接近。设计过程如下: h(n) IDTFT: Inverse Discrete Time Fourier Transform优点是简单、实用,缺点是截止频率不易控制。2频率抽样法设计的基本思想是:从频域出发,把给定的理想的频率响应以等间隔抽样,所得到的h(k)作逆离散傅氏变换,从而求得h(n),并用与之相应的频率响应去逼近理想的频率响应。设计过程如下: h(k) h(n) 优点是直接在频域进行设计,便于优化,缺点是截止
10、频率不能自由取值。3等波纹逼近计算机辅助设计法前两种方法虽然在频率采样点上的误差非常小,但在非样点上的误差沿频率轴不是均匀分布的,而且截止频率的选择还受到了不必要的限制。因此又由切比雪夫理论提出了等波纹逼近计算机辅助设计法。它不但能准确的指定通带和阻带的边缘,而且还在一定意义上实现了绝对所期望的频率响应实行最佳逼近。2.4 FIR滤波器的MATLAB设计MATLAB是英文Matrix Laboratory(矩阵实验室)的缩写,它是由美国MathWorks公司推出的用于数值计算和图形处理的数学计算环境,一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体
11、,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。MATLAB设计:设计一个38 阶的FIR 低通滤波器,其采样频率Fs 为25KHZ,通带截止频率 1.2KHZ ,阻带截止频率为2.8KHZ,阻带衰减为40dB。1滤波器技术指标的求取通带截止频率:阻带截止频率:阻带最小衰减:2滤波器系数的求取本文介绍用Matlab软件中数字信号工具箱(signal processing toolbox)内的滤波器设计与分析工具(Filter design and
12、Analysis Tool)来求取的方法。3采用窗函数法来设计,程序如下所示:n=38f=0 0.096 0.224 1.000m=1 1 0 0b=fir2(n-1,f,m)h,w=freqz(b,1,256,1)h=abs(h)h=20*log10(h)plot(w,h),gridxlabelylabel程序运行后幅频特性曲线如图2所示,滤波器的系数(h(n))如下:Columns 1 through 6 -0.0000 -0.0001 -0.0001 0.0001 0.0003 0.0004 Columns 7 through 12 -0.0001 -0.0019 -0.0050 -0.
13、0089 -0.0118 -0.0107 Columns 13 through 18 -0.0024 0.0153 0.0424 0.0762 0.1110 0.1398 Columns 19 through 24 0.1561 0.1561 0.1398 0.1110 0.0762 0.0424 Columns 25 through 30 0.0153 -0.0024 -0.0107 -0.0118 -0.0089 -0.0050 Columns 31 through 36 -0.0019 -0.0001 0.0004 0.0003 0.0001 -0.0001 Columns 37 thr
14、ough 38 -0.0001 -0.0000图 2 窗函数法设计的低通滤波器幅频特性曲线3 FIR滤波器的实现3.1开发平台3.1.1硬件开发环境TMS320VC5402 DSK本次FIR滤波器的硬件实现是在DES5402PP-U实验系统平台上完成的。DES5402PP-U是成都银杏科技有限责任公司与美国德州仪器(TI)电子科技大学DSPs技术/培训中心联合开发的第三代教学实验设备。该设备采用广泛使用的TMS320VC5402为核心,配备包括AD/DA、键盘、液晶等I|O在内的完整的DSP系统。TMS320VC5402 DSK是一套性价比较高的DSP入门套件(DSK,DSP Starter
15、Kit),该DSK包括:1 100 MHz TMS320VC5402 DSK2 64K字(16位),个等待周期的外部SRAM3 256K字FLASH存储器4 自带JTAG控制器,用并口与PC机相连5 DAA电话线接口6 话筒扬声器音频接口7 RS-232异步数据接口8 外部扩展子板接口9 V DC电源为了配合硬件工作,该DSK中还包括一套DSK版的CCS。3.1.2软件开发环境 Code Composer Studio(CCS)为了与DSK5402硬件平台相配套,TI提供了集成化的软件开发环境CCS IDE(Code Composer Studio Integrated Develop Env
16、ironment)。CCS专门为TI的DSP设计,扩充了基本的开发工具,增加了调试和实时分析功能,主要有以下特点:1项目管理和编辑工具,用来对项目进行创建、配置、生成和运行,支持通过makefile和命令行来生成可执行代码;2代码生成工具包括C编译器、汇编器和链接器等工具,另外CCS还提供了可视化的链接工具Visual Linker,帮助用户来调整代码和数据内存,实现程序内存的最优化;3 CCS提供了丰富的调试工具,支持多种模拟器和仿真版,支持在程序运行中探测存储器特定地址的值,用户可以方便地在PC和目标版上交换数据;4提供了丰富的函数库支持,如CSL、DSPLIB以及IMGLIB等;5支持实
17、时内核DSP/BIOS,极大的便利了程序的开发,使开发者能够把精力集中在对算法的研究上 。3.2 FIR滤波器的实现方法数字滤波器的实现方法一般有以下几种:1采用加法器、乘法器、延时器设计专用的滤波电路。2在通用计算机系统中加上专用的加速处理机设计实现。3用通用的可编程DSP芯片实现。4用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现。这种芯片将相应的滤波算法在芯片内部用硬件实现,无需进行编程。5采用FPGA/CPLD设计实现。在上述几种方法中,第种方法的缺点是速度较慢,一般可用于DSP算法的模拟。第、种方法专用性强,应用受到很大的限制。第、种方法都可
18、以通过编程来实现各种数字滤波,但是,第种因有专用的指令来实现滤波运算编程实现容易,而第种方法编程实现较为困难。3.3 FIR滤波器的DSP实现如果FIR 滤波器的冲激响应为h(0),h(1), .,h(N-1) 。表示滤波器在n 时刻的输入,则n 时刻的输出为: 3 -1使用MAC 或FIRS 指令可以方便地实现上面的计算。3.3.1使用带MAC 指令的循环寻址实现FIR 滤波器为了能正确使用循环寻址,必须先初始化BK,块长为N。同时,数据缓冲区和冲激响应(FIR 滤波器的系数)的开始地址必须是大于N 的2 的最小幂的倍数。例如,N=11 ,大于N 的最小2 的幂为16,那么数据缓冲区的第一个
19、地址应是16 的倍数,因此循环缓冲区起始地址的最低4 位必须是0。图3 FIR 滤波器存储器里的数据存储方式FIR 滤波器存储器里的数据存储方式中滤波系数指针初始化时指向h(N-1) ,经过一次FIR 滤波计算后,在循环寻址的作用下,仍然指向h(N-1) 。而数据缓冲区指针指向的是需要更新的数据,如x(n)。在写入新数据并完成FIR 运算后,该指针指向x(n-(N-1)。所以,使用循环寻址可以方便地完成滤波窗口数据的自动更新。使用带MAC 指令的循环寻址模式实现FIR 滤波器,程序片段如下:(输入数据在AL 中,滤波结果在AH 中) STM #1,AR0 ; AR0=1 STM #N,BK ;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 FIR 滤波器 MATLAB 设计 以及 DSP 实现
链接地址:https://www.31ppt.com/p-3976568.html