距离-多普勒图到距离-速度图的转换

信息处理 算法 雷达 多普勒
2022-02-17 14:02:31

更新 2.0

我想我已经设法生成了正确的距离-速度图。我正在努力分析计算我希望在距离速度图上看到的范围。有人可以给我一个如何计算的方向吗?我有一个目标以恒定的速度远离雷达。

==================================================== ==============

我正在尝试实现脉冲多普勒雷达算法。我已经完成了大部分步骤并生成了距离多普勒图,其中 y 轴是脉冲数,x 轴是范围。我正在尝试使用关系将地图转换为范围速度地图

v=(cfd)/(2fc)
在哪里c是光速,fd是多普勒频率和fc是载波频率。

我所做的是将范围内的频率轴乘以奈奎斯特[-fs/2,fs/2]频率我把频率轴分成的点数是但是当我用来绘制距离-速度图时,它看起来速度为零。我相信我的问题是在生成速度轴时,因为在绘制所有其他阶段时,结果看起来不错。可能是什么问题呢?c/(2*fc)fsfs/(number-of-samples)imagesc

再次非常感谢您!

3个回答

首先是一些背景。

在雷达中,距离率之间的关系,v和多普勒频偏,Δf是(谁)给的:

v=c2Δffc
在哪里c是光速和fc是载波频率。根据正范围率的约定,可能存在符号差异。

该表达式等效于Hunter Akins答案的 2 倍(见下文)。

从...开始:

fd=c+vrc+vsfc
在哪里fd是多普勒频率,vr是接收器速度,并且vs是源速度。

假使,假设vs=0并且所有动作都在接收器的一部分:

fd=c+vrcfc

解决vr

vr=cfdfcfc

多普勒频率偏移等于多普勒频率从载波偏移的量Δf=fcfd

vr=cΔffc

而且,由于在雷达中信号从目标反射,多普勒频移是单向路径的两倍,因此接收器的有效速度仅为单向信号的一半:

v=c2Δffc

如果您的原始频率轴是多普勒空间[-fs/2,fs/2]fs作为采样率,通常在此类图中等于脉冲重复间隔),那么您可以通过乘以将轴标记转换为等效速度-(c/(2 * carrier_freq))

这对应于你所说的你正在做的事情。我怀疑你的程序还有其他问题。如果您可以发布更多详细信息,我们可以提供更好的答案。

在距离多普勒图 (RDM) 中,您实际上有两个采样率来定义矩阵的两个维度:

  1. 快速时间维度。这通常由 ADC 建立以对脉冲返回进行采样。这往往是两个采样率中最快的,因此得名。这通常由符号给出fs并建立 RDM 的范围维度。
  2. 慢时间维度。第二个维度由收集的脉冲数组成。您希望收集这些的最快速度是在PRI,因此这个维度上的采样率是PRF.

所以现在 RDM 捕获了两个奈奎斯特频带:

  1. [fs/2,fs/2)对于快速时间维度
  2. [PRF/2,PRF/2)对于慢时间维度

从(2)可以直接看出±PRF/2是您可以明确测量的最大多普勒频率。您可以应用频率-多普勒转换公式来获得可以测量的速度限制。

vmax=±fdmaxλ2=±PRFλ4

例子

我们将从移动目标的一些已经模拟的目标返回开始。相关参数是

  • 目标范围 800 m,速度 250 m/s
  • 波长λ0.03 米
  • 50 kHz 的 PRF
  • 收集了 500 个快时样本和 256 个慢时样本(即脉冲数)

然后我们形成 500x256 RDM:

在此处输入图像描述

为了确定目标的范围和速度,仍然必须进行映射。假设我们已经完成了范围映射,但现在我们需要做速度。

让我们检查一下这个系统是否可以在给定的 PRF 下明确地测量这个速度:

vmax=±PRFλ4=±(50 kHz)0.034
vmax=±375 m/s

它可以,所以现在让我们将多普勒轴映射到速度。假设我们在慢时间维度上进行了 N 点 DFT,那么现在的频点大小为:

Δf=PRFN

并使用多普勒速度映射,我们得到速度箱大小:

Δv=Δfλ4

我们现在有了 bin 大小本身,只需做一些工作,您就可以使用它来将慢时间维度从[PRF/2,PRF/2)[vmax/2,vmax/2)

在此处输入图像描述

更新

您应该小心定义负频率的范围轴。这种类型的范围映射仅适用于使用拉伸 LFM 处理的非常特定类型的系统,我怀疑你正在这样做。

对于更传统的雷达,你不能有负范围是有道理的,所以引入fs不合适。现在,这是我的错,因为我确实说过快速时间维度捕获了乐队[fs/2,fs/2). 这在数学意义上在技术上是正确的,但并未如图所示直接用于定义范围轴。速度轴定义为[PRF/2,PRF/2)仍然有效。

您的计算将不起作用。而是尝试这样的事情:

rangeAxis = (1:numRangeBins)*(c/(2*fs)) % Range bin size is c/(2*fs)
dopplerAxis = (-numDopplerBins/2:numDopplerBins/2 - 1).*PRF/numDopplerBins;
velocityAxis = dopplerAxis*lambda/2;

使用正确的值,这应该会产生您正在寻找的正确范围和速度轴。

看来你的公式是错误的。例如,如果fd=fc, 然后v=c/2. 我熟悉的公式是

fd=c+vrc+vsfc,
在哪里vr是接收器的速度和vs是源的速度(一维)。您需要估计每个接收到的脉冲的最大功率频率。这个频率是fd. 然后可能假设vs=0并利用你现在的事实fc(因为大概是你发出了脉冲)。然后你可以解决vr对于每个接收到的脉冲。