【问题标题】:Compute FFT in Matlab在 Matlab 中计算 FFT
【发布时间】:2014-04-23 13:13:06
【问题描述】:

我在变量“过滤器”中有一个数字数组。我想使用matlab连续计算每32个数据的傅里叶变换(fft)。但是下面的代码似乎不起作用。谁有更好的解决方案?

for aa=1:length(filter)-32  %scans every row of numbers
 output(aa) = fft(filter(aa + (0:31)));   % compute fft every 32 data continuously      
end

【问题讨论】:

  • 由于aa 是单个数字,output(aa) 将无法保存fft 的输出。

标签: matlab fft continuous


【解决方案1】:

如果内存空间没有问题,您可以使用im2col 函数。以下代码将输入数组中的每个 [1, 32] 块重新排列为输出数组的一列。第二行中的 fft 函数独立应用于每一列。

x = im2col(filter, [1, 32]);
output = fft(x);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-08
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多