VLSI数字信号处理系统——第九章滤波器和变换中的算法强度缩减

VLSI数字信号处理系统——第九章滤波器和变换中的算法强度缩减

作者:夏风喃喃
参考:
(1) VLSI数字信号处理系统:设计与实现 (美)Keshab K.Parhi/著
(2) socvista https://wenku.baidu.com/u/socvista?from=wenku

一.引言

经典的滤波器分两类:FIR和IIR。FIR是有限长冲击响应滤波器,硬件电路是非递归的;而IIR是无限长冲击响应滤波器,硬件电路存在递归环路,值得注意的是,IIR可以看成是一个FIR和递归环路的级联。本章的目的在于如何并行实现FIR滤波器,在获得高吞吐率的同时尽可能节约面积和功耗。

FIR其实也是一个卷积的过程,只是这个卷积不是短卷积,而是长卷积。卷积其实是一种多相式乘法,快速卷积给出了“短”多相式乘法的有效实现,只要是多相式乘法,就能用快速卷积知识搞定。接下来讨论的FIR并行实现其实可看成是“短”多相式乘法。

本章的核心思想就是分治与子结构共享。

二.并行FIR滤波器

1.并行FIR滤波器的多相式分解表示

FIR多相分解也是一种“分而治之”处理,其做法就是将“待卷积”的两个序列 x ( n ) x(n) x(n) h ( n ) h(n) h(n)按交叉数据分配的原则分为“相同数量的”若干个子序列。

1.1 二相分解

FIR滤波器卷积表示: y ( n ) = x ( n ) ∗ h ( n ) y(n) = x(n) * h(n) y(n)=x(n)h(n)
x ( n ) x(n) x(n)是无限序列, h ( n ) h(n) h(n)是有限序列,将 x ( n ) x(n) x(n) h ( n ) h(n) h(n)分别做奇偶2相分解。
在这里插入图片描述
在频域,可表示为
在这里插入图片描述
其中
在这里插入图片描述
同理有
在这里插入图片描述
其中
在这里插入图片描述
滤波结果的频域表示为
在这里插入图片描述
如果 Y ( z ) Y(z) Y(z)也做2相分解,则正好有
在这里插入图片描述
其中
在这里插入图片描述
矩阵表示为
在这里插入图片描述
z 2 z^2 z2替换为 z z z,则公式(7)就是
在这里插入图片描述
也就是说 y ( n ) y(n) y(n)的奇偶序列分别对应两个子序列的和,2相分解2并行FIR滤波器如下图所示:
在这里插入图片描述

1.2 三相分解

X 0 X_0 X0( z 3 z^3 z3)、 X 1 X_1 X1( z 3 z^3 z3)和 X 2 X_2 X2( z 3 z^3 z3)分别对应时域 x ( 3 k ) x(3k) x(3k) x ( 3 k + 1 ) x(3k+1) x(3k+1) x ( 3 k + 2 ) x(3k+2) x(3k+2) H 0 H_0 H0( z 3 z^3 z3)、 H 1 H_1 H1( z 3 z^3 z3)和 H 2 H_2 H2( z 3 z^3 z3)是 H ( z ) H(z) H(z)的三个子滤波器。

3相分解3并行FIR滤波器频域为:
在这里插入图片描述
因此,
在这里插入图片描述
矩阵表示为
在这里插入图片描述
3相分解3并行FIR滤波器如下图所示:
在这里插入图片描述

1.3 多相分解

多相分解可以将 X ( z ) X(z) X(z) H ( z ) H(z) H(z) Y ( z ) Y(z) Y(z)分解为如下的L个子序列来获得L并行FIR滤波器:
在这里插入图片描述
多相分解的FIR滤波器矩阵表示如下
在这里插入图片描述
注意: L L L并行FIR滤波器需要 L 2 L^2 L2次子滤波运算,每次运算长度为 N / L N/L N/L(N为原始滤波器抽头数),需要 N / L N/L N/L次乘法, ( N / L − 1 ) (N/L-1) (N/L1)次加法。
因此,这种L并行FIR滤波器需要 L 2 ∗ ( N / L ) L^2*(N/L) L2(N/L)次,即 L N LN LN次乘法运算和 L 2 ∗ ( N / L − 1 ) L^2*(N/L-1) L2(N/L1)次,即 L ( N − 1 ) L(N-1) L(N1)次加法运算。虽然多相式表示法没有缩减并行滤波器的复杂性,但它可以用于获得快速并行FIR滤波器。

2.快速FIR算法(FFAs)

