毫米波雷達陣列天線設計綜合1(MATLAB仿真)

1 天線設計目標

?????? 毫米波雷達探測目標的距離、速度和角度,其中距離和角度和天線設計相關性較強。天線增益越高,則根據雷達方程可知探測距離越遠;天線波束越窄,則角度分辨率越高;天線副瓣/旁瓣越低,則干擾越少,虛假目標越少。

?????? 天線的性能直接影響雷達性能,現代的毫米波雷達幾乎都使用陣列天線。陣列天線是根據電磁波在空間相互干涉的原理,把具有相同結構、相同尺寸的基本天線單元按照一定規律排列在一起組成的。

綜合來看,毫米波雷達使用陣列天線的目標是獲得增益高、波束窄、旁瓣低的空間方向圖,比較理想的天線輻射方向圖如下圖1-1所示,而圖1-2所示的方向圖則比較一般,因為出現較高的旁瓣和柵瓣。

圖1-1 理想方向圖

圖1-2 一般的方向圖

?????? 因此,陣列天線設計的目標是通過空間布局、激勵幅度、激勵相位的優化設計,獲得理想的輻射特性,包括陣列天線方向圖、半功率波束寬度、增益和效率、旁瓣電平等。

2 均勻間距陣列

?????? 陣列天線最容易想到的就是均勻排布,比如均勻直線排布、均勻平面排布等。空間上均勻排布的陣列天線旁瓣較高,可以通過調整每個陣元的激勵幅度來獲得低旁瓣。經典的激勵幅度(饋電)分布有二項式分布、高斯分布、切比雪夫分布和泰勒分布等。

2.1 均勻間距直線陣列

?????? 32陣元均勻間距直線陣列使用不同的饋電分布的結果如下,資料可以參考《陣列天線理論與工程應用》。

圖2-1 不同的饋電分布

圖2-2 不同饋電分布的接收波束形成

?????? 圖2-1和2-2是32陣元等間距排布,但激勵幅度(饋電)分布不同的仿真結果,可以看到,相比饋電均勻分布的情況,圖2-1中的四種饋電分布形成的波束旁瓣均有明顯的降低。

?????? 圖2-1中二項式分布和高斯分布部分陣元饋電幅度較小,不適合實際使用;另外,圖2-2中二項式分布和高斯分布的主瓣波束展寬較多,亦不適合實際使用,綜上,切比雪夫和泰勒綜合是較優的激勵幅度優化方法,但只適用于均勻陣列

2.2 均勻間距平面陣列

平面陣列也可以通過陣元的幅度控制,獲得更好的增益和旁瓣水平。除了均勻分布饋電,這里使用了高斯分布、切比雪夫分布和泰勒分布等。下面使用24×24的二維平面陣列天線進行仿真,給出不同饋電的分布和不同饋電分布下的波束形成結果。

2.2.1 不同饋電分布仿真結果

?????? 這里使用MATLAB仿真了均勻分布、高斯分布、切比雪夫分布和泰勒分布的饋電結果,格子的大小和顏色代表了強度,每張圖的右側是相應的尺度。

圖2-3 均勻分布平面陣列饋電

圖2-4 高斯分布平面陣列饋電

圖2-5 切比雪夫分布平面陣列饋電

圖2-6 泰勒分布平面陣列饋電

2.2.2 不同饋電分布方向圖

?????? 不同饋電分布的平面陣列天線三維空間波束和俯視圖的MATLAB仿真結果如下,可以看到相比于均勻分布,高斯分布、切比雪夫分布、泰勒分布的主瓣波束均有不同程度展寬,旁瓣也有明顯降低。

圖2-7 不同饋電分布的平面陣列波束方向圖

圖2-8 不同饋電分布的平面陣列波束方向圖俯視圖

2.2.3 不同饋電分布主瓣和旁瓣

?????? 在方位和俯仰0°方向做切面,可以得到俯仰面和方位面的方向圖,MATLAB仿真結果如下,可以看到,圖2-9和圖2-10中,高斯分布、切比雪夫分布和泰勒分布的旁瓣均明顯降低,同時主瓣略有展寬。

圖2-9 不同饋電分布的俯仰切面方向圖

圖2-10 不同饋電分布的方位切面方向圖

3 非均勻間距陣列

