TDOA定位CRLB

TDOA定位的CRLB

TDOA观测模型

在三维直角坐标系中,考虑利用M个观测站对一个目标进行定位。
i个观测站位置向量记为 sio=[sx,io,sy,io,sz,io]T,1≤i≤M\boldsymbol{s}_i^o=[s_{x,i}^o,s_{y,i}^o,s_{z,i}^o]^T,1\leq i \leq Msio=[sx,io,sy,io,sz,io]T,1iM
目标位置向量记为uo=[uxo,uyo,uzo]T\boldsymbol{u}^o=[u_{x}^o,u_{y}^o,u_{z}^o]^Tuo=[uxo,uyo,uzo]T
在这里插入图片描述

将第一个观测站作为TDOA测量的参考观测站,则目标到达其余观测站和参考观测站之间的TDOA可以表示为:
τj1o=∣∣uo−sjo∣∣2c−∣∣uo−s1o∣∣2c,2≤j≤M \tau_{j1}^o= \frac{||\boldsymbol{u}^o-\boldsymbol{s}_j^o||_2}{c}- \frac{||\boldsymbol{u}^o-\boldsymbol{s}_1^o||_2}{c} , 2\leq j \leq M τj1o=c∣∣uosjo2c∣∣uos1o2,2jM
其中c表示信号传播速度,通常是已知的,因此TDOA可以转换为到达距离差(Range Difference Of Arrival,RDOA):
rj1o=∣∣uo−sjo∣∣2−∣∣uo−s1o∣∣2,2≤j≤M r_{j1}^o= ||\boldsymbol{u}^o-\boldsymbol{s}_j^o||_2 -||\boldsymbol{u}^o-\boldsymbol{s}_1^o||_2 , 2\leq j \leq M rj1o=∣∣uosjo2∣∣uos1o2,2jM
因此建立RDOA观测模型为:
r=ro+nr=[r21o,r31o,...,rM1o]T+[δr21,δr31,...,δrM1]T \boldsymbol{r}= \boldsymbol{r^o}+\boldsymbol{n}_{\boldsymbol{r}} =[r_{21}^o,r_{31}^o,...,r_{M1}^o]^T +[\delta{r_{21}},\delta{r_{31}},...,\delta{r_{M1}}]^T r=ro+nr=[r21o,r31o,...,rM1o]T+[δr21,δr31,...,δrM1]T
nr\boldsymbol{n}_{\boldsymbol{r}}nr表示测量噪声向量,协方差矩阵表示为Qr\boldsymbol{Q}_{\boldsymbol{r}}Qr

TDOA定位CRLB

未知参数向量为uo=[uxo,uyo,uzo]T\boldsymbol{u^o} =[u^o_{x},u^o_{y},u^o_{z}]^Tuo=[uxo,uyo,uzo]T,测量向量为r\boldsymbol{r}r。因此r\boldsymbol{r}r关于uo\boldsymbol{u^o}uo的对数似然函数为:
ln(p(r∣uo))=κ−(1/2)(r−ro)TQr−1(r−ro) ln(p(\boldsymbol{r}|\boldsymbol{u^o})) =\kappa -(1/2)(\boldsymbol{r}-\boldsymbol{r}^o)^T \boldsymbol{Q}_{\boldsymbol{r}}^{-1} (\boldsymbol{r}-\boldsymbol{r}^o) ln(p(ruo))=κ(1/2)(rro)TQr1(rro)
其中κ\kappaκ表示常数项

则CRLB表示为:
CRLB=((∂ro∂(uo)T)Qr−1(∂ro∂(uo)T)T)−1 CRLB=\left( \left( \frac {\partial \boldsymbol{r}^o}{\partial (\boldsymbol{u^o})^T} \right) \boldsymbol{Q}_{\boldsymbol{r}}^{-1} \left( \frac {\partial \boldsymbol{r}^o}{\partial (\boldsymbol{u^o})^T} \right)^T \right)^{-1} CRLB=(((uo)Tro)Qr1((uo)Tro)T)1

matlab仿真

clc;
close all;
clear all;
%%
% 测向站数量
M=6;
% 目标数量
N=1;
% 6个测向站的位置坐标,单位米
% s1=[300 -100 150];
% s2=[-400 150 200];
% s3=[300 500 -300];
% s4=[350 200 100];
% s5=[-100 -100 -100];
% s6=[200 -300 -200];
s1=[1200 1800 200];
s2=[-1500 -800 150];
s3=[1400 -600 -200];
s4=[-800 1200 120];
s5=[1300 -800 -250];
s6=[-1000 1600 -150];
% 目标位置,单位米
s_all=[s1;s2;s3;s4;s5;s6];

