matlab
实现功率谱密度分析
psd
及详细解说
功率谱密度幅值的具体含义??
求信号功率谱时候用下面的不同方法,功率谱密度的幅值大小相差很大!
我的问题是,计算具体信号时,到底应该以什么准则决定该选用什么方法啊?
功率谱密度的幅植的具体意义是什么??下面是一些不同方法计算同一信号的
matlab
程
序!欢迎大家给点建议!
直接法:
直接法又称周期图法,它是把随机序列
x(n)
的
N
个观测数据视为一能量有限的序列,直接
计算
x(n)
的离散傅立叶变换,得
X(k)
,然后再取其幅值的平方,并除以
N
,作为序列
x(n)
真实功率谱的估计。
Matlab
代码示例:
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));
间接法:
间接法先由序列
x(n)
估计出自相关函数
R(n)
,
然后对
R(n)
进行傅立叶变换,
便得到
x(n)
的功
率谱估计。
Matlab
代码示例:
clear;
Fs=1000; %
采样频率
n=0:1/Fs:1;
%
产生含有噪声的序列
xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
nfft=1024;
cxn=xcorr(xn,'unbiased'); %
计算序列的自相关函数
CXk=fft(cxn,nfft);
Pxx=abs(CXk);