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

📄 mmusic102.m

📁 多重信号分类算法
💻 M
字号:
%改进双向空间平滑music算法,10阵元 等距阵波达方向估计(d=λ/2),2信源  5个子阵(6阵元)
v=2;
N=2000;                                                %设定采样点数
SNR=[-5 8];                         
fs=8;                             
f=[0.9 0.9];                                          %设两个信号元的频率,单位为MHz
w=[20 30]*pi/180;                                     %入射方向角向量
phi=[60 20]*pi/180;                                   %两入射信号初始相位
M=10;                                                 %设定阵元数
AMP=10.^(SNR./20);              
m=0:M-1;
n=0:N-1;
S=repmat(AMP',1,N).*exp(-j*(2*pi*f.'/fs*n+phi'*ones(1,N)));          %产生两个远场正弦信号
A=exp(-j*2*pi*d*m'*(sin(w)/v));                       %方向矩阵
X=A*S;
noise=randn(M,N)+j*randn(M,N);
X=X+noise;                                            %接受数据矩阵
r=X*(X)'/N;
J=rot90(eye(5));
for k=1:6
    b=sprintf('r%d',k);
    c=sprintf('rb%d',k);
    rk=sprintf('rk%d',k);
    F=[zeros(5,k-1) eye(5) zeros(5,6-k)];
    f=F.';
    eval([b,'=','F','*r*','f;']);
    eval([c,'=J*conj(',b,')*J;']);
    eval([rk,'=(',b,'+',c,')/2;']);
end
rx=(rk1+rk2+rk3+rk4+rk5)/5;
[V,D]=eig(rx);
[bn,index]=sort(diag(D));
Vn=V(:,index);
Un=Vn(:,[1:3]);
II=Un*(Un)';
w=[-pi/2:pi/180:pi/2];
for l=1:length(w)
    ao=[exp(-j*pi*sin(w(l))*[0:4])].';
    pm(l)=(ao)'*ao*(inv((ao)'*II*ao));
     p(l)=10*log10(abs(pm(l)));
end
figure(1)
polar(w,p);title('P(f/b)')
figure(2)
t=w*180/pi;
plot(t,p);grid;
title('双向空间平滑算法');
ylabel('P(\theta) (dB)');
xlabel('\theta (deg)');
hold on

⌨️ 快捷键说明

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