文章目录
- 前言
- 一、基于多普勒相偏补偿的解模糊算法核心思想
- 二、算法步骤
- 三、理论效果示意图
- 四、编程
- 五、实测数据结果:
-
- 5.1、data1结果:
- 5.2、data2结果:
- 六、总结
-
- 6.1.多普勒补偿参考:
- 6.2、致读者:
前言
速度模糊是指当目标速度有限时,由于雷达测速范围有限|Vr|>|Vmax|时,测量速度Ve!=Vr的现象。 详见本文:https://zhuanlan.zhihu.com/p/486798151 。
解模糊算法的核心思想基于多普勒相偏补偿
首先,由于是的,所以当实际速度Vr超过测速范围时,相位模糊的发生"速度模糊"。下图1所示W2>pi,相位模糊发生,实测相位为w1=2*pi-w2。因此,、与如下公式1所示:
在测量雷达角度时,应根据测量速度考虑速度引起的相位差Ve修改目标角度的解决方案称为多普勒相偏补偿。 在这种情况下,如公式2所示:
若测量速度Ve !=实际速度Vr,然后根据测量速度Vr多普勒偏差补偿的结果是错误的;如果没有速度模糊:Ve=Vr,然后根据测量速度Vr多普勒相偏补偿的结果是正确的。因此,算法的核心思想是通过比较两个不同角度谱的峰值来解决目标速度,而不知道速度是否模糊,因为如果角度补偿结果是错误的,那么相应角度谱的峰值就会很小。
二、算法步骤
说明:假设速度模糊,如图1所示,实际相位应为2kpi-w1,k是非零整数,因为无法区分2pi-w1和4pi-w因此,当速度模糊时,算法只能假设,k=1或-1,这导致该算法只能将速度范围翻倍。
如图2所示,该算法的步骤:定义set1时,符号翻转的操作对应于复数中的旋转pi操作对应公式2,但此时k只能取正负1。
`
三、理论效果示意图
图3(a)和图3(b)两种情况下的理论结果分别显示:
四、编程
根据图2所示的算法步骤,只需在原始解决目标角度的基础上进行修改。程序有三点需要注意: 1.index_dop多普勒门的目标速度为-64至63(假设一帧中的脉冲数chirp_num=128)具体细节可参考多普勒相偏补偿的官方解释。 2.符号翻转对应复数中的旋转pi”。 3.比较两个角度谱的峰值的相对大小,所以一定不要在music算法将角度谱归一化 核心代码块如下:
snapshot=snapshot';%未经多普勒偏差补偿的原始数据 snapshot1=snapshot;%操作:多普勒相对补偿,对应set0 snapshot2=snapshot;%操作:多普勒相偏补偿: 符号翻转,对应set1 %分别操作 snapshot1(5:8,:)=snapshot1(5:8,:)*exp(-1i*pi*(index_dop(n)/128));%多普勒偏补偿 snapshot2(5:8,:)=snapshot2(5:8,:)*exp(-1i*pi*(index_dop(n)/128))*exp(1i*pi);
%分别利用空间谱估计算法(FFT或者MUSIC算法)求解角度谱
%注意由于要比较两个角度谱的峰值的相对大小,所以一定不要在music算法内将角度谱归一化
[azimuth1(n),P1] = Music(snapshot1,chirps_num,1);%P1:set0
[azimuth2(n),P2] = Music(snapshot2,chirps_num,1);%P2:set1
plot(P1,'b-.');
hold on%叠加,比较set0和set1
plot(P2,'r--');
xlabel('方位角/度')
ylabel('幅度')
title('基于多普勒补偿的速度扩展示意图(Vr>V_max)')
legend({
'set0','set1'})
五、实测数据结果:
5.1、data1结果:
data1.bin文件是人体走动跟踪的数据,因此,此时理论上如图3(a)所示:set0>set1。
5.2、data2结果:
data2.bin文件是向上抛物并下落的数据,因此,此时理论上发生速度模糊时如图3(b)所示:set0<set1。当然,此过程中当物体上升过程中,速度没有发生模糊(70帧)。
六、总结
6.1、多普勒相偏补偿参考:
关于多普勒相偏补偿,请参考官方SDK中的
6.2、致读者:
更多结果和程序说明,都在代码注释中详细说明了。由于第一次写博客,所以文章的排版很差,望理解。由于本人水平有限,所以难免出现错误,请大家赐教。