阵列模式合成第 I 部分:清零、窗口化和细化(附源码)

news2024/11/16 0:22:12

一、前言

本示例说明如何使用相控阵系统工具箱解决一些阵列合成问题。在相控阵设计应用中,通常需要找到一种方法来逐渐减小晶片响应,以使最终的阵列阵列模式满足某些性能标准。典型的性能标准包括主瓣位置、零位置和旁瓣电平。

二、使用旁瓣消除器消除干扰


合成光束模式时的一个常见要求是将零点指向给定的到达方向。这有助于抑制来自该方向的干扰并提高信干比。干扰并不总是恶意的 - 机场雷达系统可能需要抑制来自附近无线电台的干扰。在这种情况下,无线电台的位置是已知的,可以使用旁瓣消除算法来消除干扰。

旁瓣消除对于抑制通过阵列旁瓣进入的干扰非常有用。在这种情况下,由于干扰方向已知,因此算法很简单。形成指向干涉方向的光束,然后缩放光束权重并从指向任何其他外观方向的光束图案的权重中减去缩放权重。此过程始终在干涉方向上放置一个强零点。

以下示例演示如何设计雷达的权重,使其扫描在 -30 到 30 度之间,但始终将零值保持在 40 度。假设雷达使用平行于地面的 10 元件 ULA,并且已知的无线电干扰从 40 度方位角到达。

上图显示了从 -30 度方位角到 30 度方位角的观察方向的最终光束模式,增量为 5 度。从下面的放大图中可以清楚地看出,无论观察方向在哪里,雷达波束方向图在干涉方向上都有很强的零点。

三、使用窗口函数的模式合成


设计相控阵时的另一个常见问题是将所需的声束模式与交给您的规格相匹配。通常,要求以波束宽度和旁瓣电平表示。

解决此类问题的过程通常包括以下步骤:

  1. 观察所需的模式并确定阵列几何形状;

  1. 根据所需的波束宽度选择阵列尺寸;

  1. 根据所需的旁瓣电平设计锥度;

  1. 迭代调整步骤2和3得到的参数,以获得最佳匹配。

以下示例说明了这四个步骤。首先,观察下图所示的所需模式。

3D辐射图在方位角和高程切割中表现出一些对称性。因此,最好使用均匀矩形阵列(URA)获得图案。从图中也可以清楚地看出,没有能量辐射到阵列的后面。

接下来,确定数组的大小。为避免光栅瓣,元件间距设置为半波长。对于 URA,沿方位角和高程方向的大小可以分别从沿方位角和高程方向所需的波束宽度得出。在半波长间距的情况下,沿某个方向的元素数量可以近似为

是沿该方向的波束宽度。

估计建议从 14x19 URA。

该图显示合成阵列超过了所需图案的波束宽度要求。但是,旁瓣比所需的模式大得多。您可以通过对数组应用窗口操作来减少旁瓣。由于 URA 可被视为两个可分离均匀线性阵列 (ULA) 的组合,因此可以使用熟悉的滤波器设计方法沿方位角和仰角方向独立设计窗口。

下面的代码显示了如何获取方位角和仰角方向的窗口。

该图显示,与以前的设计相比,所得的旁瓣电平较低,但仍不能满足要求。通过一些试验和错误,以下参数用于创建最终设计:

该图显示合成图案的波束宽度和旁瓣电平符合所需的规格。下图显示了所需的 3D 图案、合成的 3D 图案、生成的阵列几何形状和锥度。

四、使用遗传算法进行阵列细化


许多阵列合成问题可以被视为优化问题,特别是对于具有大孔径或复杂几何形状的阵列。在这些情况下,封闭形式的解决方案通常不存在,并且解决方案空间非常大。例如,对于大型阵列,通常需要对阵列进行薄化以控制旁瓣电平,以避免浪费输送到每个天线元件的功率。在这种情况下,可以打开或关闭元素。如果要在 400 个元素的数组中尝试所有可能的解决方案,则需要尝试

组合,这是不现实的,400 元素阵列根本不被认为是大孔径。在这种情况下,通常采用优化技术。

一种常用的优化技术是遗传算法。遗传算法通过模拟自然选择过程来实现最优解。它从随机选择的候选人作为第一代开始。在每个演化周期中,该算法根据预先确定的性能度量对生成进行排序(在精简阵列示例中,性能度量将是峰与旁瓣电平的比率),然后丢弃性能分数较低的生成。然后,该算法会改变剩余的候选项以生成更新的一代并重复该过程,直到达到停止条件,例如最大生成数。

以下示例演示如何使用遗传算法来精简 40x40 URA。目标是在方位角和仰角切割中实现最大的旁瓣抑制。首先显示完整阵列的波束模式。

正如预期的那样,旁瓣电平约为13dB。

现在应用遗传算法。请注意,URA 在行和列中都具有对称性,因此可以利用这种对称性,以便每个细化系数候选对象仅应用于数组的四分之一。这减少了算法的搜索空间。

