4. 雷达校准基础与Jacinto校准框架

雷达模组从产线下来时,天线相位中心、射频链路时延、混频器非线性、天线罩折射都会带来系统性偏差。如果不做校准,同一目标在不同模组上会呈现不同的距离、速度和角度读数,FMCW雷达的测距测速测角精度就无从谈起。校准的本质,是在已知参考条件下测量这些偏差,把补偿量写入非易失存储,让每颗芯片在运行时都能"还原"出真实的目标参数。Jacinto TDA4x/AM6xA系列在硬件上提供了雷达子系统(RSS)与DSP、MCU的协同通路,SDK则通过一组校准API和数据结构把这一过程标准化。

误差来源与校准目的

雷达误差可粗分为三类。第一类是射频通道误差:各TX/RX通道的增益不一致、相位不一致、I/Q失衡,以及混频器引入的直流偏置。这类误差直接破坏角度估计,因为角度依赖通道间相位差。第二类是时钟与采样误差:本振扫频非线性、ADC采样时钟抖动、帧间起始时间不确定,它们表现为距离谱展宽和速度模糊。第三类是装配与传播误差:天线阵元位置偏差、天线罩引入的相位斜坡、PCB走线时延差异。

校准的目的不是消除所有误差,而是把可重复的系统性误差建模成参数并补偿,使残余误差落在系统指标内。典型量产指标要求距离偏差小于0.1 m、速度偏差小于0.1 m/s、角度偏差小于0.5°(示例指标,具体以项目规格为准)。

距离、速度、角度校准原理

距离校准基于FMCW测距公式 R = c·fbeat·Tc/(2·B)。在已知距离Rref放置角反射器,测得拍频fbeat,反推实际斜率与理想斜率的比例因子kr,以及固定时延偏移τ0。补偿时对每个chirp的采样序列做相位斜坡修正,或直接在距离FFT后对bin索引做线性映射。

速度校准依赖多普勒关系 v = λ·fd/2。用转台或已知速度目标测量多普勒频率,得到速度比例因子kv。速度误差主要来自本振频率偏差和帧周期抖动,因此速度校准常与时钟校准联合进行。

角度校准最复杂。对于均匀线阵,角度θ与相邻阵元相位差Δφ满足 Δφ = 2π·d·sinθ/λ。通道间固有的相位偏移φi会直接叠加到Δφ上,导致角度偏移。校准方法是在暗室中让角反射器位于已知角度(如0°、±30°、±60°),记录各通道复响应,解出每个通道的相位和幅度补偿系数。Jacinto的校准框架把这类系数组织成每通道的复数补偿向量。

Jacinto 雷达校准数据流与补偿链路 已知参考目标 角反射器 R_ref / θ_ref RSS 前端 TX/RX 通道 ADC 原始采样 校准采集 多角度/多距离 原始复数数据 参数估计 k_r, τ_0, k_v 通道 φ_i / A_i 校准数据存储 NVM / EEPROM 版本 + 校验 运行时补偿(DSP / MCU) 距离相位斜坡修正 · 速度比例修正 · 通道复数加权 输出校正后的距离/速度/角度 加载 点云 / 目标列表 R, v, θ, SNR 供感知算法使用 主要误差源 • 通道增益/相位不一致 • I/Q 失衡与直流偏置 • 扫频非线性 / 时钟抖动 • 阵元位置与天线罩偏差 • 帧起始时间不确定

Jacinto SDK中的校准API与数据管理

Jacinto SDK(以RTOS/PDK与雷达SDK为例)把校准拆成"离线标定"和"在线补偿"两段。离线阶段由PC工具或MCU程序驱动,调用采集API获取原始数据;在线阶段由DSP在每帧处理时读取校准表并应用。

核心API通常包括:RfCalib_init()初始化校准模块并加载默认参数;RfCalib_captureRaw()触发一次校准采集,返回各通道的复数样本;RfCalib_estimate()根据采集数据与参考条件计算补偿系数;RfCalib_save()把结果写入NVM;RfCalib_load()在启动时读取;RfCalib_apply()在信号链中执行补偿。不同SDK版本函数名可能略有差异,但职责划分一致。

校准数据通常组织为一个结构体,包含版本号、CRC、距离校准系数、速度校准系数、每通道的幅度和相位补偿数组。下面是一个示例结构(字段为教学示例,非实际SDK头文件):

typedef struct {
    uint32_t magic;          // 标识,如 0x52414441
    uint16_t version;        // 校准数据版本
    uint16_t numRx;          // RX 通道数
    uint16_t numTx;          // TX 通道数
    float    rangeScale;     // 距离比例因子 k_r
    float    rangeOffset;    // 距离偏移 τ_0 对应补偿
    float    speedScale;     // 速度比例因子 k_v
    float    rxAmp[8];       // 各 RX 幅度补偿
    float    rxPhase[8];     // 各 RX 相位补偿(弧度)
    uint32_t crc32;          // 数据校验
} RadarCalibData_t;

数据管理上有三个关键点。第一是版本与兼容性:校准数据必须与当前射频配置(chirp斜率、采样率、天线布局)绑定,配置变更后旧校准失效。第二是完整性校验:NVM写入可能受断电影响,启动时必须校验magic和CRC,失败则回退到默认参数并上报故障。第三是温度与老化:射频通道相位随温度漂移,量产中常按温度点分段存储校准表,运行时根据片上温度传感器选择插值。

校准数据建议保留原始采集样本的摘要(如均值、方差)和标定时间戳,便于产线追溯和失效分析。若同一模组返修后射频配置改变,必须重新标定,不能沿用旧数据。

校准流程与结果判读

一次完整的产线校准通常按以下顺序执行:先做通道幅度/相位校准,再做距离和速度校准,最后做角度校准并验证。角度校准需要暗室或近场校准架,成本最高,因此常放在最后,只有前面步骤通过才执行。

结果判读依赖残差指标。距离校准后,用多个已知距离点测量,残差应小于规格值;角度校准后,在0°、±30°、±60°等角度测量,角度误差应落在允许带内。若某通道相位补偿量异常大(例如超过±30°),往往提示该通道射频链路或天线焊接有问题,应标记为可疑模组而不是强行补偿。

校准项参考条件输出参数典型判据(示例)
通道幅相0° 角反射器rxAmp[], rxPhase[]相位补偿 < ±30°
距离R = 1/3/5 mrangeScale, rangeOffset残差 < 0.1 m
速度转台 ±1 m/sspeedScale残差 < 0.1 m/s
角度θ = 0°, ±30°, ±60°通道复数加权误差 < 0.5°

需要强调的是,校准不是一次性动作。温度变化、器件老化、天线罩污染都会让补偿量逐渐失配。量产测试中通常会在高温和低温各做一次抽检,确认校准表在温度区间内的有效性。Jacinto的校准框架允许在运行时根据温度索引切换或插值校准表,从而在-40°C到+85°C范围内维持精度。