基于DSP的FIR滤波器实验_第1页
基于DSP的FIR滤波器实验_第2页
基于DSP的FIR滤波器实验_第3页
基于DSP的FIR滤波器实验_第4页
基于DSP的FIR滤波器实验_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、成绩 课程设计报告 题 目 FIR滤波器的实验 课 程 名 称 数字信号处理课程设计 院 部 名 称 电子信息工程学院 专 业 电子信息工程 班 级 学 生 姓 名 学 号 课程设计地点 课程设计学时 40 指 导 教 师 胡国兵 金陵科技学院教务处制 FIR滤波器的实验 一、摘要(所进行设计工作的主旨、缘起、目的,设计工作的主要内容、过程,采用的方法及取得的成果。关键字(key words):一般35个,最能代表报告内容特征,或在报告起关键作用,最能说明问题的词组)数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域

2、的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实是运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日

3、益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。关键字:数字滤波器、可编程、高速运行二、目录1、摘要 22、目录 33、前言 44、正文 54.1、设计理论 54.2、程序分析 114.3、设计步骤 145、问题与心得 245.1、实验问题 245.2、心得体会 256、参考文献 26三、前言(说明本次课程设计课题的意义,本课题相关技术特点,拟采用的方案或路线) 在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音处理、图像处理、模式识别、频谱分析等应用中的基本处理算法。与模拟滤波相比,数字滤波具有很突出的优点,例如它 可以满足滤波器对幅度和相位特性的严格要求,

4、可以避免模拟滤波无法克服的电压飘移、温度飘移和噪声等问题;用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。用可编程DSP芯片可通过修改滤波器的参数十分方便的改变滤波器的特性。 数字滤波器是DSP的基本应用,分为有限冲激响应滤波器FIR和无限冲激响应滤波器IIR。本设计选用TMS320C54x作为DSP处理芯片,在CCS软件中编程,并导入Matlab生成的待滤波数据、系数,实现FIR滤波器和IIR滤波器的设计,并将CCS仿真结果与Matlab相比较进行验证。四、正文(包含所进行设计的整体内容)1设计理论.FIR滤波器的特点FIR滤波器主要采用非递归

5、结构,因而从理论上以及实际的有限精度的运算中,都是稳定的;可以得到严格的线性相位;可采用快速傅利叶变换算法;一般没有现成设计公式,窗函数法只给出窗函数的计算公式,计算通带、阻带衰减仍无显示表达式。.FIR滤波器的DSP实现(1) 用线性缓冲区法实现z-1 数据存储器 数据存储器 数据存储器 线性缓冲区顶部 x(n) PORTR x(n+1) PORTR x(n+2) x(n-1) x(n) x(n+1) x(n-2) x(n-1) x(n) x(n-3) x(n-2) x(n-1) x(n-4) x(n-3) x(n-2) *ARx- x(n-5) *ARx- x(n-4) *ARx- x(n

6、-3) N=6的线性缓冲区存存储器图(2)用循环缓冲区法实现z-1 数据存储器 数据存储器 数据存储器 循环缓冲区顶部 x(n) ARx x(n) x(n) x(n-1) x(n-1) x(n-1) x(n-2) x(n-2) x(n-2) x(n-3) x(n-3) x(n-3) x(n-4) x(n-4) x(n-4) x(n-5) x(n-5) x(n-5) x(n-6) x(n-6) x(n+2) ARx 循环缓冲区底部 x(n-7) x(n+1) ARx x(n+1) N=8的循环缓冲区存储器图FIR滤波器的实现方法 (1)用线性缓冲区和直接寻址方法实现FIR滤波器例7-1N=5,y

7、(n)=h0x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4) 在数据存储器中存放系数h0h4,并设置线性缓冲区存放输入数据,如图所示 :数据存储器 y y(n) XN x(n) XNM1 x(n-1) XNM2 x(n-2) XNM3 x(n-3) XNM4 x(n-4) H0 h0 H1 h1 H2 h2 H3 h3 H4 h4 直接寻址线性缓冲区数据分配 FIR滤波器的输出 (2) 用线性缓冲区和间接寻址方法实现FIR滤波器例7-2N=5,y(n)=h0x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4) 在数据存储器中存放系数h

8、0h4,并设置线性缓冲区存放输入数据,如图所示,利用AR1和AR2分别作为间接寻址线性缓冲区和系数区的辅助寄存器。 数据存储器 y y(n) x x(n) x(n-1) x(n-2) x(n-3) AR1 x(n-4) h h0 h1 h2 h3 AR2 h4 间接寻址线性缓冲区数据分配 FIR滤波器的输出(3)用线性缓冲区和带移位双操作数寻址方法实现FIR滤波器 例7-3N=5,y(n)=h0x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4) 数据存储器 x 暂存y(n) 程序存储器 x(n) PARCOEF h4 x(n-1) h3 x(n-2) h2 x(n

9、-3) h1 AR1 x(n-4) h0 双操作数寻址线性缓冲区数据分配 (4)用循环缓冲区和双操作数寻址方法实现FIR滤波器例7-4N=80,,存放h0h79的系数表以及存放数据的循环缓冲区 均设在DARAM中,如图所示。数据存储器 y y(n) 60h 数据存储器 xn x(n) 80h h h0 100h x(n-1) 81h h1 101h x(n-2) h2 102h x(n-3) h3 103h x(n-4) h4 104h x(n-5) h5 105h AR3 x(n-79) cfh AR4 h79 14fh 双操作数寻址循环缓冲区数据分配(5)系数对称FIR滤波器的实现方法数据

