当前位置:   article > 正文

DOA定位CRLB

doa定位

DOA观测模型

DOA即direction of arrival,包括目标到达观测站的方位角和仰角
下图所示为在三维空间直角坐标系下,DOA定位示意图
三维坐标下DOA定位示意图
利用M个观测站进行定位
假设第i个观测站的坐标向量为:   s i o = [ s i x o , s i y o , s i z o ] T \ \boldsymbol s^o _i =[s^o_{ix},s^o_{iy},s^o_{iz}]^T  sio=[sixo,siyo,sizo]T ,目标的位置向量为:   u o = [ u x o , u y o , u z o ] T \ \boldsymbol u^o =[u^o_{x},u^o_{y},u^o_{z}]^T  uo=[uxo,uyo,uzo]T 。因此,方位角和仰角可以由

θ i o = a r c t a n ( u y o − s i y o u x o − s i x o ) \theta^o_i =arctan \left( \frac{u^o_{y}-s^o_{iy}} {{u^o_{x}-s^o_{ix}}} \right) θio=arctan(uxosixouyosiyo)
ϕ i o = a r c t a n ( u z o − s i z o ( u x o − s i x o ) 2 + ( u y o − s i y o ) 2 ) ) \phi ^o_i =arctan \left( \frac{u^o_{z}-s^o_{iz}} {\sqrt{(u^o_{x}-s^o_{ix})^2+(u^o_{y}-s^o_{iy})^2}} ) \right) ϕio=arctan (uxosixo)2+(uyosiyo)2 uzosizo)
其中 θ i o \theta^o_i θio ϕ i o \phi ^o_i ϕio分别表示目标到达第i个观测站的方位角和仰角的真实值。由于在实际中我们仅能够获得带有测量噪声的测量值,因此建立如下观测模型:
θ = [ θ 1 o , θ 2 o , . . . , θ M o ] T + [ δ θ 1 , δ θ 2 , . . . , δ θ M ] T = θ o + n 1 \boldsymbol \theta =[\theta^o_1,\theta^o_2,...,\theta^o_M]^T+[\delta \theta_1,\delta \theta_2,...,\delta \theta_M]^T=\boldsymbol \theta^o+n_1 θ=[θ1o,θ2o,...,θMo]T+[δθ1,δθ2,...,δθM]T=θo+n1
ϕ = [ ϕ 1 o , ϕ 2 o , . . . , ϕ M o ] T + [ δ ϕ 1 , δ ϕ 2 , . . . , δ ϕ M ] T = ϕ o + n 2 \boldsymbol \phi =[\phi ^o_1,\phi ^o_2,...,\phi ^o_M]^T+[\delta \phi _1,\delta \phi _2,...,\delta \phi _M]^T=\boldsymbol \phi^o+n_2 ϕ=[ϕ1o,ϕ2o,...,ϕMo]T+[δϕ1,δϕ2,...,δϕM]T=ϕo+n2
θ o \theta^o θo ϕ o \phi^o ϕo分别表示分别表示方位角和仰角的真实值向量。 n 1 \boldsymbol n_1 n1, n 2 \boldsymbol n_2 n2为对应的噪声向量,其均服从零均值高斯分布,协方差矩阵分别为 Q 1 \boldsymbol Q_1 Q1 Q 2 \boldsymbol Q_2 Q2
因此可以得到DOA观测向量为:
z = z o + n = [ ( θ o ) T , ( ϕ o ) T ] T + [ n 1 T , n 2 T ] T \boldsymbol z =\boldsymbol z^o+\boldsymbol n=[(\boldsymbol \theta^o)^T,(\boldsymbol \phi^o)^T]^T+[\boldsymbol n^T_1,\boldsymbol n^T_2]^T z=zo+n=[(θo)T,(ϕo)T]T+[n1T,n2T]T
其中 n n n的协方差矩阵为 Q = b l k d i a g ( Q 1 , Q 2 ) \boldsymbol Q=blkdiag(\boldsymbol Q_1,\boldsymbol Q_2) Q=blkdiag(Q1,Q2)

CRLB

位置参数向量为   u o = [ u x o , u y o , u z o ] T \ \boldsymbol u^o =[u^o_{x},u^o_{y},u^o_{z}]^T  uo=[uxo,uyo,uzo]T,测量向量为 z \boldsymbol z z。因此 z \boldsymbol z z关于   u o \ \boldsymbol u^o  uo的对数似然函数为:
l n ( p ( z ∣ u o ) ) = κ − ( 1 / 2 ) ( z − z o ) T Q − 1 ( z − z o ) ln(p(\boldsymbol z|\boldsymbol u^o))=\kappa-(1/2)(\boldsymbol z-\boldsymbol z^o)^T\boldsymbol Q^{-1}(\boldsymbol z-\boldsymbol z^o) ln(p(zuo))=κ(1/2)(zzo)TQ1(zzo)
其中 κ \kappa κ表示常数项

