FIR数字滤波器设计与实现.doc

FIR数字滤波器设计与实现.doc

ID:60809614

大小:439.00 KB

页数:8页

时间:2020-12-20

FIR数字滤波器设计与实现.doc_第1页
FIR数字滤波器设计与实现.doc_第2页
FIR数字滤波器设计与实现.doc_第3页
FIR数字滤波器设计与实现.doc_第4页
FIR数字滤波器设计与实现.doc_第5页
资源描述:

《FIR数字滤波器设计与实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、电子科技大学通信与信息工程学院标准实验报告(实验)课程名称DSP设计与实践电子科技大学教务处制表电子科技大学实验报告学生姓名:学号:指导教师:向超实验地点:实验时间:一、实验室名称:科B341二、实验项目名称:FIR数字滤波器设计与实现三、实验学时:4课时四、实验原理:FIR滤波器的实现如果FIR滤波器的冲激响应为h(0),h(1),...,h(N-1)。X(n)表示滤波器在n时刻的输入,则n时刻的输出为:y(n)=h(0)x(n)+h(1)x(n-1)+...+h(N-1)x[n-(N-1)]使用MAC或FIRS指令可以方便地实现上面的计算。图4

2、-1说明了使用循环寻址实现FIR滤波器的方法。为了能正确使用循环寻址,必须先初始化BK,块长为N。同时,数据缓冲区和冲激响应(FIR滤波器的系数)的开始地址必须是大于N的2的最小幂的倍数。例如,N=11,大于N的最小2的幂为16,那么数据缓冲区的第一个地址应是16的倍数,因此循环缓冲区起始地址的最低4位必须是0。图4-1FIR滤波器存储器里的数据存储方式在图4-1中,滤波系数指针初始化时指向h(N-1),经过一次FIR滤波计算后,在循环寻址的作用下,仍然指向h(N-1)。而数据缓冲区指针指向的是需要更新的数据,如x(n)。在写入新数据并完成FIR运

3、算后,该指针指向x(n-(N-1))。所以,使用循环寻址可以方便地完成滤波窗口数据的自动更新.使用带MAC指令的循环寻址模式实现FIR滤波器,程序片段如下:(输入数据在AL中,滤波结果在AH中)STM#1,AR0;AR0=1STM#N,BK;BK=N,循环寻址BUFFER大小为NSTLA,*FIR_DATA_P+%;更新滤波窗口中的采样数据RPTZA,#(N-1);重复MAC指令N次,先将A清零MAC*FIR_DATA_P+0%,*FIR_COFF_P+0%,A;完成滤波计算。;注意FIR滤波系数存放在数据存储区另一种方法是利用C54x系列芯片的提

4、供的FIRS指令来实现FIR滤波器。图4-2为一种有限单位冲激响应呈现对中心点对称的FIR滤波器。长度为N的线性相位FIR滤波器的输出表达式为:图4-2N阶均衡FIR滤波器框图要利用FIRS指令,需要将输入数据缓冲分成两个,循环缓冲区大小寄存器的值设为N/2。图4-3显示了输入序列在两个循环缓冲器里的存储情况。设辅助寄存器AR2指到缓冲区1(Buffer1)的顶部,AR3指到缓冲区2(Buffer2)的底部。每次进行滤波之前,应先将缓冲区1顶部的数据移到缓冲区2的底部,新来的一个样本存储到缓冲区1中时,并对缓冲区1指针AR2加1(使用循环寻址)。处

5、理器然后使用FIRS指令进行乘加运算,即h(0){x(0)+x(-N+1}。当然,在使用FIRS指令前,需要预先计算一次求和,以初始化A。在RPTZ重复指令和循环寻址的配合下,完成FIR滤波.滤波完成后,需要对两个数据缓冲的指针进行修正,以便对下一个点进行处理。将Buffer1的指针减1和Buffer2的指针减2,使他们指向各自缓冲的数据队列的最后。使用带FIRS指令的循环寻址模式实现FIR滤波器,程序片段如下:(输入数据在AL中,滤波结果在B中)STM#1,AR0;AR0=1STM#(N/2),BK;BK=N/2,循环寻址BUFFER大小为NMV

6、DD*ar2,*ar3;更新Buffer2STLA,*ar2+%;更新滤波窗口中的采样数据ADD*ar2+0%,*ar3+0%;初始化ARPTZB,#(N/2-1);重复FIRS指令N/2次,先将B清零FIRS*ar2+0%,*ar3+0%,filter_coff+N/2;完成滤波计算。注意FIR;滤波系数存放在程序存贮区,filter_coff为系数起始地址MAR*ar2-%;修改Buffer1指针MAR*+ar3(-2)%;修改Buffer2指针图4-316点FIRS滤波数据存放五、实验目的:学习数字滤波器的DSP实现原理和C54X编程技巧。通

7、过CCS的图形显示工具观察输入/输出信号的波形以及频谱的变化。六、实验内容:本实验需要使用C54X汇编语言实现FIR数字滤波器,并通过CCS的图形显示工具观察输入/输出信号波形以及频谱的变化。实验分以下几步完成:(1)启动CCS,在Project选项中新建fir5402.prj文件,添加相应模块程序。(2)使用Build选项完成编译、连接,然后使用File菜单中的LoadProgram将OUT文件装入。图4-4图形查看工具设置(4)在程序中“bitfis_new_data,#1”语句处设置断点,在断点处设置Action为读取数据格式,然后选择从给出

8、的文档中读出方波信号,并选择重复执行。设置起点位置为0x64,每次读取长度为1,设置完成后提交设置。(5)选择View->

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。