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





《MS320C54x应用程序开发实例DSP技术与应用实例第3版.ppt》由会员分享,可在线阅读,更多相关《MS320C54x应用程序开发实例DSP技术与应用实例第3版.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 TMS320C54x应用程序开发实例7.1 正弦信号发生器7.2 FIR滤波器的DSP实现方法7.3 IIR滤波器的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=15
3、56H)计算结果存储在数据存储单元 计算正弦值存储单元分配 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程序,计算00450(间隔为0.50)的正弦和余弦值,再利用sin(2x)=2sin(x)cos(x)求出00900的正弦值(间隔为10)。然后通过复制,获得003590的正弦值。正弦波数据 数据存储单元 若执行菜单命令“View”“Graph”“Time/Frequcecy”就可以观察到所生成的正弦波波形,如图所示。若执行菜单命令“File”“Data”“Save”,再按下图所示设置就可将正弦波数据存储在数据文件out.dat中了。7.2 FIR滤波器的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-9 FIR滤波器结构图2.FIR滤波器的DSP实现(1)用线性缓冲区法实现)用线性缓冲区法实现z-1 数据存储器数据存储器数据存储器线性缓冲区顶部x(n)PORTRx(n+1)PORTRx(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 数据存储器数据存储器数据存储器循
6、环缓冲区顶部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)N=8的循环缓冲区存储器图3FIR滤波器的实现方法(1)用线性缓冲区和直接寻址方法实现)用线性缓冲区和直接寻址方法实现FIR滤波器滤波器例7-1N=5,y(n)=h0 x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4)数据存储器yy(n)XNx(n)
7、XNM1x(n-1)XNM2x(n-2)XNM3x(n-3)XNM4x(n-4)H0h0H1h1H2h2H3h3H4h4直接寻址线性缓冲区数据分配 在数据存储器中存放系数h0h4,并设置线性缓冲区存放输入数据,如图所示:FIR滤波器的输出 (2)用线性缓冲区和间接寻址方法实现)用线性缓冲区和间接寻址方法实现FIR滤波器滤波器例7-2N=5,y(n)=h0 x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4)在数据存储器中存放系数h0h4,并设置线性缓冲区存放输入数据,如图所示,利用AR1和AR2分别作为间接寻址线性缓冲区和系数区的辅助寄存器。数据存储器yy(n)xx
8、(n)x(n-1)x(n-2)x(n-3)AR1x(n-4)hh0h1h2h3AR2h4间接寻址线性缓冲区数据分配 FIR滤波器的输出 (3)用线性缓冲区和带移位双操作数寻址方法实现用线性缓冲区和带移位双操作数寻址方法实现FIR滤波器滤波器 例7-3N=5,y(n)=h0 x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4)数据存储器x暂存y(n)程序存储器x(n)PARCOEFh4x(n-1)h3x(n-2)h2x(n-3)h1AR1x(n-4)h0双操作数寻址线性缓冲区数据分配(4)用循环缓冲区和双操作数寻址方法实现)用循环缓冲区和双操作数寻址方法实现FIR滤波
9、器滤波器例7-4N=80,,存放h0h79的系数表以及存放数据的循环缓冲区 均设在DARAM中,如图所示。数据存储器yy(n)60h数据存储器xnx(n)80hhh0100hx(n-1)81hh1101hx(n-2)h2102hx(n-3)h3103hx(n-4)h4104hx(n-5)h5105hAR3x(n-79)cfhAR4h7914fh双操作数寻址循环缓冲区数据分配(5)系数对称)系数对称FIR滤波器的实现方法滤波器的实现方法数据存数据存储储器器New循环缓冲区Old循环缓冲区80hx(n)AR288hx(n-4)81hx(n-3)89hx(n-5)82hx(n-2)8Ahx(n-6)
10、83hx(n-1)8Bhx(n-7)AR3新旧缓冲区对比程序存程序存储储器器系数表COEFh0低地址h1h2h3高地址 程序存储器存系数表 FIR滤波器单位脉冲响应输入方波时FIR滤波器的输出 7.3 IIR滤波器的DSP实现方法1.二阶IIR滤波器的实现方法 y(n)x(n)z-1z-1b0b1a1a2b2x1(n)z-1z-1d0d1c1c2x2(n)z-1z-1f0f1e1e2f2d2二阶IIR滤波器:z-1z-1A1A2B0B1B2y(n)x(n)反馈通道前向通道w(n)x0 x1x2(1)二阶IIR滤波器的单操作数指令实现 数据存储器数据存储器COEFB2B1xx0 x(n),y(n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MS320C54x 应用程序 开发 实例 DSP 技术 应用

限制150内