有人可以解释fft的输出在MATLAB中意味着什么吗? [英] Can someone explain what the output of fft means in MATLAB?

查看:322
本文介绍了有人可以解释fft的输出在MATLAB中意味着什么吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

>> fft([1 4 66])

ans =

  71.0000           -34.0000 +53.6936i -34.0000 -53.6936i

有人可以根据上面的结果解释吗?

Can someone explain according the result above?

推荐答案

EDIT 好吧.我省略了2倍.更新后的答案如下...

EDIT Well that's embarassing. I left out a factor of 2. Updated answer follows...

FFT算法快速计算的离散傅立叶变换假定长度N的输入数据是周期信号的一个周期.周期为2*pi rad.输出点的频率由2*n*pi/N rad/sec给出,其中n是从0N-1的索引.

The Discrete Fourier Transform, which an FFT algorithm computes quickly, assumes the input data of length N is one period of a periodic signal. The period is 2*pi rad. The frequency of the output points is given by 2*n*pi/N rad/sec, where n is the index from 0 to N-1.

例如,710 rad/sec的值,通常称为DC-34+53.7i2*pi/3 rad/sec的值,其共轭值是4*pi/3 rad/sec的值.请注意,按周期性,2*pi/3 rad/sec = -2*pi/3 rad/sec = 4*pi/3 rad/sec.因此,频谱的后半部分可以视为-pi..0pi..2*pi的频率.

For your example, then, 71 is the value at 0 rad/sec, commonly called DC, -34+53.7i is the value at 2*pi/3 rad/sec, and its conjugate is the value at 4*pi/3 rad/sec. Note that by periodicity, 2*pi/3 rad/sec = -2*pi/3 rad/sec = 4*pi/3 rad/sec. So the second half of the spectrum can be regarded as the frequencies from -pi..0 or pi..2*pi.

如果数据表示以恒定采样率采样的数据,并且您知道该采样率,则可以将rad/sec转换为Hz.令采样率为deltaT.其倒数是采样频率Fs.则周期为T = N*deltaT sec = 2*pi rad. 1/T给出频率分辨率deltaF = Fs/N Hz.因此,输出点的频率为n*Fs/N Hz.

If the data represents sampled data at a constant sampling rate, and you know that sampling rate, you can convert rad/sec to Hz. Let the sampling rate be deltaT. Its reciprocal is the sampling frequency Fs. Then the period is T = N*deltaT sec = 2*pi rad. 1/T gives the frequency resolution deltaF = Fs/N Hz. Therefore the frequency of the output points is n*Fs/N Hz.

这篇关于有人可以解释fft的输出在MATLAB中意味着什么吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