10、存储器 New循环缓冲区 Old循环缓冲区 80h x(n) AR2 88h x(n-4) 81h x(n-3) 89h x(n-5) 82h x(n-2) 8Ah x(n-6) 83h x(n-1) 8Bh x(n-7) AR3 新旧缓冲区对比程序存储器 系数表 COEF h0 低地址 h1 h2 h3 高地址 程序存储器存系数表FIR滤波器单位脉冲响应输入方波时FIR滤波器的输出 (6)Filter函数的作用过滤一维数字滤波器。Y=filter(B,A,X)用向量A和B所描述的过滤器来过滤向量X中的数据,以创建过滤后的数据。输入X为滤波前序列,Y为滤波结果序列,B/A提供滤波器系数,B为分

11、子,A为分母。整个滤波过程是通过下面差分方程实现的:a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + . + b(nb+1)*x(n-nb) - a(2)*y(n-1) - . - a(na+1)*y(n-na)2程序分析(对每一程序逐一分析,CMD文件也要解释)包含主程序流程图、各子程序的流程图、存储器的分配说明、关键函数或子程序、关键汇编语句的语法说明 fir.m fir.asm fir.CMD3设计步骤(详细描述,给出主要步骤的界面,如FDATOOL的界面、CCS中的整体界面、以及一些关键的窗口截图、存储器的分配图。)(1)、设计出线性相位FIR滤波器的参数如下

12、: 滤波器名称: 带通滤波器 采样频率: Fs=21KHz 通带: 2.5KHz4.5KHz 过渡带: 2.5KHz3.1KHz,3.9KHz4.5KHz 带内波动: <0.8dB 阻带衰减: -68dB以下 滤波器级数: N=75 滤波器系数 (偶对称,只需列出前一半系数):12-43-79-485311112-177-2256321348-22-433-41934433357-34-236-9018-212-41898991138-37-1728-19625125392724-43-3147-3250173405(2)、实验步骤 打开MATLAB,点击file下的open;打开fir

13、.m文件; 点击右下角start ->Toolboxes->Filter Design HDL Coder->打开lter Design &Analysis Tool (fdatool) 根据.m文件设置参数,设置完点击Design Fitder 点击file下的export,导出滤波器系数 运行刚开始打开的.m文件,生成波形图 点击Targets->ccs->Export as->Signed 16 bit integer->Generate,生成.h文件并修改.h文件 打开Setup CCS,选择C5402Device芯片,保存后关闭 打开

14、CCS,新建Project ,并保存到自己的文件夹内,右击新建的工程,然后点击Add Files to Project;打开两个脚本文件 打开Source下的fir.asm文件,根据.m文件的参数参照修改,点击运行 点击file 下的load program,打开生成的.out 文件;点击左边的run; 点击File下的Data -> Load Data,打开之前生成的input1文件,根据fir.CMD文件,将Address设置为input ,Length设置为200,Page设置为Data 点击View下的Graph->Time/Frequency,设置波形图参数五、问题与心得

15、(对整个设计工作的总结,可以包括作者提出的建议、下一步工作的设想及改进意见等)1、实验问题(1)FIR有何特点?你做了什么?FIR滤波器主要采用非递归结构,因而从理论上以及实际的有限精度的运算中,都是稳定的;可以得到严格的线性相位;可采用快速傅利叶变换算法;一般没有现成设计公式,窗函数法只给出窗函数的计算公式,计算通带、阻带衰减仍无显示表达式。我做的带通滤波器。(3) 加了噪声特有何影响?加了噪声波形没有太大影响,就是滤出的波形中过渡带部分会出现毛刺。(3)数据如何加载进来的?通过Matlab中的fadtool中的Export to Code Composer Studio(tm)IDE导出.

16、h 文件,把.h 文件修改成能被DSP识别再把.h文件复制到在CCS中新建的文件夹中,通过fir.asm文件copy,这样数据就加载进来了。2、心得体会 经过这么长时间的课程设计,在老师的指导下,我终于如愿完成了此次课程设计的各项任务。总体而言,此次课程设计收获颇丰,且算是比较成功。虽然此前对Matlab 已经略有了解,但是运用还是不太熟练,还是要查阅资料才能完成任务。本次实验也算是对之前的所学知识的复习巩固,我们不仅对滤波器有更加新的知识还对Matlab的实际操作有了更叫充分的了解,还学会了使用CCS。但是也暴露出了自身的一些缺点,例如自己解决问题的能力有所欠缺,在处理问题时思路不够清晰,滤波器的制作中对于问题的把握不够具

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论