📄 linearmusic.m
字号:
clc;
clear;
sig_num = 1000;%%信号的快拍数
fc=2000; %mhz
p=8;%智能天线阵元数
q=2;%number of signals
snr=10;
rou=0;
x1=randint(sig_num,1,2);%产生sig_sum*1的矩阵,数值在0-3之间
x2=randint(sig_num,1,2);
x3=randint(sig_num,1,2);
x222=rou*x1+sqrt(1-(abs(rou))^2)*x3;%产生相关的两路信号
x2=round(x222);
for i=1:sig_num
if x2(i)>=4
x2(i)=3;
elseif x2(i)<=0
x2(i)=0;
end
end
y1=dmod(x1,1,0.1,4,'psk',2);
y1=y1(1:sig_num);
y2=dmod(x2,1,0.1,4,'psk',2);
y2=y2(1:sig_num);
x=[y1';y2'];
s=x;
alpha=[10*pi./180,30*pi./180];
for i=1:q
for m=1:p
a(m,i)=exp(-j*2*pi*0.5*(m-1)*sin(alpha(i)));
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%music算法实现过程
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x=a*s;
for i=1:p
xn(i,:)=awgn(x(i,:),snr,'measured');
end
r=xn*xn'./sig_num;
% [V D]=eig(r);%求协方差矩阵的特征值和特征向量,V是满秩矩阵
% [lambda,index] = sort((diag(D)));%对特征值进行升序排列
% noisespace=V(:,index(1:6));%UU是噪声矩阵
[u,s1,v]=svd(r);
signalspace=u(:,1:q);
noisespace=u(:,((q+1):p));
lamda=diag(s1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%music功率谱
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
i=1;
for alpha1=0:0.1:90
n=[0:(p-1)]';
aa=exp(-j*2*pi*0.5*n*sin(alpha1*pi./180));
ww=aa'*noisespace*noisespace'*aa;
smusic(i)=abs(1./ww);
i=i+1;
end
alpha=0:0.1:90;
figure(1);
plot(alpha,20*log10(smusic),'k');
title('MUSIC功率谱');
xlabel('方位角/°');
grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -