实现柯西积的滤波器设计

信息处理 过滤器设计 卷积 傅立叶
2022-01-03 11:40:40

我来自计算机科学,所以请原谅我可能错误的术语。

我需要设计一个具有系数的滤波器

h0,h1,,hn,such thath0>h1>>hn>

输入是xn. 输出是yn. 之间的关系hn,xnyn是一个卷积:

yn=h0xn+h1xn1++hnx0

问题是我必须进行卷积来计算输出yn在每个新输入到达时xn. 所以我必须保留所有x1,x2,,xn,在记忆中做n+1乘法和n每次都添加。

请问有没有办法设计系数hn这样我就可以计算yn更有效率。我知道一种解决方案,即hn=λn0<λ<1但是这个函数衰减太快了。

也欢迎任何近似此过程的想法。

2个回答

您可以将一些卷积实现为递归过滤器。以移动平均为例,要计算输出信号,而不是在平均窗口上求和,您可以添加新输入并从输出信号中减去退出窗口的输入部分以获得下一个时间步的输出。一些过滤器也可以实现为晶格。

但是没有一种通用的方法可以递归地或以格的方式实现所有过滤器。

除了具有指数衰减的滤波器,假设您允许近似值,问题在于成本是多少

  • 如果你的hk像指数一样衰减,你可以为它们拟合一个或两个指数,并且有大量关于快速实现高斯/指数滤波器的图像处理文献。
  • 如果浮点乘法成本,您可以使用编码为二元有理数的系数(i/2n) 和in整数或其总和(SOPOT:2 的幂和),具有一些无乘法器设计。
  • 如果可以并行化,一种分解思想是基于多项式霍纳分解:
    yn=h0(xn+h1/h0(xn1++(hn/hn1h0x0)))
    在哪里hk/hk1可能很小(使用您的单调规则)或编码为 SOPOT。我不知道这是否已在其他地方使用过。