• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 0 次
    发布日期: 2024-01-20
  • 语言: Matlab
  • 标签: MATLAB  Welch  burg  

资源简介

MATLAB代码经典功率谱估计,Welch法、协方差法、周期图、burg法及其对比,附完整注释

资源截图

代码片段和文件信息

clc
clear all;
M=10;     %数据组数
N=1024;   %数据点数
nfft=2*N; %FFT变换为复序列
fs=1;     %归一化采样频率



%%产生AR(4)采样样本10*1024
for n=1:M
  wn=wgn(1N-30);  %白噪声
for i=1:4
  x(ni)=wn(i);
end;
for j=5:N
  x(nj)=-0.98*x(nj-1)-1.92*x(nj-2)-0.94*x(nj-3)-0.92*x(nj-4)+wn(j); 
end;

end;
%%
%真实功率谱syms ff;
a=[zeros(1N)10.981.920.940.92]; %模型系数
b=xcorr(alength(a)-1);  %自相关
c=(abs(fft(b))).^2;
Px=-10*log10(c);
figure;
plot(Px(1:N));    %真实功率谱
title(‘真实功率谱‘);xlabel(‘f(未归一化)‘);ylabel(‘P(dB)‘)

%%
%周期图法功率谱估计
figure;
sum_Pxx=0;
for j=1:1:M
window=hamming(N);%汉明窗
[Pxxf]=periodogram(x(j:)window2*Nfs); 
sum_Pxx=sum_Pxx+abs(Pxx);
end
f=f/max(f)/2;%归一化
plot(f10*log10(sum_Pxx/M));title(‘周期图法‘);xlabel(‘f(Hz)‘);ylabel(‘P(dB)‘);


%%
%WELCH法功率谱估计
figure;
L=[256 128 64];   %数据段长度取值
for i=1:1:length(L)
sum_Pxx=0;
for j=1:1:N/L(i)
    window=hamming(L(i));%汉明窗
    noverlap=length(wi

评论

共有 条评论