数字音频技术(第6版) 736


分类:相关阅读 / 「数字音频技术(第6版)」

数字音频技术(第6版) 736
前一篇:数字音频技术(第6版) 735 下一篇:数字音频技术(第6版) 737
文本阅读:
  第17章数字信号处理709
  17.8.2德州仪器(Texas| nstruments)公司的代码德州仪器(Texas Instruments)公司生产的TMS320Xx芯片上运行的这个五系数FIR滤波器代码如下
  端口获得新的输入数值XN
  目乘
  乘
  与前面的步骤类似
  把最
  乘法的结果加到累加
  把结果存到YN中
  把响应输出到端
  获取下一个采样点
  我们特别感兴趣的是LTD指令,它把一个数值加载寄存器中,然后把最后一次乘
  的结果加到累加器上,再把这个数值移位到下一个更高的内存地址第1行把一个输入数据字从一个VO端口移动到内存位置XN处。第2行令累加器归零。
  第3行把最新的数值XNM4加载到T寄存器中。第4行用H4中的系数乘以T寄存器中的内容第5行和第
  把ⅩNM3与H3乘在一起,并用LTD指令把第4行乘法的结果加到累加器上类似地,从第7-12行,滤波器的其他抽头也被相乘和累加把最后的乘法加到累
  加器
  因此累加器中就包含了经过滤波的输出值,它与第1行的输入值相对第14行
  把这个输出传送到YN。第15行把内存位置YN中的内容传输到WO端口。第16行让程序返回到第1行,在那里会接收下一个输入数值。
  当接收到一个新的输入时,过去的数值就被移
  内存位置;XN被移动到XNM
  被移动到XNM2,XNM2被移动到XNM3,XNM3被移动到XNM4,XNM4则被丢弃。如前所述,虽然这些移
  用额外的指令完成,但LTD指令(这是体现并行处理威力的例子)会在每个数值被传输到T寄存器以后把它们移位到下一个更高的地