mission 发表于 2011-7-6 10:48

全相位谱分析 时移相差法

   利用全相位时移相差法进行谱分析,第一段假设序列为x(1)到x(2N-1)点,第二段序列为x(L+1)到x(2N-1+L)点,分别将两段序列进行全相位数据预处理,然后进行FFT。可分别得到第一段、第二段序列频域主谱线处的相位phi1,phi2.
将两主谱线上相位相减,得到delta_phi=phi2-phi1
根据w*L=delta_phi.可得信号频率估计式:w*=delta_phi/L
在看王翔东 博士论文这一块时 里面提到相位模糊现象 需采用修正补偿 ,补偿后频率估计公式为:w*=delta_phi/L+2k*pi/N(1)
但又说在延时L=N时,不需要进行相位补偿 那么就是w*=delta_phi/L(2)
这样(1)、(2)不是矛盾了吗?
另外我在采用此方法 用matlab仿真时 所测相位精度很高 我也进行了FPGA实现 精度仍然很高符合其给出结果。 但是在进行幅值和频率估计时,精度就很低了,只有0.01,不知道怎么回事,有么有人碰到过类似情况啊,求大侠帮忙!!

kaka625 发表于 2011-7-6 15:41

回复 1 # mission 的帖子

最近我也在看这个全相位,觉得挺好的。你的那个数据序列取的是不是有点问题,可能应该是这样的,取2n-1个序列,后N个做FFT,整个2n-1个做全相位,在实际中应用时这样得到的相位是第N点的初始相位,然后看要不要转换成第1点的相位。如何在实际中用我现在也有点不懂,还在学习中。

kaka625 发表于 2011-7-6 16:39

回复 1 # mission 的帖子

那个不矛盾,我翻了下书的,因为相移的补偿值为2*k*n1*pi/N,当偏移n1为N时,相位补偿值总为2*k*pi,这就根本没必要补偿了

mission 发表于 2011-7-7 09:17

回复 3 # kaka625 的帖子

恩 我明白你意思
但是很明显书上意思是说,不管偏移为多少,w*=delta_phi/L+2k*pi/N(1)公式应该是通用的。但给出n1=N,时就用w*=delta_phi/L(2)此公式计算就可以。这样利用(1)、(2)得出的结果很明显不同。我参阅给出的程序实例,延时为N时,计算频率也是按照公式(1)计算的
另外apFFT时移相差法与传统FFT时移相差法原理类似,在传统FFT时移相差法里 怎么就没有提到相位模糊这一概念呢

kaka625 发表于 2011-7-7 16:25

回复 4 # mission 的帖子

所谓的相位模糊,我认为是,因为全相位把相位差限定在[-2*pi,2*pi]之间。如果本来差的相角是2*pi+30度。但是我们只能得到30度这个值,所以得要补偿。http://forum.vibunion.com/home-space-do-blog-uid-62061-id-18060.html你用这个程序,应该好用

mission 发表于 2011-7-8 10:02

回复 5 # kaka625 的帖子

恩 多谢啦
我自己编写了一个程序 当延时长度为N时 采用公式(1)即可得正确结果 这样的话 利用公式(2)显然不对。说明公式(1)是通式。这样理解的话 说明全相位时移相差法均需相位补偿。不知道这样理解对不对。另外对于相位模糊那一块,通过理解主谱线产生相移来说明相位差补偿值 不是很理解

kaka625 发表于 2011-7-11 09:29

回复 6 # mission 的帖子

不用全部做相位补偿,当为N的时候后,要补偿的相位值就为2*pi的整数倍,这样补不补偿对结果都没有影响。相移的补偿值为2*k*n1*pi/N,当偏移n1为N时,不就是整数倍的2*pi吗。给你的那个连接我试过了的,程序好用,也没做补偿,因为间隔是整数倍了

zhwang554 发表于 2011-7-11 11:16

回复 6 # mission 的帖子和 5 # kaka625 的帖子

本帖最后由 zhwang554 于 2011-7-11 22:30 编辑

   6楼mission理解得对,全相位时移相差法均需相位补偿, 当n0=N,则主谱线上也就是的相位差补偿值为整个圆周相角的整数倍, 相对应的频率补偿值为整数。补偿值为整数也是补偿。书中和论文中说”在延时L=N时,不需要进行相位补偿”不确切,不对。当n0=N时,不补偿计算出的是频偏, 再从主谱线估算频率整数值。kaka625给的那个连接的程序中做了补偿,补偿值是k0-1。
   5楼 kaka625说的所谓相位模糊非常好,是因为把相位差限定在[-2*pi,2*pi]之间。如果本来差的相角是2*pi+30度。但是我们只能得到30度这个值,所以得要补偿。   公式(1)应可以测整个频率k+dk, 由於相位360度循环, phi2>>360度, 测不到。所以测整个频率k+dk不易. 一般先测出频偏dk, 再从主谱线估算频率整数值k。当n0=N时,计算出的是频偏,这样补不补偿对结果都没有影响。   各种校正方法中最关键是测频偏(采样频率选为N, 即fft的频率分辨率为1Hz/格,频偏也就是频率的小数部分), 由频偏可校正频率,可校正振幅, 校正频率后可得任一点的相位, 在FFT中可校正初相位。

文龙轩夕林梦 发表于 2011-7-12 11:35

emd分解出的图形的x轴对应的为点数N,怎么才能使得x轴对应的是时间t

mission 发表于 2011-7-13 09:12

回复 8 # zhwang554 的帖子

恩,非常感谢您的回答。 相位模糊本身概念意义我明白。按照公式(1)计算,则频偏dw=delta_phi/L。但是书上由测量频率估计计算公式为 :w*=delta_phi/L,然后提到由于相位模糊需做补偿,让人不是很理解。
如果我在进行测量的时候,本身没有相位模糊现象存在呢?这样的话不就不需要相位补偿了吗?此时如果仍然利用w*=delta_phi/L+2k*pi/N(1)不就不正确了吗?
另外在测量幅值的时候,书上给的参考程序采用汉宁窗,幅值校正公式不明白怎么来的。我直接利用推导公式:A=Y(K*)/Fg^2,测量幅值。分别做了汉宁窗(双窗apFFT)以及矩形窗(无窗apFFT)情形下,信号频率不是分辨率整数倍情形下的幅值校正,精度均很高。但是存在一个问题,前后窗采用矩形窗时,在某些分辨率情形下,幅度精度有畸变,测量精度很差。
这是为什么呢?不知道有没有人遇到同样的情形
页: [1]
查看完整版本: 全相位谱分析 时移相差法