MS320C54x应用程序开发实例DSP技术与应用实例第3版

MS320C54x应用程序开发实例DSP技术与应用实例第3版

ID:36580844

大小:588.60 KB

页数:37页

时间:2019-05-09

MS320C54x应用程序开发实例DSP技术与应用实例第3版_第1页
MS320C54x应用程序开发实例DSP技术与应用实例第3版_第2页
MS320C54x应用程序开发实例DSP技术与应用实例第3版_第3页
MS320C54x应用程序开发实例DSP技术与应用实例第3版_第4页
MS320C54x应用程序开发实例DSP技术与应用实例第3版_第5页
资源描述:

《MS320C54x应用程序开发实例DSP技术与应用实例第3版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章TMS320C54x应用程序开发实例7.1正弦信号发生器7.2FIR滤波器的DSP实现方法7.3IIR滤波器的DSP实现方法7.4快速傅里叶变换的DSP实现方法7.5语音信号压缩的DSP实现方法7.6数字基带信号的DSP实现方法7.1正弦信号发生器通常有两种方法可以产生正弦波和余弦波:(1)查表法(2)泰勒级数展开法也可以由递推公式求正弦和余弦值:sin(nx)=2cos(x)sin[(n-1)x]-sin[(n-2)x]cos(nx)=2cos(x)cos[(n-1)x]-cos[(n-2)x]利用递推公式计算正弦和余弦值需已知cos(x)和正弦、余弦的前两个值。用这种方法,求少数点

2、还可以,如产生连续正弦、余弦波,则积累误差太大,不可取。1.计算一个角度的正弦值利用泰勒级数展开式计算一个角度的正弦值。为了方便起见,编写计算sin(x)的程序sinx.asm,调用前只要在数据存储器d_x单元中设定x的弧度值就行了,计算结果在d_sinx单元中。程序中要用到一些存储单元存放数据和变量,如图所示。数据存储器d_xxd_squr_xx2程序存储器d_temptablec1=1/(8*9)d_sinxsin(x)c2=1/(6*7)c_1(7FFFH)c3=1/(4*5)d_coeff(c1=01C7H)c4=1/(2*3)(c2=030BH)(c3=0666H)(c4=1556

3、H)计算结果存储在数据存储单元计算正弦值存储单元分配2.计算一个角度的余弦值利用泰勒级数展开式计算一个角度的余弦值,采用调用cosx.asm程序方式。调用前只要在数据存储器d_x单元中设定x的弧度值就行了,计算结果在d_cosx单元中。程序中要用到一些存储单元存放数据和变量,如图所示。数据存储器d_xxd_squr_xx2程序存储器d_temptablec1=1/(7*8)d_cosxcosxc2=1/(5*6)c_1(7FFFH)c3=1/(3*4)d_coeff(c1=0249H)c4=1/2(c2=0444H)(c3=0AABH)(c4=4000H)计算余弦值存储单元分配计算结果存储在

4、数据存储单元3.产生正弦波程序先以sinx.asm和cosx.asm程序,计算00~450(间隔为0.50)的正弦和余弦值,再利用sin(2x)=2sin(x)cos(x)求出00~900的正弦值(间隔为10)。然后通过复制,获得00~3590的正弦值。正弦波数据数据存储单元若执行菜单命令“View”→“Graph”→“Time/Frequcecy”就可以观察到所生成的正弦波波形,如图所示。若执行菜单命令“File”→“Data”→“Save”,再按下图所示设置就可将正弦波数据存储在数据文件out.dat中了。7.2FIR滤波器的DSP实现方法1.FIR滤波器的特点z-1z-1z-1z-1x

5、(n)x(n-1)x(n-N+1)x(n-2)h0h1h2hN-2hN-1y(n)图7-9FIR滤波器结构图2.FIR滤波器的DSP实现(1)用线性缓冲区法实现z-1数据存储器数据存储器数据存储器线性缓冲区顶部x(n)PORTR→x(n+1)PORTR→x(n+2)x(n-1)x(n)x(n+1)x(n-2)x(n-1)x(n)x(n-3)x(n-2)x(n-1)↑x(n-4)↑x(n-3)↑x(n-2)*ARx-x(n-5)*ARx-x(n-4)*ARx-x(n-3)N=6的线性缓冲区存存储器图(2)用循环缓冲区法实现z-1数据存储器数据存储器数据存储器循环缓冲区顶部x(n)←ARxx(n

6、)x(n)x(n-1)↓x(n-1)x(n-1)x(n-2)x(n-2)x(n-2)x(n-3)x(n-3)x(n-3)x(n-4)x(n-4)x(n-4)x(n-5)x(n-5)x(n-5)x(n-6)x(n-6)x(n+2)←ARx循环缓冲区底部x(n-7)x(n+1)←ARxx(n+1)↓↓N=8的循环缓冲区存储器图3.FIR滤波器的实现方法(1)用线性缓冲区和直接寻址方法实现FIR滤波器〖例7-1〗N=5,y(n)=h0x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4)数据存储器yy(n)XNx(n)XNM1x(n-1)XNM2x(n-2)XNM3x(n

7、-3)XNM4x(n-4)H0h0H1h1H2h2H3h3H4h4直接寻址线性缓冲区数据分配在数据存储器中存放系数h0~h4,并设置线性缓冲区存放输入数据,如图所示:FIR滤波器的输出(2)用线性缓冲区和间接寻址方法实现FIR滤波器〖例7-2〗N=5,y(n)=h0x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4)在数据存储器中存放系数h0~h4,并设置线性缓冲区存放输入数据,如

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

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

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