自学内容网 自学内容网

TI毫米波雷达(五)—— chirp

概述

        在线性调频连续波(LFMCW)雷达中,发送的信号是频率随着时间线性改变的单音信号,这种频率扫描即为“chirp”。为了满足探测距离、距离分辨率、目标速度、视场角等系统要求,需要雷达发送合适的chirp。

        TI毫米波雷达的chirp周期包含空闲时间、启动时间、发送和采样等过程,一系列chirp加上帧间隔组成了帧。

参考

《Programming Chirp Parameters in TI Radar devices》

《mmwave sdk user guide》

系统性能和chirp参数

        实际的系统性能与很多方面有关,比如雷达硬件、天线设计、处理的算法等。单纯的分析chirp参数的影响,类似于分析系统在“理想”状况下的表现。

探测距离

        最大探测距离与毫米波雷达的最大中频带宽和chirp斜率有关。

Range_{max} = \frac{IF_{max} \times c}{2 \times S}

                IFmax —— 最大中频带宽

                c —— 光速

                S —— chirp斜率

        最大中频带宽通常在数据手册中可以找到,chirp斜率则是一个可配置的参数。

        尽管通过chirp的斜率配置我们可以获取超远的探测距离,但是现实中是不可实现的,因为电磁波在空气中的传播会有衰减。当信号衰减到一定程度后将无法被检测出来,我们用接收信噪比(SNR——接收信号与噪声的比)来衡量信号的可检测性。SNR的影响因素很多:

  • 雷达的射频性能——发送功率、接收机噪声系数、帧内chirp持续时间和数量等
  • 天线参数——增益
  • 目标参数——RCS
  • 算法——目标检测需要的最小SNR

        最大探测距离与SNR间的关系见下面的公式,很明显在其他条件不变的情况下,增加chirp的时长或数量可以增大SNR。

SNR=\sqrt[4]{\frac{P_{t}G_{Rx}G_{Tx}c^{2}\sigma NT_{r}}{​{f_{C}}^{2}\left ( 4\pi \right )^3\times kT\times NF\times SNR_{det}}}

                Pt——发射功率

                G_{Rx},G_{Tx} —— 收发天线增益

                \sigma —— 目标RCS

                N —— chirp数量

                Tr —— chirp时长

                NF —— 接收机噪声系数

                SNRdet —— 算法检测目标需要的最小信噪比

                k —— Blotzman常数

                Tdet —— 环境温度

距离分辨率

        距离分辨率是在目标检测中可以将两个目标分别开的最小距离,小于此距离的多个目标通常会被识别为一个目标。此系统参数与chirp扫描带宽有关。

Range_{resolution}=\frac{c}{2\times B}

                c —— 光速

                B —— chirp扫描带宽

        更好的分辨率也意味着可以检测到更小的最小距离。

探测速度

        最大非模糊速度与chirp的周期(包含空闲+chirp)有关。

Unambiguous\, max\,velocity = \frac{\lambda }{4Tc}

                Tc —— chirp总时长,包含chirp时间和空闲时间

                \lambda —— 信号的波长

速度分辨率

        良好的速度分辨率可以分离出速度差异较小的物体。速度分辨率主要取决于传输帧的持续时间,也就是说,增加帧中的chirp数量可以提高速度分辨率。

Velocity_{resolution}=\frac{\lambda }{2NTc}

                Nc —— 帧内chirp数量

角度范围

        为了在2D空间中定位对象,除了目标距离外还需要目标的角度。在雷达系统中,通过使用间隔距离为d的多个接收器接收来自物体的反射信号来估计角度。到达每个连续接收器的信号被延迟d*sinθ,这种“延迟”导致相移。每个接收器之间的相移用于估计物体的角度θ。

        最大非模糊角度范围取决于波长和接收天线间的距离:

Max\, unambiguous\,angular\,range=sin^{-1}\left ( \frac{\lambda }{2d} \right ) 

                d —— 接收天线间距

                \lambda —— 波长

        当接收天线间距为λ/2时,理论最大非模糊角度范围可达±90°。

角度分辨率

        角度分辨率可以帮助我们分辨出不同方位角的目标。天线数量越多,则角度分辨率越高。当同时存在多个接收天线和多个发射天线时,即为MIMO。拥有N个接收天线和M个发送天线的天线阵列,可以组成NxM个虚拟天线,而非N+M个。