该图显示了由一个典型的第一代候选者产生的光束模式。与全阵列相比,旁瓣水平在方位方向上较低,但在仰角方向上较高。

这意味着71.75%的阵列元件(其中1148个)处于活动状态,旁瓣电平约为9 dB。它需要进一步抑制。下面的代码应用了 30 代的遗传算法。

该图显示了生成的光束模式。可以看出,旁瓣电平进一步提高到约17.5 dB,填充率为76.5%(1224个有源元件)。与第一代候选产品相比,它使用的活动元件增加了5%,同时实现了额外的9 dB旁瓣抑制。与全阵列相比,由此产生的精简阵列可以节省在虚拟元件后面实施T/R开关的成本,从而节省约25%的功耗。另请注意,即使细化阵列使用较少的元素,波束宽度也接近完整阵列所能达到的波束宽度。

下面显示了最终的细化数组,黑色圆圈表示虚拟元素。

值得注意的是,遗传算法并不总是在每次试验中都采用相同的解决方案。然而,一般来说,产生的波束模式具有相似的旁瓣电平。

上面的脚本显示了应用于阵列合成问题的非常简单的遗传算法。在实际应用中,遗传算法可能会更加复杂。数组合成中还使用了其他优化算法,例如模拟退火算法。感兴趣的读者可以在全局优化工具箱中找到遗传算法和模拟退火算法求解器。

五、总结


本例显示了在相控阵上执行阵列合成的几种方法。在实践中,需要根据应用的具体约束条件选择合适的合成方法,如阵列孔径的大小、阵列几何形状等。

六、程序

使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)

打开下面的“example.m”文件,点击运行,就可以看到上述效果。

程序下载方式一:阵列模式合成第I部分:清零、窗口化和细化资源-CSDN文库

程序下载方式二:阵列模式合成第 I 部分:清零、窗口化和细化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/690172.html

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

相关文章

两个进程定时通过共享内存进行通信

进程1-client #include <stdio.h> #include <stdlib.h> #include <sys/ipc.h> #include <sys/shm.h> #include <unistd.h> #include <string.h>#define SHM_SIZE 10 * 1024 * 1024 // 共享内存大小为10M #define WRITE_INTERVAL 1 …

PHP 基础知识

目录 PHP基础 2 PHP代码标记 2 PHP注释 2 PHP语句分隔符 2 PHP变量 3 常量 3 数据类型 4 流程控制 6 文件 7 函数 9 闭包 11 常用系统函数 12 错误处理 13 错误显示设置 15 字符串类型 17 字符串相关函数 19 数组 21 遍历数组 22 数组的相关函数 25 PHP基础 PHP是一种运行在服务…

通过netty源码带你一步步剖析NioEventLoop 的任务队列原理

