ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:206.72KB ,
资源ID:3576802      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3576802.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(滤波器fir的课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

滤波器fir的课程设计.docx

1、滤波器fir的课程设计目 录1 绪论 11.1 滤波器的发展历程 11.2 滤波器的分类 11.3 DSP芯片的发展及应用 12 方案选择 22.1 FIR滤波器 22.2 基于DSP实现FIR的优点 23 滤波器原理与MATLAB工具的设计 33.1 滤波器的原理 33.2 滤波器的设计步骤: 33.3 滤波器的MATLAB设计 34 软件的设计 64.1 程序的流程设计 64.2 源程序编写 74.3 FIR滤波器的设计结果 95 结束语 14参考文献: 151 绪论1.1 滤波器的发展历程凡是有能力进行信号处理的装置都可以称为滤波器。在近代电信设备和各类控制系统中,滤波器应用极为广泛;在

2、所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。1917年美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。20世纪50年代无源滤波器日趋成熟。自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。导致RC有源滤波器 、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来

3、并得到应用。80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。1.2 滤波器的分类根据滤波器的选频作用,滤波器可以分成四类:低通、高通、带通和带阻滤波器。低通滤波器,只允许0f2 的频率成分通过,而大于f2 的频率成分衰减为零; 高通滤波器与低通滤波器相反,它只允许f1的频率成分通过,而ff2的频率成分衰减为零;带通滤波器只允许f1 f2之间的频率成分通过,其他频率成分衰减为零;带阻滤波器与带通滤波器相反,它将f1f2之间的频率成分衰减为零,其余频率成分几乎不受衰减地通过。

4、根据构成滤波器的电路性质,滤波器可分为有源滤波器和无源滤波器;根据滤波器所处理的信号性质,可分为模拟滤波器和数字滤波器等等。1.3 DSP芯片的发展及应用从80年代至今的十多年中,DSP芯片在运算速度、运算精度、制造工艺、芯片成本、体积、工作电压、重量和功耗方面取得了划时代的发展,开发工具和手段不断完善。DSP芯片有着非常快的运算速度,使许多基于DSP芯片的实时数字信号处理系统得以实现。目前,DSP芯片已应用在通信、自动控制、航天航空及医疗领域,取得了相当的成果。在载人航天领域,基于DSP芯片的技术具有广阔的应用前景。2 方案选择2.1 FIR滤波器数字滤波器用于改变输入信号X(n)的频谱特性

5、以满足某种特定的设计要求。一个因果的数字滤波器可以用它的单位冲激响应h(n)、传输函数H(z)或者差分方程来表达。其中单位冲激响应和传输函数描述了系统的时域和频域性质,差分方程则反映了实现该滤波器所需的运算。一个线性时不变因果滤波器可以用式(1)的差分方程描述:如果1kN时,ak=0,则:这就是一个M阶的FIR滤波器,是非递归运算。2.2 基于DSP实现FIR的优点本设计所采用的TMS320C5000采用改进的哈佛结构,具有以下优点:具有高度并行性和专用硬件逻辑的CPU设计,芯片性能大大提高;哈佛结构不同于传统的冯诺依曼(Von Neuman)结构的并行体系结构,其程序存储器和数据存储器是相互

6、独立的存储器,每个存储器独立编址,独立访问。系统中设置了1组程序总线和3组数据总线及4组地址总线,从而使数据的吞吐率大大提高。基于此,本设计设计了FIR数字滤波器,着重介绍FIR滤波器设计及DSP中FIR滤波器的实现原理及方法。 基于DSP芯片TMS320C5000的FIR滤波器设计方法,利用MATLAB 仿真与DSP实现相结合的方式可以方便、快捷地设计具有严格线性相位的FIR 系统,而且参数的修改十分方便。用DSP 实现FIR数字滤波,具有准确度高、可移植性好、灵活性强等优点。该研究对其它类型滤波器的设计也有一定的参考价值。3 滤波器原理与MATLAB工具的设计3.1 滤波器的原理数字滤波器

7、根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。3.2 滤波器的设计步骤:数字滤波器设计的基

8、本步骤如下:(1) 确定指标;(2) 逼近;(3) 性能分析和计算机仿真。3.3 滤波器的MATLAB设计3.3.1 关于MATLABMATLAB是一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。3.3.2 FIR滤波器的MATLAB设计下面以设计线性相位FIR滤波器为例介绍具体的设计方法。线性相位FIR滤波器通常采用窗函数法设计。窗函数法设计FIR滤波器

9、的基本思想是:根据给定的滤波器技术指标,选择滤波器长度N和窗函数(n),使其具有最窄宽度的主瓣和最小的旁瓣。其核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)。工程中常用的窗函数共有6种,即矩形窗、巴特利特(Bartlett)窗、汉宁(Hanning)窗、汉明(Hamming)窗、布莱克曼(Blackman)窗和凯塞(Kaiser)窗。下面以Kaiser为例,设计一个低通滤波器:fp=2500;fc=6000;as=100;ap=1;fs=60000;wp=2*fp/fs;wc=2*fc/fs;N=ceil(as-7.95)/(14.36*(wc-wp)/2)+1;beta=

10、0.1102*(as-8.7);window=Kaiser(N+1,beta);b=fir1(N,wc,window);freqz(b,1,512,fs);结果如下:生产系数如下:-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0001 -0.0001 -0.0000 0.0001 0.0002 0.0003 0.0003 0.0001 -0.0001 -0.0005 -0.0007 -0.0007 -0.0003 0.0004 0.0011 0.0016 0.0015 0.0007 -0.0008 -0.0023 -

11、0.0033 -0.0031 -0.0013 0.0015 0.0045 0.0062 0.0057 0.0024 -0.0027 -0.0081 -0.0112 -0.0101 -0.0043 0.0049 0.0143 0.0199 0.0182 0.0079 -0.0090 -0.027 -0.0389 -0.0371 -0.0171 0.0212 0.0722 0.1261 0.1711 0.1966 0.1966 0.1711 0.1261 0.0722 0.0212 -0.0171 -0.0371 -0.0389 -0.0271 -0.0090 0.0079 0.0182 0.01

12、99 0.0143 0.0049 -0.0043 -0.0101 -0.0112 -0.0081 -0.0027 0.0024 0.0057 0.0062 0.0045 0.0015 -0.0013 -0.0031 -0.0033 -0.0023 -0.0008 0.0007 0.0015 0.0016 0.0011 0.0004 -0.0003 -0.0007 -0.0007 -0.0005 -0.0001 0.0001 0.0003 0.0003 0.0002 0.0001 -0.0000 -0.0001 -0.0001 -0.0000 -0.0000 0.0000 0.00000.000

13、0 0.0000 0.0000 -0.0000 3.3.4 数字滤波器的实现方法数字滤波器的实现方法一般有以下几种。采用加法器、乘法器、延时器设计专用的滤波电路。在通用计算机系统中加上专用的加速处理机设计实现。用通用的可编程DSP芯片实现。用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现。这种芯片将相应的滤波算法在芯片内部用硬件实现,无需进行编程。采用FPGA/CPLD设计实现。4 软件的设计4.1 程序的流程设计4.1.1 在CCS中编写处理程序在CCS IDE中建立firpjt工程,用C语言编写处理主程序firc,利用汇编语言文件,来定义中断服务程

14、序。另外根据板上的存储器配置方式,编写存储器配置文件(cmd文件),编译、链接,生成可执行文件(firout文件),加载到目标DSP程序存储器中,流程图如下:4.1.2 程序程序图4.2 源程序编写#include DSP28_Device.h#include filter.h#include ext_inf.hunsigned int DataLong=1024; /采样点数1024unsigned int i,j;unsigned int k= 0;unsigned short Ad_data2048;short Ad_data_signed2048;short filter_result

15、1024;unsigned int convcount = 0;volatile unsigned int adconvover =0;interrupt void ISRTimer2(void);interrupt void ad(void);void main(void)/*初始化系统*/ InitSysCtrl();/*关中断*/ DINT; IER = 0x0000; IFR = 0x0000;/*初始化PIE中断*/ InitPieCtrl();/*初始化PIE中断矢量表*/ InitPieVectTable(); /初始化cputimer InitCpuTimers();/*设置中

16、断服务程序入口地址*/ EALLOW; / This is needed to write to EALLOW protected registersPieVectTable.TINT2 = &ISRTimer2; PieVectTable.ADCINT = &ad;EDIS; / This is needed to disable write to EALLOW protected registers /*开中断*/ IER |= M_INT1;/ADC中断 EINT; / Enable Global interrupt INTM ERTM; / Enable Global realtime