因此,Fisher信息矩阵可以表示为:
F = E ( ( ∂ l n ( p ( z ∣ u o ) ) ∂ ( u o ) T ) ( ∂ l n ( p ( z ∣ u o ) ) ∂ ( u o ) T ) T ) = ( ∂ z o ∂ ( u o ) T ) Q − 1 ( ∂ z o ∂ ( u o ) T ) T F=E \left( \left( \frac {\partial ln(p(\boldsymbol z|\boldsymbol u^o))}{\partial (\boldsymbol u^o)^T} \right) \left( \frac {\partial ln(p(\boldsymbol z|\boldsymbol u^o))}{\partial (\boldsymbol u^o)^T} \right)^T \right)= \left( \frac {\partial \boldsymbol z^o}{\partial (\boldsymbol u^o)^T} \right) \boldsymbol Q^{-1} \left( \frac {\partial \boldsymbol z^o}{\partial (\boldsymbol u^o)^T} \right)^T F=E(((uo)Tln(p(zuo)))((uo)Tln(p(zuo)))T)=((uo)Tzo)Q1((uo)Tzo)T
CRLB为Fisher矩阵的逆,因此CRLB表示为:
C R L B = ( ( ∂ z o ∂ ( u o ) T ) Q − 1 ( ∂ z o ∂ ( u o ) T ) T ) − 1 CRLB=\left( \left( \frac {\partial \boldsymbol z^o}{\partial (\boldsymbol u^o)^T} \right) \boldsymbol Q^{-1} \left( \frac {\partial \boldsymbol z^o}{\partial (\boldsymbol u^o)^T} \right)^T \right)^{-1} CRLB=(((uo)Tzo)Q1((uo)Tzo)T)1

仿真

clc;
close all;
clear all;
%%
% 测向站数量
M=6;
% 目标数量
N=1;
% 6个测向站的位置坐标,单位米
s1=[1200 1800 200];
s2=[-1500 -800 150];
s3=[1400 -600 -200];
s4=[-800 1200 120];
s5=[1300 -800 -250];
s6=[-1000 1600 -150];
% 目标位置,单位米
u1=[8000 6800 3000];
%%
for i=1:M
    %     组合字符串,得到接收站的变量名,以便循环
    str_si=['s',mat2str(i)];
    %    返回变量名对应的值
    si_value=eval(str_si);
    %    测向站到目标的距离
    distance(i)=sqrt(sum((u1-si_value).^2));
    %    测向站到目标的平均距离
    distance_average=sum(distance)/M;
    %     方位角真实值
    theta0(i)=atan((u1(1)-si_value(1))/(u1(2)-si_value(2)));
    %     仰角真实值
    beta0(i)=atan((u1(3)-si_value(3))/(sqrt((u1(1)-si_value(1))^2+(u1(2)-si_value(2))^2)));
end
%%
G0=zeros(2*M,3);
h0=zeros(2*M,1);
for i=1:1:M
    G0(2*(i-1)+1,:)=[cos(theta0(i)),-sin(theta0(i)),0];
    G0(2*(i-1)+2,:)=[sin(theta0(i))*sin(beta0(i)),cos(theta0(i))*sin(beta0(i)),-cos(beta0(i))];
    
    %     组合字符串,得到接收站的变量名,以便循环
    str_si=['s',mat2str(i)];
    %    返回变量名对应的值
    si_value=eval(str_si);
    h0(2*(i-1)+1,:)=si_value(1)*cos(theta0(i))-si_value(2)*sin(theta0(i));
    h0(2*(i-1)+2,:)=si_value(1)*sin(theta0(i))*sin(beta0(i))+si_value(2)*cos(theta0(i))*sin(beta0(i))-si_value(3)*cos(beta0(i));
end
result=G0*u1.'-h0;
%%
% 误差的标准差,弧度
deta_theta_more=(0.1:0.1:1).*pi/180;
big_loop_numer=length(deta_theta_more);

% 每一个测向标准差下的CRLB
CRLB=zeros(length(deta_theta_more));
%%
F_s_t0=zeros(2*M,3);
for i=1:M
    %     组合字符串,得到接收站的变量名,以便循环
    str_si=['s',mat2str(i)];
    %    返回变量名对应的值
    si_value=eval(str_si);
    
    F_s_t0(2*i-1,1)=cos(theta0(i))/sqrt(sum((u1-si_value).^2));
    F_s_t0(2*i-1,2)=-sin(theta0(i))/sqrt(sum((u1-si_value).^2));
    F_s_t0(2*i,1)=-(sin(theta0(i))*sin(beta0(i)))/sqrt(sum((u1-si_value).^2));
    F_s_t0(2*i,2)=-(cos(theta0(i))*sin(beta0(i)))/sqrt(sum((u1-si_value).^2));
    F_s_t0(2*i,3)=cos(beta0(i))/sqrt(sum((u1-si_value).^2));
end
%%
for big_loop=1:length(deta_theta_more)
    deta_theta=deta_theta_more(big_loop);
    cov_z=deta_theta^2*eye(2*M);
    % CRB界
    CRLB_sum(big_loop)=sqrt(trace((F_s_t0'*inv((cov_z))*F_s_t0)^-1));
end
figure
plot(deta_theta_more./(pi/180),CRLB_sum,'b.-');
xlabel('角度误差(°)')
ylabel('RMSE\m')

function [distance]=osjl(object,source)
% 输入均为列向量
distance=sqrt(sum((object-source).^2));
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84

仿真结果如下所示:

在这里插入图片描述

欢迎私信交流无源定位、阵列信号处理

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/879920
推荐阅读
相关标签
  

闽ICP备14008679号