NioEventLoop 的异步任务队列成员: NioEventLoop 中对newTaskQueue 接口的实现,返回的是JCTools工具包Mpsc队列(多生产者单一消费者无锁队列,(无界和有界都有实现) private static Queue<Runnable> newTaskQueue0(int maxPendingTasks) {// newMpscQueue 无界对列,newM…

10万元存款是年轻人的一个“坎”?存款超过10万就会超过53.7%的人?不要焦虑,以过来人的身份帮你分析分析!

&#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Micro麦可乐的博客 &#x1f425;《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程&#xff0c;入门到实战 &#x1f33a;《RabbitMQ》…

ChatGPT最新版实现多样化聚合文章的批量生成文章

随着人工智能技术的不断发展&#xff0c;ChatGPT最新版在多样化聚合文章的批量生成方面取得了重要突破。本文将从随机选取的8个方面&#xff0c;对ChatGPT最新版的构建思想进行详细阐述。这些方面包括&#xff1a;自然语言处理、大规模数据集、迁移学习、多模态输入、生成模型优…

JS将图片转pdf,jspdf的使用

Hi I’m Shendi 最近做转换工具&#xff0c;需要将图片转pdf&#xff0c;这里记录下来 JS将图片转pdf&#xff0c;jspdf的使用 简介 A library to generate PDFs in JavaScript. 一个用JavaScript生成PDF的库。 下载 在网站或github下载 https://parall.ax/products/jspdf …

图像增强之图像锐化(边缘增强)之sobel算子

note matx (-1,0,1;-2,0,2;-1,0,1) maty (-1,-2,-1;0,0,0;1,2,1) code // 图像增强之图像锐化(边缘增强)之sobel算子 void GetSobelMat(Mat& sobelX, Mat& sobelY) {sobelX (Mat_<int>(3,3) << -1,0,1,-2,0,2,-1,0,1);sobelY (Mat_<int>(3,3…

【面试】数据仓库

数据分层 维度建模 (0) 什么是维度建模&#xff1f; 维度建模以分析决策的需求出发构建模型&#xff0c;构建的数据模型为分析需求&#xff08;也就是我们通常所说的数据分析&#xff09;服务。它重点解决如何更快速完成分析需求&#xff0c;同时还有较好的大规模复杂查询的响…

品达通用权限系统-Day01

文章目录 1. 项目概述1.1 项目介绍1.2 业务架构1.3 技术架构1.4 环境要求 2. Spring Boot starter2.1 starter介绍2.2 starter原理2.2.1 起步依赖2.2.2 自动配置2.2.2.1 基于Java代码的Bean配置2.2.2.2 自动配置条件依赖2.2.2.3 Bean参数获取2.2.2.4 Bean的发现2.2.2.5 Bean的加…

NXP i.MX 8M Plus工业开发板规格书(四核ARM Cortex-A53 + 单核ARM Cortex-M7,主频1.6GHz)

1 评估板简介 创龙科技TLIMX8MP-EVM是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 单核ARM Cortex-M7异构多核处理器设计的高性能工业评估板&#xff0c;由核心板和评估底板组成。ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz&#xff0c;ARM Cortex-M7实时处理单元主…

【Java】如何在 Java 中使用条件运算符

本文仅供学习参考&#xff01; 相关教程地址&#xff1a; http://c.biancheng.net/view/792.html https://www.cnblogs.com/bmbm/archive/2012/01/16/2342239.html 在软件开发中&#xff0c;运算符处理表达式中的一个或多个操作数。Java 编程语言支持以下类型的运算符&#xff…

HTML5、JS实现元素拖拽排序

先介绍一下html5的drag属性,拖放&#xff08;Drag 和 drop&#xff09;是 HTML5 标准的组成部分。想要启用drag&#xff0c;只要给元素加上draggable"true"就行了&#xff08;Safari 5.1.2除外&#xff09;。 拖动事件 事件分为两类&#xff0c;当前拖动的元素上的事…

【Makefile】解析Makefile:驾驭自动编译的力量

Makefile简介 一个工程中的源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的规则来指定&#xff0c;哪些文件需要先编译&#xff0c;哪些文件需要后编译&#xff0c;哪些文件需要重新编译&#xff0c;甚至于进行更复杂的…

你如何理解 JS 的继承?

在JavaScript中&#xff0c;继承是一种机制&#xff0c;允许一个对象&#xff08;子类&#xff09;从另一个对象&#xff08;父类&#xff09;继承属性和方法。这使得子类可以共享父类的功能&#xff0c;并有能∧自身定义新的功能。 JavaScript中的继承通过原型链实现。 具体来…

JavaWeb开发(前端Web开发)

文章目录 前言一、初识Web1.Web开发-介绍2.初识Web前端3.Web标准 二、HTML1.HTML快速入门2.VS Code开发工具3.基础标签&样式4.表格标签5.表单标签 三、JavaScript1.JS-介绍2.JS-引入方式3.JS-基础语法3.1.JS-基础语法-书写语法3.2.JS-基础语法-变量3.2.JS-基础语法-数据类型…

面向Java开发者的ChatGPT提示词工程(7)

在如今信息爆炸的时代&#xff0c;我们面临着海量的文字信息&#xff0c;很难抽出足够的时间去阅读所有感兴趣的内容。然而&#xff0c;大语言模型为我们提供了一种有效的解决方案&#xff1a;通过自动文本摘要&#xff0c;帮助我们快速获取文章的核心内容。这种技术已经被广泛…

vue2 h5开发前进刷新后退缓存实现

vue2 h5开发前进刷新后退缓存实现 在store定义变量 const state {includedComponents: [] }const mutations {includedComponents (state, data) {state.includedComponents data} }在app.vue&#xff08;我这里主要在layout.vue修改&#xff09;使用 keep-alive :include…

使用Microsoft.Office.Interop.PowerPoin遥控PPT

Microsoft.Office.Interop.PowerPoin操作PPT 主窗体&#xff0c;填写ppt路径&#xff0c;打开ppt打开ppt后&#xff0c;可用代码操作ppt可获取每页PPT截图&#xff0c;并获取对应小节名称&#xff0c;备注等代码下载地址联系qq 主窗体&#xff0c;填写ppt路径&#xff0c;打开p…

四.图像处理与光学之3A的 AE

五.图像处理与光学之3A的 AE 3A 是Camera ISP 控制算法的一个重要组成部分,通常分为自动曝光(AE)、自动聚焦(AF)、自动白平衡(AWB)三个组件。 5.0 概述自动曝光(Auto Exposure) 自动曝光算法可以理解为一个伺服系统,它不断监控ISP生成的每一帧图像的曝光状态,如果发现采…

C# Winform小程序:局域网设置NTP服务器、实现时间同步

设置NTP服务器&#xff1a; NTP是网络时间协议(Network Time Protocol)&#xff0c;它是用来同步网络中各个计算机的时间的协议。 局域网不能连接Internet&#xff0c;可以设置一台计算机为NTP服务器。 依次点击&#xff1a;开始---运行---regedit&#xff0c;进入注册表&am…