上海妇科疾病研究所 上海女性不孕医院 上海引产医院 无痛引产痛不痛 上海人流医院 白癜风治疗医院 上海小儿脑瘫医院 上海女子医院
16bit IIR滤波器在ADSP-TS20X处理器上的实现-TigerSAHRC-技术中心-国内专业ADI仿真器,Blackfin开发板,DSP芯片,软件算法,解决方案提供商-北京四维卓信电子有限公司
用户名: 密码:
主页 设为首页 加入收藏
      产品中心       技术中心       下载中心        社区新闻        诚聘英才       大学计划        关于我们       技术论坛
  您的当前位置:ADSP开源社区 >> 技术中心 >> TigerSAHRC 今天是:
技术中心  
SigmaDSP
SHARC
A2B音频总线
Blackfin
ADI操作系统
ADSP-218X
TigerSAHRC
ADI DSP仿真器
产品导航
ADI DSP仿真器
SigmaDSP开发板
ADI A2B总线开发板
SHARC DSP开发板
销售网络
TigerSAHRC  
16bit IIR滤波器在ADSP-TS20X处理器上的实现
[ 作者:OP ] [ 来源:ADSP开源社区 ] [ 发布时间:2015-12-14 ]

引言

本文介绍在ADSP-TS20x TigerSHARC®处理器上执行一个216-bit IIR滤波,利用了直接型II

滤波器结构

2阶滤波器的结构见1。可以通过若干个2阶滤波器的级联或并联达到高于2阶的滤波。这样的滤波器的阶数是2的倍数。做一个奇数阶数的滤波器需要一个1阶滤波器和一个或几个2阶滤波器。 列表3中的示例代码没有包括这一点。

1 2阶直接型II

下面的方程式1描述了这种类型的滤波器结构。

方程式1 描述2阶直接型II IIR第一个分子系数( b0)总设为1,这样需要将输
x[i]除以b0,b1b2再除以b0。示例中即如是做法,见下面的列表1

执行

以流水线方式执行一个小的递归运算是个困难的问题。这个滤波器中W[i]的值取决于W[i-1]。这种前后依赖限制了流水线操作的程度。在这个程序中,所有用来产生w[i] y[i]的乘法运算都在单个周期中计算。然而,把部分结果再送入输入,累加得到最终的结果需要5个周期。这期间乘法器处于空闲状态,结果造成程序只利用了一个计算单元。由于用于管理延迟线(还有内存装取)的操作由ALU完成,因此要在每个指令行中插入多个指令槽也是个问题。上面提到,可以通过并连2阶滤波器得到高阶滤波器。这样就可以同时在两个计算区块计算两个滤波输出,最后累加得到这些结果的和。2个要素的状态存储在寄存器yR5中,在每次递归运算中,每个新得到的w[i]先被插入状态寄存器,再进行左移位操作。由于延迟线是重叠的,因而可以执行一个如2所示的上的4个乘法运算。

2 延迟线和系数的乘法部分结果由Sideways Summation指令得到。如果系数既有分数又有整数,那么这4-way乘法必须分成两个独立的乘法分别运算,同时会降低效率。因为使用了SDAB(短型字数据队列缓存),每次调用就要载入816-bit字,而仅需使用第一个字。因为内存带宽不是瓶颈,所以这种对载入字的看似浪费的处理方法却是合适的。

接口

本例中讲述的C类型的滤波器原型见下面的

附录

附录为示例文件的汇编源代码。

完整文档请百度云盘下载:链接:http://pan.baidu.com/s/1geiopX5 密码:zmla

ADI DSP任何问题,可联系OP的QQ:5516164,邮箱:sale@openadsp.com



联系我们 | 关于我们 | 免责声明 | 诚征英才 | 友情链接
Copyright 2019 All rights reserved  本网页版权属Open ADSP所有
北京海淀区中关村大街32号新中发市场3659 邮编100100
电话 18611096839 
粤ICP备14035876号-1