摘要
本应用报告提供了有关如何根据最终应用和用例在快速 FMCW 雷达设备中选择正确chirp参数的信息,并在 TI 的雷达设备上对其进行优化编程。
1.介绍
连续调频毫米波雷达传感器在多种自动驾驶以及工业应用场景中变得越来越流行。这些应用场景对系统的要求和关注点可能非常不同。距离要求,距离精度,最大速度要求,传感器视场角,数据存储量,处理器的MIPS,以此类推都是一些需要基于使用场景去分析的方面。理解FMCW chirp配置以及系统性能参数之间的关系,对选择正确的chirp参数有帮助。
TI的毫米波雷达设备(MMIC)对chirp参数的配置提供了很高的灵活性,并且也允许单帧多个chirp的配置。时序参数通过数字时序引擎以及内置的电磁处理器精确控制,没有严重的实时软件的干扰。这篇文档描述了对chirp参数的编程并且解释了决定这些参数值的多种系统的情况。
¶2.chirp参数配置对系统参数的影响
在线性FMCW雷达中,发送端(TX)信号是一个频率随时间线性变换的恒定基调(tone)。这种在频率上的扫描通常被称作一个“chirp”。这些chirps的集合来自一个“Frame”,这可以被用来作为雷达处理的观察窗。chirp斜坡的各种参数(如频率斜率、扫描带宽等)会影响系统性能。
图一描画了一个chirp以及相关的时序参数。图二展示了包含一系列chirps以及inter frame time的frame结构。这表示‘Fast FMCW’调制,每一个chirp通常持续10个µs
以下部分列出了任何雷达应用中通常考虑的关键系统性能参数,以及chirp配置如何影响每个参数。
¶2.1 测量距离以及距离分辨率
雷达传感器可以检测物体的最大和最小距离是雷达传感器的一个重要参数。 此外,距离分辨率(区分两个附近物体的能力)是另一个重要指标。
¶2.2.1 最大距离
在汽车自适应巡航控制 (adaptive Cruise Control, ACC) 等应用中,能够查看远处物体 (>150m) 非常重要。 检测远处物体可能会受到接收信号的 SNR 或雷达设备支持的 IF 带宽的限制。
最大距离与IF带宽质检的关系在公式1中展示。TI的AWR2443雷达设备提供了20MHz的大带宽,AWR1243提供了15MHz的带宽,允许更灵活地使用斜率,这间接有助于提高最大速度,稍后将看到。
$$
\begin{aligned}
&Range_{max}=\frac{IF_{mnax}\times c}{2\times S}\\
IF_{max}\rightarrow &Maximum\ IF\ bandwidth\ supported\\
c\rightarrow &Speed\ of\ light\\
S\rightarrow &Slope\ of\ the\ transmitted\ chirp
\end{aligned}
\tag 1
$$
这里$ IF_{max} $同样依赖于使用的ADC采样频率($ ADC_{sampling}$)。在一个complex 1x采样模式,IF带宽被限制到$ 0.9\times(ADC_{sampling})$。在complex 2x以及real采样模式中,IF带宽被限制到$ 0.9 \times (ADC_{sampling})/2$。TI雷达的最大ADC采样频率是45MHz(AWR22xx)以及37.5MHz(AWR1xxx)。
其他可能限制最大距离的因素是接收器收到信号的信噪比(SNR)。这取决于:
- 雷达设备的RF性能,TX输出功率,RX噪声配置(figure),也包括chirp持续时间以及单帧里chirp个数的chirp参数。
- 天线参数,像在感兴趣方向上的TX和RX天线增益
- 用来检测目标的检测算法需要的最低SNR。
$Range_{max}$基于
$$
SNR = \sqrt[4]{\frac{PtG_{Rx}F_{Tx}c{2}σNT_r}{f_C{2}(4\pi)^3\times kT \times NF \times SNR_{det}}} \tag 2
$$
$$
\begin{aligned}
&Pt\rightarrow Tx\ output\ power\\
&G_{Rx},G_{Tx}\rightarrow RX\ and\ TX\ Antenna\ gain\\
&σ\rightarrow RCS\ of\ the\ object\\
&N\rightarrow Number\ of\ chirps\\
&T_r\rightarrow Chirp\ time\\
&NF\rightarrow\ Noise\ figure\ of\ the\ receiver\\
&SNR_{det}\rightarrow\ Minimum\ SNR\ required\ by\ the\ algorithum\ to\ detect\ an\ object\\
&k\rightarrow\ Boltzman\ constant\\
&T_{det}\rightarrow\ Ambient\ temperature\\
\end{aligned}
$$
¶2.1.2 Range Resolution
在很多应用场景中,能够将两个摆放靠近的物体解析成两个独立个体很重要,而不是将他们检测成一体。能够将他们检测成不同物体的最小距离被称作距离分辨率。这主要取决于雷达能够提供的chirp扫描的带宽。扫描带宽越大,距离分辨率越好。TI的雷达设备支持4GHz扫描带宽,着允许距离分辨率到达大约4cm。
$$
Range_{resolution}=\frac{c}{2\times B}\tag 3
$$
$$
\begin{aligned}
&c \rightarrow Speed\ of\ light\\
&B \rightarrow Sweep\ bandwidth\ of\ FMCW\ chirp
\end{aligned}
$$
更好的距离分辨率同样对检测非常靠近的物体有帮助,因此,提升了最小检测距离。
¶2.2速度测量以及速度分辨率
¶2.2.1 最大速度
在距离维度方向上,物体的相对速度是另外一个感兴趣的关键参数。快速FMCW调制雷达的最大测量速度取决于chirp的循环时间,即两个连续chirps的开始之间的时间差。这又取决于执行频率扫描的速度和允许的最小chirp之间的时间间隔。
MMIC能倾斜(ramp)频率越快,最大无歧义速度更高。TI的MMIC允许100MHz/µs的快速斜率。同样设计了闭环PLL(锁相环)来支持频率斜坡的快速稳定。因此,VCO(压控振荡器)从一个ramp频率的最后跳到重新开始另一个ramp的时间非常短,并且允许更小的idle time空闲时间(低至2µs)。最小idle time计算,可以看第5节。
$$
Unambiguous\ max\ velocity=\frac{\lambda}{4T_C}\tag 4
$$
$$
\begin{align}
T_C \rightarrow& Total\ Chirp\ time, which\ includes\ chirp\ time+idle\ time\\
\lambda \rightarrow& Wavelength\ of\ the \ signal\ used
\end{align}
$$
实际能够测量的最大速度能够通过更高级别的算法超过最大无歧义速度。
¶2.2.2 速度分辨率
在实际应用中,像停车辅助,你可能需要分离出具有微小速度差的物体,这需要好的速度分辨率。速度分辨率更多地依赖于transmit frame duration,即,提升一个frame的chirp的个数,能够提升速度分辨率。
$$
Unambiguous\ max\ velocity=\frac{\lambda}{2NT_C}\tag5
$$
$$
\begin{align}
N_C\rightarrow Nomber\ of\ Chirp\ in\ a\ frame
\end{align}
$$
¶2.2角度范围以及分辨率
为了在2D空间中定位物体,同样需要物体在距离方向上的角度。在一个雷达系统中,角度通过使用多个空间间距为d的接收天线接收物体反射回来的信进行估计。信号到达每个连续的接收天线都延长了$d \times sin(\theta)$,并且这种延长造成了$\frac{2\pi dsin(\theta)}{\lambda}$的相位移动。各个接收天线之间的相位移动被用来估计物体的角度($\theta$)。
MMIC可测量的无歧义角度视场角取决于接收天线的距离(d)。
$$
Max\ unambiguous\ angular\ range = sin^{-1}(\frac{\lambda}{2d})\tag 6
$$
$$
\begin{aligned}
&d\rightarrow Spacing\ between\ receiver\ antennas\\
&\lambda \rightarrow Wavelength
\end{aligned}
$$
因此对于最广的角度视场角,接收天线之间的距离应当是$ \frac{\lambda}{2}$,理论上能够提供±90°的可视范围。
抛开天线距离不谈,不同角度的可测量距离也依赖于天线的增益模式。通常天线会在一个角度(通常在0°,即天线的正前方)拥有最大增益,并且增益会随着角度增大减小。图4展示了一个实例天线的特性,它在90°的增益比0°的增益低 > 15dB。
¶2.3.1 角度分辨率
不谈角度的视场角,解析两个角度相近的物体可能也很重要,即拥有好的角度分辨率。例如,在汽车雷达用例中,重要的是在两条不同的车道上检测两辆相距很远的汽车,而不是将它们检测为一辆汽车。通常来说,角度分辨率的测量依赖于接收天线个数。接收天线个数越多,分辨率越好。
$$
Angular\ resolution(deg)=\frac{\lambda}{d\times N_{RX}N_{TX}cos\theta}\times \frac{180}{\pi}\tag8
$$
$$
N_{TX} \rightarrow Number\ of\ transmit\ antennas
$$
3.对于一般场景的chirp配置
在汽车领域中雷达最通常的应用方式,包括short range radar(通常安装在角上)以及long-range radar(通常在正前方)。
这一节展示了对于22m USRR,45m SRR,125m MRR以及225m LRR使用情况的chirp配置。需要注意这只是通常的参数配置,基于顾客的特定系统要求进行修改参数是可能的。适用于各种 TI 毫米波雷达设备的示例chirp配置和用例显示在设备特定的概述白皮书中。
| Parameter | Units | LRR 长距程雷达 |
MRR 中距程雷达 |
SRR 短距程雷达 |
USRR 超短距程雷达 |
|---|---|---|---|---|---|
| Max unambiguous range | m | 225 | 125 | 45 | 22.5 |
| Sweep bandwidth | MHz | 300 | 540 | 750 | 1500 |
| Ramp slope | MHz/µs | 10 | 12 | 15 | 30 |
| Inter-chirp duration | µs | 8 | 10 | 12 | 50 |
| Number of chirps | - | 256 | 128 | 128 | 128 |
| Range resolution | m | 0.50 | 0.28 | 0.20 | 0.1 |
| Chirp duration | µs | 30 | 45 | 50 | 50 |
| Max umambiguous relative velocity(1) | kmph | 92.28 | 63.75 | 56.56 | 35.3 |
| Max beat frequency | MHz | 15 | 10 | 4.5 | 4.5 |
| ADC sampling rate (complex) | Msps | 16.67 | 11.11 | 5.00 | 5.00 |
| Number of samples per chirp | 500 | 500 | 250 | 250 | |
| Range FFT size | - | 512 | 512 | 256 | 256 |
| Frame time (total) | ms | 9.728 | 7.04 | 7.94 | 12.8 |
| Frame time (active) | ms | 7.68 | 5.76 | 6.4 | 6.4 |
| Radar data memory required | KB | 2048 | 1024 | 512 | 512 |
(1) The maximum velocity can be increased beyond the max unambiguous velocity by using higher level algorithms.
4.可配置chirp RAM以及chirp profiles
TI雷达允许你通过定义chirp profiles以及通过啁啾配置 RAM 在这些配置文件之上的变化,去控制一个帧的chirps的参数。chirp profiles是基本的chirp计时模板,在定义一个或多个定义参数(start frequency, slope, idle time等等)具有很大不同的chirp变体时有用(useful in defining chirp variants with significant differences in one or more defining parameters (start frequency, slope, idle time, and so forth). )。雷达设备允许你去编程4个不同的chirp profiles。更多地,能够预配置和存储至多512个chirps在chirp configuration RAM中。每一个chirp 在RAM中的定义入口可以属于4个profiles中的一个,并且可以选择性地通过某些参数值中的小抖动与它们的父配置文件不同。 然后,一个帧将由 chirp configuration RAM 中从开始索引到结束索引的一系列 chirp 组成,可以循环多达 255 次。
能够被每个profile控制的参数时:
- Start frequency
- Frequency slope
- Idle time
- ADC start time
- Ramp end time
每个在chirp configuration RAM 的chirp小的抖动值,这些值得是被添加到profile parameters的,profile parameters需要时在profile RAM中被定义的。这些值是:
- Start frequency variable
- Frequency slope variable
- Idle time variable
- ADC start time variable
chirp RAM以及profile RAMs展示于图6
5.chirp时序参数
表2提供了支配chirp时序的一系列参数。它也展示了一个chirp与这些参数的关系。
| SI. No. | Parameter name | Description |
|---|---|---|
| 1 | Idle time | The time between the end of previous chirp and start of next chirp. |
| 2 | TX start time | The time from the start of the ramp at which transmitter is turned on. |
| 3 | ADC start time | The time from the start of the ramp when the ADC starts sampling the data. |
| 4 | Ramp end time | The time from the start of the ramp until the chirp continues ramping. After this time the synthesizer frequency is reset to the start frequency of the next chirp. |
接下来的小节列出了系统中需要被考虑的部分来确定这些参数的值。可以使用 Radar Studio 应用程序中的chirp时间参数配置计算器程序得出每个参数的实际数字,该应用程序作为 [DFP 包](MMWAVE-DFP Firmware | TI.com)的一部分提供。
¶5.1 Idle Time
所需要的最小的idle time主要通过synthesizer ramp down settling time定义,synthesizer ramp down settling time是一个 ramp down bandwidth的函数,一些典型带宽的synthesizer ramp down settling times在表3中列出。
| Ramp Bandwidth | Synthesizer Ramp Down Time(µs) |
|---|---|
| < 1 GHz | 2 |
| > 1 GHz and < 2 GHz | 3.5 |
| > 2 GHz and < 3 GHz | 5 |
| > 3 GHz | 7 |
对于ADC采样率在5Msps或者更高的场合,表3可以被直接用来设置最小的idle time。然而,对于低采样率(< 5 Msps),在编程最小idle time时也有其他的限制需要考虑。这来自在sigma-delta ADC decimation chain的数字pipeline delays。由此,最小idle time需要轻微的比表3中的值高一点。chirp参数配置计算工具(part of the Radar Studio tool, www.ti.com/tool/mmwave-dfp)同样考虑了这一限制并且提供了整体推荐的idle time。
¶ADC Start Time
芯片的正常工作对ADC start time并没有硬性的最小值限制。然而,在这个参数的大小以及"begin of chirp"的信号包络稳定质量之间需要权衡,依赖于以下的因素:
- 合成器PLL的ramp-up settling time,这是ramp slope的函数
- HPF step reponse settling,这是HPF corner frequencies的函数
- IF/DFE LPF settling time,这是DFE output mode以及sampling rate的函数
chirp时序参数配置计算器在计算推荐参数时考虑了这些方面。
使用者可能会有启发的顾虑,例如基于最终用例的目标反射的最大往返延迟,可添加到实用程序建议的 ADC 开始时间。消费者也许选择使用比推荐值更小的值,来减小整体的inter-chirp gap,通过权衡quality of settling。
¶5.3 Ramp End Time
Ramp End Time是(a)ADC start time,(b)ADC sampling time以及(c)ramp末端的剩余 ramping time的和。对于剩余(excess)ramping time没有硬性的要求。然而,在excess ramping的量以及the “end of chirp” signal envelope settling performance之间也存在权衡。决定需要的excess ramping的主要因素是IF/DFE滤波延迟,这也是DFE输出模式以及采样率之间的函数。
The chirp timing parameter configuration calculator utility takes these aspects into account in arriving at the recommended value for this parameter。
| DFE Mode | DFE Sampling Rate(Msps) | IF/DFE Filtering Latencies(µs) |
|---|---|---|
| Complex1x | 16.7 | 0.3 |
| 10 | 0.5 | |
| 5 | 1.0 | |
| Real/Complex2x | 33.3 | 0.1 |
| 16.7 | 0.2 | |
| 10 | 0.4 | |
| 5 | 0.8 |
¶5.4 使用计算器的时序计算举例
在mmWave Studio tool中可用的Ramp timing计算器(part of the DFP package: www.ti.com/tool/mmwave-dfp)提供了正确的时序参数值的推荐,基于用户的配置(slope, ADC samples, sampling rate)。这些推荐值基于TI雷达设备的最低要求。
基于特定场景的使用,你也许对这些参数有更进一步的考虑。这些考虑需要单独地被记入。
例如,如果原始的ADC数据通过CSI或者LVDS路径被设置,idle time的设置需要确保在下一个chirp数据可用之前CSI/LVDS接口上的传输已经完成。此数据传输可用的时间是=“ramp end time”+“idle time”。对于CSI的情况,由于 MIPI 协议的开销时间也需要考虑在内。
6.高级chirp配置
¶6.1 多模式雷达应用
如你所见基于想要的应用场景,chirp配置需要被不同地配置。但是如果我们需要支持多种模式呢,例如短距离以及中距离,同时使用同一个radar设备?TI雷达提供的高级frame configuration允许了很大的灵活性以在同一帧里有多种chirp配置。一帧可以通过一系列的"sub-frame"来构成,其中每个子帧代表不同的雷达模式。若要进一步了解,看DFP package中的"mmWave Radar Interface Control Document"。
为了提供在一帧内的最大灵活性,高级帧配置API(advanced frame config API)提供将一个帧打散到最多4个子帧的能力。每一个子帧包含了多个burst of chirps(最多512个bursts)。每一个burst能包括512个独特的与4个profiles关联的chirps。一个子帧的一系列bursts能够在软件中被进一步循环最多64次。下面的图是关于一个子帧是如何形成的例子。
一个帧最多由4个这样的子帧构成,每一个子帧能够有不同的set of chirps。图9展示了可以构成一个帧的不同chirp profiles以及子帧。
高级帧的时序要求如下:Inter-burst time should be ≥ 50 μsec, inter sub-frame time should be ≥ 100 μsec and inter frame time should be ≥ 200 μsec.
¶6.2 单个发射天线二进制相位调制
¶Individual Transmitter Binary Phase Modulation(BPM)
TI 的雷达设备允许每个发射器输出被调制到0° 或 180° 相位。这允许通过使用互不相关的二进制代码同时使用多个发射器。 因此,提高了有效 SNR。
相位配置通过“rlSetBpmChirpConfig” API完成。对于BPM以及MIMO雷达的详细,看MIMO Radar。
7.基本的chirp配置编程顺序
TI的mmwave link APIs提供了MMIC的简单接口,并且能够基于应用以及需求灵活配置所有的chirp参数。每个APIs的详细以及参数描述提供于“mmWave Radar Interface Control Document: www.ti.com/tool/mmwave-dfp)。图10展示了配置chirp以及frame应遵循的典型顺序。
¶7.1 Device Manager APIs
These APIs are used to power on and initialize the sensor:
-
rlDevicePowerOn
This function initializes the driver and does the necessary resource allocation for the driver. It initializes the host protocol driver by creating the necessary OS services like semaphore, mutex, queues and so forth. It also brings radar devices (multiple devices in case of cascade) out of reset and opens the communication channel (SPI, Mailbox, and so forth) with these devices.
-
*DeviceFileDownload
* This function downloads a binary file from the host to the internal RAM of the radar device. This filecould be a firmware patch file, application code, calibration data or configuration data.
-
rlDeviceRfStart
This function initializes the RF (BIST) subsystem in the radar device. The function returns immediately and RF initialization completion is indicated by the asynchronous event (RL_EVENT_AR_DEVICE_START_COMPLETE). User application should wait for this event before invoking any Radar Sensor Control APIs.
¶7.2 Radar RF Control APIs
These APIs are used to configure the RF parameters, chirp profiles and frame configurations.
-
rlSetChannelConfig
This API allows configuring of the number of TX antennas (out of 3) and number of RX antennas (out of 4) to be used. It also allows the selection of whether they are using the sensor in standalone mode or cascade mode.
-
*rlSetAdcOutConfig
* This API allows configuring of the number of bits per sample (12/14/16). It also allows the choice ofwhether the ADC data should be real only, Complex -1x or Complex- 2x.
-
rlSetLowPowerModeConfig
This API allows the setting of a low power ADC mode for power saving. In this mode, the maximum ADC sampling rate is limited.
-
rlSetProfileConfig
This API allows configuring the chirp “profile”, which defines a template for a chirp. These configurations include chirp start frequency, idle time, ADC start time, chirp slope, chirp duration, TX power level in the chirp, number of ADC samples per chirp, the ADC sampling rate, High pass filter (HPF) cutoff frequencies and RX gain setting. Up to four profiles can be defined and in a particular frame (which can have up to 512 unique chirps) the chirps in the frame can belong to any of these four profiles. Since a single profile may not suffice all the intended use cases of the sensor, having flexibility to have multiple profiles allows usage of a single sensor in multiple scenarios/use cases.
-
rlSetChirpConfig
Once the profiles are defined, each of the unique chirps can be associated to one of these profiles. Apart from this, the API also allows limited chirp to chirp variations (beyond the profiles) in some of the important parameters like start frequency, idle time and ADC start time. The API also allows selecting the transmitters to be used in that particular chirp.
-
rlSetFrameConfig
This API allows selecting the sequence of the chirps that form the frame, number of frames that need to be transferred and the periodicity of the frames. The periodicity would define the inter-frame time (periodicity – chirptime), hence, the duty cycle of the transmission. The frame could be software API triggered (via rlSensorStart API ) or externally triggered using the SYNC_IN signal. In case of the HW trigger option, a programmable delay can be set from the SYNC_IN edge.
¶7.3 Radar Data Control APIs
The ADC data captured during the chirps is transferred out of the device on the high speed debug interface or CSI. The data control APIs allow configuring the ADC data that needs to be transferred out and the high speed interface (LVDS/CSI) configurations. Along with the ADC data, some additional information related to the quality of the chirp and chirp parameters (that are referred to as CQ (chirp quality) and CP (chirp parameter), respectively) can also be transferred out. The LVDS/ CSI configurations, lane configurations, and so forth can be done using these APIs. For details on these APIs and the parameters, see the “mmWave Radar Interface Control Document” (part of the DFP package: www.ti.com/tool/mmwave-dfp).
¶7.4 Frame Trigger API
Once the chirps and frames are configured, they can be triggered either via a software API or hardware triggered using the digital SYNC_IN signal. The software API to trigger the frame is rlSensorStart.









