第7章 tms320c54x应用程序开发实例[dsp技术与应用实例(第3版)]

第7章 tms320c54x应用程序开发实例[dsp技术与应用实例(第3版)]

ID:25158905

大小:588.50 KB

页数:37页

时间:2018-11-14

第7章   tms320c54x应用程序开发实例[dsp技术与应用实例(第3版)]_第1页
第7章   tms320c54x应用程序开发实例[dsp技术与应用实例(第3版)]_第2页
第7章   tms320c54x应用程序开发实例[dsp技术与应用实例(第3版)]_第3页
第7章   tms320c54x应用程序开发实例[dsp技术与应用实例(第3版)]_第4页
第7章   tms320c54x应用程序开发实例[dsp技术与应用实例(第3版)]_第5页
资源描述:

《第7章 tms320c54x应用程序开发实例[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

2、(x)和正弦、余弦的前两个值。用这种方法,求少数点还可以,如产生连续正弦、余弦波,则积累误差太大,不可取。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_coe

3、ff(c1=01C7H)c4=1/(2*3)(c2=030BH)(c3=0666H)(c4=1556H)计算结果存储在数据存储单元计算正弦值存储单元分配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/(

4、3*4)d_coeff(c1=0249H)c4=1/2(c2=0444H)(c3=0AABH)(c4=4000H)计算余弦值存储单元分配计算结果存储在数据存储单元3.产生正弦波程序先以sinx.asm和cosx.asm程序,计算00~450(间隔为0.50)的正弦和余弦值,再利用sin(2x)=2sin(x)cos(x)求出00~900的正弦值(间隔为10)。然后通过复制,获得00~3590的正弦值。正弦波数据数据存储单元若执行菜单命令“View”→“Graph”→“Time/Frequcecy”就可以观察到所生成的正弦波波形,如图所示。若执

5、行菜单命令“File”→“Data”→“Save”,再按下图所示设置就可将正弦波数据存储在数据文件out.dat中了。7.2FIR滤波器的DSP实现方法1.FIR滤波器的特点z-1z-1z-1z-1x(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

6、-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)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)↓↓

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

8、5,y(n)=h0x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4)在数据存储器中存放系数h0~h4,并设置线性缓冲区存放输入数据,如

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

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

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