📄 xianzhenmusic.m
字号:
%classical high resolution DOA estimation algorithm
%MUSIC ,
clear all; close all;clc;
J=sqrt(-1);
source_number=3;
source_doa=[-60 20 40];
sensor_number=8;
snapshort_number=100;
snr=10;
A=exp(-J*(0:sensor_number-1)'*pi*sin(source_doa*pi/180));
%s=(randn(source_number,snapshot_number)+J*randn(source_number,snapshot_number))/sqrt(2);
s1=randint(snapshort_number,1,4)';
s2=randint(snapshort_number,1,4)';
s3=randint(snapshort_number,1,4)';
ps1=pskmod(s1,4);
ps2=pskmod(s2,4);
ps3=pskmod(s3,4);
s=[s1; s2; s3]
x=A*s;
noise=randn(sensor_number,snapshort_number)+J*randn(sensor_number,snapshort_number);
[b,a]=ellip(4,0.1,40,[10e6 20e6]/40e6);
n=filter(b,a,noise)
%y=awgn(x,snr);
%Y=filter(b,a,y);
Y=x+n
R=Y*Y'/snapshort_number;
%[V,D]=eig(R);
%Un=V(:,1:sensor_number-source_number);
%Gn=Un*Un';
[U,S,V]=svd(R);
Un=U(:,source_number+1:sensor_number);
Gn=Un*Un';
searching_doa=-90:0.1:90;
for i=1:length(searching_doa)
a_theta=exp(-J*(0:sensor_number-1)'*pi*sin(pi*searching_doa(i)/180));
P_music(i)=1./abs((a_theta'*Gn*a_theta));
end
plot(searching_doa,P_music);
%axis([-90 90 -90 90]);
xlabel('入射角');
ylabel('谱峰');
legend('Music spectrum');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -