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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

DSP课程设计滤波器.docx

1、DSP课程设计滤波器DSP课程设计-滤波器前言本文介绍了滤波器的滤波原理以及模拟滤波器、数字滤波器的设计方法。重点介绍了IIR数字滤波器的设计方法。即脉冲响应不变法和双线性变换法。在此基础上,用DSP虚拟实现任意阶IIR滤波器。此设计扩展性好,便于调节滤波器的性能,可以根据不同的要求在DSP上加以实现。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促

2、进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。IIR

3、 数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。数字信号处理由于具有精度高、灵活性强等优点,已广泛应用于图像处理、数字通信、雷达等领域。数字滤波技术在数字信号处理中占有极其重要的地位,数字滤波器根据其单位脉冲响应可分为IIR(无限长冲激响应滤波器)和FIR(有限长冲激响应滤波器)两类。IIR滤波器可以用较少的阶数获得很高的选择特性,但在有限精度的运算中,可能出现不稳定现象,而且相位特性不好控制。数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。最多64个增

4、加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加。此外,DSP芯片的发展,是DSP系统的成本、体积、重量和功耗都有很大程度的下降。1 方案设计与论证1.1 设计方案概论IIR滤波器的选择:在APF中,滤波器的设计应满足:截止频率低,过渡带快,通带内增益接近1、阻带内增益接近0,在满足精度要求的前提下阶数尽量低,以使滤波器的运算速度快。滤波器有模拟滤波器和数字滤波器两种。这里选用数字滤波器,因为它相对于模拟滤波器更容易进行滤波代数运算,而且数字滤波器的优点是没有模拟滤波器那样的随时间、温度、电压漂移,还有数字滤波器还能实现近似理想的响应和线性相位,所以能更好地达到谐波检测的实时性和

5、准确性的要求,数字滤波器有无限冲激响应(IIR)系统和有限冲激响应(FIR)系统两种。IIR系统的优点是实现的阶数低,对于实现相同要求的数字滤波器,FIR滤波器的阶数要比IIR滤波器的阶数高510倍,IIR滤波器的设计相对简单,可以由对应的模拟滤波器转换而来。FIR系统的优点是采用递归结构,可以得到严格的线性相位,运算的误差也较小,FIR的设计比IIR要灵活。结合IIR滤波器和FIR滤波器的优缺点,由于在APF谐波检测中的低通数字滤波器是用于通过直流,滤掉交流,对相位的要求不高,而且希望运算尽量小,因此选用IIR滤波器。1.2 设计方案详论滤波器可广义的理解为一个信号选择系统,它让某些信号成分

6、通过又阻止或衰减另一些成分。在更多的情况下,滤波器可理解为选频系统,如低通、高通、带通、带阻。滤波器可分为三种:模拟滤波器、采样滤波器和数字滤波器。模拟滤波器可以是由RLC构成的无源滤波器,也可以是加上运放的有源滤波器,是连续时间系统;采样滤波器由电阻、电容、电荷转移器件、运放等组成,属于离散时间系统,幅度连续;数字滤波器由加法器、乘法器、存储延迟单元、时钟脉冲发生器和逻辑单元等数字电路构成,精度高,稳定性好,不存在阻抗匹配问题,可以时分复用。设计滤波器,就是要确定其传递函数,传递函数H(z)已知后,则可以确定系统的频率响应为,其中分别是幅频特性和相位特性。对于无失真传输系统,有,即 (1.1

7、)幅频特性为常数,信号通过系统后各频率分量的相对大小保持不变,没有幅度失真。相位特性为线性,使对应的时域方程的时延量为常数:,即系统对各频率分量的延迟时间相同,保证了各频率分量的相对位置不变,没有相位失真。数字通信对相位的要求比模拟通信高许多,线性相位很重要。数字系统描述时延的函数有两个: 群时延:反映相频曲线的线性程度相时延:反映各频率分量在时域的相对延时。所以无相位失真的传输条件是要具有恒群时延和恒相时延,即常数。数字滤波器的设计是确定其系统函数并实现的过程,一般要经如下步骤:1、根据任务,确定性能指标。2、用因果稳定的线性移不变离散系统函数去逼近。3、用有限精度算法实现这个系统函数。4、

8、利用适当的软、硬件技术实现。我们在这里主要讨论数字滤波器系统函数的逼近过程,包括无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器系统函数的逼近。1.3 设计工具CCS及SEED-DTK2812 实验系统简介CCS的全称是Code Composer Studio,它是美国德州仪器公司(Texas Instrument,TI)出品的代码开发和调试套件。TI公司的产品线中有一大块业务是数字信号处理器(DSP)和微处理器(MCU),CCS便是供用户开发和调试DSP和MCU程序的集成开发软件。TI Code Composer Studio (CCStudio) 是 TIeXpres