17、 interrupt DBGM/*设置CPU*/ DINT; ConfigCpuTimer(&CpuTimer2, 150, 22); StartCpuTimer2(); /*开中断*/ IER |= M_INT14; EINT; InitAdc(); for(;) if (adconvover=1) /*fir滤波处理*/ for(i=0;iDataLong;i+) Ad_data_signedi=(short)(Ad_datai-0x5300);fir_filter(Ad_data_signed,hfir,filter_result,ORDER_FIR,DataLong,ROUND_FIR

18、); adconvover=0; interrupt void ad(void)IFR=0x0000; PieCtrl.PIEACK.all=0xffff; if(adconvover=0) Ad_dataconvcount = AdcRegs.RESULT0; convcount+; if (convcount=DataLong) convcount=0; adconvover=1;/接满标志 interrupt void ISRTimer2(void)AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; AdcRegs.ADCTRL2.bit.SOC_SEQ1=1

19、; 4.3 FIR滤波器的设计结果4.3.1 设置参数(1)fir_filter(Ad_data_signed,hfir,filter_result,ORDER_FIR,DataLong,ROUND_FIR)和adconvover=0处设置断点;(2)在Graph Property Dialog中设置Start Address和Display Type如图A、图B、图C、图D。其中A,B图分别为滤波前的波形和频谱,C,D图分别为滤波后的波形和频谱图:图 A 图 B 图 C 图D4.3.2 输入信号源的波形 (频率为1000Hz,振幅为800mV): 标准三角波的波形 标准三角波的频谱 标准方波

20、的波形 标准方波的频谱 噪声三角波 噪声三角波的频谱4.3.3 输出信号的波形 标准三角波滤波后波形 标准三角波滤波后的频谱 滤波后的方波波形 滤波后的标准方波频谱 滤波后噪声三角波的波形 滤波后噪声三角波的频谱5 结束语数字滤波器是语音、图象处理、模式识别以及谱分析中的基本运算的处理运算。DSP由于其本身具有并行的硬件乘法器、流水结构以及快速的片内存储器等资源,其技术已广泛地应用于噪声及振动的各个领域。采用MATLAB 语言可方便、快捷地设计具有严格线性相位的FIR 系统,且参数的修改也十分方便。用DSP 芯片实现低通FIR数字滤波,除具有准确度高、不受环境影响等优点外,由于DSP 芯片具有

21、可编程特性,程序的可移植性好,灵活性强。实际应用时只需按要求修改滤波器参数,并对程序作较少的改动,即可实现不同截止频率的低通FIR 滤波器,实用性较强. 在设计FIR数字滤波器时,采用MATLAB来进行辅助设计和仿真,达到了预期的效果。通过本次的课程设计,我对DSP和数字信号处理有了更深刻的认识,对MATLAB也有了更深的理解。虽然在本次的设计中遇到了一些挫折,但是在老师和同学的帮助下还是顺利的完成了。这次设计让我将学到的理论知识与实践相结合,也认识到了学知识光学理论知识是不够的,只有能将理论与实践相结合才是真的知识。我自己也认识到了,当遇到问题时不能烦躁,不能抱怨,要静下心来解决问题,翻阅书籍,课内的和课外的,必要时可以借助internet,那里有许多有价值的东西,可以借鉴。本次课程设计能够顺利的完成,我要特别感谢何海浪老师的精心指导,让我能够把理论与实践结合在一起,还要感谢同学们对我的帮助。谢谢!参考文献:1乔瑞萍 .TMS320C54X DSP原理及应用.西安电子科技大学出版社.2004.2程佩青.数字信号处理教程.北京:清华大学出版社,2001.3陈怀琛.MATLAB及其在理工课程中的应用指南.西安电子科技大学出版社,2007.4赵 力.语音信号处理.机械工业出版社,2004.5张雄伟. DSP芯片的原理与开发应用(第三版)M.北京:电子工业出版社,2003年

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1