DSP技术与应用实例课件赵红怡第7章_第1页
DSP技术与应用实例课件赵红怡第7章_第2页
DSP技术与应用实例课件赵红怡第7章_第3页
DSP技术与应用实例课件赵红怡第7章_第4页
DSP技术与应用实例课件赵红怡第7章_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

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)泰勒级数展开法)98x1 (76x1 (54x1 (32x1 (x! 9x! 7x! 5x! 3xx)xsin(22229753)87x1 (65x1 (43x1 (2x1! 8x! 6x! 4x! 2x1)xcos(22228642 也可以由递推公式求正弦和余弦值:

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)和正弦、余弦的前两个值。用这种方法,求少数点还可以,如产生连续正弦、余弦波,则积累误差太大,不可取。 1计算一个角度的正弦值 利用泰勒级数展开式计算一个角度的正弦值。为了方便起见,编写计算sin(x)的程序sinx.asm,调用前只要在数据存储器d_x单元中设定x的弧度值就行了,计算结果在d_sinx单元中。程序中要用到一些存储单元存放数据和变量,如图所示。 数据存储器d_xxd_squr_xx2程序存储器d

3、_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=1556H)计算结果存储在数据存储单元 计算正弦值存储单元分配 2计算一个角度的余弦值 利用泰勒级数展开式计算一个角度的余弦值,采用调用cosx.asm程序方式。调用前只要在数据存储器d_x单元中设定x的弧度值就行了,计算结果在d_cosx单元中。程序中要用到一些存储单元存放数据和变量,如图所示。 数据存储器d_xxd_squr_xx2程序存储器d_temptablec1

4、=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)计算余弦值存储单元分配计算结果存储在数据存储单元 3产生正弦波程序 先以sinx.asm和cosx.asm程序,计算00450(间隔为0.50)的正弦和余弦值,再利用sin(2x)=2sin(x)cos(x)求出00900的正弦值(间隔为10)。然后通过复制,获得003590的正弦值。 正弦波数据 数据存储单元 若执行菜单命令“View”“Graph” “Time/Frequcecy” 就可以观

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

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

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

8、y(n)=h0 x(n)+h1x(n-1)+h2x(n-2)+h3x(n-3)+h4x(n-4) 在数据存储器中存放系数h0h4,并设置线性缓冲区存放输入数据,如图所示,利用AR1和AR2分别作为间接寻址线性缓冲区和系数区的辅助寄存器。 数据存储器yy(n)xx(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)+

9、h4x(n-4) 数据存储器x暂存y(n)程序存储器x(n)PARCOEFh4x(n-1)h3x(n-2)h2x(n-3)h1AR1x(n-4)h0双操作数寻址线性缓冲区数据分配(4)用循环缓冲区和双操作数寻址方法实现)用循环缓冲区和双操作数寻址方法实现FIR滤波器滤波器例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)cfhAR4h7

10、914fh双操作数寻址循环缓冲区数据分配(5)系数对称)系数对称FIR滤波器的实现方法滤波器的实现方法数据存储器数据存储器New循环缓冲区Old循环缓冲区80hx(n)AR288hx(n-4)81hx(n-3)89hx(n-5)82hx(n-2)8Ahx(n-6)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-1d0

11、d1c1c2x2(n)z-1z-1f0f1e1e2f2d2二阶IIR滤波器:z-1z-1A1A2B0B1B2y(n)x(n)反馈通道前向通道w(n)x0 x1x2(1)二阶IIR滤波器的单操作数指令实现 数据存储器数据存储器COEFB2B1xx0 x(n),y(n)B0 x1A2x2A1IIR滤波器数据存放和系数表数据存储结果 (2)二阶IIR滤波器的双操作数指令实现数据存储器(DARAM)起始状态第1次迭代数据存储器(DARAM)COEFB2B1AR3x2AR3x(n)x0B0 x1x2y(n)A2x0 x1AR4A1双操作数数据存放和系数表(3)直接形式二阶IIR滤波器的实现 直接形式二阶