Angular\,resolution\left ( deg \right )=\frac{\lambda }{d\times N_{Rx}N_{Tx}\cos \theta }\times \frac{180}{\pi }

                θ —— 目标所在方位角

                N_{Rx} —— 接收天线数量

                N_{Tx} —— 发射天线数量

        这里出现了cosθ,预示着针对不同方位的目标角度分辨率是不同的。很明显,正对着的目标对应着最高角度分辨率,在4收3发系统中约为10°。

典型应用中的chirp配置

配置chirp

        弄清楚了chirp参数与系统性能的大致关系后,就要通过配置chirp来验证效果了。

配置概述

        TI的毫米波雷达可以通过定义chirp配置文件来控制一帧中的chirp参数,而且可以在chirp RAM中修改这些配置文件。Chirp配置文件可以作为基础的chirp时序模板,用来生成参数各异的chirp。TI的毫米波雷达可以接收四个不同的chirp配置文件,但是chirp可配置RAM中可以预编程512个独特的chirp。每个chirp都可以引用四个配置文件之一,然后按需要进行细调。

        一个帧由chirp可配置RAM中起始索引到结束索引间的chirp序列组成,最大可循环255次。

        在每个配置文件中,可以配置:

  • (Start Frequency)起始频率
  • (Frequency Slope)调频斜率
  • (Idle time)空闲时间
  • (ADC start time)ADC采样起始时间
  • (Ramp end time)调频结束时间

结合下图可以更好的理解这当中的概念。

         Chirp可配置RAM中保存的是基于配置文件(通过索引来指定基于哪个配置文件)的变动:

  • Start Frequency variable(起始频率变量)
  • Frequency slope variable(调频斜率变量)
  • Idle time variable(空闲时间变量)
  • ADC start time variable(ADC采样起始时间变量)

关键参数

        在配置一个chirp时,如下参数需要考量。

Idle Time

        空闲时间取决于频率合成器需要多久下降到下一个chirp的起始频率并恢复稳定。下表可以在ADC采样率≥5Mbps时做参考。ADC采样率低于5Mbps时因为Σ-Δ ADC特性需要稍长的延时。建议使用Radar Studio tool —— chirp parameter configuration calculator来计算。

 ADC Start Time

        此参数没有硬性规定的最小值,需要综合考虑一些因素。例如chirp的信号质量、期望目标的最大往返时间、chirp间隙等。建议使用计算器chirp parameter configuration calculator来计算。

Ramp End Time

        此时间应该包含ADC采样起始时间、ADC采样时间、额外的斜坡时间,对额外的斜坡时间没有硬性要求。同样需要综合考虑一些因素,例如信号稳定性、低通滤波器延迟等。建议使用计算器chirp parameter configuration calculator来计算。

Chirp基本编程顺序

        典型的chirp配置顺序如下图所示。

Device manager APIs

        rlDevicePowerOn() 初始化驱动程序并为驱动程序进行必要的资源分配。

        DeviceFileDownload() 将二进制文件从主机下载到雷达设备的内部RAM。此文件可以是固件补丁文件、应用程序代码、校准数据或配置数据。

        rlDeviceRfStart() 初始化雷达设备中的RF(BIST)子系统,用户应用程序在调用任何雷达传感器控制API之前应等待此事件。

Radar RF control APIs

        rlSetChannelConfig() 配置要使用的TX天线的数量(3个天线中的一个)和RX天线的数量。它还允许选择他们是以独立模式还是级联模式使用传感器。
        rlSetAdcOutConfig() 配置每个样本的位数(12/14/16)。它还允许选择ADC数据是仅为实数、复数-1x还是复数-2x。
        rlSetLowPowerModeConfig() 设置低功耗ADC模式以实现节能。在此模式下,最大ADC采样率受到限制。
        rlSetProfileConfig() 配置chirp“配置文件”。
        rlSetChirpConfig() 配置chirp。
        rlSetFrameConfig() 选择形成帧的chirp序列、需要传输的帧的数量以及帧的周期性。

Data Control APIs

        数据控制API允许配置需要传输的ADC数据和高速接口(LVDS/CSI)配置。与ADC数据一起,还可以传输与chirp和chirp参数的质量相关的一些附加信息(分别称为CQ(chirp quality)和CP(chirp parameter))。LVDS/CSI配置、通道配置等可以使用这些API完成。有关这些API和参数的详细信息,请参阅“毫米波雷达接口控制文档”(DFP包的一部分)。

Frame Trigger APIs

        一旦配置了啁啾和帧,就可以通过软件API或使用数字SYNC_IN信号触发的硬件来触发它们。触发帧的软件API是rlSensorStart()。

Chirp配置命令

        在之前的学习中,分析命令行配置文件时发现out of box示例中对有些指令未做处理。

