《dsp硬件电路设计基础》课程设计-fir滤波器的dsp实现

《dsp硬件电路设计基础》课程设计-fir滤波器的dsp实现

ID:11518957

大小:241.00 KB

页数:11页

时间:2018-07-12

上传者:U-3183
《dsp硬件电路设计基础》课程设计-fir滤波器的dsp实现_第1页
《dsp硬件电路设计基础》课程设计-fir滤波器的dsp实现_第2页
《dsp硬件电路设计基础》课程设计-fir滤波器的dsp实现_第3页
《dsp硬件电路设计基础》课程设计-fir滤波器的dsp实现_第4页
《dsp硬件电路设计基础》课程设计-fir滤波器的dsp实现_第5页
资源描述:

《《dsp硬件电路设计基础》课程设计-fir滤波器的dsp实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现一、设计课题FIR滤波器的DSP实现二、设计目的1.掌握数字滤波器的设计过程。2.了解FIR的原理和特性。3.熟悉设计FIR数字滤波器的原理和方法。4.学习FIR滤波器的DSP实现原理。5.学习使用CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。三、设计内容            FIR滤波器结构图在数字信号处理中,滤波占有 极其重要的地位。数字滤波是语音处理、图像处理、模式识别、频谱分析等应用的基本处理算法。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境 影响等优点外,还具有灵活性好等特点。通过MATLAB来设计一个低通滤波器,对它进行模拟仿真确定FIR滤波器系数;用DSP汇编语言及C语言进行编程,实现FIR运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后的波形变化。四、设计原理FIR滤波器的设计方法主要有窗函数设计法和频率抽样设计法,其中窗函数设计法是最基本的设计方法。在设计FIR滤波器中,一个最重要的计算就是加窗,比较常用的窗函数有矩形窗、Hanning窗、Hamming窗、Blackman窗、Kaiser窗等。用窗函数设计FIR滤波器的步骤为:-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现(1)根据对过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N。(2)根据待求滤波器的理想频率响应求出单位脉冲响应hd(n)。(3)计算滤波器的单位脉冲响应h(n)。(4)验算技术指标是否满足要求。如果不满足要求,可根据具体情况,调整窗函数类型和长度,重复前面步骤,直到满足要求为止。频率样本法目前有两种设计方法,第一种直接用上面的基本思想,对逼近误差不加任何限制;也就是说无论设计所得的误差有多大我们都接受,这种方法叫朴素设计法。第二种方法则通过改变过渡带的样本值,努力使阻带中的误差极小化,以便产生一个较好的设计,这种方法叫最优设计法。可编程DSP芯片的开发需要一整套完整的软硬件开发工具。通常,DSP芯片的开发工具可以分为代码生成工具和代码调试工具。代码生成工具程序主要包括以下几种类型的程序:①C编译器;②汇编器和链接器;③辅助程序,如文档管理程序和代码格式转换程序等;④库文件;⑤RTS头文件。开发DSP芯片,调试工具是必不可少的,TMS320系列DSP芯片的系统集成和调试工具主要有:①C/汇编语言源码调试器;②初学者工具DSK;③软件模拟器(Simulator);④评价模块EVM;⑤软件开发系统SWDS;⑥仿真器XDS;集成开发环境CCS是一种集成代码调试工具,可以使开发设计人员不必在DOS窗口键入大量的命令及参数,CCS集成的调试工具使调试程序一目了然,大量的观察窗口使程序编写与修改得心应手。CCS的引入,大大缩短了DSP的开发进程,开发成本也降低了很多。一、设计过程(一)设计一个FIR低通滤波器参数:阶数40   wp=0.35π   ws=0.4π1.根据给给定的设计参数,由MATLAB中的fir2函数产生滤波器系数>>f=[00.350.41];>>m=[1100];>>b=fir2(39,f,m)b=Columns1through9-0.00070.00030.00140.0010-0.0016-0.0038-0.00080.00640.0081Columns10through18-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现-0.0030-0.0169-0.01180.01620.03530.0083-0.0515-0.06890.0247Columns19through270.20510.35230.35230.20510.0247-0.0689-0.05150.00830.0353Columns28through360.0162-0.0118-0.0169-0.00300.00810.0064-0.0008-0.0038-0.0016Columns37through400.00100.00140.0003-0.0007接着观察滤波器的幅频、相频特性>>freqz(b,512,1000)-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现1.汇编源程序.title"FIR.ASM".mmregs.bssy,1K_FIR_BFFR.set40PA0.set0PA1.set1FIR_COFF_TABLE.usect"FIR_COFF",40D_DATA_BUFFER.usect"FIR_BFR",40.dataCOFF_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/10000.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.word64*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:SSBXFRCTSTM#FIR_COFF_TABLE,AR5RPT#K_FIR_BFFR-1MVPD#COFF_FIR_START,*AR5+STM#D_DATA_BUFFER,AR4RPTZA,#K_FIR_BFFR-1STLA,*AR4+STM#(D_DATA_BUFFER+K_FIR_BFFR-1),AR4STM#(FIR_COFF_TABLE+K_FIR_BFFR-1),AR5-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现STM#-1,AR0LDD_DATA_BUFFER,DPPORTRPA1,@D_DATA_BUFFERFIR_TASK:STM#K_FIR_BFFR,BKRPTZA,#K_FIR_BFFR-1MAC*AR4+0%,*AR5+0%,ASTHA,@yPORTW@y,PA0BDFIR_TASKPORTRPA1,*AR4+0%.end链接命令文件:MEMORY{PAGE0:EPROM:org=0E000Hlen=1000HVECS:org=0FF80Hlen=0080HPAGE1:SPRAM:org=0060Hlen=0020HDARAM:org=0080Hlen=1380H}SECTIONS{.text:>EPROMPAGE0.vectors:>VECSPAGE0.data:>EPRAMPAGE0.bss:>SPRAMPAGE1FIR_BFR:align(128){}>DARAMPAGE1FIR_COFF:align(128){}>DARAMPAGE1}以.dat文件的形式加载输入信号,观察波形得:时域波形-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现频域波形 经过所设计的FIR低通滤波器后,载观察波形:时域波形频域波形通过波形的对比可以看出,经过设计的FIR低通滤波器后,输入信号中超过通带截止频率的部分被滤除了,达到了设计的目的,满足指标的要求。-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现(一)用C语言和汇编语言混合编程实现FIR低通滤波器1.程序Fir.asm.global_fir,_init,_B,_outdata_firbsetfrctamov#_B,xdpmov#_B,cdpmovt0,ac0sub#1,ac0movac0,mmap(csr)addac0,ar0mov#0,ac0rptcsrmacmz*ar0-,*cdp+,ac0movhi(ac0),t0ret_initmovmmap(t0),ac0sub#1,ac0movac0,ar7rptzac0,ar7movac0,*ar0+ret_outdatamovt1,ac0sub#2,ac0movac0,mmap(csr)addac0,ar0rptcsrdelay*ar0-mar*ar0+movt0,*ar0retFir55.c#include"s.h"#include"math.h"#definesignal_1_f200#definesignal_2_f620#definesignal_sample_f2000#definepi3.1415926#definecoff_L23-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现#definebufer_L256intdata_in[bufer_L];intout[bufer_L];intfirout;intx[coff_L+1];intk=0;intbufer=bufer_L;externintfir(int*,int);externintinit(int*,int);externintoutdata(int*,int,int);voidinputwave();voidmain(){inputwave();init(x,BL);while(1){x[0]=data_in[k];firout=fir(x,BL);outdata(out,firout,bufer);k++;if(k>=bufer_L){k=0;}}}voidinputwave(){floatwt1;floatwt2;inti;for(i=0;i<=bufer_L;i++){wt1=2*pi*i*signal_1_f;wt1=wt1/signal_sample_f;wt2=2*pi*i*signal_2_f;wt2=wt2/signal_sample_f;data_in[i]=(cos(wt1)+cos(wt2))/2*32768;}}Ink.cmd-stack0x500-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现-sysstack0x500-heap0x1000-c-u_Reset-lrts55.libMEMORY{PAGE0:RAM(RWIX):origin=0x000100,length=0x01ff00ROM(RIX):origin=0x020100,length=0x01ff00VECS(RIX):origin=0xffff00,length=0x000200PAGE2:IOPORT(RWI):origin=0x000000,length=0x020000}SECTIONS{.text>ROMPAGE0.data>ROMPAGE0.bss>RAMPAGE0.const>RAMPAGE0.sysmem>RAMPAGE0.stack>RAMPAGE0.sysstack>RAMPAGE0.switch>RAMPAGE0.cinit>RAMPAGE0.pinit>RAMPAGE0.vectors>VECSPAGE0.ioport>IOPORTPAGE2}1.信号波形输入信号时域波形-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现输入信号的频域波形输出信号的时域波形输出信号的频域波形-11- 《DSP硬件电路设计基础》课程设计——FIR滤波器的DSP实现同样,通过观察波形的变化,也可以看出FIR低通滤波器对输入信号进行的处理。一、设计总结《DSP硬件电路设计基础》的学习过程是短暂的,但是给我们指引了学习的方向。通过课程设计,更好的将理论和实际相结合了起来,更好的掌握了知识。在设计FIR滤波器中,首先是利用MATLAB计算滤波器参数,对于MATLAB先前已经有了一些学习,但在运用中还不是得心应手,有许多的功能不知道如何使用,这样一个强大的工具我们必须熟练的掌握,但现在的差距还很远,需要继续努力学习。由于课时较短,对于知识的消化吸收不够,使得在对DSP进行编程时困难重重,对于程序结构的理解还不够全面,汇编指令还不能够熟练地掌握、运用,尤其是在连接命令文件的编写中,存在较大的问题。在DSP芯片的学习过程中,CCS是非常重要的软件工具,但是对于这个软件的掌握程度是很不令人满意的,功能的使用还有很大的欠缺。通过课程设计,进一步加深了堵FIR滤波器原理的理解,也在实际操作过程中熟练了一些MATLAB和CCS的运用,虽然成果不是很丰硕,但毕竟有了一定的进步,努力肯定是有回报的。在专业课的学习中肯定会遇到各种各样的问题,有些问题是比较难以解决的,这就要求我们要有钻研的精神,更要有耐心,持之以恒,迎难而上,最终战胜困难,解决问题。课程设计是重要看学习过程,在课设中我们可以学到很多,也可以发现在理论学习中难以发现的一些问题,更好的掌握知识-11-

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

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

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