⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lv1.m

📁 信号的谱估计的相关问题例子
💻 M
字号:
clc;
clear;

fs=1;     
N=10000;
t=0:1/fs:N;

A=20^0.5;
B=A;
C=1;
x1=A*sin(2*0.15*pi*t);
x2=B*sin(2*0.2*pi*t);

noise=C*randn(size(t)); 

x=x1+x2+noise;

M=15;     %阶数
M1=20;     %阶数
%%%%%%%%求自相关函数
for m=0:M-1,            % 对r赋初值
    temp=0;
    for n=1:N-M,         
    temp=x(n)*x(n+m)+temp;
    end
    r(m+1)=(1/N)*temp;
end

a(m+1,m+1)=0;
a(1,1)=-r(2)/r(1);
xgm(1)=(1-(a(1,1))^2)*r(1);    %xgm为平方值

p=2;
  while   p<M
p=p+1;
    temp=0;
    for i=1:p-2
    temp=a(p-2,i)*r(p-i)+temp;
    end
    a(p-1,p-1)=-(r(p)+temp)/xgm(p-2);
     for k=1:p-2
        a(p-1,k)=a(p-2,k)+a(p-1,p-1)*a(p-2,p-k-1);
    end
    xgm(p-1)=(1-(a(p-1,p-1))^2)*xgm(p-2);   
  end

%%%%%%%%%%%%%根据数学模型计算功率谱  

q=1; 
for f=0:0.001:0.5-0.001;
w=2*pi*f;
t=0;
for i=1:p-1
t=t+a(p-1,i)*exp((-1)*j*w*i);
end
pxx(q)=(1/abs(1+t))^2;
q=q+1;
end

plot(f/(2*pi),pxx,'r')
f=0.001:0.001:0.5;
subplot(2,1,1);
axis([0 0.8 -20 120]);
plot(f,10*log(pxx));  
title('自编程序')

%%%%%%%%%%%%%%%%%%%%%%%
nfft=100;
subplot(2,1,2);
[pxx1,f1]=pyulear(x,M1,nfft,fs);
axis([0 0.4999 -20 120]);
plot(f1,10*log(pxx1));
title('用MATLB函数')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -