请求apFFT完整的算法,过程
请问apFFT对相位的计算帮助有多大,具体如何计算? “如何准确确定信号中强线谱的相位?”的帖子为:http://forum.vibunion.com/forum/thread-41548-1-1.html
“请教全相位谱分析问题”的帖子为:
http://forum.vibunion.com/forum/thread-41727-1-1.html
apFFT相位测量法
对频率49.2,初相位100度余弦信号,你取N个样点,作FFT分析N=128;
t=0:N-1;
y=cos(2*pi*t*49.2/N+100*pi/180);
y1 = y(1:N);
win =hanning(N)';;
win1 = win/sum(win);
y11= y1.*win1;
y11_fft = fft(y11,N);
y1_amplitude = abs(y11_fft);
y1_phase = phase(y11_fft);
subplot(4,1,1),stem(y1_amplitude,'.');title('FFT振幅谱')
subplot(4,1,2),stem(y1_phase,'.');title('FFT相位谱')
你也可以取2N-1个样点,作全相位FFT分析,
全相位FFT分析的matlab程序如下
t=-N+1:N-1;
y=cos(2*pi*t*49.2/N+100*pi/180);
y2 = y(1:2*N-1);
win =hanning(N)';;
winn =conv(win,win);
win2 = winn/sum(winn);
y22= y2.*win2;
y222=y22(N:end)+;
y2_fft = fft(y222,N);
y2_amplitude = abs(y2_fft);
y2_phase = phase(y2_fft);
subplot(4,1,3),stem(y2_amplitude,'.');title('apFFT振幅谱')
subplot(4,1,4),stem(y2_phase,'.');title('apFFT相位谱')
('FFT相位测量值')
p1=mod(y1_phase (50)*180/pi,360)
('FFT相位校正值')
p11=mod(y1_phase (50)*180/pi-(49.2-49)*180*(1-1/N),360)
('apFFT相位测量值')
p2=mod(y2_phase (50)*180/pi,360)
程序运行结果是
FFT相位测量值
p1 =135.718699628317
ans =
FFT相位校正值
p11 =99.9999496283172
ans =
apFFT相位测量值
p2 =100.000000000029
FFT测的是N个样点的第1点相位,在本例中是t=0时的相位,即初相位,但测值为135.718699628317,不是100,有频偏时(采样频率不是被测频率整数倍),需校正得99.9999496283172,所以须将49.2频率测出,可以用任何一种离散频谱校正法测出49.2(这也会带来误差)
apFFT测的是2N-1个样点的中间点相位,在本例中是t=0时的相位,即初相位(注意apFFT时,t=-N+1:N-1),测值为100.000000000029,有频偏时不需校正,
apFFT的泄偏是FFT的平方,所以在多频时,互相干扰小,cos信号有二条谱线有互相干扰,但全相位干扰小测得更准(比FFT校正后)
[ 本帖最后由 zhwang554 于 2008-5-21 17:10 编辑 ]
谢谢~!
好感谢您的解答,我还在继续的学习中,有问题我会继续请教~!:@)FFT和apFFT频谱图比较实例 (回复楼主)
为了直观, 给一个图示实例: 二个余弦信号(一个大信号振幅1, 频率20.4,, 初相位45度, 另一个小信号振幅0.001, 频率28.2, 初相位90度)cos(w*t*(20.4)/N+pi/4)+0.001*cos(w*t*(28.2)/N+pi/2)
用3楼的程序, 上述信号N=128阶hanning窗时的FFT 和apFFT的对数振幅谱和相位谱如下图, 可见
apFFT的对数振幅谱泄漏比FFT小一倍, 振幅0.001的28.2赫小信号在FFT中已被频率20.4赫大信号的泄漏掩没,显示不出来,而在apFFT中清晰可见,
二个信号初相位45度和90度在FFT的相位谱中均不正确, 须校正, 而apFFT相位谱正确显示. 不用校正.
[ 本帖最后由 zhwang554 于 2008-7-17 11:01 编辑 ] 谢谢了 收获很大
请问,怎么就能知道 apFFT的对数振幅谱泄漏比FFT小一倍呢?而且, 呜呜,看不到附件,刚来论坛,伤不起啊 努力学习中了 zhwang554 发表于 2008-5-21 15:56
对频率49.2,初相位100度余弦信号,你取N个样点,作FFT分析
N=128;
您好,我想问下p2=mod(y2_phase (50)*180/pi,360)
式中为什么带第50个点
页:
[1]