毫米波雷达阵列天线设计综合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.mzph.cn/bicheng/21967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kibana的使用

在学习elasticsearch时,可以使用Kibana自带的开发工具,来提高效率, 浏览器打开Kibana,在左侧菜单栏中找到Dev Tools 该工具提供代码提示和代码格式化功能,非常有用,

【已解决】记录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; 其中…

谷歌创新框架:从非结构化数据,实现多模态学习

看、听、说的多模态已成为主流大模型的重要功能之一。但在数据爆炸时代,大模型学习文本类的结构化数据相对还好一些,但要去学习视频、音频、图片等非结构化数据非常困难。 目前,从结构化和非结构化数据实现多模态学习,会随着模态…

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…

httprunner接口自动化测试框架使用说明【保姆级教程】

背景介绍&#xff1a; httprunner是国内开源的一个接口自动化框架&#xff0c;已经有部分公司开始使用这种框架来完成自己公司的接口自动化编写&#xff0c;本文主要是从简单的流程上去讲解咋使用的&#xff08;PS&#xff1a;开发者本尊的官网教程写的是真的烂。。。&#xf…

JVM调优实战

如果老年代能回收掉大部分&#xff0c;说明年轻代太小了&#xff0c;放不下 OOM 1数据量一次性申请的内存过多&#xff0c;比如数据库查询返回值大多&#xff0c;所以做个分页 2.并发过高的情况下&#xff0c;一些连接未释放 3.堆内存不够

DP-Kmaens密度峰值聚类算法

我有个问题 关于 [密度值>密度阈值] 的判定这里&#xff0c;新进来的新数据怎么确定他的密度值&#xff1f;密度阈值又是怎样确定的呢&#xff1f;

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…

maridb10.4.30数据库数据迁移

1.新建数据存储文件夹&#xff0c;例如E:\maridb_data 2.修改原数据所在目录的my.ini文件&#xff0c;例如D:\Program Files\MariaDB 10.4\data\my.ini 3.剪切除my.ini文件外的其他所有文件到迁移目的地文件(E:\maridb_data) 结果如下&#xff1a; 原数据文件目录&#xff1a…

聊聊限流的一些事儿

一、背景 最近几年&#xff0c;随着微服务的流行&#xff0c;服务与服务之间依赖越来越强&#xff0c;调用也越来越复杂&#xff0c;服务间的稳定性变突显出来。特别是在遇到突发请求时&#xff0c;常常需要通过缓存、限流、熔断降级、负载均衡等多种方式保证服务的稳定性。其…

C++命名空间(详解)

C基础语法 C基于C语言的改进&#xff1a;c在C语言的基础上引入并扩充了面向对象的概念 C基础概念&#xff1a;C是基于C语言而产生的,它即可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计 在1998年 出现C98…

爱普生差分晶振在光模块中的重要角色

光模块是现代通信设备中的重要组成部分&#xff0c;主要用于实现光电转换和信号传输&#xff0c;它是一种将光信号转换为电信号&#xff0c;或者将电信号转换为光信号的设备。在光纤通信中&#xff0c;光模块扮演着至关重要的角色。 光模块的主要组成部分包括光源、光接收器、…

OSPF学习笔记(状态机)

1、邻居关系 OSPF设备启动后&#xff0c;会通过OSPF接口向外发送Hello报文&#xff0c;收到Hello报文的OSPF设备会检查报文中所定义的参数&#xff0c;如果双方一致就会形成邻居关系&#xff0c;两端设备互为邻居 2、邻接关系 形成邻居关系后&#xff0c;如果两端设备成功交…

【代码随想录】【算法训练营】【第27天】 [39]组合总和 [40] 组合总和II [131]分割回文串

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day26&#xff0c; 休息的周末~ day 27&#xff0c;周一&#xff0c;库存没了&#xff0c;哭死~ 题目详情 [39] 组合总和 题目描述 39 组合总和 解题思路 前提&#xff1a;组合的子集问题&…

C# :IQueryable IEnumerable

文章目录 1. IEnumerable2. IQueryable3. LINQ to SQL4. IEnumerable & IQueryable4.1 Expression4.2 Provider 1. IEnumerable namespace System.Collections: public interface IEnumerable {public IEnumerator GetEnumerator (); }public interface IEnumerator {pubi…