12、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时的定标方法时的定标方法 在设计IIR滤波器时,可能出现一个或一个以上系数大于等于1。在这种情况下,当然可以用此大数来定标,即用大数去除所有的系数,但是还不如将此大于等于1的系数分解成两个小于1的数,例如B0=1.2,则 x(n)B0=x(n)(B0/2)+x(n)(B0/2)=0.6x(n)+ 0.6x(n)这样,将使所有的系数保持精度,

13、而仅仅多开销一个机器周期。 (2)对输入数据定标对输入数据定标 一般,从外设口输入个数据加载到累加器A,可用以下指令: PORTR 0001h,Xin LD Xin,16,A 考虑滤波运算过程中可能出现1的输出值,可在输入数据时将其缩小若干倍,例如: PORTR 0001h,Xin LD Xin,16-3,A将输入数据除以8,将使输出值小于1。 有关FFT程序说明如下:(1) fft.asm程序由以下部分组成 位码倒置程序 第一级蝶形运算 第二级蝶形运算 第三级至第log2N级蝶形运算 求功率谱及输出程序(2)程序空间的分配(3)数据空间的分配(4)正弦系数表和余弦系数表7.4 快速傅里叶变换

14、的DSP实现方法 1. 快速傅里叶变换 程序存储器500050DC程序代码INPUT600060FF输入数据程序空间分配图数据存储器TWI1040005FF正弦系数表TWI2080009FF余弦系数表OUTPUT200020FF输出数据数据空间分配图2. DSP实现快速傅里叶变换 (1)创建fft.pjt工程 (2)加载fft.out文件 (3)显示输入信号的时域波形 输入信号时域波形 输入信号时域波形属性设置 (4)显示输入信号的频域波形 输入信号频域波形 输入信号频域波形属性设置 (5)运行程序 输出信号功率谱 输出信号波形属性设置 7.5 语音信号压缩的DSP实现方法1.语音信号的/A律

15、压缩简介DXCPUCPUDRRSRRBR解压RJUSTDRRXSR压缩DXR图7-46 数据压缩解压流程 /A律压缩解压编码是国际电报电话协会最早推出的G.711语音压缩解压编码的一种格式的主要内容。其中欧洲和中国等国家采用A律压缩解压编码,美国和日本等国家采用律压缩解压编码。 表表7-1 几种二进制编码表几种二进制编码表量化电平量化电平自然二进制自然二进制偏移二进制偏移二进制2的补码的补码反射二进制反射二进制折叠二进制折叠二进制+71111111011110000111+61101110011010010110+51011101010110110101+4100110001001010010

16、0+30111011001111100011+20101010001011110010+10011001000111010001+00001000000011000000-01000-10111111101001001-20110111001011010-30101110101111011-40100110001101100-50011101100101101-60010101000111110-70001100100011111-800001000000015 32 015 21 0发送缓冲器Value0发送缓冲器Value0A律律图7-47 A律数据解压图7-48 律数据解压表表7-2 A

17、律数据压缩表律数据压缩表12位码(十进制)位码(十进制)量阶量阶符号位符号位段落码(二进制)段落码(二进制)段内码(二进制)段内码(二进制)0151000000001111163110001000011113263200100000111164127400110000111112825580100000011112565111601010000111151210233201100000111110242047640111000011110 0 1 1 1 1 1 1段内码,表示值为15段落码,表示量阶为4,起始数据为64符号位,表示为一个正数最终结果为64+415=124图7-49 数据压缩意

18、义图 压缩后数据的最高位(第7位)表示符号,量阶分别为1、1、2、4、8、16、32、64,由压缩后数据的第6位到第4位决定,第3位到第0位是段内码。压缩后的数据有一定的失真。有些数据不能表示出来,只能取最接近该数据的压缩值。 例如,数据125,压缩后的值为00111111,意义如图7-49所示。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)发送滤波器 脉冲形成器输出的各种码型是以矩形脉冲为基础的码型,一般低频分量比较大,占用频带也比较宽(高频成分较丰富),为了更适合于信道传输等要求,可以通过发送滤波器把它们变换为变化比较平滑的波形,一般采用升余弦滤波器。(3)信道

温馨提示

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

评论

0/150

提交评论