引言
这篇文章介绍了两套直接型FIR的汇编代码实现方案的存储器需求,及以16-bit整数精度处理复数输入和输出,复数或实数系数的能力。这些方案提供的方法在节省存储器的同时还可以获得高性能。
总述
下面给出了直接型FIR滤波器的数学表达式。
该等式是滤波器系数向量h和(时间)反顺序输入数据向量x的内积。这也被称为h和x之间的卷积。
图1以图解方式表示了相同的等式。
TigerSHARC 处理器的并行处理
ADSP-TS20x TigerSHARC(R)处理器是高度并行的计算器件,有3种独特的并行处理类型: * 延迟—2执行流水线 * 多个计算单元 * 宽存储器结构
这三种并行方式相互补充,为获得高效率,应尽量同时考虑这三种方式。本器件中计算速率和存储器带宽以这样的方式平衡:就是如果忽略三种平衡方式中的一种,将导致次佳性能。
复数系数、输入输出数据的16-bit整数FIR
介绍
每个内核时钟周期,ADSP-TS20xTigerSHARC处理器都支持两种复数乘法(每 个计算块各一),同时伴随着同步数据传输。当然,类似等式1的滤波器计算可通过直接连序的方式实现,就是通过使用一个(内部)循环求和,每个迭代在旧的输入样本和系数之间执行乘法,并将其加入到最后迭代的输出中,另一个(外部)循环通过相同的程序再次生成输出样本。然而,使用ADSP-TS20x TigerSHARC处理器的并行功能和内部高带宽,可以获得更高的性能。
流水线操作和并行资源利用
FIR表达式表明大多数用于计算输出y[i]的数据和用于计算y[i+1]的数据是一样的。该情况同样适用于y[i+1]和y[i+2],以次类推。C伪代码的“外部”循环执行所有计算全部输出样本所需的步骤。展开该外部循环,可得到下面三种好处: 1. 不同输出样本的计算之间可以再次使用数据。 2. MAC 操作可并行实现。 3. 循环溢出的影响减少。
不要忽视减少循环开销,因为这可以减少循环中执行必要条件分支所需的时间,从而提高进行实际计算可用时间的百分比。展开外部循环4次,可产生由下面的C伪代码描述的一个运算法则。
数据划分
接口
实数系数和复数输入/输出数据的16-bit整数FIR。。。
完整文档下载请百度云盘:链接:http://pan.baidu.com/s/1pKbmwEv 密码:i2o3
ADI DSP任何问题,可联系OP的QQ:5516164,邮箱:sale@openadsp.com
|