matlab实现周期图法,周期图法功率谱估计

程序以及仿真图如下:

clear

clc

fs=1024; %采样频率fs

m=0:(fs-1);

n=0:(1/fs)*2*pi:(1-1/fs)*2*pi;

nn=0:1/fs:(1-1/fs);

xn0=sqrt(20)*sin(2*pi*0.2*m)+sqrt(2)*sin(2*pi*0.213*m);

xn=awgn(xn0,0); %产生含有噪声的序列xn

%直接法

fxw=zeros(1,fs);

fxww=zeros(1,fs);

fxww(1)=xn(1);

for i=1:fs

for

k=2:fs

fxww(k)=fxww(k-1)+xn(k)*exp(-j*k*n(i));

end;

fxw(i)=fxww(fs);

end;

pxw11=(abs(fxw).^2)/fs;

%图一:直接法

figure(1)

%pxw12=10*log(10*(pxw11));

plot(nn,pxw11,'r')

grid on

title('直接法功率谱估计')

%间接法

rxk=xcorr(xn,'unbiased');%计算序列的自相关函数

pxw21=fft(rxk,fs);

index=0:round(fs/2-1);

pxw22=abs(pxw21);

%pxw23=10*log(10*(pxw22));

%图二:间接法

figure(2)

plot(nn,pxw22,'r');

grid on

title('间接法功率谱估计')

%加窗函数法

window=hamming(length(xn));%海明窗

pxw31=abs(fft(xn.*window'));

%pxw32=10*log(10*(pxw31));

%图三:加窗函数法

figure(3)

plot(nn,pxw31,'r');

grid on

title('加窗函数法功率谱估计')

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值