📄 m3.m
字号:
%8阵元线天线,3个入射信号
%阵元数目
clear
clear all
M = 8;
%信号数目
K = 3;
%来波方向角度
w = [25*pi/180,28*pi/180,70*pi/180];
%阵列导向矢量生成
for i=1:M;
A(i,:) = exp(-j*(i-1)*pi*sin(w));
end
%信号
N = 10000;%采样数目
t =linspace(0,1,N);
s = [cos(2*pi*t);2*cos(6*pi*t);4*sin(4*pi*t)];
sigma = 1;
for i=1:M
noise(i,:) = sqrt(sigma)*randn(1,N);
end
%各个信号功率
p1 = s(1,:)*s(1,:)'/N;
p2 = s(2,:)*s(2,:)'/N;
p3 = s(3,:)*s(3,:)'/N;
p = [p1 p2 p3];
%信号之间互相关系数矩阵
for m=1:K
for n=1:K
comid(m,n) = s(m,:)*s(n,:)'/N;
co(m,n) = s(m,:)*s(n,:)'/N/sqrt(p(m)*p(n));
end
end
%计算相关矩阵
for m=1:M
for n=1:M
if(m==n)
R(m,n) = sum(sum(A(m,:)*A(m,:)'.*comid))+sigma+sum(A(m,:)*s.*noise(m,:))/N+sum(s'*A(m,:)'.*noise(m,:)')/N;
else
R(m,n) = sum(sum(A(m,:)*A(n,:)'.*comid))+sum(A(m,:)*s.*noise(n,:))/N+sum(s'*A(n,:)'.*noise(m,:)')/N+sum(noise(m,:).*noise(n,:))/N;
end
end
end
%生成导向矢量a
theta = linspace(0,90,N);
for i=1:M
a(i,:) = exp(-j*(i-1)*pi*sin(theta*pi/180));
end
%采用capton法计算DOA
for i=1:N
f(i) = 1/(a(:,i)'*inv(R)*a(:,i));
end
%plot(theta,abs(f));
%采用MUSIC法计算DOA
[v,r] = eig(R);
V = [v(:,1:5)];
for i=1:N
m(i) = 1/(a(:,i)'*V*V'*a(:,i));
end
plot(theta,abs(f),'b-',theta,abs(m),'r--');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -