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

上传人:赵** 文档编号:68135645 上传时间:2022-12-27 格式:PPT 页数:37 大小:588.50KB
返回 下载 相关 举报
MS320C54x应用程序开发实例DSP技术与应用实例第3版.ppt_第1页
第1页 / 共37页
MS320C54x应用程序开发实例DSP技术与应用实例第3版.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《MS320C54x应用程序开发实例DSP技术与应用实例第3版.ppt》由会员分享,可在线阅读,更多相关《MS320C54x应用程序开发实例DSP技术与应用实例第3版.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

11、)B0 x1A2x2A1IIR滤波器数据存放和系数表数据存储结果 (2)二阶IIR滤波器的双操作数指令实现数据存储器(DARAM)起始状态第1次迭代数据存储器(DARAM)COEFB2B1AR3x2AR3x(n)x0B0 x1x2y(n)A2x0 x1AR4A1双操作数数据存放和系数表(3)直接形式二阶IIR滤波器的实现 直接形式二阶IIR滤波器z-1z-1A1A2B0B1B2y(n)x(n)z-1z-1Xx(n-2)Yy(n-2)BB2AA2x(n-1)AR4y(n-1)B1AR3A1AR2x(n)y(n)AR5B0(未用)循环缓冲区的结构 2.高阶IIR滤波器的实现 (1)系数系数1时的定

12、标方法时的定标方法 在设计IIR滤波器时,可能出现一个或一个以上系数大于等于1。在这种情况下,当然可以用此大数来定标,即用大数去除所有的系数,但是还不如将此大于等于1的系数分解成两个小于1的数,例如B0=1.2,则 x(n)B0=x(n)(B0/2)+x(n)(B0/2)=0.6x(n)+0.6x(n)这样,将使所有的系数保持精度,而仅仅多开销一个机器周期。(2)对输入数据定标对输入数据定标 一般,从外设口输入个数据加载到累加器A,可用以下指令:PORTR 0001h,Xin LD Xin,16,A 考虑滤波运算过程中可能出现1的输出值,可在输入数据时将其缩小若干倍,例如:PORTR 0001

13、h,Xin LD Xin,16-3,A将输入数据除以8,将使输出值小于1。有关FFT程序说明如下:(1)fft.asm程序由以下部分组成 位码倒置程序 第一级蝶形运算 第二级蝶形运算 第三级至第log2N级蝶形运算 求功率谱及输出程序(2)程序空间的分配(3)数据空间的分配(4)正弦系数表和余弦系数表7.4 快速傅里叶变换的DSP实现方法 1.快速傅里叶变换 程序存储器500050DC程序代码INPUT600060FF输入数据程序空间分配图数据存储器TWI1040005FF正弦系数表TWI2080009FF余弦系数表OUTPUT200020FF输出数据数据空间分配图2.DSP实现快速傅里叶变换

14、(1)创建fft.pjt工程(2)加载fft.out文件(3)显示输入信号的时域波形 输入信号时域波形 输入信号时域波形属性设置(4)显示输入信号的频域波形 输入信号频域波形 输入信号频域波形属性设置(5)运行程序 输出信号功率谱 输出信号波形属性设置 7.5 语音信号压缩的DSP实现方法1.语音信号的/A律压缩简介DXCPUCPUDRRSRRBR解压RJUSTDRRXSR压缩DXR图7-46 数据压缩解压流程 /A律压缩解压编码是国际电报电话协会最早推出的G.711语音压缩解压编码的一种格式的主要内容。其中欧洲和中国等国家采用A律压缩解压编码,美国和日本等国家采用律压缩解压编码。表表7-1

15、几种二几种二进进制制编码编码表表量化量化电电平平自然二自然二进进制制偏移二偏移二进进制制2的的补码补码反射二反射二进进制制折叠二折叠二进进制制+71111111011110000111+61101110011010010110+51011101010110110101+41001100010010100100+30111011001111100011+20101010001011110010+10011001000111010001+00001000000011000000-01000-10111111101001001-20110111001011010-30101110101111011-

16、40100110001101100-50011101100101101-60010101000111110-70001100100011111-800001000000015 32 015 21 0发送缓冲器Value0发送缓冲器Value0A律律图7-47 A律数据解压图7-48 律数据解压表表7-2 A律数据律数据压缩压缩表表12位位码码(十(十进进制)制)量量阶阶符号位符号位段落段落码码(二(二进进制)制)段内段内码码(二(二进进制)制)0151000000001111163110001000011113263200100000111164127400110000111112825580

17、100000011112565111601010000111151210233201100000111110242047640111000011110 0 1 1 1 1 1 1段内码,表示值为15段落码,表示量阶为4,起始数据为64符号位,表示为一个正数最终结果为64+415=124图7-49 数据压缩意义图 压缩后数据的最高位(第7位)表示符号,量阶分别为1、1、2、4、8、16、32、64,由压缩后数据的第6位到第4位决定,第3位到第0位是段内码。压缩后的数据有一定的失真。有些数据不能表示出来,只能取最接近该数据的压缩值。例如,数据125,压缩后的值为00111111,意义如图7-49所

18、示。2.语音信号的A律压缩DSP实现程序产生的1024个数据 程序改变后的1024个数据 7.6 数字基带信号的DSP实现方法1.数字基带信号传输系统简介y(t)输出dk输入dkxT(t)x(t)脉冲形成器发送滤波器信道接收滤波器抽样判决码元再生图7-52 数字基带传输系统框图(1)脉冲形成器二进制代 码t00 1 0 0 0 1 1 0 0 1 0(a)t0(b)图7-53 单/双极型码(2)发送滤波器 脉冲形成器输出的各种码型是以矩形脉冲为基础的码型,一般低频分量比较大,占用频带也比较宽(高频成分较丰富),为了更适合于信道传输等要求,可以通过发送滤波器把它们变换为变化比较平滑的波形,一般采

19、用升余弦滤波器。(3)信道 基带传输系统的信道通常是电缆、架空明线等有线信道,假设传输函数为C(),由于C()一般不满足不失真传输条件,因此要引起传输波形的失真。另外,信道中要引入噪声n(t),一般均假设噪声n(t)是均值为0的加性高斯白噪声。(4)接收滤波器 xT(t)经过信道,由于信道特性不理想引起波形失真,再加上混入了噪声,因此送到接收滤波器输入端的波形与xT(t)差别比较大,此时如果马上进行抽样判决,很可能产生比较多的错码,因此一般系统在判决前先经过一个接收滤波器,接收滤波器一方面滤除大量的带外噪声,另一方面对失真的波形均衡,以便得到有利于抽样判决器判决的波形。(5)抽样判决码元再生

20、接收滤波器输出波形y(t)一般没有必要与x(t)相同,在接收数字信号时,接收端只要在规定时刻(由定时脉冲控制)判别出它是“1”码还是“0”码即可,随后再用码元再生电路实现码型反变换,还原输出响应波形序列。2.数字基带信号的DSP实现BPSKSTHA,-2,TEMPCALLCarrierLD#7FFFH,15,ALDTEMP,16,ARPT#10NOPMPYATONERLRPT#10NOPADD*AR6+%,13,B,ASTHA,*AR4+%BFIRCarrier:LDSIN18K,AADD#K_SINSTP,AAND#7FH,ASTLA,SIN18KADD#SIN_TABLE,AREADATONERLLDTONERL,ASTLA,-1,TONERLRET

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