實際的毫米波雷達通常使用非等間距的稀疏陣列天線,這樣可以顯著降低硬件成本,同時對毫米波雷達探測性能的影響很小。

特斯拉的4D雷達天線如下圖所示,發射和接收使用了不同的疏狀天線,如果把疏狀天線看成一個子陣,方向圖函數為FS(θ,φ),那么二維平面陣列的方向圖可以看作N個子陣方向圖的疊加:

Fθ,φ=i=1NFS(θ,φ)

?????? 在接收時,可以對所有通道的數據做幅相加權合成不同的接收波束,則上式可以寫為

Fθ,φ=i=1NWi*FS(θ,φ)

?????? 其中,Wi是不同通道的幅相加權系數。

圖3-1 特斯拉4D雷達天線

每個子陣中,疏狀天線的方向圖由M個陣元的方向圖疊加得到,可以用公式表示如下

FS(θ,φ)=i=1MIi*fθ,φ

?????? 其中fθ,φ是單個陣元的方向圖,Ii是不同陣元的激勵,設計不同的激勵可以得到不同的方向圖,如下圖3-2和圖3-3所示。

????

圖3-2 典型疏狀天線

(a)E面方向圖

(b) H面方向圖

圖3-3 疏狀天線方向圖

?????? 陣列天線的布局和激勵強度分布對方向圖、旁瓣等均有較大影響,解析式的方法已經不適用,可以考慮智能搜索算法進行優化,比如遺傳算法、模擬退火算法、粒子群優化算法等,這些內容將在后續博文介紹。

4 參考代碼

? ? ? ? 直線陣列的饋電分布和方向圖仿真的MATLAB代碼如下,平面陣列的仿真代碼量較大,博文不作分享,如有需要可私信交流。

