TX移相器校准理论
为了使发射机、波束形成/导引天线阵列的最佳性能,必须很好地控制入射到天线阵列的波形的相位。如果相位控制不好,与理论上可能的阵列相比,性能将受到影响,导致主瓣波束功率降低,定向精度降低,整体信噪比降低。为了确保最佳的相位控制,必须进行系统级校准,其中包括awx TX路径、TX移相器和PCB结构。本文档描述了一个收集校准数据集,计算相位偏移校准矩阵,并将校准矩阵应用到TX波束形成示例设置的示例程序。所有示例都运行在级联雷达射频(MMWCAS-RF-EVM)和级联雷达主机(MMWCASDSP-EVM)评估系统上,并使用12 TX方位天线阵列。在mmWave Studio Lua环境和Matlab中编写的自动化脚本用于执行校准过程的每一步。使用这些脚本和校准流程的用户应熟悉MMWCAS-RF-EVM/MMWCAS-DSP-EVM的基本操作,并熟悉mmWave Studio环境。关于级联EVM mmWave Studio和Matlab后处理示例环境设置的完整描述,请参考mmWave Studio级联用户指南,位于mmWave Studio安装目录下\docs\mmwave_studio_cascade_user_guide.pdf
1总结
在基于AWR的系统中,引起相位偏移误差的因素有很多。相位偏移是由AWR器件封装、PCB传输线和天线造成的。相位偏移会根据工作温度和工作频率而变化。从AWR器件封装到天线的路由延迟紧密匹配可以消除PCB和封装的相位偏移,但即使长度匹配路由也会保留一些。
此外,相位偏移也由AWR发射移相器造成,当被用来故意向每个TX路径偏移相位时。理想情况下,每个移相器精确贡献5.625度/LSB。然而,由于工艺角、温度和工作频率的关系,TX移相器产生的精确相位偏移将略有变化。
需要校准移相器、封装和PCB路径的组合相位偏移误差,以确保AWR发射机天线阵列在波束形成/转向方面的最佳性能。在这些示例脚本中,校准的基本流程可以概括如下:
1. 在AWR系统中,测量每个TX通道、RX通道(所有虚拟通道)和移相器可编程偏移组合的固定校准目标的2D-FFT(0速度库)峰值的相位。
a.在这里的示例脚本中,该校准数据集是通过64个单独的TDMA- mimo数据集收集的,每个数据集包括所有12个TX(每次打开一个,TDMA方式)。每个数据集对所有12个tx
b都有不同的移相器值。这将产生来自每个虚拟通道和移相器组合的数据
2. 计算相位偏移,相对于每个RX通道观察到的每个TX通道的移相器设置为0。
a.从校准目标测量的绝对相位看起来有点随机,因为这取决于目标距离
b.相对于这个参考相位值的相对相位偏移看起来控制得很好,有一些偏移
c.所有RX通道的数据可能是冗余的,但也可以通过这种方式识别离群虚拟通道。
d. RX校准的虚拟通道增益/相位校准也可以使用相同的数据集进行(RX虚拟通道增益/相位校准不在本文档中涉及)。
3.此时,存在一个相位偏移的[Number RX x Number TX x Number Phase shift]矩阵。
a.数据可以在RX上取平均值,也可以选择一个参考RX。
b.在本例中,选择单个参考RX通道,然后将该RX通道中每个-180°到+180°的相位偏移测量值映射到0到360°范围,对应于可控移相器值。
c.这导致一个参考相位偏移校准矩阵的尺寸[TX数x TX数相移]。
4. 对于一个给定的移相器启用的应用,例如TX波束转向,理想的相位偏移矩阵可以作为物理几何形状和天线阵列理论(天线间距、波长和期望的波束倾斜角度)的函数产生。
5. 这个理想的相位偏移矩阵然后与校准的偏移矩阵进行比较,并创建两个矩阵之间的映射。
a.这种映射,或查找表(LUT),允许用户选择一个给定的天线相位偏移状态(例如一个期望的波束倾斜角度),并提供最小误差移相器编程值,为每个AWR TX通道编程。
上述过程在本例中通过一组mmWave Studio Lua脚本和Matlab脚本和函数完成。如下图所示:
*首先,mmWave Studio的Lua脚本Cascade_Phase_Shifter_Calibration_AWRx。Lua,用于校准数据采集。
*一个Matlab脚本,cascade_TX_Phase_Calibration。m然后用于校正数据集的后处理,每个虚拟通道和每个TX移相器编程值创建一个相位偏移矩阵。
*另一个Matlab脚本,TXBF_LUT_Generate。M然后用于创建移相器编程查找表,它将波束转向角转换为校准的移相器编程值。
*接下来,可以使用两个示例mmWave Studio Lua脚本在相同的校准目标场景上获取TX波束形成验证数据。
o Cascade_Configuration_TXBF_Simple。lua利用MMWCAS-RF-EVM的方位角天线建立一个固定的波束转向角,并收集结果数据。
o Cascade_Configuration_TXBF_AngleSweep。Lua扫过波束转向角度的弧,在每个波束转向偏移角度收集数据。当对数据进行处理时,会得到波束角度与RX功率图,可以与未校准或非txbf系统的性能进行比较。
最后,另一个Matlab脚本,cascade_TXBF_Verification。m用于绘制由Cascade_Configuration_TXBF_AngleSweep.lua收集的数据集。
2硬件和软件描述
这些实例使用了MMWCAS-RF-EVM和MMWCAS-DSP-EVM级联雷达评估系统。关于AWR级联评估系统的初始设置,请参考mmWave Studio级联用户指南。
2.1硬件和软件需求
(1)组装MMWCAS-RF-EVM and MMWCAS-DSP-EVM
(2)角反射器和合适的测试范围
o最小杂波范围内的FMCW,容易识别角反射器目标
o最小范围,以确保平面波接收回AWR RX
(3)主机PC运行mmWave Studio 2.1(或更高版本)以支持AWR1243P,或运行mmWave Studio 3.1(或更高版本)以支持AWR2243P
o确保MIMO配置示例和Matlab后处理示例已经运行,并按预期运行。
o此TX移相器校准集建立在Matlab TDMA MIMO处理链示例之上
2.2软件脚本说明
在这些例子中,mmWave Studio Lua脚本系统用于自动化所有AWR设备配置和数据收集。使用一组Matlab脚本进行后处理并绘制结果数据集。
2.2.1 mmWave Studio Lua配置和数据收集脚本
这里总结了以下三个配置和数据捕获Lua脚本。
Cascade_Phase_Shifter_Calibration_AWRx.lua
Cascade_Configuration_TXBF_Simple.lua
Cascade_Configuration_TXBF_AngleSweep.lua
2.2.1.1 Cascade_Phase_Shifter_Calibration_AWRx.lua
这是一个mmWave Studio Lua自动化脚本,它收集TX移相器校准数据集。这个脚本处理MMWCAS-RF-EVM AWRx设备和MMWCAS-DSP-EVM数据捕获的配置。
(1)使用TDMA-MIMO帧结构,该脚本在所有4个AWRx设备上获取数据,跨所有TX/RX虚拟通道,通过0到63设置范围扫描6位移相器偏移
(2)每个数据集由几个TDMA-MIMO帧组成,每个TX通道应用相同的移相器值。
(3)64个数据集被捕获,每个数据集对所有TX通道应用不同的移相器偏移量编程,直到覆盖所有移相器设置
(4)数据存储在默认的/mmWaveStudio/Postproc/文件夹位置,格式为/ TX_PS_CAL_phaseShiftValueX
o X是移相器偏移量(00到63)
o 此格式稍后由cascade_TX_Phase_Calibration使用。m Matlab脚本中读取的校准数据集
这个校准数据收集脚本基于示例TDMA-MIMO配置和数据捕获Lua脚本。必须设置相同的基本配置设置。它们都位于脚本的第26行到第103行:
o RadarDevice 雷达设备
o cascade_mode_list
o metaImagePath
o TDA_IPAddress
o Profile Configuration
o Frame Configuration
o Data Capture Configuration
图1 - Cascade_Phase_Shifter_Calibration_AWRxLua脚本配置变量
2.2.1.2 Cascade_Configuration_TXBF_Simple.lua
这是一个mmWave Studio Lua自动化脚本,它使用基本啁啾配置设置一个静态(单一,固定角度)的TX波束形式示例。没有使用AWR高级帧配置选项。这个脚本是用来验证校正前和校正后的波束形成性能,在一个尽可能简单的设置。
脚本运行通过一个基本的级联设置与请求的啁啾配置和帧配置设置应用。
变量psCalLUT是一个[9 TX] x[角度数]移相器校准矩阵,它将特定的波束转向角度映射到级联设备阵列的一组校准移相器编程值。这个矩阵是基于Matlab的校准脚本的输出。每一行是特定的转向角,每列是特定发射机通道的特定相位规划值。
图2 - psCalLUT矩阵格式
图3 - psCalLUT矩阵示例(1度分辨率下+/- 15度光束转向的校准设置)
只有9方位TX天线被使用在这个例子设置。如下图所示(摘自MMWCAS-RF-EVM用户指南),这些映射到AWR #4、AWR #3和AWR #2设备。AWR #1(主)TX天线映射到仰角,在这个例子中没有使用。
图4 - MMWCAS-RF-EVM TX天线映射
所选光束转向角度(psCalLUT行索引)通过angleIdx变量来选择。
基于angleIdx值,psCalLUT值被映射到psSettings变量,然后使用ar1.ProfileConfig_mult() lua API命令对每个设备进行编程。
配置完成后,所选择的帧数就会被捕获,这些数据随后可以在mmWave Studio的后处理GUI或任何其他外部后处理环境中进行后处理。
2.2.1.3 Cascade_Configuration_TXBF_AngleSweep.lua
这是一个mmWave Studio Lua自动化脚本,它使用基本啁啾配置设置一个静态(单一,固定角度)TX波束形式的扫描示例。angleIdx变量扫过psCalLUT矩阵,数据集捕捉每个角度偏移。
该脚本与Cascade_Configuration_TXBF_Simple基本相同。lua,加上对psCalLUT矩阵的扫描。这个脚本是为了从天线系统捕获全范围的波束转向偏移。当对数据进行后期处理时,可用于创建RX信噪比与波束角度图。
数据收集完成后,可以在提供的cascade_TXBF_Verification中对数据进行后处理。m脚本。
2.2.2 Matlab后处理脚本
下面是Matlab后处理脚本的总结
cascade_TX_Phase_Calibration,m o cascade_Read_TX_Cal_Data.m
TXBF_PS_LUT_Generate.m o TXBF_Calc_Phase_Settings.m o WrapTo360.m
cascade_TXBF_Verification.m
TXBF_Create_PSCal_Advanced_Frame_Config.m
2.2.2.1 cascade_TX_Phase_Calibration.m
这是一个Matlab后处理脚本,它读取捕获的校准数据集并生成一个calibrateTXPhaseResults。Mat文件,可用于生成移相器偏移量的查找表。
calibrateTXPhaseResults。Mat文件包含以下变量:
相位值:发射机/系统x接收机/系统x移相器偏移量(三维)矩阵,其中包括每个发射机,接收机,移相器设置,用于计算相位偏移量变量的目标测量相位值
phaseOffsetValues:发射机/系统x接收机/系统x移相器偏移(三维)矩阵。这个矩阵存储每个发射机,接收机,移相器设置,相位偏移参考一个选定的TX通道的零移相器设置偏移。
该脚本通过迭代TX移相器校准数据集并找到2D-FFT(0速度库)的峰值来工作。这个峰值对应于固定校准目标的中频返回。记录这个2D-FFT库的相位数据。通过将每个目标相位值与参考TX/RX通道(虚拟通道)上看到的目标相位值进行比较,可以计算每个TX的相位偏移。移相器的偏移量根据以下公式从校准目标相位数据中得到:
在执行脚本之前,应该修改多个变量以匹配校准数据环境。这些包括以下变量:
dataFolder_calib_data_path = 'C:\Radar_Data\20200721_phase_shifter_cal_testing\20200722_testdata_SN5733600 018_outdoor_cal2\'; % folder holding all of the calibration datasets
DEBUG_PLOTS = 1;
% optionally display debug plots while calibration data is being processed
numDevices = 4; % number of AWRx devices being processed, set to 4, for the full MMWCAS-RF-EVM device array
numTX = 3;
% number of AWRx TX channels being processed, set to 3, for the full AWRx device channels numRX = 16;
% number of MMWCAS-RF-EVM RX channels being processed, set to 16, for the full MMWCAS-RF-EVM RX channels
numPhaseShifterOffsets = 64; % number of phase-shifter offset increments being processed, set to 64 for full phase-shifter range
% select reference TX/Device channel for computing offsets
refDevice = 4;
refTX = 1;
图5 - cascade_TX_Phase_CalibrationM脚本变量选项
下面的图形是示例输出(通过debug_plot选项启用)。
图6 -原始目标阶段值示例
图7 -样例相位偏移值(相对于参考通道的值)
2.2.2.2 cascade_Read_TX_Cal_Data.m
这是cascade_TX_Phase_Calibration的一个依赖项。M读取特定帧的校准数据。
2.2.2.3 TXBF_PS_LUT_Generate.m
这个脚本读入calibratetxphaserresults。由cascade_TX_Phase_Calibration生成。m脚本并生成TX波束形成校准查找表(LUT)。该LUT将选择的波束转向角度转换为一组校准移相器可编程值。
这个脚本接受矩阵phaseOffsetValues并提取一个相位偏移值的RX数据集。然后在TXBF_Calc_Phase_Settings()函数中处理这些值,以计算特定的波束倾斜角度,以校准移相器编程LUT。这个LUT被导出为CSV文件。生成一个校准的和理想的LUT以进行比较。未校准的版本包括理想的移相器值,如果没有额外的相位偏移误差存在于系统中编程。生成以下CSV文件。
psSettingProgram.csv:这是计算出的理想移相器编程矩阵,它将方位波束转向角映射到移相器程序值。
pssettingprogramcalv .csv:这个脚本是经过校准的移相器编程矩阵,它将方位波束转向角映射到移相器程序值,从而使系统相位偏移误差生效
在运行此脚本之前,应该适当设置以下选项变量。
%% setup linear array variables
lambda = 3.900424 * 10 ^ -3;
% lambda in meters
d = 2 * lambda;
% array separation in lambda
numAnts = 9; % number of antenna elements in the azimuth array
deltaPhi = 360/64; % ideal AWRx phase shifter discrete value in degrees
deltaTheta = 1.0; % beam-steering angle offset
%theta = 80:deltaTheta:100;
% beam-steering angle array -- defined
theta = -15:deltaTheta:15;
% beam-steering angle array
numPsOffsets = 64;
%phase Shifter calibration file
phaseShiftCalFile = '\calibrateTXPhaseResults.mat';
load(phaseShiftCalFile);
图8 - TXBF_PS_LUT_Generate。m选项设置
相位偏移被打开到0到360度空间,以便它们可以与移相器可编程设置相比较。
图9 -移相器偏移量展开示例
根据阵列几何结构构造了理想移相器偏移矩阵。这包含每个天线信道的理想移相器值。然后,通过搜索每个TX通道和每个波束转向角与理想相位偏移值最接近的匹配来比较理想校准表和未包装校准表。结果是一组校准的,可编程的偏移,如下图所示。
图10 -移相器查找表矩阵示例(显示值和热图)
波束控制坐标系的选择如下图所示,视距方向上的0度点在任意一侧都有+/-的范围。
图11 -级联EVM波束转向角坐标系统(级联EVM组件自上而下视图)
这个方向映射到一个AWRx设备和TX方位天线阵列坐标系,如下图所示。awx设备4,TX1,是本例中使用的相位参考通道。所有其他TX通道移相器偏移都是相对于该通道选择的
图12 -级联EVM波束-转向角坐标系统和天线和awx设备位置
图13 - CSV校准矩阵输出示例
2.2.2.4 TXBF_Calc_Phase_Settings.m
该TXBF_PS_LUT_Generate.m脚本是这产生校准的相位偏移为一个单一的波束转向角度
2.2.2.5 cascade_TXBF_Verification.m
该脚本读取由cascade_configuration_txbf_angles哭泣收集的数据集。lua脚本。目标是找到峰值量级与波束转向角。如果将初始校准数据集使用的瞄准反射镜场景用于该数据集,则该角度扫描将导致测量的目标幅值与角度图,该图应遵循相控阵增益。请参阅下面的第5节,比较校准与未校准的TX波束形成数据集。
2.2.2.6 TXBF_Create_PSCal_Advanced_Frame_Config.m
这个脚本读入calibratetxphaserresults。MatlabExamples\ mmWaveStudio\MatlabExamples\4chip_cascade_TxBF_example中找到一个新的相移校准矩阵Ph,它与现有的基于高级帧配置的TX BeamSteering示例兼容。这个脚本保存Ph值矩阵在phaseshiftercalibri .mat。
然后用户可以替换现有的\mmWaveStudio\MatlabExamples\4chip_cascade_TxBF_example\Calibrations\phaseShifterCalibration。这个新的移相器校准垫
2.3安装软件脚本
提供的Lua和Matlab脚本设计用于在mmWave Studio和Matlab后处理示例库环境中操作,该环境与mmWave Studio安装程序一起发布。
如果4chip_cascade_MIMO_example的安装中不存在这些脚本,将以下文件复制到以下位置:
\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade\
cascade_TX_Phase_Calibration.m
cascade_Read_TX_Cal_Data.m
TXBF_PS_LUT_Generate.m
TXBF_Calc_Phase_Settings.m
WrapTo360.m
\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade\paramGen
parameter_file_gen_TXPS_VerificationCalib_json.m
这里描述的Matlab脚本必须从\MatlabExamples\4chip_cascade_MIMO_example\主\级联目录执行,因为它们依赖于MIMO示例源代码,用于读取校准数据二进制文件和JSON格式的描述文件。应该遵循mmWave Studio级联用户指南中介绍的Matlab脚本环境设置示例,以便运行这些脚本。
图14 -突出显示TX移相器校准文件的Matlab脚本目录
相关的Lua脚本可以存储在任何方便的地方。该脚本将加载到mmWave Studio中,根据需要运行
3校准程序
以下部分描述物理目标范围设置、数据收集和后处理步骤,以获得TX移相器校准、应用校准并验证校准后的TXBF配置。
3.1校准物理设置
该示例的TX移相器校准和验证是通过相对于MMWCAS-RF-EVM天线阵列放置一个单角反射面目标来执行的。TI建议级联雷达EVM距离至少为5米,使目标处于足够远的辐射图场,并在RX天线阵上呈现平面波反射。至少在到角反射器的距离范围内,杂波应该相对清晰(径向),这样就不会意外地使用其他目标进行校准。
图15 -校准目标与EVM相对定位
3.2校准脚本流程
以下部分描述了校准脚本的执行流程。下图概述了这个流程,首先运行Cascade_Phase_Shifter_Calibration_AWRx。在mmWave Studio中的lua脚本,并以收集TX移相器校准的TX波束形成的数据结束。下图显示了如何生成不同的数据集,并将其用于不同的校准处理脚本。
3.2.1校准数据采集
校准数据采集步骤:
(1)安装和运行Cascade_Phase_Shifter_Calibration_AWRx。在mmWave Studio中的lua脚本
用户应修改所需的啁啾配置脚本,以匹配所需的啁啾操作条件,即校准的目的
用户应该修改脚本,以选择特定的啁啾配置文件,设备数量/TXchannels/TX移相器偏移量在扫描所需的
(2)脚本将通过扫描设备/ tx通道和移相器的值
(3)一个完整的,4设备,12-TX, 64移相器偏移量运行可能需要30分钟来迭代。所需的时间主要受到通过以太网从SSD传输数据的限制。
一旦校准数据被收集,用户应该有一个包含多个数据捕获的目录。目录列表示例如下所示:
图16 -示例校准数据文件夹列表
图17 -示例校准数据文件夹列表,针对单个设备,TX通道和移相器偏移迭代
3.2.2标定数据处理
首先,为cascade_TxBF_Calibration设置Matlab环境。m脚本。与Matlab MIMO示例一样,用户需要运行add_path。M脚本在执行之前运行,为依赖项设置环境路径变量。Matlab后期处理环境设置的完整描述可以在mmWave Studio安装目录下找到\docs\mmwave_studio_cascade_user_guide.pdf
在启动脚本之前,用户需要修改用户控制变量。参见2.2.2.1节中的上述脚本描述。
一旦脚本执行完成,每个TX/RX通道的原始阶段偏移可以在phaseValues变量中找到。这是输入到下一个脚本集,将创建波束角度移相器设置查找表。这个矩阵和其他结果数据都保存到校准数据目录中的.mat文件中,该文件名为calibrateTXPhaseResultsFileFull.mat
在执行结束时,校准目标相位和相位偏移矩阵被导出到matlab .mat文件以备将来导入。
3.2.3波束角度到移相器查找表的生成
然后,用户应该运行TXBF_PS_LUT_Generate。M脚本生成一个校准和未校准的波束转向角到移相器编程查找表。
在计算相位角时,该脚本假定如图11和图12所示的方位角线性阵列坐标系。天线1是AWR #4, TX1在波束角的-90度(右)侧开始。
打开TXBF_PS_LUT_Generate。并编辑以下变量,以匹配校准数据集并设置所需的查找表参数。修改phaseShiftCalFile变量以指向生成的校准数据集calibratetxphaserresults .mat。
设置好用于创建查找表的变量和输入校准数据之后,运行脚本。这个脚本引用来自校准calibratetxphaserresults的4D矩阵变量phaseOffsetValues。Mat文件创建波束转向角,以可编程移相器偏移值。
该脚本将输出一些调试图,两个CSV(逗号分隔的变量)文件将被写入当前工作目录中的磁盘,如下所示。每个CSV文件将包含波束角度偏移和移相器编程值的矩阵。这些可以应用到示例中Cascade_Configuration_TXBF_Simple。lua, Cascade_Configuration_TXBF_AngleSweep。lua TXBF示例以及Matlab高级框架配置TXBF示例。
3.2.4验证移相器校准结果
如上面对Cascade_Configuration_TXBF_Simple的描述所述。在lua中,生成的CSV文件可以导入到lua示例代码中,允许用户设置一个经过校准的静态方位波束控制示例。这些值被复制到TX Beam-Forming示例. Lua脚本中,并格式化为Lua 2维列表。如上所述,然后使用这个列表psCalLUT为TX波束形成的用例生成适当的TX相位偏移值。参见上面的图3和图4以及相关的文本。
3.2.5更新Matlab TXBF实例中的校准
运行TXBF_Create_PSCal_Advanced_Frame_Config。m脚本使用calibrateTXPhaseResults。适当垫输入路径设置。结果phaseShifterCalibration。mat可以应用于高级框架配置TXBF示例。
4例校准与未校准的TX-BF数据集
为了验证所得到的TX移相器查找表,可以针对静态瞄准目标对每个波束转向角进行数据捕获。上面描述的cascade_configuration_txbf_angles哭泣。lua脚本和cascade_TXBF_Verification。M文件以这种方式捕获和处理数据。
在cascade_TXBF_Verification中绘制了来自此瞄准目标的接收功率与波束转向角的关系。M显示所得到的阵列增益模式。下面显示了一个示例数据集。在这种情况下,校准和未校准数据集将一起显示。
图18 -示例未校准(左)和校准(右)波束角度与目标接收功率