1. 前言
本文主要是TI的MMWCAS-DSP-EVM 和MMWCAS-RF-EVM 两块评估板的一些使用心得和毫米波雷达的学习总结。
2. 相关原理
毫米波(mmWave)是一类使用短波长电磁波的特殊雷达技术。通过捕捉反射的信号,雷达系统可以确定物体的距离、速度和角度。毫米波雷达可发射波长为毫米量级的信号,短波长让所需的系统组件(如天线)的尺寸很小,同时也可以提高精度,工作频率为76-81GHz(对应波长约为4mm)的毫米波的微小移动分辨率大概为零点几毫米。完整的毫米波雷达系统包括发送和接收射频组件,以及时钟等模拟器件,还有模数转换器(ADC)、微控制器(MCU)和数字信号处理器(DSP)等数字组件。而TI的器件则是一种发射调频连续波(FMCW)的器件。
主要可以实现距离、速度、角度的测量。下面介绍一些相关的原理,距离、角度、分辨率、最远距离。chirp信号,FMCW
下面的相关原理主要参考了TI的FMCW相关培训视频和PPT,讲解的还是不错的视频。
2.1 范围估计 rang estimation
涉及用雷达进行多目标的距离估计、分辨率等相关的推导
一般情况下,采用的是线性调频信号——chirp信号,其频率随时间线性变化。其表达式
S
t
(
t
)
=
A
c
o
s
{
2
π
(
f
0
t
+
S
t
2
/
2
)
+
φ
0
}
t
∈
[
0
,
T
]
(2.1)
S_t(t)=Acos\{2 \pi(f_0t+St^2/2)+\varphi_0\}\qquad t\in[0,T] \tag{2.1}
St(t)=Acos{2π(f0t+St2/2)+φ0}t∈[0,T](2.1)
A表示其幅度,S表示调频斜率B/T,chirp信号的扫频带宽为B,时间周期(时间窗口window)为T。
下图则是其频率变化, f c f_c fc为起始频率(下同)77GHz,持续时间,带宽 B B B,线性调频脉冲的斜率 S S S。
FMCW的雷达框图如下:
注:混频器得到的信号频率为输入信号的瞬时频率之差,相位为两个输入信号的相位之差。
得到的信号:
由上图中频(IF)信号频率为
S
τ
S\tau
Sτ,而所测物体的距离d又和时间
τ
\tau
τ 有关系。这样通过推导我们可以知道
f
I
F
=
S
τ
=
S
2
d
c
(2.2)
f_{IF}=S\tau=S\frac{2d}{c} \tag{2.2}
fIF=Sτ=Sc2d(2.2)
故而我们可以将物体的距离信息转化为中频信号的频率信息,对其进行FFT可得到相应的频谱,一个物体则会产生一个单峰:
由上面可以看出,对于时间窗口越长的,所能分辨的频率差越小,即距离分辨率越高。
由于在时间窗口上,两个信号相差至少要有一个周期,才能分辨出为两个频率,即识别为两个峰,两个目标。而时间窗口最大为信号持续时间
T
c
T_c
Tc ,则两个不同目标对应的中频信号的频率差 应满足。
Δ
f
>
1
T
c
(2.3)
\Delta f>\frac{1}{T_c} \tag{2.3}
Δf>Tc1(2.3)
结合公式(2.2)可得其分辨率应满足
Δ
d
=
c
Δ
f
I
F
2
S
>
c
2
S
T
c
=
c
2
B
(2.4)
\Delta d=\frac{c\Delta f_{IF}}{2S}>\frac{c}{2ST_c}=\frac{c}{2B} \tag{2.4}
Δd=2ScΔfIF>2STcc=2Bc(2.4)
即最大距离分辨率为
d
r
e
s
=
c
2
B
(2.5)
d_{res}=\frac{c}{2B} \tag{2.5}
dres=2Bc(2.5)
故而4GHz的带宽对应的距离分辨率大约为3.75cm,但开篇所说的几毫米的精度则是通过下一节关于中频信号的相位我们可以了解到具体原理。
而由采样定理的限制,所能测量的中频信号的频率应小于采样频率
F
s
F_s
Fs的一半,即最大测量的距离限制在
d
=
c
f
I
F
2
S
<
c
F
s
4
S
d=\frac{cf_{IF}}{2S}<\frac{cF_s}{4S}
d=2ScfIF<4ScFs
而对于下面这两种信号:
其各自有不同的优势,由于带宽相同,故而分辨率相同。但由于调频效率不同,对于采样频率一样的,左边的最远测量距离要大一些,但是对于相同距离分辨率,右边信号所需的持续时间更短。总体的图:
2.2 速度估计
此前我们通过中频信号的频率实现了对于物体的范围估计,但我们如果希望FMCW雷达具备响应物体极小位移的能力(或者说速度),我们就需要对中频信号的相位进行研究。
Δ
ϕ
=
4
π
Δ
d
λ
\Delta \phi=\frac{4\pi \Delta d}{\lambda}
Δϕ=λ4πΔd
若用
Δ
τ
\Delta\tau
Δτ 表示物体微小运动的时间,由于角度等于角速度乘以时间即
2
π
f
c
t
2\pi f_ct
2πfct,则其相位变化
Δ
ϕ
\Delta\phi
Δϕ 与其微小移动
Δ
d
\Delta d
Δd 的关系为
Δ
ϕ
=
2
π
f
c
Δ
τ
=
2
π
c
λ
Δ
τ
=
4
π
Δ
d
λ
(2.6)
\Delta\phi=2\pi f_c\Delta\tau=2\pi\frac{c}{\lambda}\Delta\tau=\frac{4\pi\Delta d}{\lambda} \tag{2.6}
Δϕ=2πfcΔτ=2πλcΔτ=λ4πΔd(2.6)
这样中频信号的频率与相位均有相关意义(这个式子很重要,最好记忆一下):
由于波长较短,故而可以看出相位对于微小运动比较敏感。这也就对应了开篇提到的毫米波雷达对于物体移动的分辨率可以到几毫米。 而这将可用于速度估计。用
T
c
T_c
Tc表示持续时间,
ω
\omega
ω表示相位差
Δ
ϕ
\Delta\phi
Δϕ 根据式子(2.6)可得到:
v
=
λ
ω
4
π
T
c
(2.7)
v=\frac{\lambda\omega}{4\pi T_c} \tag{2.7}
v=4πTcλω(2.7)
但是需要注意,这样测量时对于测量的最大速度是存在限制的,由于依赖于相位差进行测量,只有当相位差的差值介于正负
π
\pi
π 弧度之间时才可以,不然无法区分具体相位差,不知道是向哪边转了。如下图:
故而由式(2.7)知,最大速度为:
v
m
a
x
=
λ
4
T
c
(2.8)
v_{max}=\frac{\lambda}{4T_c} \tag{2.8}
vmax=4Tcλ(2.8)
对于速度分辨率与距离分辨率类似,大致思想也是一个时间窗口内,至少相差一个周期。只不过此时对应的时间窗口时总的帧时间(一帧代表此前一次
T
c
T_c
Tc),用N代表总帧时间间隔内的脉冲数,则
Δ
ω
>
2
π
N
(2.9)
\Delta \omega>\frac{2\pi}{N} \tag{2.9}
Δω>N2π(2.9)
又由式(2.7)得(
T
f
T_f
Tf 表示总帧时间,即测速度的时间):
Δ
v
=
λ
Δ
ω
4
π
T
c
>
λ
2
N
T
c
=
λ
2
T
f
(2.10)
\Delta v=\frac{\lambda \Delta\omega}{4\pi T_c}>\frac{\lambda}{2NT_c}=\frac{\lambda}{2T_f} \tag{2.10}
Δv=4πTcλΔω>2NTcλ=2Tfλ(2.10)
同样对于速度测量,也有相应信号的讨论:
上图两种信号对于最大速度和速度分辨率的表现:
当然在实际的实现中,速度的估计需要在原来距离估计的基础上,对其接受信号做FFT后,再对其进行Dlopper FFT,总的过程称为2D-FFT。
通过上述对于距离分辨率、最大速度、速度分辨率等的计算,我们可以反过来通过相应需求涉及相应的调频连续波的一些参数
最后一个公式,在由于ADC采样频率对最大中频信号频率的限制,需要对调频斜率和最大测量距离之间进行一个取舍。当然雷达测量距离也和发射功率等相关
2.3 角度估计
对于角度的估计,参考了之前对于速度的估计方法,如下图所示
故而由此前的公式(2.6)知,其接受天线的两个信号相位差为(没有来回故而是4不是2):
ω
=
2
π
Δ
d
λ
(2.11)
\omega=\frac{2\pi\Delta d}{\lambda} \tag{2.11}
ω=λ2πΔd(2.11)
上式中
Δ
d
\Delta d
Δd 表示两个接受天线收到的信号所传输的距离差,其与两个接受天线的距离
l
l
l 的关系为:
则结合公式(2.11)可以得到:
ω
=
2
π
L
∗
s
i
n
θ
λ
(2.12)
\omega=\frac{2\pi L*sin\theta}{\lambda} \tag{2.12}
ω=λ2πL∗sinθ(2.12)
和在速度估计时的原理相同,相位差也需要在
±
π
\pm\pi
±π 内,故而同样可以得到测量角度满足为:
θ
<
s
i
n
−
1
(
λ
2
L
)
(2.13)
\theta<sin^{-1} (\frac{\lambda}{2L}) \tag{2.13}
θ<sin−1(2Lλ)(2.13)
同样其角度分辨率可以得到:
Δ
ω
=
2
π
l
λ
(
s
i
n
(
θ
+
Δ
θ
)
−
s
i
n
(
θ
)
)
≈
2
π
l
λ
c
o
s
(
θ
)
Δ
θ
(2.14)
\Delta \omega=\frac{2\pi l}{\lambda}(sin(\theta +\Delta\theta)-sin(\theta))\approx\frac{2\pi l}{\lambda}cos(\theta)\Delta\theta \tag{2.14}
Δω=λ2πl(sin(θ+Δθ)−sin(θ))≈λ2πlcos(θ)Δθ(2.14)
而相位差满足:
Δ
ω
>
2
π
N
(2.15)
\Delta\omega>\frac{2\pi}{N}\tag{2.15}
Δω>N2π(2.15)
由(2.14)和(2.15)得到角度分辨率(右边推导:
θ
\theta
θ 很小,且天线间距一般取为波长的一半),单位为弧度:
θ
r
e
s
=
λ
N
l
c
o
s
(
θ
)
⟹
θ
r
e
s
=
2
N
(2.16)
\theta_{res}=\frac{\lambda}{Nlcos(\theta)}\Longrightarrow\theta_{res}=\frac{2}{N}\tag{2.16}
θres=Nlcos(θ)λ⟹θres=N2(2.16)
在实际实现中采用的是和速度估计中类似的方法,称为Angle-FFT。下图是二者对比,由于TI采取符号不一致的原因,其
d
d
d 代表天线距离。
3. 雷达板卡简介
在TI官网上所查到的信息是MMWCAS-RF-EVM是由毫米波雷达AWR1243或者AWR2243四器件级联阵列的感应解决方案,单个主器件在所有四个器件之间分配20GHz的本机振荡器(LO)信号(用以产生线性调频波),使得这四个器件作为单个射频收发器运行,可支持最多12发TX和16收RX天线元件。关键词:成像雷达、长距离TX波束形成和波束控制、提高角分辨率的MIMO。
3.1 RF-EVM
其与DSP板配合使用,DSP板为RF板通过Host Board Connector J4 J6对其提供5V电压,板子本身以1V电压供应RF1和RF2,12Tx&16Rx,12发16收。
板子正反面接口图如下
Front View Callouts:
- AWRx #1 “Master” (U1_1) 该处为 master device
- AWRx #2 “Slave 1” (U1_2)
- AWRx #4 “Slave 3” (U1_4)
- AWRx #3 “Slave 2” (U1_3)
- 20 GHz LO Wilkinson Power Divider #1 (FMCW_CLKOUT) AWR #1 and AWR #2
- 20 GHz LO Wilkinson Power Divider #2 (FMCW_SYNCOUT) AWR #3 and AWR #4
- LMK00804B (U4) AWRx 40 MHz clock distribution buffer
- Receive antenna array
- Transmit antenna array
- AWRx reset LED indicators (DS4、5、6、7对应AWRx#1、2、3、4) NRESET值 :表示PMIC#1、#2输出正常,以及主板NRESET信号
- System 5.0 V and 3.3 V power status indicators 电源正常显示灯5V和3.3V
Back View Callouts:
- Host Board Connector #1 (J4) 5.0 V power, interfaces for AWRx #1, AWRx #2
- Host Board Connector #2 (J5) 5.0 V power, interfacesAWRx #3, AWRx #4
- TPS73733 5.0V to 3.3 V LDO (U5) provides system 3.3 V power
- LP87524P PMIC #2 (U4) powersAWRx #2 and AWRx #3 PMIC#2
- LP87524P PMIC #1 (U3) powersAWRx #1 and AWRx #4
- Bench 5.0 V power connector (J6) 辅助电源,在DSP供电情况下不需要
- LMK00804B (U8) AWRx digital synchronization distribution buffer
X、Y、Z轴
下图是雷达天线的一些距离
发射天线的
3.2 DSP-EVM
DSP板子上有射频板用来接受雷达数据信号,其给射频板供电5V。DSP主要用于信号处理,为FMCW信号提供一些程序,比如一些FFT程序、基本检测算法CFER-CA等,
下面是板子正反的接口图
支持PCIe 2.0(通过 m.2 连接器),SSD diver通过连接器提供3.3V的供电电压。
与RF板连接图
DSP板供电12V,电流不小于3A。典型电源:12V,5A,Advantech Power supply P/N: 96PSA-A60W12V1-1
电源接好,板子四周的LED灯会亮
下面为其功能原理框图:
3.3 AWRxx区分
TI的AWRxx表示的是汽车毫米波雷达,而IWRxx表示的是工业毫米波雷达。而汽车毫米波雷达也正是本文研究的主要重点。单芯片雷达AWRxx主要有三款,AWRx2xx、AWRx4xx、AWRx6xx。
AWRx2xx、AWRx4xx、AWRx6xx从左到逐渐趋于复杂,在相应的使用中也是不一样的,AWRx6xx自带DSP。在mmWaveStudio的使用中,AWRx2xx只需要选择BSS(Radar Subsystem),AWRx4xx就还需要MSS(Master Subsystem),而AWRx6xx还有DSS(DSP Subsystem)
至于AWRx2xx、AWRx4xx、AWRx6xx的第一个x代表版本,第二三个x代表收发。如本文主要用的是AWR2243四级联芯片,它便是四收三发单芯片雷达,由于没有DSP相关模块,故而RF评估板还需要配合DSP评估板进行使用。
3.4 mmWave SDK简介
SDK(software development kits),通过简单介绍,了解TI相关SDK组件的一些使用方法,方便学习。
主要面向TI单芯片毫米波雷达器件的软件系统和测试。主要涉及AWR1443、AWR1642、IWR1443和IWR1642等毫米波传感器产品。第一个平台是xWR14xx,括AWR1443、IWR1443,4收3发, 有微控制器和硬件加速器,用于信号处理;第二个平台是AWR1642、IWR1642,4收2发。两个平台均需要外部串行闪存,存储应用代码。
安装好SDK后,其文件一般包含packages、docs、firmware和tools四个部分,packages包含构建毫米波SDK的脚本文件,ti文件包含所有源文件,divers包含驱动程序的源文件,
mmWaveLib在DSP子系统上运行,
处理流程
4. 相关软件介绍
以mmWave Studio为例,主要介绍其用于级联板子的一些需要注意的事项。
4.1 mmWave Studio简介
由于我们用的是级联的板子,所以此处主要写的也是mmWave Studio对于级联的板子的相关用法。单芯片的ADC数据采集主要是DCA100 EVM和TSW1400 EVM,级联系统则是TDA2XX。mmWaveStudio通过SPI(Serial Peripheral Interface,串行外设接口)向设备发送命令。数据处理在matlab中,结果展示在GUI中。
主要需要参考mmwave_studio_cascade_user_guide.pdf,但一些和单芯片片雷达共性的地方也需要参考mmwave_studio_user_guide.pdf。这两个文件均可在安装文件路径“ C:\ti\mmwave_studio_03_00_00_14\docs”中找到,TI官网也有。
4.1.1 硬件准备
简单来说就一个电源适配器,外加可能需要的以太网转接口
- 级联的RF板子 RF Cascade EVM。 对应于上面的MMWCAS-RF-EVM
- 数据处理的TDA2 级联雷达主板 TDA2 Cascade Radar Host Board。 对应于上面的MMWCAS-DSP-EVM
- SSD。 原板子已安装好,512G大小
- 闪存卡 大于2GB。 Micro-SD card
- 读卡器 。用以安装SD 卡,已装好
- 电源供应 12V 5A。 可以用个适配器解决,user_guide推荐的是 P/N: 96PSA-A60W12V1-1
- 以太网线
- mini-USB线 连接PC和TDA主板,已提供
- win7 or win10系统
4.1.2 软件准备
- 安装mmWave Studio 3.0.0.14,参考 mmWave_studio_user_guide.pdf 官网有安装包 。需要注意的一点就是安装的路径不能有中文,一般默认C盘。
- 一般在安装mmWave studio时会自动安装好 FTDI Divers(FTDI USB Diver),但若安装失败需要自己安装
- TDA2XX Firmware 路径(后面会用到):mmWaveStudio\PlatformBinaries\TDA2Firmware
- Meta image(multicore image) from DFP mmwave_dfp_02_02_03_01_win32.exe 多核图像,DFP是设备固件包,包括二进制文件和一些驱动文件。Multicore image to be downloaded over SFLASH/SPI 下载到SFLASH/SPI 相应路径
- 串口配置工具 (如Tera Term, Putty 等)Tera Term-4.106.exe
- WinSCP(可选) mmWaveStudio中内嵌了,就是用来导出需要的数据文件的。下载了可以用来删除SSD中不需要的数据。
- Balena etcher (for flashing the TDA firmware) balenaEtcher-Portable-1.5.39-x64.exe
- 安装好32位的Matlab主要嵌入进行采集的数据处理
- 若使用win10系统还需安装 Visual C++2013 https://support.microsoft.com/en-us/help/3179560
4.2 安装TDA 数据捕获卡
4.2.1 简单的一些安装设置
- RF EVM和TDAXX主板连接好
- 连好PC与TDAXX主板的以太网线、mini-USB线。mini-USB线接好可以看到其UART terminal
- 设置好相关IP地址,确保主板和PC在一个网络里面, 主板默认静态IP是 192.168.33.180 ,故而可以设置PC是 IP:192.168.33.30 ,子网掩码:255.255.255.0。
- 上电
4.2.2 TDA固件的刷入
Flashing the TDA Firmware 不一定需要,原厂可能已经设置好了,我的板子就是这样,所以我没有做这一步。
- 确保SD闪卡插入读卡器,并已与PC连接好
- 运行此前安装的Balena etcher
- 选择TDA 硬件 image(TDA Firmware image)
- 选择SD卡对应的驱动器,之后刷新。等候即可
4.3 启动 EVM板子
-
确保闪卡插入后,供应12V电压
-
通过mini-USB线将板子与PC相连接,然后运行串口配置工具Tera Term,确保两个series ports 能检测到。若没有,安装最新的FTDI驱动器,并重新连接。
-
用串口设置工具打开设备管理器显示的第一个串口(一般是倒数第二个),Setup->Serial Port设置参数(工具使用的是Tera Term的话,是这样操作的)
- 看TeraTerm中运行日志确保可见,若不可见,按一下DSP板子上的S2开关进行重启。
- 提示后,输入 ‘root’作为用户名。
- 通过”ifconfig“命令获取IP 地址,默认地址是:192.168.33.180
4.4 格式化SSD
安装SSD的第一次启动需要格式化SSD,后面可以跳过此步,不需要再进行格式化。
- 用”Is /dev/nvme*“命令list所有的devices。保证名为”nvme0n1“的设备在,这表示SSD已展示且被主板检测到,没有就需要重新安装固定SSD并重启TDA2主板
- 用”fdisk /dev/nvme0n1“命令开始格式化程序。输入m for help。在依次输入n、p、1、p、w。
- 通过命令”umount /dev/nvme0n1p1“来安全卸载已挂载的文件系统。
- 通过命令”mkfs.ext4 /dev/nvme0n1p1“来创建文件系统,输入”y“
- 通过S1开关重启主板
- 在控制台出现时,重新以”root“身份登陆
- 输入命令”Is /dev/nvme“确认是否格式化成功,成功会显示”/dev/nvme0n1p1“
4.5 参数配置(mmWaveStduio)
-
启动mmWaveStudio之后,选择级联”Cascade“。下图未正常启动截图,若未正常启动RadarAPI界面,检查一下C盘用户下的目录名称是否为英文。
-
在点击SetUp TDA ,在输入此前的IP地址,使得板子和PC在一个局域网内。若Disconnect出现一排蓝字则说明连接成功
-
之后的参数设置和捕获数据等可以通过LUA脚本或者GUI进行设置。
4.5.1 运行LUA Script
在mmWaveStudio的安装目录下‘mmWaveStudio\Scripts\Cascade’ 有一些关于级联的简单LUA脚本,主要是为了方便使用,之前只能使用GUI界面进行参数选择配置时,特别麻烦,后来官方对比较经典的几个场景(MIMO和Beamforming)用LUA脚本进行程序化,可以直接运行脚本完成相关设置。
运行前更新Meta image path 和TDA2XX的主机地址,确保正常,一般是没问题的。
在其user_guide列出了几种使用LUA脚本的情况,
- case1:Test Source
依次Browse下列脚本
LUA脚本: Cascade_Configuration_TestSource.lua for configuration of devices,Cascade_Capture.lua for capturing data
test类似于仿真。可以改LUA脚本的参数来修改物理的位置和速度,各个参数的信息可再Lua Shell中通过“help ar1.SetTestSource_mult” 命令查询
此后再通过SensorConfig中的“ Transfer Files ”来导出相关数据。基本的数据处理可以通过“Post Proc” 。具体过程参见4.7
- case2: MIMO 设置
Cascade_Configuration_MIMO.lua ;Cascade_Capture.lua
- case3 :TX Beam Forming Configuration
Cacade_Configuration_Basic.lua ;Cascade_Configuration_TXBF_simple.lua ;Cascade_Capture.lua
- case4:Monitoring and Calibration
Cascade_Configuration_MIMO.lua ;Cascade_Monitoring_Example.lua
LUA脚本设置比较简单,但是我们也可以看一下它是如何设置的,可以按需要在LUA脚本设置结束后在GUI界面按需要修改一些参数。Cascade_Capture.lua 都是相同的都是进行数据采集,也就是开始发射雷达,Cascade_Capture.lua 运行之前都是没有进行chirp帧的发送的,这点需要注意一下。
4.5.2 使用GUI界面
另一种方式就是使用GUI界面了,对其进行运行。其实LUA脚本就是对GUI界面设置进行了程序化,方便日常使用。注意查看Output的日志输出文件。主芯片提供参考时钟设置。
- connection “Mode 4 (Functional-SPI)” TDA2XX-AWRx243 Cascade
- 点击SPI Connect
- BSS FW 处选择Meta Image,并Load
- 点击RF Power-Up
- Static configuration 选择Master并点击设置按钮
- 对其余几个从属设备分别进行SOP模式设置、SPI连接、RF Power。就显得很麻烦
设置结束之后就是数据采集,就是下面红框中的顺序进行,具体可以参考安装路径文件“C:\ti\mmwave_studio_03_00_00_14\docs\mmwave_studio_cascade_user_guide.pdf”
note:mmWave Studio的安装路径中有很多有用的一些文件,可以自己多探索,加深理解使用
4.6 文件传输和后期数据处理
4.6.1 传输数据
如果是使用GUI界面设置可以利用winSCP将采集的数据文件传送至PC,也可以点击下面的Transfer Files,但是需要注意设置路径,防止找不到。
使用LUA脚本就不太一样。因为运行Cascade_Capture.lua 脚本的话,会直接将采集的数据文件输出至LUA脚本里面所写的SSD默认文件,并由于mmWave Studio内置有winSCP所以同时时会直接将SSD中生成的数据采集文件导出至PostProc文件中的文件夹,所以在运行Cascade_Capture.lua程序进行数据采集之前,可以先更改Cascade_Capture.lua中的相关路径来将数据存储至不同的地方。
Browse导入LUA脚本,选择右边的Edit in Debugger
修改存储目录,其默认设置是Cascade_Capture_22xx,我修改成了“test”,可以按需要修改,运行LUA脚本后文件也在PostProc文件夹下面。
数据采集完毕LUA脚本中的设置会自动将文件传送至PC,这也是为什么user_guide会写winSCP是optional的,但是为了防止SSD被装满,我们也需要安装winSCP来删除已经传送好的数据。
而对于采集到的数据raw data一般会有几种文件:
- Directory_name.mmwave.json: 包含毫米波的一些设置,如各个历史部分(DFP、SDK、Link)各版本号、系统设置(载频范围、带宽、发射功率、温度、距离、距离速度分辨率等)、每个chirp变化的参数等等。
- Directory_name.setup.json: 用于数据采集的一些多核图像和文件路径等
- Directory_name_LogFile.txt: 用于内置的Matlab用于后期的处理
- 下面的data则是不同device的,主从设备
4.6.2 使用WinSCP
如果数据通过GUI界面导出,此步就不需要了;不过为了防止数据太多填满SSD,可以通过WinSCP来清空删除采集的数据文件。
安装好后打开
在登陆前点击高级选项,并取消下图中所示勾选的项目
选择路径“/< root >” 文件夹
“/mnt/ssd”文件夹 ,选择需要的数据文件传到左边PC机的合适路径
删除数据:
- “/< root>” “/opt/vision_sdk” 删除Trace_TDA_[< Date>_< time>].txt 相关文件
- “/< root>” /mnt/ssd 里面数据不要的可以全删除
4.6.3 ADC数据的后期处理
系统默认内置的处理:
点SensorConfig中的“Post Proc” 可以看到获得的采集数据,可以分别选择不同device的data,不过它假定所有device的设置是相同的。
这是case1 的test的运行结果
下面这是MIMO的运行结果,我在实际使用中在评估板上方放了个在晃动的角反:
独立的数据处理:
针对采集的数据文件已经有了,只需要处理进行可视化。打开mmWaveStudio,进入Sensor config 里面,路径为空,直接点数据处理“PostProc”,就进入了一个空的处理窗口。
点击其上方的 “Load .log” ,选择相应的capture_Logfile.txt文件就行,然后再点击“Load .bin” ,选择相应的bin文件(图像文件)
matlab进行后期数据处理:
前面是安装的SDK嵌入matlab后进行的简单数据处理,如果需要自行设置,可能就需要自己写一些数据处理源码了,这里官方提供了部分example,在安装路径“ C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples”,下面介绍利用官方的源码在matlab进行数据处理(以MIMO为例)。
通过LUA脚本得到采集数据后,记录下采集的数据的目录
将“C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade\input\testList.txt”中显示的第一行路径替换为所采集到的数据路径,如“C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\PostProc\Cascade_Capture_22xx\”。下图为其默认的路径显示:
第二行表示校准得到的校准向量的路径,也要加上安装文件的前置的文件目录,否则将不能运行程序,如
“C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade\input\calibrateResults_dummy.mat”。
第三行更具需要调整算法模型,默认的应是
“C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade\paramGen\module_param.m”
设置好后运行“C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade\cascade_MIMO_signalProcessing.m”即可得到图片
4.7 级联板的一些用例 设置和后期处理相关
cascade Radar 可以在TX beamforming产生 20 L o g 10 ( N T X ) 20Log10(N_{TX}) 20Log10(NTX) SNR增益,角度分辨率可达1.4度,最远探测距离约为350m。
该四芯片级联板卡也可采用双芯片级联的形式,即左半边的master加上slave 4,
4.7.1 校准
TI的工具包提供的是一次性校准。
角反放置5m以上,角反的RCS 大概在1-2平方米,角反在方位角和俯仰角上与板子阵列中心对齐。最后生成一个标定矩阵用于后面处理。
频率标定,相位和幅度标定。
使用TDM MIMO的参数设置。
-
Cascade_Phase_Shifter_Calibration_AWRx.lua 用于校准数据收集
-
cascade_TX_Phase_Calibration.m
-
TXBF_LUT_Generate.m
-
Cascade_Configuration_TXBF_Simple.lua or Cascade_Configuration_TXBF_AngleSweep.lua
-
cascade_TXBF_Verification.m
4.7.2 TDM MIMO
- 环境安装 电脑里面 “CASCADE_SIGNAL_PROCESSING_CHAIN_MIMO” “<Installation_path>\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example” ,安装好之后重启matlab;打开matlab并设置当前路径为“<Installation_path>\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example” 。运行“add_paths.m” 来加入当前路径(当然熟悉matlab的话直接添加到当前路径就行)。
- 校准。对RF评估板进行一次即可。通过LUA脚本进行数据采集,角反放置大约5m范围。进入matlab里面的 \main\cascade 文件夹,更新“cascade_MIMO_antennaCalib.m” 中的“dataFolder_calib_data” 。运行“cascade_MIMO_antennaCalib.m”
- Post-procrssing 通过LUA脚本得到采集的数据,更新第一行数据采集的路径,更新第二行校准得到的校准向量的路径,更新第三行的算法参数,运行“cascade_MIMO_signalProcessing.m”
4.7.3 TX Beamforming
先生成一个校准的矩阵Inter-channel Mismatch Calibration matrix(只需要做一次就行);生成Tx phase shifter calibration matrix ;用Tx phase shifter calibration matrix 进行数据采集;Post-processing用于实际的场景数据。具体的都比较类似,可以参考user_guide。