|
利用w89986581的测相位程序(#26)可以作许多实验:
1 将信号相位改写为
yy =2* cos(2*pi*100.4*tt+60*pi/180);
这时输出是60度
将初相位改写为
yy =2* cos(2*pi*100.4*tt+60.1111111111111*pi/180);
这时输出是60.1111111111108度
这说明无噪全相位FFT测相位是很准的,达10^-11,(校正后FFT可这60.111111,达10^-6,差不多一半,和apFFT泄漏分贝比FFT小一倍一致)
你可以加一个或多个信号
yy =2* cos(2*pi*100.4*tt+60.11111111111111*pi/180)+2*cos(2*pi*150.6*tt+90.1111111111111*pi/180);
这时输出是60.1111111111138度
90.1111111111078度
相位测量仍很准,互相影响不大,因为apFFT泄漏小,互相影响小
2 信号中的频率你什么变, 如100.4 改为100.3 100.2
这时输出是60.1111111111138度, 60.1111111111144度, 60.1111111111159度
相位测量不变,
我们是测谱线峰值处的相位,不管频率偏离多少,在这一点测相位仍对,这个性质有点不好理解,在离散点可测频率连续变化时的相位,
但实测是如此,理论公式也证明如此,用全相位信号组成也解释得通,使DFT(离散Fourier变换)特别有用
全相位FFT的相位和频率偏离无关
3 你画出相位特性
subplot(2,1,1);stem(abs(yy2_fft),'.');
subplot(2,1,2);plot(yy2_phase);
(见附图)
相位特性在谱峰值附近是一条水平线,即频率偏离超过频谱线1格以上,相位测量仍正确,
如果是单复指数信号,,apFFT的相位特性是一条水平线(处处等於初相位值),FFT的相位特性是一条斜线(频偏时在峰值谱线处的相位也不等於初相位值)
当然,有噪时还是峰值处测的相位值最好
4你再加噪音,多次测均方差值,均不比FFT差,但优势不大,密集频谱好多些
要和fft作相位测量比较麻烦,因为fft的相位必用频偏校正,所以还要将频偏较正过来才行.
[ 本帖最后由 zhwang554 于 2007-5-29 07:17 编辑 ] |
|