《DSP硬件电路设计基础》课程设计FIR滤波器的DSP实现

上传人:工**** 文档编号:552976592 上传时间:2023-07-02 格式:DOC 页数:12 大小:241KB
返回 下载 相关 举报
《DSP硬件电路设计基础》课程设计FIR滤波器的DSP实现_第1页
第1页 / 共12页
《DSP硬件电路设计基础》课程设计FIR滤波器的DSP实现_第2页
第2页 / 共12页
《DSP硬件电路设计基础》课程设计FIR滤波器的DSP实现_第3页
第3页 / 共12页
《DSP硬件电路设计基础》课程设计FIR滤波器的DSP实现_第4页
第4页 / 共12页
《DSP硬件电路设计基础》课程设计FIR滤波器的DSP实现_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《《DSP硬件电路设计基础》课程设计FIR滤波器的DSP实现》由会员分享,可在线阅读,更多相关《《DSP硬件电路设计基础》课程设计FIR滤波器的DSP实现(12页珍藏版)》请在金锄头文库上搜索。

1、DSP硬件电路设计基础课程设计滤波器的DSP实现一、 设计课题滤波器的实现二、 设计目的 掌握数字滤波器的设计过程。 了解FIR的原理和特性。 熟悉设计FIR数字滤波器的原理和方法。 学习FIR滤波器的DSP实现原理。 学习使用CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。三、 设计内容滤波器结构图在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音处理、图像处理、模式识别、频谱分析等应用的基本处理算法。用芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。通过MATLAB来设计一个低通滤波器,对它进行模拟仿真确定FIR滤波器系数;用DSP汇

2、编语言及C语言进行编程,实现FIR运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后的波形变化。四、 设计原理FIR滤波器的设计方法主要有窗函数设计法和频率抽样设计法,其中窗函数设计法是最基本的设计方法。在设计FIR滤波器中,一个最重要的计算就是加窗,比较常用的窗函数有矩形窗、Hanning窗、Hamming窗、Blackman窗、Kaiser窗等。用窗函数设计FIR滤波器的步骤为:(1)根据对过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N。(2)根据待求滤波器的理想频率响应求出单位脉冲响应hd(n)。(3)计算滤波器的单位脉冲响应h(n)。(4)验算技术指标是否满足要求。如果

3、不满足要求,可根据具体情况,调整窗函数类型和长度,重复前面步骤,直到满足要求为止。频率样本法目前有两种设计方法,第一种直接用上面的基本思想,对逼近误差不加任何限制;也就是说无论设计所得的误差有多大我们都接受,这种方法叫朴素设计法。第二种方法则通过改变过渡带的样本值,努力使阻带中的误差极小化,以便产生一个较好的设计,这种方法叫最优设计法。可编程DSP芯片的开发需要一整套完整的软硬件开发工具。通常,DSP芯片的开发工具可以分为代码生成工具和代码调试工具。代码生成工具程序主要包括以下几种类型的程序:C编译器;汇编器和链接器;辅助程序,如文档管理程序和代码格式转换程序等;库文件;RTS头文件。开发DS

4、P芯片,调试工具是必不可少的,TMS320系列DSP芯片的系统集成和调试工具主要有:C/汇编语言源码调试器;初学者工具DSK;软件模拟器(Simulator);评价模块EVM;软件开发系统SWDS;仿真器XDS;集成开发环境CCS是一种集成代码调试工具,可以使开发设计人员不必在DOS窗口键入大量的命令及参数,CCS集成的调试工具使调试程序一目了然,大量的观察窗口使程序编写与修改得心应手。CCS的引入,大大缩短了DSP的开发进程,开发成本也降低了很多。五、 设计过程(一) 设计一个低通滤波器参数:阶数 根据给给定的设计参数,由中的函数产生滤波器系数 f=0 0.35 0.4 1; m=1 1 0

5、 0 ; b=fir2(39,f,m)b = Columns 1 through 9 -0.0007 0.0003 0.0014 0.0010 -0.0016 -0.0038 -0.0008 0.0064 0.0081 Columns 10 through 18 -0.0030 -0.0169 -0.0118 0.0162 0.0353 0.0083 -0.0515 -0.0689 0.0247 Columns 19 through 27 0.2051 0.3523 0.3523 0.2051 0.0247 -0.0689 -0.0515 0.0083 0.0353 Columns 28 th

