DSP功率经典谱估计Matlab实现

% matlab实现经典功率谱估计
%周期图法 直接法:
Fs=1000; %采样频率
n=0:1/Fs:1;
%产生含有噪声的序列
xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));% randn(size(n))返回和n同样维数的随机数组 
window=boxcar(length(xn)); %矩形窗 boxcar产生矩形框
nfft=1024;
[Pxx,f]=periodogram(xn,window,nfft,Fs); %直接法  periodogram(xn,window,nfft,Fs)periodogram是用来计算功率谱密度的,参数中,X:所求功率谱密度的信号window:所使用的窗口,默认是boxcar,其长度必须与x的长度一致;nfft:采样点数;fs:采样频率。

plot(f,10*log10(Pxx));


% matlab实现经典功率谱估计
% 间接法:间接法先由序列x(n)估计出自相关函数R(n),然后对R(n)进行傅立叶变换,便得到x(n)的功率谱估计。
clear all;
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);
index=0:round(nfft/2-1);
k=index*Fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
plot(k,plot_Pxx);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值