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

📄 基于高阶累积量的music算法仿真.m

📁 本程序实现了在matlab环境下进行基于高阶累积量的MUSIC算法仿真
💻 M
字号:
%%基于高阶累积量的MUSIC算法仿真
clear all;
close all;
j=sqrt(-1);
Num=5;%阵元个数
f=20;
f1=10;
d=0.5;%阵元间距
t=[0:1/200:1]';
k=length(t);
theta_d=[10 70];
SNR=10;
theta=-90:0.1:90;
p_noise=2/10^(SNR/10);
noise=p_noise/2*randn(Num,k);
S=[sin(2*pi*f*t) sin(2*pi*f1*t)]';
for i=1:length(theta_d)
A(:,i)=exp(-j*(0:Num-1)'*2*d*pi*sin(theta_d(i)*pi/180));
end
X=A*S+noise;
R=X*X'/Num;
Rcum=(kron(X,conj(X))*(kron(X,conj(X))'))/Num-kron(X,conj(X))/Num*kron(X,conj(X))'/Num-kron(X*X'/Num,conj(X*X'/Num));
[V D]=svd(Rcum);
s1=diag(D);
[ss1,b1]=sort(s1);
bb1=b1((Num^2-length(theta_d)):-1:1);
En=V(:,bb1); %噪声子空间
% En=V(:,3:Num^2); %噪声子空间
[V1 D1]=eig(R);
s=diag(D1);
[ss,b]=sort(s);
bb=b((Num-length(theta_d)):-1:1);
En1=V1(:,bb); %噪声子空间
for i=1:length(theta)
at=exp(-j*(0:(Num-1))'*2*d*pi*sin(theta(i)*pi/180));
y1=En1'*at;
P1(i)=y1'*y1;
bt=kron(at,conj(at));
y=En'*bt;
P_index(i)=y'*y;
end
P_index=1./P_index;
P_index=10*log10(P_index);
P1=1./P1;
P1=10*log10(P1);
plot(theta,P1);
hold on;
plot(theta,P_index,'r');
hold off;
xlabel('Angle(degree)');
ylabel('Spectrum(d');
grid on;

⌨️ 快捷键说明

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