u=[2200 1800 2000].';
u=[8000 6800 3000].';
%%
ri0=zeros(M,1);
for i=1:1:M
    ri0(i,1)=osjl(u,s_all(i,:).');
end
rij0=ri0-ri0(1);
%%
Gt0=zeros(M-1,4);
ht0=zeros(M-1,1);
for i=2:1:M
    Gt0(i-1,:)=-1*[(s_all(i,:)-s_all(1,:)),rij0(i,1)];
    ht0(i-1,1)=0.5*((rij0(i,1))^2-s_all(i,:)*s_all(i,:).'+s_all(1,:)*s_all(1,:).');
end
result11=ht0-Gt0*[u;ri0(1)];
%%
% 距离差对目标位置的导数
r_diff_u=zeros(M-1,3);
for i=2:1:M
    % 距离差对目标位置的导数
    ui_s1=u.'-s_all(1,:);
    ui_si=u.'-s_all(i,:);
    r_diff_u(i-1,:)=ui_si/osjl(u.',s_all(i,:))-ui_s1/osjl(u.',s_all(1,:));
end
%%
r_noise_power=0.2:0.2:2;
big_loop_number=length(r_noise_power);
iter_number=zeros(big_loop_number,small_loop_number);
%%
start_time=clock;
for big_loop=1:1:big_loop_number
    cov_r=r_noise_power(big_loop)^2*(eye(M-1)+ones(M-1,M-1))/2;
    %%
    F=r_diff_u.'*inv(cov_r)*r_diff_u;
    CRLB_u(big_loop)=sqrt(trace(inv(F)));
end
figure(1)
plot(r_noise_power,CRLB_u,'r.-')
xlabel('TDOA噪声(m)')
ylabel('RMSE(m)')

%%
function [distance]=osjl(object,source)
% 输入均为列向量
distance=sqrt(sum((object-source).^2));
end

在这里插入图片描述

### TDOACRLB的关系及其计算方法 TDOA(Time Difference of Arrival,到达时间差)是一种常用的信号处理技术,在无线通信、雷达以及声学定位等领域广泛应用。它通过测量多个传感器接收到同一信号的时间差异来估计目标的位置。 #### 1. 基本概念 TDOA的核心在于利用接收器之间的时间延迟信息推导出目标位置。假设存在一组已知位置的传感器 \( S_i \),它们接收到来自未知位置的目标发射信号,则可以定义第 \( i \) 和第 \( j \) 两个传感器之间的TDOA为: \[ \tau_{ij} = t_j - t_i, \] 其中 \( t_i \) 表示信号到达第 \( i \) 个传感器的时间[^1]。 为了评估基于TDOA算法性能的理论极限,通常会引入克拉美-罗下界(Cramér-Rao Lower Bound, CRLB)。CRLB提供了任何无偏估计量方差的一个理论最小值,从而帮助分析系统的最佳可能精度。 #### 2. 协方差矩阵的作用 在实际应用中,由于环境噪声等因素的影响,观测到的TDOA数据不可避免地含有误差。这些随机扰动可以用高斯白噪声模型描述,并由协方差矩阵 \( Q \) 来表征其统计特性。具体而言, \[ Q = nsePwr \cdot R, \] 这里 \( nsePwr \) 是噪声的线性功率值,而 \( R \) 则代表单位协方差矩阵。此表达式用于构建反映真实情况下的协方差结构。 #### 3. 对数似然函数形式化表述 对于给定的一组TDOA测量结果 \( r \),考虑其概率密度分布服从正态分布的情况下,可写出如下对数似然函数的形式: \[ ln(p(\boldsymbol{r}|{\boldsymbol{u^o}}))=\kappa-\frac{1}{2}({\boldsymbol{r}-\boldsymbol{r}^o})^{T}\boldsymbol{Q}_{{\boldsymbol{r}}}^{-1} ({\boldsymbol{r}-\boldsymbol{r}^o}), \] 此处 \( {\boldsymbol{u^o}}=[u_x^o,u_y^o,u_z^o]^T \) 定义为目标的真实坐标向量;\( \kappa \) 包含不依赖于待估参数的部分常数值[^3]。 #### 4. 计算CRLB的具体过程 根据上述设定,可以通过求解Fisher Information Matrix (FIM) 的逆得到相应的CRLB。以下是MATLAB风格伪代码实现这一流程的关键部分: ```matlab function crlb = TDOA_crlb(sensors_positions, target_position, noise_covariance_matrix) % sensors_positions: MxN matrix where each column is a sensor's position vector. % target_position: Nx1 true location of the source/target. % noise_covariance_matrix: Noise covariance matrix. speed_of_light = 3e8; num_sensors = size(sensors_positions, 2); gradient_sum = zeros(size(target_position)); for idx = 1:num_sensors direction_vector = sensors_positions(:,idx) - target_position; unit_direction_vector = direction_vector ./ norm(direction_vector); derivative_wrt_time_diff = (-unit_direction_vector / speed_of_light)'; gradient_sum = gradient_sum + ... ((derivative_wrt_time_diff)' * inv(noise_covariance_matrix(idx,idx))) * ... derivative_wrt_time_diff; end fisher_information_matrix = gradient_sum; crlb = inv(fisher_information_matrix); end ``` 该程序片段展示了如何逐项累加各传感器贡献至最终FIM的过程,并据此获得CRLB矩阵[^2]。 #### 结论 综上所述,通过对TDOA机制的理解结合适当的数学建模手段,能够有效量化定位系统所能达到的最佳精确度水平——即CRLB所指示的结果。这不仅有助于指导硬件设计优化方向,同时也为进一步改进现有算法提供重要依据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我觉得我很优秀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值