我有两个空间数据向量(每个长度约2000个元素)。一个是另一种的卷积版本。我试图确定将产生这种卷积的内核。我知道我可以通过找到输出和输入矢量的傅立叶变换的比率的傅立叶逆变换来做到这一点。确实,当我这样做时,我或多或少得到了我期望的形状。但是,当实际上卷积仅使用大约五分之一(约300-400)的点时,我的核向量与两个输入向量具有相同的维数。我得到的形状正确但点数错误,这一事实使我认为我没有正确地使用ifft和fft函数。好像我真的在做正确的事情,这应该自然而然地发生。此刻我只是在做;
FTInput = fft(in);
FtOutput = fft(out);
kernel = ifft(FtOutput./FTInput).
这是正确的吗?要由我来正确解释输出向量,还是我简化了任务?我敢肯定是后者,我只是不确定在哪里。
2
您的输入数据是否在卷积内核的长度两侧都进行了零填充?应该是这样,否则您在那里丢失了信息,这可能是造成这些工件的原因。
—
左右左转