功率谱估计
功率谱估计是频域分析的主要手段。它的意义在于把幅度随时间变化的脑电波变换为脑电功率随频率变化的谱图,从而可直观地观察到脑电节律的分布与变换情况。
经典功率谱估计采用的是传统傅里叶变换分析方法(又称线性谱估计),主要包括直接法(又称周期图法)和间接法(又称自相关法)两种。
周期图法直接对观测数据进行快速傅里叶变换,得到功率谱。
自相关法先估计自相关函数,再计算功率谱。
由于周期图法直接使用FFT快速计算,所以应用比较广泛。
经典谱估计优点是计算效率高,缺点是频率分辨率低,常用于频率分辨率要求不高的场合。
本篇文章主要介绍直接法(周期图法)的原理以及实现
直接法又称周期图法,这种功率谱也具有周期性,常称为周期图。
周期图是信号功率谱的一个有偏估值,而且当信号序列的长度增大到无穷时,估值的方差不趋于零。
[说明:随着所取的信号序列长度的不同,所得到的周期图也不同,这种现象称为随机起伏。由于随机起伏大,使用周期图不能得到比较稳定的估值]
直接法原理
把随机序列的个观测数据看做能量有限的序列,直接计算的离散傅里叶变换,得,然后再取其幅值的平方,除以,作为序列真实功率谱的估计。
其定义如下: 长度为的实平稳随机信号序列的周期图为:
上式子中,,由于的DFT有周期性,所以也有周期性,是有偏估计。
第一步:计算个数据的傅里叶变换(即频谱):
第二步:取频谱和其共轭的乘积,得到功率谱:
案例说明
代码语言:javascript复制clear;
%采样频率
Fs=1000;
n=0:1/Fs:1;
%生成含有噪声的信号序列
xn=cos(2*pi*40*n) 3*cos(2*pi*100*n) randn(size(n));
%设置矩形窗
window=boxcar(length(xn));
nfft=1024;
%直接法
[Pxx,f]=periodogram(xn,window,nfft,Fs);
plot(f,10*log10(Pxx));
xlabel('频率/Hz');
ylabel('功率/dB')