帖子-时域和频域能量相等
Parseval 定理
有限上序列x{k}的离散fourier变换是正交变换,满足Parseval能量守恒定理,反映了序列在时域的能量等于其变换域的能量。
关于能量定义:信号幅度平方的积分,如果是数字信号,能量就是各点信号幅度值平方后的求和。
论坛帖子中关于等式关系给出的结论是:
求和 (x(tn)^2)T=RMS^2*Ttotal=求和(P(fn))△f*Ttotal
其中,x(tn)是n个x(t)时域采样数据,T是时间间隔,Ttotal是时间总长,
P(fn)是第n个功率谱密度值,△f是FFT频率间隔
最后的结论是相等的,但是信号的能量到底是sum(x.^2),还是sum(x.^2)*T?按照定义来说是前者没错。但是绝对的能量计算若不跟采样频率(采样间隔)结合起来,又有什么对比作用?
同样1000个点幅值为1,一组波形是1秒内采到的,另一组波形是10秒内采到的,按公式算,信号的能量相等,按sum(x.^2)*T计算,10秒采集到的波形的能量更大。
现实情况中,比较两个波形的能量或有效值,都是采样率相同,采样时间相同,所有不会遇到如此纠结的问题。
生成一组信号:
fs=1000;
>> N=1000;
>> n=0:N-1;
>> t=n/fs;
>> x=sin(2*pi*100*t);
>> nfft=1024;
>> deltF=fs/nfft;
>> window=hanning(N);
>> %直接法,periodogram函数得到的功率谱密度
>>[Pxx_period,f_period]=periodogram(x,window,nfft,fs);
> noverlap=50;
>>[Pxx_welch,f_welch]=pwelch(x,window,noverlap,nfft,fs);
计算原始信号的有效值为: 0.0224
画出频谱与功率谱密度为:
幅值谱的幅值理论上应为1,不到1的原因是fft变换的点数与采样点数不同所致。
利用FFT幅值谱的平方/N ,画功率谱密度结果跟上右图差不多。
xw=1.633*x.*window'; % 加汉宁窗(恢复系数为1.633),能量修正系数使加窗后能量保证不变
mag=abs(fft(xw,nfft));
Pxx_1=mag.^2/N/fs;
f=(0:nfft/2-1)/nfft*fs;
plot(f,Pxx_11(1:512)*2),title('Pxx_11')
关于功率谱密度计算,先做自相关计算,再做FFT也能得到功率谱密度。
最后结果为:
summary:
当采样点数=nfft时,deltF*N/fs=1;
功率谱密度直接求和即是频域能量。
用幅值谱的平方估计频域能量时,除完点数,还要除以采样频率。
时域能量要*采样间隔(1/fs)
有效值的平方*采样时间=时域能量;