有谁知道如何计算二维滤波器的逆?
假设我有一个 3x3 过滤器:
0 1 0
1 1 1
0 1 0
我想找到它的倒数。
使用 DFT 很容易做到。
但假设我想通过卷积来完成。
现在,这就是问题所在,Matlab 符号不是我的专长。
假设有一个 3X3 逆滤波器,这意味着两者的卷积将导致:
0 0 0
0 1 0
0 0 0
问题是为此创建正确的方程组并求解它。
用符号来做这件事很容易,但我做不到。
有任何想法吗?
谢谢。
附:
我不确定这个滤波器是否有逆滤波器,因为它的 DTFT 中有零。
此外,有人应该像 MathOverflow 那样允许 Latex 出现在这个论坛中。
令 h[n] 为一维滤波器的有限脉冲响应。这对其逆滤波器意味着什么?其逆不可能是 FIR。
证明:对于所有 omega,令 H(omega) G(omega) = 1,其中 H 是 h[n] 的 DTFT,G 是 g[n] 的 DTFT。如果 h[n] 是 FIR,则 g[n] 必定是 IIR。
当然,还是有办法的近似具有 FIR 滤波器的逆 IIR 滤波器。基本方法是自适应滤波,例如最小均方(LMS)算法。或者只是截断 IIR 滤波器。不过,您仍然需要担心稳定性。
出于实际目的,您的具体问题可能没有理想的解决方案。特别是,例如,在图像处理中,并且您尝试使用 FIR 锐化滤波器反转 FIR 模糊滤波器。最终的图像看起来不会那么好,除非你的锐化滤镜真的很大。
编辑:设 y[n] = b0 x[n-0] + b1 x[n-1] + ... + bN x[n-N]。让这个方程描述前向系统的特征,其中 y 是输出,x 是输入。根据定义,脉冲响应是输入为脉冲时的输出:h[n] = b0 d[n-0] + b1 d[n-1] + ... + bN d[n-N]。该脉冲响应的长度有限 N+1。
现在,考虑逆系统,其中 x 是输出,y 是输入。然后,脉冲响应由递推方程 d[n] = b0 h[n] + b1 h[n-1] + ... + bN h[n-N] 描述。等效地,b0 h[n] = d[n] - b1 h[n-1] - ... - bN h[n-N]。
不失一般性,假设 b0 和 bN 均非零。对于任何 m,如果 h[m] 不为零,则 h[m+N] 也不为零。因为这个系统有反馈,所以它的脉冲响应是无限长的。量子ED。
因果关系并不重要。延迟的倒数是提前,反之亦然。延迟或提前都不会改变脉冲响应的有限性。向左或向右移动无限脉冲响应;它仍然是无限的。
编辑2:为了澄清,这个证明与我原来的“证明”无关。一个是频域,另一个是时域。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)