9、sDSPTM 实时软件技术的重要组成部分 , 它可以使开发人员充分应用 DSP 的强大功能。随着 TI 的 TMS 320C 5000 ( C5K ) 和 TMS 320C 6000 ( C6K ) DSP 平台的应用范围不断扩大 , 已经由其应用于下载视频流的手持因特网接入产品扩展到蜂窝通信网络和光网络的通信基础设施 ,eXpressDSPTM 也便获得了越来越多软件工程师的青睐。 嵌入式编程人员现可利用 TI 的 Code Composer Studio 加快优化 DSP 软件的速度,前瞻性的综合建议及易于使用的调整工具能够帮助开发人员简化并加速代码优化进程。这些强大但易于使用的功能不仅能

10、够缩短开发时间,而且能够帮助编程人员充分发挥 TI TMS 320C 6000 DSP 平台器件的全部潜能。 Code Composer Studio 实现了多场所的连通性 , 极大地改进了基于 TI 业界领先的 TMS 320C 5000 TM 和 TMS 320C 6000 TM DSP 平台单处理器或多处理器代码的开发、优化及其调试工具的性能。先进的应用 ,如图像与视频、宽带接入、3G 无线通信及其它一些融合高性能的技术 将得益于 Code Composer Studio v3.1 的可靠性及其快捷的开发时间。 对于那些希望把业界领先的 C6000 TM DSP 平台的高性能与 C500

11、0 TM DSP 平台的低功耗相结合的系统开发者来说 ,Code Composer Studio v3.1 为使其同时调试混合多处理器成为了可能。 Code Composer Studio v3.1 还增加了实时数据交换 (RTDX TM ) 仿真功能 , 可支持来自任何地方的 2 至 50 个 C5000 和 C6000 DSP 器件同时运行。此外 , 支持 RTDX 的仿真器还实现了实时 DSP/BIOS TM 仿真调试 , 该高级调试功能可以使开发人员更深入地了解 DSP 代码在硬件或仿真状态中的运行情况。Code Composer Studio IDE 提供强健、成熟的核心功能与简便易

12、用的配置和图形可视化工具,使系统设计更快。SEED-DTK(DSP Teaching Kit)是一套可以满足大学本科、研究生和教师科研工作的综合实验设备。SEED-DTK 是我公司在总结以往产品的基础上,以独特的多DSP 结构、强大的DSP 主板功能、丰富的外围实验电路、精心设计的实验程序、精湛的产品工艺形成的高性能产品。本文档主要介绍的是SEED-DTK2812 实验箱,它由SEED-DEC2812 板卡以及SEED-DTK_MBoard 构成;其中主控板是我公司生产的SEED-DEC2812,母板是我公司生产的SEED-DTK_MBoard 板卡。此外,该款实验箱还可配置DSK 板卡、图像

13、处理卡等多种子卡。2 系统设计2.1 IIR数字滤波器的设计方法及原理(1) IIR 滤波器直接型结构数字滤波器的输入xk和输出yk之间的关系可以用如下常系数 线性差分方程及其z 变换描述。 (2.1)系统的转移函数为 (2.2)设N=M,则传输函数变为 (2.3)它具有N 个零点和N 个极点,如果任何一个极点在Z 平面单位圆外,则系统不稳定。如果系数bj 全部为0,滤波器成为非递归的FIR 滤波器,这时系统没有极点,因此FIR 滤波器总是稳定的。对于IIR 滤波器,有系数量化敏感的缺点。由于系统对序列施加的算法,是由加法、延时和常系数乘三种基本运算的组合,所以可以用不同结构的数字滤波器来实现

14、而不影响系统总的传输函数。(2) IIR 数字滤波器的设计数字滤波器设计的出发点是从熟悉的模拟滤波器的频率响应出发,IIR 滤波器的设计有两种方法:第一种方法先设计模拟低通滤波器,然后通过频带变换而成为其他频带选择滤波器(带通、高通等),最后通过滤波器变换得到数字域的IIR 滤波器。第二种方法先设计模拟低通滤波器,然后通过滤波器变换而得到数字域的低通滤波器,最后通过频带变换而得到期望的IIR 滤波器。模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器)为了用物理可实现的系统逼近理想滤波器的特性,通常对理想特性作如下修改:1) 允许滤波器的幅频特性在通带和阻带有一定的衰减范围,幅频特性在这一范围内允

