通信与信号处理 第8章 数字信号处理典型算法程序设计.ppt

通信与信号处理 第8章 数字信号处理典型算法程序设计.ppt

  1. 1、本文档共156页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 数字信号处理典型算法程序设计 本章将要讲解通信与信号处理中常见的下列几种具有代表性的算法在C54x芯片中的具体实现方法: 卷积 有限冲激响应(FIR)数字滤波器 无限冲激响应(IIR)数字滤波器 快速傅立叶变换(FFT) 第8章 数字信号处理典型算法程序设计 目录: 8.1 卷积运算的DSP实现 8.2 数字滤波器的DSP实现 8.3 IIR滤波器的DSP实现 8.4快速傅立叶变换的DSP实现 第8章 数字信号处理典型算法程序设计 8.1 卷积运算的DSP实现 数字卷积运算通常采用两种方法: 线性卷积 圆周卷积 第8章 数字信号处理典型算法程序设计 8.1.1信号的卷积 函数f(t)与h(t)的卷积积分,用符号“﹡ ”表示,即: 读作f(t)与h(t)的卷积积分,简称卷积。 第8章 数字信号处理典型算法程序设计 8.1.2 离散系统的卷积分析 1.离散时间信号的时域分解 根据单位序列 及单位移位序列 的选择性, 可将任意序列f(k)用单位序列及其移位序列表示,即: 第8章 数字信号处理典型算法程序设计 例:如图所示离散时间序列,可表示为: 0 1 2 3 第8章 数字信号处理典型算法程序设计 2.离散系统的卷积计算过程 设两个离散时间信号为 和 ,定义 与 的卷积和运算为: 与卷积积分一样,离散卷积也可通过图解法来计算,分为反折、平移、相乘、取和等过程。 第8章 数字信号处理典型算法程序设计 3.卷积的计算 在实际应用中,参与卷积运算的两个序列长度往往差距较大,比如我们要实时的对一长序列语音信号进行“过滤”处理,可以采用有限冲激响应序列与该语音信号进行卷积的方法来实现。 比如:重叠保留法 第8章 数字信号处理典型算法程序设计 8.1.3.重叠保留法卷积运算在C54x上的实现 1.利用C54x自带的dsplib库函数实现 TI公司提供了以C54x系列芯片为基础的DSPLIB库函数,在CCS开发系统内包含DSPLIB库函数。 这些库函数均为经过优化处理的符合C语言标准的函数。 第8章 数字信号处理典型算法程序设计 DSPLIB库提供了一个直接进行线性卷积运算的函数,形式如下: oflag = short convol (DATA *x, DATA *h, DATA *r, ushort nr, ushort nh) 其中x,h为输入数组,即进行卷积的两序列,r为输出数组。 第8章 数字信号处理典型算法程序设计 其算法为: 0 =j =nr 通常我们将分段后的待滤波数据放于X数组中,而将滤波器冲激响应序列放于h数组。按前述方法,x长度为L+M-1,h长度为M,则nr应为L+M-1。计算得到结果后,舍弃r的前M-1个值。 12 Circular Convolution as Linear Convolution with Aliasing 第8章 数字信号处理典型算法程序设计 其算法为: ,0 =j =nr C程序代码为: #define Frame 240 //输入数据长度 #define FilterLength 8 //滤波器长度 for ( i = 0 ; i  (Frame-7) ; i ++ )  {  for ( j = 0 ; j   FilterLength ; j ++ )  Acc0 = L_mac( Acc0, Filter[j], Spnt[i+j] ) ;   Spnt[i] = round( Acc0) ; //小数16位精度 }  注: L_mac:Acc0=Filter*Spnt, 参见TMS320C54x-Optimizing C-C++ Compiler User’s Guide-spru103g-October 2002.pdf Filter[j] 是滤波器的时间反转信号,Spnt[i] 是输入信号。 参考: 张霖峰,唐阳. TMS320C54x 数字信号处理器的软件优化 第8章 数字信号处理典型算法程序设计 2.汇编语言设计 C54x指令集内提供了单周期乘累加指令MAC和循环寻址方式,使每个样值的乘累加计算可以在一个周期内完成。 卷积运算就是实现两组数对应项乘积的累加和。可采用RPTZ和MAC指令,结合循环寻址方式去方便地实现这一运算: RPTZ 累加器,N-1 MAC (双访问数据),(双访问数据),累加器 第8章 数字信号处理典型算法程序设计 其中,RPTZ 指令将累加器清零初始化,并将立即数N-1(16位)装入到重复计数器,使下一条指令重复执行N次。 MAC指令实现将两存储区数据的乘积累加到累加器,再通过存储区指针以循环寻址的方式指向下一个存储区。 第8章

您可能关注的文档

文档评论(0)

flyben + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档