由Winograd提出,2个L-1阶多项式相乘,可仅用(2L-1)个乘积项来实现。这种乘法数量的缩减是以加法数量的增加为代价实现的。因为FIR滤波器的多相表达式形式中的成绩项等于块表达式的滤波运算,于是并行FIR滤波器可近似用(2L-1)个长度为N/L的FIR滤波器来实现。(N为原始滤波器抽头数)

快速FIR算法(FFAs)就是依赖这种方法生成复杂度降低的并行滤波器结构。L并行滤波器可以近似用(2L-1)个长度为(N/L)的滤波运算来实现,需要(2N-N/L)次乘法。例如,N=4,L=2,传统2并行需要4次子滤波运算(即 L 2 L^2 L2),每次运算长度为2(即N/L),共需要8次乘法(即LN)。而2并行快速滤波方法仅仅需要6次乘法,当N值很大时,FFAs可以大大缩减乘法的数量。

2.1 二并行和三并行低复杂度FIR滤波器

2并行快速FIR滤波器
将传统多相分解得到的并行滤波器改写如下:
在这里插入图片描述
这个2并行快速滤波器产生了共享公共项,在计算 Y 0 Y_0 Y0 Y 1 Y_1 Y1时可以共用。如下图所示。
在这里插入图片描述
此结构使用三个长度为N/2的子滤波器和4个预/后处理加法运算来实现。需要3*(N/L)=1.5N次乘法和3*(N/L-1)+4=1.5N+1次加法,而传统多相分解导出的并行滤波器需要LN=2N次乘法和L(N-1)=2(N-1)次加法。

2并行快速FIR滤波器可以用矩阵表示:
在这里插入图片描述
其中diag是对角矩阵, Q 2 Q_2 Q2是后处理矩阵, P 2 P_2 P2是预处理矩阵。 Q 2 H 2 P 2 Q_2H_2P_2 Q2H2P2即公式9-16中的 H H H,FFAs即实现了对 H H H的对角化。
3并行快速FIR滤波器(理解):
快速3并行FIR算法可以通过递归2并行快速FIR算法实现。
在这里插入图片描述
在这里插入图片描述
可用矩阵表示为
在这里插入图片描述
可用6个长度为N/3的子滤波器和3个预处理和7个后处理加法器构成。3并行快速FIR滤波器如下图所示:
在这里插入图片描述

2.2 转置的并行滤波器

任何并行FIR滤波器结构通过转置操作都可以得到另一个并行的等价结构。通常,转置的结构具有相同的硬件复杂度,而有限字长性能却不同。

考虑矩阵形式 Y = H X Y=HX Y=HX表达的并行滤波运算,其中 H H H是一个L×L矩阵。通过将 H H H矩阵转置并交换 X X X Y Y Y的位置,可以得到该并行滤波算法的等价实现。
在这里插入图片描述
快速2并行滤波器的转置变换如下
在这里插入图片描述
在这里插入图片描述

2.3 由线性卷积得到的并行滤波算法

任何L×L卷积算法也可以得到L并行快速滤波器结构。

为了用2×2快速卷积得到一个2并行滤波器,考虑下面理想2×2线性卷积:
在这里插入图片描述
求取该算法的转置并对 s i s_i si h i h_i hi x i x_i xi做适当的替换,得到2并行滤波器结构:
在这里插入图片描述
用这种方法与用2并行FFA直接转置变换所得到的的结构是相同的。

2.4 用于大块尺寸的快速并行FIR算法(略)

三.离散余弦变换和反离散余弦变换

DCT与IDCT:
在这里插入图片描述
DCT是正交变换,IDCT可以通过转置DCT实现,反之亦然。直接实现DCT需要N(N-1)次乘法运算,减少计算数量的算法是很有必要的。

1.算法结构变换

算法结构变换可以用来获得有效的DCT实现,所用乘法数量急剧减少。

例题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.对 2 m 2^m 2m点DCT的频率抽取快速DCT

该算法通过2的幂次的分解,将乘法的数量减少到大约 ( N / 2 ) l o g 2 N (N/2)log_2N (N/2)log2N

快速 N = 2 m N=2^m N=2m点IDCT算法

X ^ ( k ) = e ( k ) X ( k ) \hat X(k) = e(k)X(k) X^(k)=e(k)X(k),特殊的, X ^ ( − 1 ) = 0 \hat X(-1) = 0 X^(1)=0
在这里插入图片描述
例题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四.秩-阶滤波器的并行结构(略)

五.结论

本章介绍了算法强度缩减变换方法。这些变换利用了共享子结构,减少了更强运算的数量,但可能是以增加更弱运算的数量为代价。强度缩减已被用于设计快速并行FIR滤波器、DCT以及并行秩-阶滤波器。这些架构可以减少面积和功耗,或者在可编程DSP实现中,可以缩短迭代周期。强度缩减也可在数字水平上应用,以降低实现的复杂度。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值