DSP应用程序设计.ppt_第1页
DSP应用程序设计.ppt_第2页
DSP应用程序设计.ppt_第3页
DSP应用程序设计.ppt_第4页
DSP应用程序设计.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章,应用程序设计,6.1 FIR滤波器的DSP实现,滤波器在数字信号处理中起着极其重要的作用。数字滤波是语音处理、图像处理、模式识别、频谱分析等应用中的一种基本处理算法。6.1.4用数字信号处理器实现FIR滤波器,FIR滤波器的输出表达式为:y(n)=b0 x(n) b1x(n-1) bn-1 x(n-N 1)基本算法:采用乘法和累加运算。也就是说,连续输入样本x(n),经过z-1延迟后,进行乘法累加,最后输出滤波结果y(n)。(指令:MAC/MACD),Z-1算法的实现,常用:线性缓冲法和循环缓冲法线性缓冲法:顶部为低位地址单元,底部为存储最新样本的高位地址单元,指针ARx为存储最旧样本

2、的指针指向缓冲区的底部。线性缓冲器只能映射到DARAM存储器(一次读取和一次写入)。数据存储:输入数据:存储在数据存储系数表中:存储在程序存储器中图6.1.8常用指令:DELAY MACD,示例:用线性缓冲法实现的FIR滤波器,X,COEF,双操作数寻址指令:MACD * AR2-,COEF,A,AR2,X (n-6),X (n-,)。标题“FIR1”。ASM。”mmregs。定义开始x .使用“x”,8 PA0。设置0 PA1。设置1、数据COEF:word 1*32768/10。word 2*32768/10。word -4*32768/10。word 3*32768/10。word -4

3、*32768/10。word 2*32768/10。word 1*32768/10,文本开始: SSBX FRCT STM #x 7,AR2 STM #6,AR0 LD #x 1,DP PORTR PA1,x 1,FIR1: RPTZ A,#6 MACD *AR2-,COEF,A STH A,*AR2 PORTW *AR2,PA0 BD FIR1 PORTR PA1,*AR2 0。end,循环缓冲区方法:ARx,循环缓冲区方法,从最旧的样本中计算y值后,输入最新的样本替换最旧的样本,其他数据位置不变。双操作数寻址:DARAM(2次读数)数据存储:输入数据:存储在数据存储器系数表中:存储在数据存

4、储器中,例如,如果N=31,k的最小值为5,则缓冲区的起始地址为xxxxxxxxx0000b。例如,通过循环缓冲方法实现FIR滤波器。标题“fir2.asm”。mmregs.defstart.bssy,1xn.usect xn ,7b0.usect B0 ,7 PA0。设置0 PA1。设置1、数据表:word 1*32768/10。word 2*32768/10。word 3*32768/10。word 4*32768/10。word 5*32768/10。word 6*32768/10。word 7*32768/10,文本开始: SSBX FRCT STM #b0,AR1 RPT #6 MV

5、PD表,*AR1 STM #xn 6,AR2 STM #b0 6,AR3 STM #7,BK STM #-1,AR0,LD #xn,DP PORTR PA1,xn FIR2:RPTZ A,#6 MAC *AR2 0%,*AR3 0%,A STH A,y PORTW y,PA0 BD FIR2 PORTR PA1,*AR2(结束了吗?链接命令文件:vectors . obj fir . obj-o fir . out-m fir . map-estart MEMORY PAGE 0:EPROM:o=E000H l=1000H VECS:o=FF80H l=0080H PAGE 1:SPRAM:o

6、=0060H l=0020H DARAM:o=0080H l=1380H,SECTIONS。文本:EPROM第0页。向量:VECS第0页。数据:EPRAM第0页。BSS:SPRAM PAGE 1 xn:align(8)DARAM PAGE 1 B0:align(8)DARAM PAGE 1,6.1.5 FIR滤波器设计示例,6.1.5 FIR滤波器设计示例,用设计参数设计一个FIR低通滤波器:滤波器阶数:n=40截止频率:wp=0.35,ws=0.4。滤波器系数可由MATLAB中的fir2函数生成。函数调用的格式如下:1 .通过给定的设计参数确定滤波器系数,f=0 0.35 0.41m=1 1

7、 0 0B=FIR2(39,f,m),滤波器的幅频和相频特性,其格式:freqz(b,512,1000),第6章,应用程序设计,滤波器的频率特性3360,1。第六章,应用程序设计,通过给定的设计参数确定滤波器系数,并利用循环缓冲器实现fir滤波器。标题“飞行情报区”。ASM。”mmregs。bss y,1 K_FIR_BFFR。设置40 PA0。设置0 PA1。设置1个飞行情报区_ COFF _表。使用“COFF飞行情报区”,40;定义了一个数据存储空间d _ data _ buffer。定义数据存储空间。data coff _ fir _ start:word-7 * 32768/10000

