据我所知,幅度和相位都在实部和虚部中的FFT结果抓获。 但如何做每个样本捕获阶段?
是与在时域上提供的N个离散样本的阶段?
也就是说,如果输入样本包括44100个样品一秒钟,然后是每个得到的FFT的值表示的相位的44100分之1?
例如,第一FFT值是在频率四万四千百分之一和所述第二值是四万四千百分之二等?
据我所知,幅度和相位都在实部和虚部中的FFT结果抓获。 但如何做每个样本捕获阶段?
是与在时域上提供的N个离散样本的阶段?
也就是说,如果输入样本包括44100个样品一秒钟,然后是每个得到的FFT的值表示的相位的44100分之1?
例如,第一FFT值是在频率四万四千百分之一和所述第二值是四万四千百分之二等?
我想你说的“相”时,你的意思是“频率”在你的问题的某些部分?
无论如何,如果你问频率,它的工作原理非常像在“输入”数据的时间。 你开始与时间序列数据,其中每个阵列元素是在不同的时间。 在FFT之后的“输出”是类似的,但每个元素是不同的频率。
它们的范围从常量偏移频率最高的可能,在统一的步骤,但实际顺序可能取决于你所使用的实现。 因此每个复数表示在一个特定的频率的幅度和相位 - 你可以从输出阵列中的位置计算出的频率。
如果有覆盖时间T N个点,则最高频率为N /(2T),值是1 / T的整数倍(包括0Hz时 - 恒定偏移)。 例如,60个样品在1分钟(N = 60 T = 60秒)给出0.5Hz时的顶频率。 没有更高的频率,因为数据不是采样不够好,挑出来明确(1Hz的信号,例如,可以是在其上的每个样品的最大和,以便将显示为一恒定信号)。 这个限制被称为奈奎斯特频率
(上述假定输出是复数的阵列;通常它是漂浮/双打的阵列,并且需要将复数从在阵列的不同部分实值和虚值拼凑 - 这一切变得有点杂乱,但的概念是相同的,如果你是返回的复杂值的阵列)。
PS通常当我必须使用的FFT例程从某处我使一些数据,具有恒定的偏移和两个已知的频率的正弦波,则FFT那和查看结果。 如果你让每个组件不同的幅度那么它的通常是显而易见的事情是如何排序。 你也可以检查的规模,因为有时有/省略二皮的因素...
一个FFT的输出简单地表示如何从谐波相关的正弦分量的总和重建原始波形。
每个输出值表示相应的分量的振幅和相位(即偏移角)。 需要注意的是每个组件是一个复杂的正弦(形式的东西是非常重要的A * exp(j * 2pi * f * n + phi)
而不是A * cos(2pi * f * n + phi)
的频率在输出样本的索引隐式; 如果采样率如果fs
(以Hz),你有一个长度- N
FFT,则对应于输出样本的中心频率i
是i*fs/N
(以Hz)。
相位与所述输入样本在周期信号分量的时间移位。
以下是如何看这...
首先,回顾一下快速FT是完全一样的离散FT,只有以更有效的方式计算出的同样的事情。 于是,又回到了我们的变换定义为基础:
值X k(0 <= K <= N-1)=总和为0 <= N <= N-1(×n 个 * E * -j 2 *π* N * K / N)
哪里:
X n的输入采样
X k分别是输出/变换样本
N是样本的数目
现在,这种复杂的指数e -j * 2 *π* N * K / N,几何表示关于在重新/ IM平面中的圆(半径为1的,在(0,0居中))点。 见欧拉公式 ,如果你忘了这一点。
为固定值k
(表示在输出感兴趣的特定频率/变换)有不超过N/k
不同的点上该圆所有n
的。
看一次公式中的总和:
总和为0 <= N <= N-1(×n 个 * E * -j 2 *π* N * K / N)
在这个和你正在由输入信号x n中的圆缩放从点(0,0),以上述各点的向量。 你让这些载体或长或短。 然后你要添加他们。
如果它恰巧×n个包含的周期的周期信号N/k
,则该信号的所有最大值都将在圆上的一个点对齐和排序的放大彼此。 最小值和信号的所有其他值也做出贡献。
简单地说,你在这里做什么是蜿蜒的输入×n的圆形上。 如果有一个周期分量的信号和它的周期相匹配的“圆周”(=圆上的点数),你因为对准最大值和最小值的该周期/频率的峰值。 如果周期不匹配“圆周”中,最大值得到所有的地方,并相互抵消。 这是变换傅立叶的精髓,这是如何以及为什么它的工作原理,没有魔法,没有真正复杂的数学,简单的绳子缠绕在卷轴上。
和您在值 X k获得阶段仅仅表示在所有的最大值对准圆的交点。 如果你通过一个样品或几个转变×n的周期信号,对位点会转移也和相位将相应地变化。
这就是几何解释。
现在,你可以看到同样的事情,变换傅里叶变换的数学特性。
如果你的X n和它的变换值X k = F {×n个 },则变换的X 纳米会为F {X} 纳米 = F {X N} * E -j * 2 *π* K *米/ N =值X k * E -j * 2 *π* K * M / N。 这就是所谓的移定理/属性 。 您应该能够获得平凡此。 È-j的这个因子* 2 *π* K * M / N具有1的量值并且仅当由值X k相乘的相位改变。
和相位无关与频率。
另外,你的采样信号x n的最大频率为一半的采样率(实际上,高于一半以上只是一点点,看到奈奎斯特采样定理 )。 这意味着FT您的案件将永远不会给你任何东西或高于22050赫兹,因为在较高频率下的所有信息已经丢失的采样。
而X的k值的一半会给你的组件与负频率。 这是因为当k > N/2
的方向在其中的点之间移动圆上的反转。 所以,最大频率仍小于一半的采样率,尽管在输出/转换具有如此多的样品。
的FFT结果的频率不受在结果向量的复数捕获。 倍频由包含复数每个阵列元素的索引捕获。 然后你把索引和由频率比例因子,这是关系到时域样本的采样率,以及FFT的长度的倒数相乘,以获得每个FFT区间的中心频率。
由每个FFT结果向量元素表示每个频率的正弦曲线将具有它自己的独立的相,不与其它任意块或数组元素共享。
频率将是未知的,如果你不知道FFT的长度。 所以回答你的问题的最后一部分可能是未知,或是号