Oboyer 发表于 2012-1-12 11:37

关于全相位的振幅问题,希望大家踊跃讨论!!!

资料上说:apFFT的振幅谱就反映了FFT的功率谱,我用王老师书里附录3的“fft/apfft综合校正法”程序做了验证,发现一些问题,希望与大家探讨,程序如下(我只取了程序里的信号与求振幅的部分):
N=128;
t=-N+1:N-1;
f1=19.333333333333333;A1=0.888888888888888;ph1=100.111111111111111111;
y=A1*exp(j*(2*pi*t*f1/N+ph1*pi/180));
y1 = y(N:2*N-1);%后N个输入数据
win =hanning(N)';;
win1 = win/sum(win);%窗归1
y11= y1.*win1;
y11_fft = fft(y11,N);
a1 = abs(y11_fft);%FFT振幅谱
y2 = y(1:2*N-1);%2N-1个输入数据
winn =conv(win,win);%apFFT须要卷积窗
win2 = winn/sum(winn);%窗归1
y22= y2.*win2;
y222=y22(N:end)+;%构成长N的apFFT输入数据
y2_fft = fft(y222,N);;
a2 = abs(y2_fft);%apFFT振幅谱
subplot(211);plot(a1);
subplot(212);plot(a2);

第一幅图是FFT的振幅;第二幅图是apFFT的振幅。
下面绘制FFT的功率谱与apFFT的振幅谱:
subplot(211);plot(a1.^2/N);
subplot(212);plot(a2);

第一幅图是FFT的功率谱;第二幅图是apFFT的振幅。
由以上四幅图明显可以看出:
FFT的振幅与apFFT的振幅相近;但FFT的功率谱与apFFT的振幅根本就不在一个数量级上。
我的问题是:
1.这是不是说明apFFT的振幅谱不能反映FFT的功率谱呢?还是说要在满足什么特定的条件下才能反映?
2.我举得例子里FFT的振幅谱怎么和apFFT功率谱一样呢,从数学原理上
推导,apFFT的振幅不应该是FFT振幅的平方才对么?
这两个问题困扰了我很久,希望大家踊跃讨论,各位大虾不吝赐教啊!!

zhwang554 发表于 2012-1-12 20:51

本帖最后由 zhwang554 于 2012-1-12 21:26 编辑

N=128;
t=-N+1:N-1;
f1=19.333333333333333;A1=1;ph1=100.111111111111111111;
y=A1*exp(j*(2*pi*t*f1/N+ph1*pi/180));
y1 = y(N:2*N-1);%后N个输入数据
win =hanning(N)';;
win1 = win/sum(win);%窗归1
y11= y1.*win1;
y11_fft = fft(y11,N);
a1 = abs(y11_fft);%FFT振幅谱
y2 = y(1:2*N-1);%2N-1个输入数据
winn =conv(win,win);%apFFT须要卷积窗
win2 = winn/sum(winn);%窗归1
y22= y2.*win2;
y222=y22(N:end)+;%构成长N的apFFT输入数据
y2_fft = fft(y222,N);;
a2 = abs(y2_fft);%apFFT振幅谱
subplot(311);plot(a1);title('fft振幅谱');
subplot(312);plot(a2);title('apfft振幅谱')
subplot(313);plot(a1.^2);title('fft功率谱')



当A1=1的指数信号, a1.^2=a2

所以说apFFT的振幅谱就是FFT的功率谱不确切

Oboyer 发表于 2012-1-13 11:10

回复 2 # zhwang554 的帖子

那么请问老师,1.是不是只有幅度A=1的单频复指数信号,它的FFT功率谱才等于apFFT的振幅谱呢?
                         2.还有全相位的数据预处理是不是只能用两个Hanning窗卷积,而不能用矩形窗代替呢?
                         3.如果不是单频复指数信号,而是一个高频的载波信号,经过FFT的得到的振幅谱和经过apFFT得到的振幅谱有什么联系呢?还是平方的关系么?

谢谢老师

zhwang554 发表于 2012-1-14 00:43

本帖最后由 zhwang554 于 2012-1-14 12:33 编辑

回复 3 # Oboyer 的帖子

1. 只有幅度A=1的单频复指数信号,它的FFT功率谱才等于apFFT的振幅谱。
对不同A值时fft功率谱和apFFT的振幅谱的图形比较,参见zhwang554日志”如何读fft/apfft谱(一切尽在图中)”,
http://forum.vibunion.com/home-space-uid-62061-do-blog-id-17735.html
2. 全相位的数据预处理能用两个任意对称窗卷积, 也能用非卷积窗, 但防泄漏效果都不如用两个Hanning窗卷积。
3. 如果是COS信号,只有幅度A=2的三角函数信号,它的FFT功率谱才等于apFFT的振幅谱。

关于全相位fft泄漏是fft泄漏的平方,事实上这也只有在振幅为1的指数信号才成立,泄漏和信号振幅有关,下图是不伺信号振幅A下的apfft如fft的对数振幅谱,A分别为10000000000,1,0.0000000001,由图可见A=1, 全相位fft泄漏是fft泄漏的平方A=10000000000, 全相位fft泄漏大於fft泄漏的平方.A=0.0000000001, 全相位fft泄漏小於fft泄漏的平方若fft在振幅为1的指数信号时的泄漏为B分贝,则不管信号振幅多大,apfft泄漏性能比apfft好B分贝

chunmu126 发表于 2012-6-2 23:17

谢谢王老师的解答!

jinyi7016 发表于 2015-3-31 08:57

chunmu126 发表于 2012-6-2 23:17
谢谢王老师的解答!

自动搜索峰值的问题解决了么,求教啊
页: [1]
查看完整版本: 关于全相位的振幅问题,希望大家踊跃讨论!!!