FIR滤波器设计_第1页
FIR滤波器设计_第2页
FIR滤波器设计_第3页
FIR滤波器设计_第4页
FIR滤波器设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、DSP技术课程设计课程题目: FIR滤波器设计姓 名: 学 号: 专 业: 通信工程2011级学 院: 电气信息学院指导教师: 时 间: 目录摘要-31.设计题目-42.系统功能介绍-43.设计原理及算法研究-4 3.1设计原理-4 3.2算法设计-54.相应参数设计-6 4.1低通滤波器的滤波系数的计算-6 4.2滤波器输入信号参数-65.编写程序-6 5.1部分源程序-6 5.2 0119.cmd程序-7 5.3滤波器系数测试程序和图形-8 5.4 滤波器输入信号生成程序和图形-96.调试过程-10 6.1调试前的准备-10 6.2 MATLAB的使用-10 6.3编写及编译程序-10 6

2、.4观察点设置-117.实验结果-11 7.1运行结果-11 7.2输入信号频谱图-138.设计总结-14参考文献-15摘要:在TMS320C54x系统开发环境CCS下对FIR滤波器的DSP实现原理进行了讨论。利用Matlab中的FIR数字滤波器的函数设计相应的滤波器,对得到的滤波器系数采用Q15格式表示,并用C语言产生模拟输入信号。将获取的系数和输入信号通过相应的指令调到DSP芯片的数据存储器中,运用MAC指令,循环缓冲寄存器、块循环寄存器实现已知混合信号的滤波,通过实验仿真,从输入信号和输出信号的时域和频域曲线可看出在DSP上实现的FIR滤波器能完成预定的滤波任务。关键字:CCS开发环境;

3、DSP;FIR;Matlab1.设计题目 FIR滤波器设计:设计一个FIR低通(或高通、带通)滤波器,通带边界频率为1500Hz,通带波纹小于1dB;阻带边界频率为2000Hz,阻带衰减大于40dB;采样频率大于8000Hz。FIR滤波器的设计可以用MATLAB窗函数法进行。2.系统功能介绍任何一个实际的应用系统中,都存在着各种各样的干扰。数字滤波器是使用最为广泛的信号处理算法之一。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用。在本设计中,先使用MATLAB模拟产生合成信号,然后再利用CCS进行滤波处理。将模拟信号的采样频率设

4、定为12000Hz,设计一个FIR低通滤波器。3.设计原理及算法研究 3.1 设计原理 FIR数字滤波器是一种非递归系统,其传递函数为:H(z)=Y(z)/X(z)=b(n)z-n 由此可得到系统的差分方程为:y(n)=h(i)x(n-i),其冲击响应h(n)是有限长序列,它其实就是滤波器系数向量b(n),N为FIR滤波器的阶数。 为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=- h(N-1-n),这样,当N为偶数时,偶对称线性相位FIR滤波器的差分方程表达式为:y(n)=h(i)x(n-i)+x(N-1-n

5、-i)应用MATLAB设计FIR滤波器的主要任务就是根据给定的性能指标设计一个H(z),使其逼近这一指标,进而计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化,设计完成之后将得到FIR滤波器的单位冲击响应序列h(n)的各个参数值。 用fir1函数设计FIR滤波器:fir1函数用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。具体语法如下: b=fir1(n,Wn) b=fir1(n,Wn,ftype)其中n为滤波器的阶数;Wn为滤波器的截止频率; ftype为用来决定滤波器的类型

6、,当ftype=high时,可设计高通滤波器;当ftype=stop时,可设计带阻滤波器。当没有ftype没有的时候,可以设计低通滤波器,本次实验就是设计的低通滤波器。3.2 算法设计 1.设N=16,FIR滤波器算法设计如下: y(n)=h(0)x(16)+h(1)x(15)+,+h(15)x(1)+h(16)x(0) 2. AR4,FIR_DATA_P AR6,INBUF_P AR7,OUTBUF_P 程序分别用AR4指向FIR_DATA_PC,AR6指向INBUF_P,AR7指向OUTBUF_P4.相应参数计算4.1低通滤波器的滤波系数的计算round(fir1(16,1500/1200

7、0)*32768) 4.2滤波器输入信号参数5.编写程序 5.1部分源程序 5.2 0119.cmd程序 MEMORY PAGE 0: PROG:o= 100h, l= 2000h PAGE 1: DATA1:o= 2600h, l= 1000h DATA2:o= 2100h, l= 100h DATA3:o= 2200h,l= 100h DATA4:o= 2300h,l= 100h DATA5:o= 2400h,l= 100h DATA6:o= 2500h,l= 100h SECTIONS coff_fir : > PROGPAGE 0 fir_prog : > PROGPAGE

8、 0 fir_vars : > DATA1PAGE 1 fir_coff : > DATA2PAGE 1 fir_bfr : > DATA3PAGE 1 5.3 滤波器系数测试程序和图形 freqz(b,1,512)5.4 滤波器输入信号生成程序和图形6.调试过程6.1调试前的准备 (1)启动SETUP并选择芯片。 (2)在CCS的安装目录myproject子目录下创建一个文件夹。 6.2 MATLAB的使用 (1)使用MATLAB工具编写滤波器系数测试程序,生成0119.inc文件并保存在0119文件夹中。(2)使用MATLAB工具编写输入信号生成程序,并生成0119.da

9、t文件保存在0119文件夹中。 6.3 编写及编译程序 (1)选中Project菜单中New命令新建一个工程并命名为0119。 (2)选中File菜单中New-Source File命令,并编写源程序,然后以.asm格式保存在0119文件夹里。 (3)再选中File菜单中New-Source File命令,并编写链接程序,然后以.asm格式保存在0119文件夹里。 (4)选中Project菜单中Add File To Project命令,将以上程序加载到工程目录下 (5)编译并链接程序,如果有错就修改,然后再编译链接直到无误为止。 6.4 观察点设置 (1)选中Project菜单中New命令新

10、建一个工程并命名为0119。 (2)设置断点:在标号fir_loop下面的Nop语句设置软件断点(Toggle breakpoint)探针(ToggleProbe point)。 (3)选中File菜单中File I/O命令,将会看到File I/O对话框按照下图操作然后选中Add Probe Point再按以前的试验方法操作。 (4)打开观察窗口,选择菜单“View”、“Graph”、“Time/Frequency”按照下面所示操作:地址分别为:input和output;buffersize:1,display,data;size:200,DSP,Data;Type:16-bit signed integer;Sampling Rate:1Hz。 (5)运行并观察结果7.实验结果 7.1 运行结果 输入时域 输入频域 输出时域 输出频域 7.2 输入信号频谱图8.设计总结通过这将近一周的数字信号处理的课程设计,我对FIR滤波器的性质又有了一个更加充分的认识,同时也对它的应用有了一个大体的认识。这样将会更加激励我学习相关的知识,不断的将所学的知识用于实践。这让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具。这次设计使我了解了MATL

温馨提示

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

评论

0/150

提交评论