Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 相角大于2pi小于-2pi有意义吗_Matlab_Theory_Fft_Quaternions - Fatal编程技术网

Matlab 相角大于2pi小于-2pi有意义吗

Matlab 相角大于2pi小于-2pi有意义吗,matlab,theory,fft,quaternions,Matlab,Theory,Fft,Quaternions,我可以对语音/音频信号进行fft运算,精确地得到不同的相位、强度和频率。我想理解的是,为什么相位角的某些值会大于2pi或小于-2pi?我知道我可以做一个相位角的模,所以它不会超过2pi或-2pi,但我试图理解为什么我可以得到-1343弧度或234弧度的相位角,如果有这样大的相位角还有其他意义 一个例子是四元数,它处理高维数学。我们是否因为没有考虑到如此大的正负相位角值而任意忽略了某些东西 如果您试图绘制或分析随时间、频率调制等发生的连续相位变化,或在频率多极滤波器响应、相位声码器或倒谱/倒谱分析

我可以对语音/音频信号进行fft运算,精确地得到不同的相位、强度和频率。我想理解的是,为什么相位角的某些值会大于2pi或小于-2pi?我知道我可以做一个相位角的模,所以它不会超过2pi或-2pi,但我试图理解为什么我可以得到-1343弧度或234弧度的相位角,如果有这样大的相位角还有其他意义


一个例子是四元数,它处理高维数学。我们是否因为没有考虑到如此大的正负相位角值而任意忽略了某些东西

如果您试图绘制或分析随时间、频率调制等发生的连续相位变化,或在频率多极滤波器响应、相位声码器或倒谱/倒谱分析或合成过程中不存在随时间、频率或频率变化的跳跃不连续性,则FT频谱的展开相位角非常有用,这可能会破坏线性运算、绘制斜率回归等。

如果您试图绘制或分析随时间、频率调制等或随频率变化的连续相位变化,或多极滤波器响应、相位声码器或倒谱/倒谱分析或合成,没有随时间、频率或频率变化的跳跃不连续性,这可能破坏线性运算、绘制斜率回归等。

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

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

特别是对于四元数的示例,您可能会执行一些四元数代数运算,其含义是旋转的合成,并获得超出范围的旋转角值[-2*pi,2*pi]。但这不会破坏数学,也不会因此产生任何问题。只要在需要解释时将角度映射回所需的范围即可


但是,该示例与语音信号示例的FFT相位明显不同。

特别是对于四元数示例,您可能会执行一些四元数代数运算,其含义是旋转的合成,并得出超出范围[-2*pi,2*pi]的旋转角值.但这并没有破坏数学,你也不会因此遇到任何问题。只要将角度映射回你想要解释的范围即可


但是,该示例与语音信号示例的FFT相位明显不同。

如何确定相位有那么大?Matlab角度函数应给出+/-pi范围内的结果。在不发布全部代码的情况下,以下是您询问的部分,我更感兴趣的是为什么这些值可能是那么高,如果它们有另一个含义。但是代码运行良好,我甚至使用这些值重建了信号,并进行了绝对误差检查,它检查出来了。nfft=2^nextpow2lengthvp_sig_orig;fftx=fftvp_sig_orig,nfft;NumUniquePts=ceilnft+1/2;fftx=fftx1:NumUniquePts;phase=unwrapanglefftx;您如何确定phase有那么大?Matlab angle函数应该会给你一个+/-pi范围内的结果。如果不发布整个代码,这里是你询问的部分,我更感兴趣的是为什么这些值会这么高,以及它们是否具有其他意义。但是代码运行良好,我甚至使用这些值重建了信号,并且出现了绝对错误r检查并检查。nfft=2^nextpow2lengthvp_sig_orig;fftx=fftvp_sig_orig,nfft;numiniquepts=ceilnft+1/2;fftx=fftx1:numiniquepts;phase=unwrapanglefftx;