From: Off-Grid Direction-of-Arrival Estimation Using Coprime Array Interpolation
IEEE SIGNAL PROCESSING LETTERS, VOL. 25, NO. 11, NOVEMBER 2018
目录
主要内容
提出互质阵列插值的离网(Off-grid)DOA估计方法。
优点:可实现的自由度和估计精度性能更佳。
一、阵列模型
互质阵列结构:
接收信号:
插值后的ULA结构:
ULA接收信号:
选择向量:
则有:
这里,Xu表示理论(完美无hole)的ULA的接收信号,可认为是:
ULA采样协方差矩阵为:
K为快拍数。
因为Yu在hole时初始化为0,因此在利用Ryy进行DOA估计之前需要对其中未知的相关元进行恢复。
理论上ULA的协方差矩阵为:
即希望能从Ryy中恢复Rxx。
因为Rxx具有Hermitian Toeplitz structure的先验,因此,DOA估计问题可转变为以下的优化问题:
其中:
以上优化问题是一个NP-hard问题,因此,利用矩阵核范数凸松弛,可转变为:
其中,核范数可以表示为:
则,优化问题可以表示为:
上述优化问题是凸的。可通过CVX解决。
得到T后可通过MUSIC等方法进行解决。
注意:最优解T是ULA接收信号协方差矩阵Rxx的估计,实现了自由度由|S|到|U|的增加。该方法亦可推广到其他稀疏阵列,表现为选择向量或选择矩阵不同。
参数选择:正则化参数为0.24,M=3,N=5,快拍数为500,SNR=0。
二、MATLAB仿真
代码如下:
%% Off-Grid Direction-of-Arrival Estimation Using Coprime Array Interpolation
%% IEEE SIGNAL PROCESSING LETTERS, VOL. 25, NO. 11, NOVEMBER 2018
clc;
clear all;
close all;
M = 3;
N = 5;
L = M+N-1;
array1 = 0:M:(N-1)*M;
array2 = 0:N:(M-1)*N;
array = [array1 array2];
array = unique(array);
arraymax = max(array);
d = 0.5;
theta = [ 1 -10];
K = length(theta);
A = exp(-1i*2*pi*d*array'*sind(theta));
snap = 500;
t=1:snap;
f0 = 0.005;
s = 2.*(ones(K,1)*exp(1j*2*pi*(f0*t)));%独立信源
% s = randn(length(theta),snap);
% s = complex(rand(length(theta),1),rand(length(theta),1));
% phi = rand(1,snap) + 0.0;
% s = s*exp(-1i*2*pi*phi);
x= A*s;
snr = 20;
x = awgn (x,snr);
%% x重排为xv
xv = zeros(arraymax+1,snap);
for ii = 0:arraymax
count = find(ii == array);
if count
xv(ii+1,:) = x(count,:);
end
end
Rv = xv*xv'/snap;
MM = size(Rv,2);
b = zeros(1,arraymax+1);
b(array+1)=1;
B = b*b';
%%%%%利用CVX工具箱求解凸优化问题%%%%%
mu = 0.25;
cvx_begin sdp quiet
% cvx_precision high
cvx_solver sdpt3
variable T(MM,MM) hermitian toeplitz semidefinite
minimize( sum_square_abs(vec((T-Rv).*B )) + mu * trace(T) ) %目标函数
cvx_end
derad = pi/180;
[EV,Dv] = eig(T);%特征值分解
DD = diag(Dv);%将特征值变为向量形式
[DD,I] = sort(DD);%从小到大
DD = fliplr(DD');%翻转函数,从大到小
EV = fliplr(EV(:,I));
En = EV(:,K+1:end);%噪声子空间
dm_ss = 0:arraymax;
dm_ss = dm_ss*d;
for ii = 1:2001
angle(ii) = (ii-1001)*90/1000;
phim = derad*angle(ii);
a = exp(-1j*2*pi*dm_ss*sin(phim) ).';
Pmusic(ii) = 1/(a'*En*En'*a);
end
Pmusic = abs(Pmusic);
Pmax = max(Pmusic);
Pmusic_db = 10*log10(Pmusic/Pmax);
plot(angle,Pmusic_db);
hold on;
plot([theta(1),theta(1)],ylim,'m-.');
plot([theta(2),theta(2)],ylim,'m-.');
仿真结果:1与-10
当1与-1时:
可以看出,效果没有上一篇效果好。
基于原子范数最小化的互质阵列相干源DOA估计_weixin_43283365的博客-优快云博客
总结
理论推导不够细致,RMSE也没有计算。之后再填坑吧。
请各位大佬们指点。