CST毫米波雷達仿真方案(七):結(jié)合Python完成雷達AoA仿真
作者 | Ma Bin
細心的讀者或許已經(jīng)發(fā)現(xiàn),近年來CST與Python的結(jié)合越來越多。利用Python我們可以更加方便的對CST進行一些二次開發(fā),自動化仿真,幫助用戶更加方便快捷地完成仿真項目。
在CST2023版本中,我們新增了兩個Python庫:cst.asymptotic和cst.radar,分別用于A-solver和雷達數(shù)據(jù)后處理。
本期我們將利用cst.radar庫結(jié)合Python和CST軟件完成毫米波雷達AoA仿真。AoA即Angle of Arrival,主要是利用目標與不同天線陣子的距離差引起的相位差來估算到達角。
測角原理
根據(jù)一維相位干涉儀原理,可以將由于接收天線位置差
但是需要注意,由于φ
為了解決“相位模糊”,可以采用長短基線,長基線測角,短基線用來解模糊,這里對短基線的要求是距離必須小于λ/2。
AoA場景構建
雷達AoA仿真需要用到CST的A-solver,即高頻漸近求解器,依賴于彈跳射線算法。在CST中新建一個仿真工程,首先創(chuàng)建雷達天線陣列,這里我們用5個遠場源代替。其中,2個遠場源命名為Tx1、Tx2,作為發(fā)射天線,另外三個命名為RX1、Rx2、Rx3,作為接收天線。這里場源的名字很重要,需要與后面在Python代碼中定義的發(fā)射天線、接收天線的列表元素保持一致。
定義完場源后,我們需要導入人體模型。從CST的人體模型庫中我們可以很方便地調(diào)用人體模型。再用Coating的方式定義人體的表皮組織。
最終的仿真模型如下所示,包括人體模型和雷達天線陣列。
啟動A-solver進行求解,計算完成后,可以拿到Tx1和Tx2激勵下的F參數(shù)結(jié)果。
利用Python評估目標距離及到達角
在CST中有專門的后處理模板Range
Doppler Map Calculation用于目標距離和速度的計算,對于目標角度信息的計算需要用到Python以及CST2023版本中新增的cst.radar庫。
Python代碼在Help中可以查看,計算AoA,除了需要導入一些CST研發(fā)工程師編寫的函數(shù)外,還需要導入一些必要的python函數(shù)庫。
運行python代碼后,我們可以拿到如下結(jié)果。
從上述結(jié)果中我們可以提取出三個強散射點的距離-角度信息,如下表。需要注意的是,這里的結(jié)果是用肉眼看的,存在一定的誤差。
在CST中我們用Dimension功能驗證下結(jié)果,可以看出對于雷達天線陣列來說,基本的三個強散射點都能捕捉到。在人體模型上取點的隨機性以及肉眼讀取Map圖結(jié)果的誤差,導致二者的結(jié)果不能完全匹配上,但誤差很小,不影響AoA的分析。