matlab - 在matlab中进行FFT移位的有效方法(不使用fftshift函数)

标签 matlab matrix signal-processing fft

http://www.mathworks.com/help/techdoc/ref/fftshift.html

如果您检查该链接 - 这就是我在第一张图片中想要做的 - 交换矩阵的象限。

但是,如果没有几个循环来提取相关的子矩阵,我似乎想不出一个好方法来做到这一点。

我需要它来处理 MxN 矩阵,其中 M 和 N 可以是偶数和奇数的任意组合。

谢谢

最佳答案

以下应该有效

sz = ceil(size(A)/2)
A = A([sz(1)+1:end, 1:sz(1)], [sz(2)+1:end, 1:sz(2)])

这仅适用于二维矩阵,但可以轻松推广到 Nd 情况。

关于matlab - 在matlab中进行FFT移位的有效方法(不使用fftshift函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5735720/

相关文章:

matlab - 在没有for循环的matlab中查找几列的最小值

matrix - `matrix * vector`、 `matrix’ * vector` 和 `copy(matrix’ ) * vector` 之间的非直观性能差异

algorithm - 查找二维矩阵中的路径和内部字段

r - 将列表 append 到 R 中的列表列表

matlab - matlab中N维曲面与向量的卷积

python - 使用python通过fft进行频谱图

signal-processing - FFT 结果的大小取决于波频率?

用于从长字符串在 matlab 中查找子字符串(车牌号)的正则表达式?

matlab - 通过组合其部分获得整条线

matlab - 如何为 MATLAB errorbar plot 的点和垂直线设置不同的图例?