快行FIR滤波器
发布时间:2008/12/18 0:00:00 访问次数:469
将输入信号x(z)和滤波器f(z)分解成偶数和奇数的多相组成部分,也就是:
进行比较。就可以注意到z(-1)的因子是相同的。但是对于yo(z)而言,我们必须计算一个额外的加法来获得正确的相位关系。winograd已经编译了一个短卷积算法列表,可以用3次乘法和下面的6次加法计算线性2×2卷积:
现在在短卷积算法的帮助下,我们可以按如下方式定义快行滤波器:
图给出了图形化解释。
图 r=2的快行fir滤波器
如果将直接滤波器的实现与快行fir滤波器加以比较,我们就会在硬件效率与加法器和乘法器操作的平均次数之间作出辨别。直接实现需要z个乘法器和l-1个加法器全速运行。而快行滤波器有3个l/2长度、半速运行的滤波器,对于整个滤波器而言,每个输出样本有3l/4次乘法和(2+2)/2+3/2(l/2 -1)=3l/4+1/2次加法,也就是说运算量比直接实现要少25%左右。从实现的角度来看,我们需要3li2个乘法器和4+3(l/2-1)=3l/2+1个加法器,也就是说,工作量要比直接实现多大约50%。图的重要特征是快行滤波器的运行速度基本上是直接实现的2倍。使用更多数量的分解数r可以进一步提高最大通过量。处理r个作为输入的屁频率的多相信号的一般方法如下:
算法5.3 快行fir滤波器
(1)将输入信号分解成r个多相信号,利用ae个加法器以fa/r的速率构成r个序列。
(2)用r个长度为l/r的滤波器对r个序列进行滤波。
(3)用ae次加法计算输出yk(z)的多相表达式。用最后的多路复用器生成输出信号y(z)。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
将输入信号x(z)和滤波器f(z)分解成偶数和奇数的多相组成部分,也就是:
进行比较。就可以注意到z(-1)的因子是相同的。但是对于yo(z)而言,我们必须计算一个额外的加法来获得正确的相位关系。winograd已经编译了一个短卷积算法列表,可以用3次乘法和下面的6次加法计算线性2×2卷积:
现在在短卷积算法的帮助下,我们可以按如下方式定义快行滤波器:
图给出了图形化解释。
图 r=2的快行fir滤波器
如果将直接滤波器的实现与快行fir滤波器加以比较,我们就会在硬件效率与加法器和乘法器操作的平均次数之间作出辨别。直接实现需要z个乘法器和l-1个加法器全速运行。而快行滤波器有3个l/2长度、半速运行的滤波器,对于整个滤波器而言,每个输出样本有3l/4次乘法和(2+2)/2+3/2(l/2 -1)=3l/4+1/2次加法,也就是说运算量比直接实现要少25%左右。从实现的角度来看,我们需要3li2个乘法器和4+3(l/2-1)=3l/2+1个加法器,也就是说,工作量要比直接实现多大约50%。图的重要特征是快行滤波器的运行速度基本上是直接实现的2倍。使用更多数量的分解数r可以进一步提高最大通过量。处理r个作为输入的屁频率的多相信号的一般方法如下:
算法5.3 快行fir滤波器
(1)将输入信号分解成r个多相信号,利用ae个加法器以fa/r的速率构成r个序列。
(2)用r个长度为l/r的滤波器对r个序列进行滤波。
(3)用ae次加法计算输出yk(z)的多相表达式。用最后的多路复用器生成输出信号y(z)。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:单级CIC滤波器案例研究
上一篇:ARM处理器系列
热门点击