% 均勻線陣波束形成
% 使用不同的激勵權重仿真
clear; clc; close all;% 構造陣列和信號
N = 32;                                 % 線陣長度
array_uni = 0:1:N-1;                    % 同樣孔徑下的均勻陣列
theta = 0;                              % 目標角度
d = 0.5;                                % 陣列均勻間隔d
A_uni = exp(-1i*2*pi*d*sind(theta).*array_uni.');          % 導向矢量
x_uni = A_uni;                          % 無噪聲
% snr = 20;                               % 信噪比
% x_uni = awgn(A_uni,snr);                % 添加噪聲% 構造不同饋電的分布
bino_distri = GetBinoDistri(N);                 % 二項式分布,需要保證N>1
sigma = 4;
gauss_distri = GetGaussDistri(N,sigma);         % 高斯分布,需要保證N>1
psll = -20;
cheb_distri = chebwin(N,-psll)';                % N是陣列單元個數,psll即我們希望的副瓣電平 
cheb_distri = cheb_distri/max(cheb_distri);
taylor_distri = taylorwin(N,2,psll)';            
taylor_distri = taylor_distri/max(taylor_distri);figure;
plot(bino_distri,'o');hold on;
plot(gauss_distri,'o');hold on;
plot(cheb_distri,'o');hold on;
plot(taylor_distri,'o');hold on;
legend('二項式分布','高斯分布','切比雪夫','泰勒綜合');
title('歸一化饋電分布');% 使用dbf掃描
thetascan = linspace(-90,90,1024);
a_uni  = exp(1i*2*pi*d*sind(thetascan).'*array_uni);           
p_uni = x_uni.'*a_uni.';  
p_uni = 20*log10(abs(p_uni)./max(abs(p_uni)));
% 實際波束指向角度和理論偏差,這里不太關注
% [max_value,index] = max(p_uni);
% theta_est = thetascan(index);
% est_error = abs(theta_est - theta);
% 二項式分布
p_uni_bino = bino_distri.*x_uni.'*a_uni.';
p_uni_bino = 20*log10(abs(p_uni_bino)./max(abs(p_uni_bino)));
% 高斯分布
p_uni_gauss = gauss_distri.*x_uni.'*a_uni.';
p_uni_gauss = 20*log10(abs(p_uni_gauss)./max(abs(p_uni_gauss)));
% 高斯分布
p_uni_cheb = cheb_distri.*x_uni.'*a_uni.';
p_uni_cheb = 20*log10(abs(p_uni_cheb)./max(abs(p_uni_cheb)));
% 高斯分布
p_uni_taylor = taylor_distri.*x_uni.'*a_uni.';
p_uni_taylor = 20*log10(abs(p_uni_taylor)./max(abs(p_uni_taylor)));figure;
plot(thetascan,p_uni);hold on;
plot(thetascan,p_uni_bino);hold on;
plot(thetascan,p_uni_gauss);hold on;
plot(thetascan,p_uni_cheb);hold on;
plot(thetascan,p_uni_taylor);hold on;
plot([theta,theta],ylim,'m-.');
legend('均勻分布','二項式分布','高斯分布','切比雪夫','泰勒綜合','波束指向');
ylim([-60,0]);
xlabel('theta/°');ylabel('amplitude/dB');
title('DBF結果');
% title(['DBF結果 SNR = ' num2str(snr)]);% 計算二項式分布幅度
function bino_distri = GetBinoDistri(N)bino_distri = zeros(1,N);for k = 1:1:Nbino_distri(k) = factorial(N)/(factorial(k)*factorial(N-k));        % 根據公式計算endbino_distri = bino_distri/max(bino_distri);                             % 歸一化
end% 計算二項式分布幅度
function gauss_distri = GetGaussDistri(N,sigma)gauss_distri = zeros(1,N);u = (1+N)/2;const1 = 1/(sigma*sqrt(2*pi));const2 = (2*sigma^2);for k = 1:1:Ngauss_distri(k) = const1*exp(-(k-u)^2/const2);                          % 根據公式計算endgauss_distri = gauss_distri/max(gauss_distri);                              % 歸一化
end

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21967.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21967.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21967.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kibana的使用

在學習elasticsearch時,可以使用Kibana自帶的開發工具,來提高效率, 瀏覽器打開Kibana,在左側菜單欄中找到Dev Tools 該工具提供代碼提示和代碼格式化功能,非常有用,

C++筆記(1)

1. C語言和C的區別? C語言作為一種過程性語言,側重于通過算法描述來指導計算機執行,將復雜程序分解為簡單、可管理的模塊。 C語言支持模塊化編程,每個模塊作為獨立的單元。C融合了3中不同的編程方式:C語言、面向對象…

【已解決】記錄Vue2.x中npm install下載依賴報錯:python2 Error: not found: python2問題(具體操作步驟)

項目場景: 項目場景:在項目開發中,升級了本地node版本后,重新npm install下載依賴報錯找不到python環境 not found: python2 npm ERR! gyp verb check python checking for Python executable “python2” in the PATH 在嘗試了各…

Codeforces Round 950 (Div. 3)(A~F2)

G題只會暴力..不會數據結構 A - 問題 Generator 暴力模擬即可 // Problem: A. Problem Generator // Contest: Codeforces - Codeforces Round 950 (Div. 3) // URL: https://codeforces.com/contest/1980/problem/A // Memory Limit: 256 MB // Time Limit: 1000 ms // //…

哈夫曼樹的構造,哈夫曼樹的存在意義--求哈夫曼編碼

一:哈夫曼樹的構造 ①權值,帶權路徑長度。 ②一組確定權值的葉子節點可以構造多個不同的二叉樹,但是帶權路徑長度min的是哈夫曼樹 ③算法基本思想及其實操圖片演示 注:存儲結構和偽代碼 1 初始化: 構造2n-1棵只有一個根節點的二叉樹,parent=rchild=lchild=-1; 其中…

構造一個高效的哈希表:從基本思路到最終實現

哈希表是計算機科學中常用的數據結構之一,它提供了快速的查找、插入和刪除操作。在本篇博客中,我們將探討如何構造一個高效的哈希表,從最基本的思路逐步完善,直至最終實現。 1. 初始思路:使用布爾數組存儲 我們最初的…

AIGC 全面介紹

隨著人工智能技術的不斷進步,生成式人工智能(AI Generated Content, AIGC)成為了一個日益熱門的話題。AIGC 指利用人工智能技術生成各類內容,包括文本、圖像、音頻、視頻等。與傳統的內容生成方法相比,AIGC 具有速度快…

谷歌創新框架:從非結構化數據,實現多模態學習

看、聽、說的多模態已成為主流大模型的重要功能之一。但在數據爆炸時代,大模型學習文本類的結構化數據相對還好一些,但要去學習視頻、音頻、圖片等非結構化數據非常困難。 目前,從結構化和非結構化數據實現多模態學習,會隨著模態…

RK3588 VOP圖層分配介紹

RK3588 VOP圖層分配介紹 RK3588圖層介紹 RK3588有8個圖層,分別是Custer 0/1/2/3 和Esmart 0/1/2/3,兩種圖層的能力不一樣,具體如下: Custer 分辨率:最大分辨率包括兩種合并集群和單集群,分別為7680x432…

QT_UI設計

mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE //命名空間 namespace Ui { class MainWindow; } //ui_MainWindow文件里定義的類&#xff0c;外部聲明 QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_O…

AccessibilityEvent的生成和處理

在 Android 框架層&#xff0c;AccessibilityEvent 的生成和處理是通過系統的 UI 框架和輔助功能服務框架密切協作來實現的。這個機制涉及幾個關鍵的部分&#xff1a;UI 組件、輔助功能服務、事件監聽和事件分發。以下是對這些部分和它們如何協同工作的詳細解釋&#xff1a; 1…

httprunner接口自動化測試框架使用說明【保姆級教程】

背景介紹&#xff1a; httprunner是國內開源的一個接口自動化框架&#xff0c;已經有部分公司開始使用這種框架來完成自己公司的接口自動化編寫&#xff0c;本文主要是從簡單的流程上去講解咋使用的&#xff08;PS&#xff1a;開發者本尊的官網教程寫的是真的爛。。。&#xf…

JVM調優實戰

如果老年代能回收掉大部分&#xff0c;說明年輕代太小了&#xff0c;放不下 OOM 1數據量一次性申請的內存過多&#xff0c;比如數據庫查詢返回值大多&#xff0c;所以做個分頁 2.并發過高的情況下&#xff0c;一些連接未釋放 3.堆內存不夠

DP-Kmaens密度峰值聚類算法

我有個問題 關于 [密度值>密度閾值] 的判定這里&#xff0c;新進來的新數據怎么確定他的密度值&#xff1f;密度閾值又是怎樣確定的呢&#xff1f;

正則表達式 0.1v

正則表達式 擴展 --> :% s/\///g //文件里面所有的 / 去掉 * 通配符 \ //轉義&#xff0c;讓字符變成原本的意思 ^ //行首 $ //行尾 [0-9] //數字 [a-z] //小寫字母 [A-Z] //大寫字母 把文件的小寫字母替換為大寫字母&#xff1f; 固定寫法 :% s/[a-…

Vscode git 插件

超好用的git記錄 軟件 安裝之后&#xff0c;鼠標在哪一行就可以看最新一次是誰提交的&#xff0c;真的超好用&#xff01;&#xff01;&#xff01;

43頁 | 2024年企業級BI平臺白皮書(免費下載)

【1】關注本公眾號&#xff0c;轉發當前文章到微信朋友圈 【2】私信發送 2024年企業級BI平臺白皮書 【3】獲取本方案PDF下載鏈接&#xff0c;直接下載即可。 誠摯邀請您微信掃碼加入以下方案驛站知識星球&#xff0c;獲取上萬份PPT/WORD解決方案&#xff01;&#xff01;&…

【NOI】C++程序結構入門之循環結構二-for循環

文章目錄 前言一、for循環1.導入2.語法3.使用場景4.條件控制5.小結 二、例題講解問題&#xff1a;1264 - 4位反序數問題&#xff1a;1085 - 尋找雷劈數問題&#xff1a;1057 - 能被5整除且至少有一位數字是5的所有整數的個數問題&#xff1a;1392 - 回文偶數&#xff1f;問題&a…

Linux命令 netstat -anp | grep 的用法

文章目錄 1、第一種解釋2、第二種解釋3、第三種解釋4、第四種解釋5、第五種解釋6、netstat --help 在Windows中&#xff0c;殺死端口占用的博客鏈接 1、第一種解釋 在Unix和Linux系統中&#xff0c;netstat -anp 命令用于顯示所有的網絡連接&#xff08; -a 表示所有&#xff…

文件md5加密

使用場景&#xff1a;為了避免上傳資源空間的浪費&#xff0c;通過對文件進行md5摘要加密獲取唯一的值&#xff0c;從數據庫中查詢是否已有該md5碼存在&#xff0c;不存在的就上傳&#xff0c;存在的話使用之前已存儲的文件信息。 如何加密 下載插件browser-md5-file 【之前有…