FTInput = fft(in);
FtOutput = fft(out);
kernel = ifft(FtOutput./FTInput).
这是正确的吗?应该由我来正确地解释输出向量,还是我简化了任务?我确定是后者,我不确定在哪里。
#1 楼
如果信号中存在噪声,则简单的傅立叶域划分会导致结果错误很多。避免这种情况的一些方法是使用所谓的双通道FFT(第1部分和第2部分)。我还可以建议通过自适应滤波器,特别是LMS或NLMS([最小化均方根])滤波器进行反卷积,如果信号较长,就CPU周期而言,这很容易理解,并且代价不菲。 LMS自适应滤波器对噪声非常鲁棒。评论
$ \ begingroup $
非常感谢,我发现了一种我不知道的全新事物。
$ \ endgroup $
–保龄球
2011-12-13 19:50
$ \ begingroup $
@Phonon这些链接有效吗?这到底是什么标志?
$ \ endgroup $
–太空
2012年3月17日下午5:54
$ \ begingroup $
@Mohammad:用于访问Brüel&Kjær技术评论文章和书籍。注册是免费的,并可以访问许多优秀文章。
$ \ endgroup $
–雷神
2012年7月20日在20:20
评论
您的输入数据是否在卷积内核的长度两侧都进行了零填充?应该是这样,否则您在那里丢失了信息,这可能是造成这些工件的原因。