6、rough 36 0.0162 -0.0118 -0.0169 -0.0030 0.0081 0.0064 -0.0008 -0.0038 -0.0016 Columns 37 through 400.0010 0.0014 0.0003 -0.0007接着观察滤波器的幅频、相频特性 freqz(b,512,1000) 汇编源程序.titleFIR.ASM .mmregs .bssy,1K_FIR_BFFR .set40PA0 .set0PA1 .set1FIR_COFF_TABLE .usectFIR_COFF,40D_DATA_BUFFER .usectFIR_BFR,40 .dataCO

7、FF_FIR_START: .word-7*32768/10000,3*32768/10000 .word14*32768/10000,10*32768/10000 .word-16*32768/10000,-38*32768/10000.word-8*32768/10000,64*32768/10000 .word81*32768/10000,-30*32768/10000 .word-169*32768/10000,-118*32768/10000 .word162*32768/10000,353*32768/10000 .word83*32768/10000,-515*32768/100

8、00.word-689*32768/10000,247*32768/10000 .word2051*32768/10000,3523*32768/10000.word3523*32768/10000,2051*32768/10000.word247*32768/10000,-689*32768/10000.word-515*32768/10000,83*32768/10000.word353*32768/10000,162*32768/10000.word-118*32768/10000,-169*32768/10000.word-30*32768/10000,81*32768/10000.w

9、ord64*32768/10000,-8*32768/10000.word-38*32768/10000,-16*32768/10000.word10*32768/10000,14*32768/10000.word3*32768/10000,-7*32768/10000.text.defFIR_INIT.defFIR_TASKFIR_INIT: SSBXFRCT STM#FIR_COFF_TABLE,AR5 RPT#K_FIR_BFFR-1 MVPD#COFF_FIR_START,*AR5+ STM#D_DATA_BUFFER,AR4 RPTZA,#K_FIR_BFFR-1 STLA,*AR4

10、+ STM#(D_DATA_BUFFER+K_FIR_BFFR-1),AR4 STM#(FIR_COFF_TABLE+K_FIR_BFFR-1),AR5 STM#-1,AR0 LDD_DATA_BUFFER,DP PORTRPA1,D_DATA_BUFFERFIR_TASK: STM#K_FIR_BFFR,BK RPTZA,#K_FIR_BFFR-1 MAC*AR4+0%,*AR5+0%,A STHA,y PORTWy,PA0 BDFIR_TASK PORTRPA1,*AR4+0%.end链接命令文件:MEMORY PAGE 0:EPROM : org=0E000Hlen=1000HVECS

11、:org=0FF80Hlen=0080H PAGE 1:SPRAM :org=0060Hlen=0020HDARAM :org=0080Hlen=1380HSECTIONS.text : EPROMPAGE 0.vectors: VECSPAGE 0.data : EPRAMPAGE 0.bss: SPRAMPAGE 1FIR_BFR : align(128) DARAM PAGE 1FIR_COFF : align(128) DARAM PAGE 1以文件的形式加载输入信号,观察波形得:时域波形频域波形经过所设计的低通滤波器后,载观察波形:时域波形频域波形通过波形的对比可以看出,经过设计的低

12、通滤波器后,输入信号中超过通带截止频率的部分被滤除了,达到了设计的目的,满足指标的要求。(二) 用语言和汇编语言混合编程实现低通滤波器 程序Fir.asm.global _fir,_init,_B,_outdata_fir bset frct amov #_B,xdp mov #_B,cdp mov t0,ac0 sub #1,ac0 mov ac0,mmap(csr) add ac0,ar0 mov #0,ac0 rpt csr macmz *ar0-,*cdp+,ac0 mov hi(ac0),t0 ret_init mov mmap(t0),ac0 sub #1,ac0 mov ac0,ar7 rptz ac0,ar7 mov ac0,*ar0+ ret_outdata mov t1,ac0 sub #2,ac0 mov ac0,mmap(csr) add ac0,ar0 rpt csr delay *ar0- mar *ar0+ mov t0,*ar0 retFir55.c#include s.h#include math.h#define signal_1_f 200#define signal_2_f 620#define signal_sample_f 2000#define

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号