8、,3 * 32768/10000;b0,b1。word 14*32768/10000,10 * 32768/10000;b2,b3。word 3*32768/10000,-7 * 32768/10000;B38b39,第6章应用程序设计。text . def fir _ init . def fir _ taskir _ init:ssbxfrct;设置分数乘法STM #FIR_COFF,AR5AR1指向b0单元RPT # K _ FIR _ BFFR-1;设置传输时间MVPD # COFF _飞行情报区_开始,* AR5系数B1被传送到数据区STM #D_DATA_BUFFER,AR4清除0

9、 RPTZ A,#K_FIR_BFFR-1 STL A,* AR4STM #(D _ DATA _ BUFFER K _ FIR _ BFFR-1),AR4STM #(FIR _ COFF _ tablek _ FIR _ BFFR-1),AR5,第6章设置双操作数减量LD #D_DATA_BUFFER,DP;设置页面指针PORTR PA1,D _ DATA _ BUFFER输入x (n) fir _ task: STM # k _ fir _ bffr,BK _ RPTZ _ A,# K _ FIR _ BFFR-1;重复媒体访问控制*AR4 0%,*AR5 0%,a;双操作数乘法-累加;暂

10、时存储y(n) PORTW y,PA0输出y(n)BD FIR _ TASK;PORTR PA1,* AR4 0%;输入最新样品并修改AR3。结束,第6章,应用程序设计。在C5402DSP硬件系统中,用户可以使用以下内存资源:3汇编源程序的链接命令文件,程序存储空间:片内0080H3FFFH,片外48000H4FFFFH;数据存储空间:片内0080H3FFFFH,片外4000H7FFFH。第六章应用程序设计,FIR滤波器源程序的链接命令文件如下:/* FIR解决方案文件。CMD */vectors . obj fir . obj-o FIR . out-m FIR . map-e FIR _

11、init MEMORY PAGE 0:EPROM:org=0E 000H len=1000H VECS:org=0FF 80H len=0080H PAGE 1:SPRAM:org=060 HLEN=0020 HDARAM:org=0080 HLEN=1380H,第6章,应用程序设计,FIR滤波器源程序的链接命令文件如下:SECTIONS。文本:EPROM第0页。向量:VECS第0页。数据:EPRAM第0页。BFR:对准(128) DARAM第1页COFF:对准(128) DARAM第1页,(3)系数对称FIR滤波器的实现,具有线性相位特性,广泛应用于数字信号处理。让滤波器N=8。如果系数bn

12、=bN-1-n,则它是一个对称的FIR滤波器。其输出方程为:y(n)=b0x(n)b1x(n-1)b2x(n-2)b3x(n-3)b3x(n-4)b2x(n-5)b1x(n-6)b0x(n-7)。=B0 x(n)x(n-7)B1 x(n-1)x(n-6)B2 x(n-2)x(n-5)B3 x(n-3)x(n-4),需要四次乘法和七次加法。对称FIR滤波器的实现方法如下:注意:循环缓冲器指针是针对循环缓冲器的第一个地址x (n)、x (n-3)、x (n-2)、x (n-1)、x (n-4)、x (n-5)、x (n-6)和x (n-7)、AR1、AR2设置的,在程序存储器中设置系数表;B0,B

13、1,B2,B3,coef,x (n),x (n-7),ar1,ar2,系数对称FIR滤波器指令:格式:FIRS Xmem,Ymem,Pmad,函数:PmadPAR;当(RC)为0时,则B AH(Pmem)B,(Xmem) (Ymem)16A,PAR 1PAR,RC-1 RC,其中Pmem由PAR寻址。,程序清单:mmregs .推迟开始bss y,1 x_new:使用CT“数据1”,4 x_old:使用4号尺寸的 DATA2 .设置4 PA0 .设置0 PA1 .设置1 .数据COEF:word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .wor

14、d 4*32768/10,y,SPRAM,x_new,DATA1,x_old,DATA2,COEF,系数表,文本开始: LD #x_new,DP SSBX FRCT STM #x_new,AR1 STM #x_old (size-1),AR2 STM #size,BK STM # 1,AR0 PORTR PA1,x_new,FIR3: ADD *AR1 0%,*AR2 0%,A RPTZ B,#(size-1) FIRS *AR1 0%,*AR2 0%,COEF STH B,*(y) PORTW *(y),PA0 MAR * AR1结束,高通。设置0带通。设置1低通。设置0 .globalst

15、art .COFF飞行情报区_开始coff_fir .节。如果低通滤波器包括低通滤波器否则,如果PATCH。其他公司。endif,滤波器设计实验:K _ FIR _ BFFR。设置32d _ data _ buffer。BFR,64个变量,0个变量,1个变量。usectfir_vars,100h输出,usectfir_vars,1,asgAR4,FIR_DATA_P .asgAR6,INBUF_P .asgAR7,INBUF _ P . asgar 3,EXOFF .区段_程序开始: LD#FIR_DP,区段_ STM # d _ DATA _ buffer,区段_数据_ P _ RPTZ _ A,#K_FIR_BFFR-1 STLA,*区段_ DATA _ P STM # d _ filin,区段_ STM # d _ filout,区段_ DIVEFF _ P STM #输出,区段STM # 100h,区段_

温馨提示

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

评论

0/150

提交评论