目前,我正在进行一项任务,以从Matlab中播放的电影文件中获取少量帧。在参数X,Y和时间中创建了3D矩阵。但我被要求通过使用FFT和IFFT来确定时间频率。
我的问题是如何在3D矩阵上使用FFT和IFFT来绘制图形以确定时间维度的频率?如果有人能提供部分matlab代码,我将非常感激。
答案 0 :(得分:0)
假设您的矩阵为A(x,y,t)
,请致电
A = ifft(fft(A, NFFT, 3), size(A,3), 3);
在时域上进行转换。 NFFT是所需的总点数,通常填充大小为2^n
。
在fft(A, NFFT, 3)
中,您的频率轴将为(0:NFFT)/NFFT*Fs
,其中Fs = 1 / T,T是帧的时间间隔。