【问题标题】:Matlab fft2 (2D) giving interchanged values compared to multiple fft (1D) performed across rows and columns与跨行和列执行的多个 fft (1D) 相比,Matlab fft2 (2D) 给出交换值
【发布时间】:2018-03-01 19:23:01
【问题描述】:
function [output1, output2] = fft2D(input)

   output1 = input';
   output1 = fft(output1);
   output1 = output1';
   output1 = fft(output1);

   output2 = fft2(input);
end

所以我在输出 2 中计算 input 的 2D FFT,在输出 1 中计算 input 的相同 2D FFT。 fft() 对 2D 矩阵应用跨列向量的 FFT。所以上面我将它应用在行上,然后在列上。

但是对于随机矩阵

 [1   1   4   1; 
  12  13  124 1;
  12  2   2   1;
  1   1   1   0]

我的output1 是:

   1.0e+02 *

   1.7700 + 0.0000i  -1.0500 + 0.1400i   1.3700 + 0.0000i  -1.0500 - 0.1400i
  -0.1000 - 1.4700i  -0.0200 + 1.1100i  -0.0800 - 1.2100i  -0.2400 + 1.1300i
  -1.2900 + 0.0000i   1.1900 - 0.1200i  -1.0900 + 0.0000i   1.1900 + 0.1200i
  -0.1000 + 1.4700i  -0.2400 - 1.1300i  -0.0800 + 1.2100i  -0.0200 - 1.1100i

而我的output2

   1.0e+02 *

   1.7700 + 0.0000i  -1.0500 - 0.1400i   1.3700 + 0.0000i  -1.0500 + 0.1400i
  -0.1000 - 1.4700i  -0.2400 + 1.1300i  -0.0800 - 1.2100i  -0.0200 + 1.1100i
  -1.2900 + 0.0000i   1.1900 + 0.1200i  -1.0900 + 0.0000i   1.1900 - 0.1200i
  -0.1000 + 1.4700i  -0.0200 - 1.1100i  -0.0800 + 1.2100i  -0.2400 - 1.1300i

它们是相同的值,但在不同的位置互换!很长一段时间以来,这一直让我发疯,因为从我(重新)在线阅读的内容来看,可以通过在行和列之间应用 1D FFT 来执行 2D FFT。任何帮助或建议都会很棒!

【问题讨论】:

  • 你正在转置输入
  • @AnderBiguri 更具体:P。使用的是复杂转置,而不是真正的转置。

标签: matlab fft


【解决方案1】:

使用output1 = output1.' 而不是output1 = output1',因为后者给出了共轭转置,而您想要转置。

function [output1, output2] = fft2D(input)
   output1 = input.';
   output1 = fft(output1);
   output1 = output1.';
   output1 = fft(output1);

   output2 = fft2(input);
end

或者,您可以指定要进行 FFT 的维度。

function [output1, output2] = fft2D(input)
   output1 = fft(input,[],1);
   output1 = fft(output1,[],2);

   output2 = fft2(input);
end

【讨论】:

  • 一段时间以来,我一直在为哪里出错而绞尽脑汁,谢谢!我一直认为' 是转置到现在...再次感谢!
  • 这是很多人(包括我自己)都犯过的错误。
  • @LuisMendo - 这是给你的。
  • @rayryeng 再给list一个! .-)
  • @LuisMendo 哈哈,这让我感觉好多了:P
猜你喜欢
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多