在這篇文章中,我們將添加一些 Python 代碼來(lái)實(shí)現(xiàn)相移。然后我們將實(shí)際看到數(shù)組模式!最后!
數(shù)字移相
為了將我們的設(shè)置轉(zhuǎn)換為適當(dāng)?shù)南嗫仃嚕覀冃枰獙?duì)接收到的信號(hào)進(jìn)行相移。這將補(bǔ)償一個(gè)天線元件相對(duì)于另一個(gè)天線元件接收的延遲。幸運(yùn)的是,對(duì)冥王星的接收數(shù)據(jù)應(yīng)用相移(Δφ)非常容易 - 您只需乘以-jΔφ的復(fù)指數(shù)即可。所以Python代碼是:
delayed_Rx_1 = Rx_1 * np.exp(1j*np.deg2rad(phase_delay))
其中phase_delay以度為單位
這些代碼的大部分與我們之前博客中經(jīng)歷的“Hello World”代碼非常相似。但是有兩個(gè)新功能:“calcTheta”和“dbfs”?!癱alcTheta”函數(shù)只是返回給定相移的轉(zhuǎn)向角(?)。我們?cè)谏弦黄┛椭锌吹搅诉@些方程式?!癲bfs”函數(shù)相對(duì)于冥王星的滿量程范圍縮放接收到的數(shù)據(jù)。它與dBm不同 - dBm相對(duì)于1 mW功率的dB。相反,dBFS是相對(duì)于接收器滿量程的dB。在這種情況下,它是冥王星ADC的滿量程 - 即12位。
最后,這個(gè)新的Python程序的重大變化是在Rx_1數(shù)據(jù)上實(shí)現(xiàn)相移。但是做一個(gè)相移并查看單個(gè)數(shù)據(jù)點(diǎn)并不是很有趣。因此,讓我們掃描從-180°到+ 180°的所有可能的相移。我們可以超越這一點(diǎn),但階段只會(huì)重新包裝到自身,所以它不會(huì)給我們更多獨(dú)特的數(shù)據(jù)。
最終設(shè)置
但在單擊該運(yùn)行按鈕之前,讓我們確保我們的設(shè)置正確。
首先,讓我們將TX1天線移動(dòng)到? = 0°位置。這是機(jī)械視線位置。并將d設(shè)置為波長(zhǎng)的一半左右。在我的程序中,我使用 2.3 GHz,因此我將 RX1 和 RX2 天線設(shè)置為 d=65 mm。
繪制光束
有了這個(gè),我們可以點(diǎn)擊運(yùn)行!您將看到的是我們應(yīng)用于RX2的相移函數(shù)幅度圖。它看起來(lái)像這樣:
程序?qū)⒂涗浄逯档奈恢?,并將該相移轉(zhuǎn)換為相應(yīng)的轉(zhuǎn)向角。在這種情況下,峰值處于116°的相移處,對(duì)應(yīng)于? = 40°的方向。但是我們將發(fā)射天線定位為 ? = 0°!!這到底是怎么回事呢?問(wèn)題是相位校準(zhǔn) - 這在波束成形系統(tǒng)中非常重要。
校準(zhǔn)
在我們的兩個(gè)接收通道之間,存在各種相位(和增益?。┎黄ヅ?。例如,將天線連接到濾波器的 SMA 電纜的長(zhǎng)度不完全相同。即使它們是,它們結(jié)構(gòu)的微小差異也會(huì)使它們的電氣長(zhǎng)度不同。因此,您可以從兩根電纜獲得不同的相移,在2.3 GHz。您可以購(gòu)買相位匹配的電纜,但它們非常昂貴!即使你這樣做了,濾波器和模擬前端也存在其他不匹配。
幸運(yùn)的是,對(duì)于雙元素?cái)?shù)組,校準(zhǔn)非常簡(jiǎn)單。我們只需將發(fā)射器對(duì)準(zhǔn)機(jī)械視線,然后將陣列移位,直到接收模式在發(fā)射器物理位置達(dá)到峰值(即 0°)。未校準(zhǔn)的峰值現(xiàn)在為Δφ=116°,因此我們只需要將其添加到我們應(yīng)用的每個(gè)相位延遲中即可。在“phase_cal”變量中輸入您的值(可能不會(huì)是 116°)。這樣做現(xiàn)在應(yīng)該可以得到這個(gè):
現(xiàn)在我們看到一個(gè)不錯(cuò)的圖案,以0°為中心。如果你在自己的實(shí)驗(yàn)室里做這件事(我真的希望你是 - 這就是這個(gè)博客的重點(diǎn)!),然后移動(dòng)發(fā)射器并注意情節(jié)是如何變化的。您將看到峰值(由垂直紅色虛線表示)移動(dòng)到發(fā)射器所在的位置。在每種情況下,您都可以看到振幅在發(fā)射器所在的位置附近基本持平,然后隨著相移的增加而滾落。您可以在上面列出的YouTube鏈接中看到此操作的視頻。這種相移應(yīng)該在通電和時(shí)間推移中保持得很好。所以你可能不需要每次啟動(dòng)冥王星時(shí)都這樣做。
到達(dá)方向
在上面的圖中,這條紅色垂直線給出了傳輸信號(hào)的“到達(dá)方向”(DOA)。我們將在以后的博客中對(duì)波束成形器做其他事情。但是現(xiàn)在,讓我們專注于將其用作DOA測(cè)量工具。對(duì)于DOA來(lái)說(shuō),我們必須做指南針圖是一個(gè)悠久的傳統(tǒng)。事實(shí)上,它已經(jīng)在我上面鏈接的示例代碼文件中。只需設(shè)置“Plot_Compass = True”,您會(huì)看到如下所示的內(nèi)容:
這條藍(lán)線將指向發(fā)射器的確切位置。
結(jié)論
我們終于做到了!我們構(gòu)建了一個(gè)非常簡(jiǎn)單的數(shù)字波束成型器
審核編輯“郭婷
-
接收器
+關(guān)注
關(guān)注
14文章
2451瀏覽量
71705 -
python
+關(guān)注
關(guān)注
54文章
4759瀏覽量
84294
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論