📄 doa_estimation line.m
字号:
%七单元线形天线阵的波达方向估计
d = .5; %天线阵元的归一化间距
N = 8; %number of sensors
M = 4; %source number
K = 100; %snapshot
theta = [30 60 120 160];
Ps = 1; %signal power
SNR = 30; %signal to noise ratio
St = randn(M,K)+j*randn(M,K);
St = sqrt(Ps)*St;
Nt = randn(N,K)+j*randn(N,K);
Pn = Ps/(10^(SNR/10));
Nt = sqrt(Pn)*Nt;
Xt = zeros(N,K);
for m = 1:M
thetam = theta(m)*pi/180;
am = exp(j*pi*d*[0:N-1]'*cos(thetam));
Xt = Xt+am*St(m,:);
end
Xt = Xt+Nt;
Rx = Xt*Xt'/K;
[a,b,c] = svd(Rx);
Un = a(:,M+1:N);
thetat = 0:180;
for n = 1:length(thetat)
thetan = thetat(n)*pi/180;
an = exp(j*pi*d*[0:N-1]'*cos(thetan));
S_ca(n) = abs(1/(an'*inv(Rx)*an));
S_mu(n) = abs(1/(an'*Un*Un'*an));
end
S_ca = S_ca/max(S_ca);
S_mu = S_mu/max(S_mu);
plot(thetat,10*log10(S_ca),'b');
hold on
plot(thetat,10*log10(S_mu),'r');
xlabel('方位角');
ylabel('空间谱(对数坐标)');
grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -