📄 music.m
字号:
%%%%%%@@@@@@@@@
%%%%%%经典MUSIC算法◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
clc;
clear;
close all;
tic
M=8;%阵元数目
snap=1000;%快拍数目
C=3e8;
f0=6*10e6;
lamda=C/f0;
d=0.5*lamda;
theta0=-20;
theta1=0;
theta2=20;
fs=256;
ts=1/fs;
t=(0:snap-1)*ts;
a=[0:M-1]';%阵列矢量
u0=5;
u1=5.3;
u2=10;
SNR=0;
randn('state',0);
real_noise=randn(M,snap);
randn('state',3);
imag_noise=randn(M,snap);
noise=(real_noise+j*imag_noise)/2^0.5;
B=sqrt(2)*(10.^(SNR/20));
s0=B*exp(j*2*pi*(f0*t+0.5*u0*t.^2));
s1=B*exp(j*2*pi*(f0*t+0.5*u0*t.^2));
s2=B*exp(j*2*pi*(f0*t+0.5*u0*t.^2));
%阵列流行矢量
a_theta0=exp(-j*2*pi*d/lamda*a*sin(theta0/180*pi));
a_theta1=exp(-j*2*pi*d/lamda*a*sin(theta1/180*pi));
a_theta2=exp(-j*2*pi*d/lamda*a*sin(theta2/180*pi));
A=[a_theta0 a_theta1 a_theta2];%
S=[s0;s1;s2];
X0=A*S;
X=X0+noise;%%%%%%%%%%------------=========完整的基带信号
Rx=X*X'/length(t);
%特征值分解
%--------------------------------------------
[V D]=eig(Rx);
Vn=V(:,1:M-3); %小特征值对应的特征向量,即噪声子空间:
%--------------------------------------------
%做图
%--------------------------------------------'
theta=-90:0.01:90;
for ii=1:length(theta)
a_theta=exp(-j*2*pi*d/lamda*a*sin(theta(ii)/180*pi));
pw1(ii)=10*log10(abs(1/(a_theta'*Vn*Vn'*a_theta)));
end
figure(1)
plot(-90:0.01:90,pw1);grid on;xlabel('角度');ylabel('峰值/dB');
%legend(['阵元数目:' num2str(M)],['SNR=' num2str(SNR) 'dB']);
xlim([-90 90]);
hold on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -