如何复数捕获阶段,振幅和频率的FFT的结果? [英] How does a complex number capture phase, amplitude AND frequency in the result of an FFT?

查看:399
本文介绍了如何复数捕获阶段,振幅和频率的FFT的结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我明白的幅度和相位是在实部和虚部中的FFT的结果捕获。但如何做每个样本捕获阶段?

I understand that the magnitude and phase are captured in the real and imaginary parts in the result of an fft. But how does each sample capture phase?

是与时域提供的N个离散采样相位?

Is the phase related to the N discrete samples provided in time domain?

即,如果输入样值包括44100样品一秒钟,然后是各所得相位的FFT重新present四万四千一百分之一

That is, if the input sample included 44100 samples for a second, then is each resulting value of the FFT represent 1/44100 of the phase?

例如,第一FFT值是在频率四万四千百分之一和第二值是四万四千百分之二等

For example, the first FFT value is at frequency 1/44100 and the second value is 2/44100 and so on?

推荐答案

我想你说的相,当你在你的问题中有些部分表示频率?

i think you are saying "phase" when you mean "frequency" in some parts of your question?

无论如何,如果你问的频率,它的工作原理pretty很像输入数据的时间。在开始使用的时间序列数据,其中每个阵列元素是在不同的时间。在FFT之后的产出类似,但每个元素都是一个不同的频率。

anyway, if you are asking about frequency, it works pretty much like time in the "input" data. you start with time series data, where each array element is at a different time. after the fft the "output" is similar, but each element is a different frequency.

它们的范围从常量偏移频率最高的可能,在统一的步骤,但实际的顺序可能取决于你所使用的实现。所以每个复数重新presents幅度和一个特定的频率相位 - 你可以从输出数组中的位置,制定出频率

they range from the constant offset to the highest frequency possible, in uniform steps, but the actual order may depend on the implementation you are using. so each complex number represents amplitude and phase at one particular frequency - you can work out the frequency from the position in the output array.

如果你有一个覆盖时间T则最高频率为N /(2T)N点和值是1 / T的整数倍(包括0Hz时 - 恒定的偏移量)。例如,60个样品在1分钟(N = 60 T = 60秒)给出为0.5Hz的顶频率。没有更高的频率,因为数据不是采样不够好挑选出来明确(一个1赫兹的信号,例如,可以是在其上的每个样品的最大和,以便将显示为一恒定信号)。这个限制被称为奈奎斯特频率

if you have N points that cover a time T then the highest frequency is N/(2T) and the values are multiples of 1/T (including 0Hz - a constant offset). for example, 60 samples over 1 minute (N=60 T=60s) gives a top frequency of 0.5Hz. there are no higher frequencies because the data are not sampled well enough to pick them out clearly (a 1 Hz signal, for example, could be at its maximum on each sample and so would appear as a constant signal). this limit is called the nyquist frequency

(以上假设输出为复数的数组;往往是花车/双打的数组,你需要将复杂的数字从阵列的不同部分实部和虚值拼凑起来 - 这一切变得有点凌乱,但概念是一样的,如果你被退回复数值数组)。

(the above assumes the output is an array of complex numbers; often it's an array of floats/doubles and you need to piece together the complex numbers from real and imaginary values in different parts of the array - it all gets a bit messy, but the concept is the same as if you were returned an array of complex values).

PS通常当我有从什么地方我做一些数据,有一个恒定的偏移和两个已知频率的正弦波使用的FFT程序,然后执行FFT这一点,看看结果。如果你把每个组件不同的振幅那么它的通常是显而易见的事情是如何排序。你也可以检查的规模,因为有时有/二皮忽略的因素...

ps typically when i have to use an fft routine from somewhere i make some data that have a constant offset and two known frequency sine waves, then fft that and look at the results. if you make the amplitudes of each component different then it's usually obvious how things are ordered. you can also check the scale, because sometimes that has/omits a factor of 2pi...

这篇关于如何复数捕获阶段,振幅和频率的FFT的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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