TI毫米波雷达(三)—— out of box示例解析(二)

        现在我们结合《mmwave sdk user guide》来看看其中的几个指令。

profileCfg

        向RadarSS和数据路径发送配置文件配置消息。

序号参数说明
1

profileId

配置文件标识符

传统帧模式(defOutputMode=1)支持所有允许值,但仅有一个配置文件会生效

高级帧模式(defOutputMode=3)支持所有值,一个子帧仅有一个配置生效,但不同子帧可以使用不同配置

2

startFreq

起始频率,单位GHz,支持小数

doxgen和数据手册中支持的任意值
3

idleTime

空闲时间,单位us,支持小数

doxgen和数据手册中支持的任意值
4

adcStartTime

ADC有效起始时间,单位us,支持小数

doxgen和数据手册中支持的任意值
5

rampEndTime

斜坡结束时间,单位us,支持小数

doxgen和数据手册中支持的任意值
6

txOutPower

发送天线的发送功率回馈代码

仅“0”值在毫米波示例中被测试过
7

txPhaseShifter

发送天线的发送相移

仅“0”值在毫米波示例中被测试过
8

freqSlopeConst

频率斜率,单位MHz/us,支持小数

doxgen和数据手册中支持的任意大于0的值
9

txStartTime

发送起始时间,单位us,支持小数

doxgen和数据手册中支持的任意值
10

numAdcSample

ADC采样阶段采样的点数

doxgen和数据手册中支持的任意值
11

digOutSampleRate

ADC采样率,单位ksps

numAdcSamples / digOutSampleRate = ADC采样时间

doxgen和数据手册中支持的任意值

12

hpfCornerFreq1

高通滤波器1频率拐点

0 - 175 KHz

1 - 235 KHz

2 - 350 KHz

3 - 700 KHz

doxgen和数据手册中支持的任意值
13

hpfCornerFreq2

高通滤波器2频率拐点

0 - 350 KHz

1 - 700 KHz

2 - 1.4 MHz

3 - 2.8 MHz

doxgen和数据手册中支持的任意值
14

rxGain

射频增益和接收增益

doxgen和数据手册中支持的任意值

chirpCfg

        向RadarSS和数据路径发送Chirp配置消息。

序号参数说明
1chirp start indexdoxgen和数据手册中支持的任意值
2chirp end indexdoxgen和数据手册中支持的任意值
3profile identifier与profileCfg中的profileId匹配
4

start frequency variation in Hz

支持小数

示例中仅测试了“0”值
5

frequency slope variation in kHz/us

支持小数

示例中仅测试了“0”值
6

idle time variation in us

支持小数

示例中仅测试了“0”值
7

ADC start time variation in us

支持小数

示例中仅测试了“0”值
8tx antenna enable mask

详见“ChannelCfg”

单个chirp仅能使用一个发射天线

 frameCfg

        向RadarSS和数据路径发送帧配置消息。要使用此命令,应将dfeOutputMode设置为1。

序号参数说明
1

chirp start index

0-511

2

chirp end index

chirp start index-511

3

number of loops

1-255

mmwavelink doxgen/数据手册允许的任何值,必须大于或等于4。
对于使用DSP版本的多普勒DPU的xwr16xx/xwr68xx演示,由于窗口要求,多普勒chirp(即环路数量)应为4的倍数。如果多普勒chirp数需要值2,则必须更新演示/对象检测DPC源代码,以使用多普勒DPU的矩形窗口而不是汉宁窗口。
4

number of frames

0-65535

0表示无限
5

frame periodicity in ms

支持小数

帧的占空比不应超过50%(即活动chirp时间应≤帧周期的50%)。此外,它应该为选定的UART输出留出足够的时间(基于guiMonitor命令的选择),用户可以使用统计TLV的输出来调整此参数。
6

trigger select

1 - 软件触发

2 - 硬件触发

仅支持软件触发
7

Frame trigger delay

单位ms,支持小数

advFrameCfg

        向RadarSS和数据路径发送高级配置消息,要使用此命令,应将dfeOutputMode设置为3。

序号参数说明
1

numOfSubFrames

子帧数量

2

forceProfile

强制配置

仅支持0
3

numFrames

要发送的帧数

4

triggerSelect

1 - 软件触发

2 - 硬件触发

仅支持软件触发
5

frameTrigDelay

帧触发延时,单位ms,支持小数

总结

        完成了chirp配置的分析后就可以着手验证不同配置的效果,通过不断的设计和验证来积累实际的经验,系统设计时也就可以做到快速和准确。


原文地址:https://blog.csdn.net/slyywd/article/details/143687660

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!