2012-04-27 33 views
1

我可以做一个语音/音频信号fft,并准确地获得不同的相位,强度和频率。我想了解的是为什么相位角的某些值变得大于2pi或小于-2pi?我知道我可以做一个相位角的模,所以它不会超过2pi或-2pi,但我想知道为什么我可以得到-1343弧度或234弧度的相位角,并且如果还有其他含义具有如此大的相位角。相位角大于2pi和小于-2pi是有意义

一个例子是四元数,它处理更高维数学我们是否因为没有考虑到这样大的负相角和正相角而忽略了某些东西?

+0

你觉得这个阶段很大吗? Matlab的'angle'函数应该给你一个范围+/- pi的结果。 – 2012-04-27 19:44:09

+0

没有发布整个代码这里是你询问的部分 我对价值如此之高以及如果他们持有另一种含义的原因更感兴趣。但是代码运行良好,我甚至使用这些值重建了信号,并进行了绝对错误检查并将其检出。 nfft = 2 ^(nextpow2(length(vp_sig_orig))); \t fftx = fft(vp_sig_orig,nfft); \t NumUniquePts = ceil((nfft + 1)/ 2); \t fftx = fftx(1:NumUniquePts); phase = unwrap(angle(fftx)); – 2012-04-27 20:17:22

回答

4

如果您试图绘制或分析连续相位随时间变化(频率调制等)或频率过高(多极滤波器响应,相位声码器或倒谱/倒频谱),FT频谱的展开相位角很有用分析或合成),而不会随着时间的推移不连续性,频率或者频率,这可能破坏线性运算,绘制斜率回归等。

2

@ hotpaw的答案是一个好答案。可能出现大相角的另一种情况是锁相环(PLL)。一个PLL跟踪相位误差(即频率误差的积分),并试图使其为零。相位滞后大于2pi意味着合成振荡器需要捕捉超过整个周期。

0

具体地用于与四元数的例子中,这可能是因为你做一些四元数代数运算(与含义是旋转的组合物),并获得出来的旋转角度是这样的范围[-2 * pi , 2 * pi]之外的值。但是这不会破坏数学,你也不会因此而遇到任何问题。只要将角度映射回想要的范围就可以了。

但是,这个例子与语音信号例子的FFT相位有很大不同。