wangze2008scu
发表于 2012-6-7 09:57
本帖最后由 wangze2008scu 于 2012-6-7 10:03 编辑
首先感谢王教授的回复!
在实际测量中还存在一个问题:不同采样点数分析的结果有差异,具体如下:
都设信号组成形式为y=A(k)*cos(2*pi*t*f(k)/fs+p(k)*pi/180)
1、apFFT/apFFT程序
①N=1024*16(为了为2的整数次方),FSX=0.625Hz,所需样点数49151 个,主要结果:
50.0004 29464.1715 107.6866
100.3120 2814.9313 316.0874
②N=1024*20(您的选择方案),FSX=0.50Hz,所需样点数49151 个,主要结果:
50.0000 29454.3726 107.7316
100.3510 1786.9090 353.9243(和您的检测结果一致)
2、apFFT加窗插值法(比值法)——With New Hanning Window
①N=1024*16(为了为2的整数次方),FSX=0.625Hz,所需样点数32767 个,主要结果:
50.0015 29464.361 107.687
100.2068 2340.518 316.087
②N=1024*20,FSX=0.50Hz,所需样点数40959 个,主要结果:
49.9995 29454.413 107.732
100.2550 2181.158 353.924
③N=1024*32(为了为2的整数次方),FSX=0.3125Hz,所需样点数65535个(恰好所有点数用完),主要结果:
50.0004 29470.042 107.814
100.3748 2105.843 140.896
问题:
不同的方法,不同的点数,结果相差较大,我实际检测的时候应该怎么抉择呢?请老师指教~
我有想引入一个量化标准来比较测量结果重构信号相比原信号的偏差值,参见了“压缩传感-稀疏信号的采样与重构”论文里面的重构归一化误差公式,虽然可以比较上述的重构误差,但还是不太清楚是否测量准确?可信度有多少?
zhwang554
发表于 2012-6-7 19:14
本帖最后由 zhwang554 于 2012-6-8 05:01 编辑
回复 31 # wangze2008scu 的帖子
对己知模拟信号, 这二种方法,不同的点数,不同的起点, 结果完全一致,说明方法没有问题。
对工程信号, 不同的方法,不同的点数,不同的起点, 结果相差较大,这只能是信号本身引起的。信号受随机噪声影响, 各点都不一样, 不同的起点就不一样, 取多取少, 更不一样。二种方法,apfft/apfft只须主峰一条谱线, 测的是相位, 而比值法, 还须次峰线, 测的是振幅, 它们受随机噪声影响不同, 结果当然有差列别,而且相差较大。
所以对工程信号,测的结果能看出趋势,影响因素就不错了,如本案例能从乱七八槽的相位谱找出峰值对应的水平相位来判断是否是单一频率成份, 去除间谐波减少波形波动。具体数值, 分散性小就很好了。如你测的振幅, 50Hz的分散性就小, 几万个差几十, 而100Hz的就很大,几千个差几百, 但几百和信号几万比还不算大, 振幅几万的信号受随机噪声影响, 加上测试方法的影响可以引入几百的差别。
由二种方法而言, apfft/apfft只须主峰一条谱线, 而比值法, 还须次峰线, 从常识看, 受噪声影响apfft/apfft法要好些, 但apfft/apfft所需样点多,受噪声影响也多了。
VA1数椐本身噪声大,大於泄漏的影响, 所以 用fft和apfft差别不大, 用apfft只是相位谱好些。频谱分析中测相位是有用的,重构某一频率成份,去除某一频率成份,就要知道一个已知时刻的正确相位值。
对随机误差,用多次测量,或不同方法测量的结果平均也有效果,如用你在31 # 测的两种方法apFFT/apFFT程序N=1024*20结果:
100.3510 1786.9090 353.9243apFFT加窗插值法(比值法)N=1024*20结果:
100.2550 2181.158 353.924的平均值来去除100Hz附近的间谐波效果如下:
图一 VA1数椐波形和去掉100.3030Hz间谐波后波形(两种方法平均)
随机噪声下在apfft/apfft法中测频率值100.3510偏大, 在apfft比值法中测频率值100.2550偏小,平均值100.3030误差小些,去掉100.3030Hz间谐波效果比30#的图一好些。平均值100.3030正如你在时域看到的0.3Hz的波动。但这样做有点凑合,只能参考。
正如你说因为工程信号本身就没有绝对精确值可以参考。
wangze2008scu
发表于 2012-6-7 19:39
回复 32 # zhwang554 的帖子
确实,工程信号分析较复杂,影响因素也很多,不同的方法有不同的结果,实际测量中也只能测个大概,因为本身就没有绝对精确值可以参考。再次感谢老师的回复~
xjzhendong
发表于 2012-11-4 22:10
真心好帖子 谢谢大家的讨论 学习一下。最近我想把王老师的原理弄懂后了,编一段c++的程序,用作毕业论文,大家可以交个朋友,互相学习
晴天孙子
发表于 2012-12-20 10:10
王老师你好:
如果我在三个序列中加一个很小的50Hz的工频噪声,哪全相位时移相位差法能不能算准ph相位?我试了一下算不准,是不是程序其他地方要改?
s1=A1*cos(2*pi*t1*f/fs+ph*pi/180) + 0.1*cos(2*pi*t1*50/fs);
s2=A2*cos(2*pi*t2*f/fs+ph*pi/180) + 0.1*cos(2*pi*t2*50/fs);
s3=A3*cos(2*pi*t3*f/fs+ph*pi/180) + 0.1*cos(2*pi*t3*50/fs);
ljhmiaobi
发表于 2015-7-4 14:11
学校了,刚开始研究全相位,谢谢分享!