15、许有起伏。2) 在通带与阻带之间允许有一定的过渡带。工程中常用的逼近方式有巴特沃斯(Butterworth)逼近、切比雪夫(Chebyshev)逼近和椭圆函数逼近。相应设计的滤波器分别为巴特沃斯滤波器、切比雪夫滤波器和椭圆函数滤波器。巴特沃斯滤波器的模平方函数由下式描述: (2.4)n 为阶数; c 为滤波器截止频率切比雪夫滤波器比同阶的巴特沃斯滤波器具有更陡峭的过渡带特性和更优的阻带衰减特性。切比雪夫低通滤波器的模平方函数定义为 (2.5)其中,为决定| Hc() |等波动起伏幅度的常数;n为滤波器的阶数; Tn()是n阶切比雪夫多项式。3. 本实验中IIR 的算法公式: (2.6) (2.

16、7)2.2 程序设计流程图根据理论分析,我们得到了总体设计的思路和方法,根据得到的设计思路和方法,可以画出设计的流程图,流程图如图2.1所示。图2.1 程序设计流程图2.3 系统设计步骤根据程序设计流程图的基本思想以及CCS及SEED-DTK2812试验箱的使用方法,可以按一下步骤进行系统设计和仿真。首先做好准备工作:()将DSP 仿真器与计算机连接好;()将DSP 仿真器的JTAG 插头与SEED-DEC2812 单元的J1 相连接;(3)打开SEED-DTK2812 的电源。观察SEED-DTK_MBoard 单元的5V,3.3V,15V,15V 的电源指示灯以及SEED_DEC2812

17、的电源指示灯D2 是否均亮;若有不亮的,请断开电源,检查电源。设计步骤(1)打开CCS,进入CCS 的操作环境;(2) 装入IIR.pjt 工程文件,添加2812.gel 文件,开始进行调试;(3) 装载程序Filter.out;(4) 数字滤波实验都需要设置实验箱信号源。通过液晶屏和键盘,设置信号源:当液晶屏上出现“通讯自检不成功,请复位系统”时,按下“Enter”键,进入“信号发生器设置”。在“信号发生器设置”这一菜单下:“通道”设为“0”;“信号类型”可根据需要任意选择;“信号频率”和“信号振幅”可在屏幕下方“有效输入”限定的范围内任意输入,建议振幅设为1000 左右,频率”设为300

18、左右; “电压偏移”设为1;(注:TMS320F2812 的AD 输入范围在03v,而SEED-DTK_MBoard 板CSL 初始化AD 采样初始化AD 采样无限冲击响应数字滤波的信号源默认输出为-1V1V,故选择1V 的电压偏移)“信号发生器开关”设为“开启”。此时便有信号输入音频芯片AIC23 的输入端(利用此芯片同样可以进行AD 采集)。(5)打开Filter.C 在第90 行 “for(i=0;iDataLong;i+)”,95 行“adconvover=0;”,行“adconvover=1”设置断点。(6)运行程序到断点,观察Ad_data数组与filter_result数组的值。

19、其中图像显示设置对话框中Start adderss:起始地址;Acquisition Buffer Size:输入数据个数;Display Data Size:显示数据个数(注意:显示个数要与程序中宏定义的采样个数一致);DSP Data Type:数据类型。3 仿真结果与分析经过程序的反复修改和调试及系统的调试,基本实现了IIR滤波器的设计,测试用的波形是带噪声的方波信号,通过IIR滤波器。分析与观察滤波前后的波形图以及滤波前后的频谱图,可以确定该IIR滤波器基本达到滤波的效果和要求。仿真截图如下。观察输入信号的波形图,如图3.1所示。图3.1 输入信号的波形该波形是带有噪声的方波,不是标准

20、的方波,波形有很多毛刺。可以通过用FFT算法得到图3.1的频谱图,观察到输入信号的频谱图,如图3.2所示。图3.2 输入信号的频谱带噪声的方波经过IIR滤波器后可以得到去噪声的方波,如图3.3所示。图3.3 输出信号波形带噪声的方波经过IIR滤波器后,波形变得平滑了,取出了毛刺,基本达到滤波的要求。带噪声的方波经过IIR滤波器滤波后得到去噪声的频谱图,如图3.4所示。图3.4 输出信号的频谱图分析带噪声的频谱图,可以发现把后面的少的高频部分滤除掉了,剩下的频率成分较多低频部分留下,已达到波形的平滑。基本符合理论要求,达到了滤波的效果。4 总结在课程设计的过程中,我们经历了感动,经历了一起奋斗的

21、酸甜苦辣。也一起分享了成功的喜悦。这次的课程设计对我们每个人来说都是一个挑战。在这两周的学习中,我学到了很多,也找到了自己身上的不足。感受良多,获益匪浅。我们小组分工合作、齐心协力,一起完成了课程设计前的准备工作(阅读课程设计相关文档)、小组讨论分工、完成系统开发的各个文档、课程设计总结报告、在课程设计的第一天我们便对这次任务进行了规划和分工。在以后的几天中,我们组的成员一起努力,查阅资料、小组讨论、对资料进行分析,课程设计这样集体的任务光靠团队里的一个人或几个人是不可能完成好的,合作的原则就是要利益均沾,责任公担。如果让任务交给一个人,那样既增加了他的压力,也增大了完成任务的风险,降低了工作

22、的效率。所以在集体工作中,团结是必备因素,一开始我们对CCS不熟悉,后来在同学的帮助下让我顺利的完成课程设计,最后感谢老师的耐心辅导,在老师的辅导下我学会了简单的编程。在我们大家的共同努力下,我们顺利地完成了此次课程设计。参考文献1黄席椿 高顺良.滤波器综合法设计原理M.北京:人民邮电出版社,1978.309-316,261-270.2沈永欢 梁在中 等.实用数学手册M.北京:科学出版社,2001.726-732.3程佩青.数字滤波与快速傅里叶变换M.北京:清华大学出版社,1990.4彭启琮. DSP集成开发环境CCS及DSP/BIOS的原理与应用M. 电子工业出版社,2004.致谢在这次课程

23、设计的撰写过程中,我得到了许多人的帮助。本课题在选题及进行过程中得到胡湘娟老师的悉心指导。论文行文过程中,胡老师多次帮助我分析思路,开拓视角,在我遇到困难想放弃的时候给予我最大的支持和鼓励。胡老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。再多华丽的言语也显苍白。在此,谨向胡老师致以诚挚的谢意和崇高的敬意。同时感谢实验室的等老师,他们给我们提供了必要的实验器材,提供了很大的方便。我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。同时也感谢学院为我提供良好的做毕业设计的环境。再一次感谢所有在设计中曾经帮助过我的良师益友和同学。附录源程序代码如下:/*filtter

24、.c */#include DSP28_Device.h#include filter.h#include ext_inf.h#pragma DATA_SECTION(iir, iirfilt); IIR5BIQ16 iir=IIR5BIQ16_DEFAULTS; /* Instance the Filter Object and Initialize */ #pragma DATA_SECTION(iir_dbuffer,iirfilt);int iir_dbuffer2*IIR16_LPF_NBIQ; /* Create Delay Buffer */const int iir_coeff

25、5*IIR16_LPF_NBIQ=IIR16_LPF_COEFF; unsigned int DataLong=1024; /采样点数1024unsigned int adconvover = 0;unsigned int convcount = 0;unsigned int Ad_data2048=0;int filter_result1024;unsigned int i,j;unsigned int k= 0;interrupt void ISRTimer2(void);interrupt void ad(void);void main(void) /*初始化系统*/ InitSysCt

26、rl(); /*关中断*/ DINT; IER = 0x0000; IFR = 0x0000; /*初始化PIE中断*/ InitPieCtrl(); /*初始化PIE中断矢量表*/ InitPieVectTable(); /初始化cputimer InitCpuTimers(); /*设置中断服务程序入口地址*/ EALLOW; / This is needed to write to EALLOW protected registers PieVectTable.TINT2 = &ISRTimer2; PieVectTable.ADCINT = &ad; EDIS; / This is n

27、eeded to disable write to EALLOW protected registers /*开中断*/ IER |= M_INT1;/ADC中断 EINT; / Enable Global interrupt INTM ERTM; / Enable Global realtime interrupt DBGM /*iir init*/ iir.dbuffer_ptr=iir_dbuffer; /* Object Initialization */ iir.coeff_ptr=(int *)iir_coeff; iir.qfmat=IIR16_LPF_QFMAT; iir.nb

28、iq=IIR16_LPF_NBIQ; iir.isf=IIR16_LPF_ISF; iir.init(&iir); /*设置CPU*/ DINT; ConfigCpuTimer(&CpuTimer2, 150, 22); StartCpuTimer2(); /*开中断*/ IER |= M_INT14; EINT; InitAdc(); for(;) if (adconvover=1) /*AD采样结束*/ for(i=0;iDataLong;i+) Ad_datai=Ad_datai-0x5555; /*iir滤波处理*/ /iir注意input是q15,output是q14 for(i=0

29、;i1; 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.ADCTRL2.bit.RST_SEQ1=1; AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2