基于matlab使用先导校准来补偿阵列不确定性(附源码)

一、前言

此示例说明如何使用先导校准来提高天线阵列在存在未知扰动时的性能。

原则上,可以轻松设计理想的均匀线性阵列(ULA)来执行阵列处理任务,例如波束成形或到达方向估计。在实践中,没有理想的阵列。例如,阵列内不同元素之间总会有一些不可避免的制造公差。由于通常不可能获得有关这些变化的确切知识,因此它们通常被称为不确定性或扰动。通常观察到的不确定性包括元件增益和元件相位不确定度(电不确定性)以及元件位置不确定性(几何不确定性)。

阵列系统中存在不确定性会导致阵列处理算法的检测、分辨率和估计性能快速下降。因此,在部署阵列之前对其进行校准至关重要。除上述因素外,由于硬件老化和环境影响等其他因素,还可能产生不确定性。因此,在所有部署的系统中也会定期执行校准。

有许多阵列校准算法。本例重点介绍先导校准方法[1],其中不确定性是根据阵列对已知位置的一个或多个已知外部源的响应来估计的。该示例比较了校准前后不确定性对阵列性能的影响。

二、电气和几何不确定性建模


考虑沿 y 轴的理想 6 元素 ULA,以半波长间距和均匀锥形运行。对于ULA,可以计算预期的单元位置和锥度。

接下来,对真实数组中可能存在的扰动进行建模。这些通常被建模为随机变量。例如,假设锥度的大小和相位受到标准差分别为 0.1 和 0.05 的正态分布随机变量的扰动。

下图显示了扰动锥度和设计锥度的大小和相位之间的差异。

x、y 和 z 方向传感器位置的扰动以类似的方式生成,标准偏差为 0.05。

下图显示了扰动数组和理想数组的元素位置。

三、阵列扰动的影响


上一节显示了设计的理想阵列与实际扰动阵列之间的区别。由于这些误差,如果在扰动阵列上盲目应用处理步骤,例如使用设计阵列计算的波束成形权重,性能会显着下降。

考虑一个LCMV波束形成器的情况,该波束形成器设计用于将理想阵列引导到10度方位角的方向,同时来自-10度方位角和60度方位角两个已知方向的两个干涉。目标是在抑制干扰的同时保留目标信号。

如果知道阵列锥度和几何形状的精确知识,则可以按如下方式计算波束成形权重:

但是,由于阵列包含未知的扰动,因此必须根据设计阵列的位置和锥度计算波束成形权重。下图将预期的光束模式与在扰动阵列上应用设计权重产生的光束模式进行了比较。

从绘制的图案中可以清楚地看出,由未校准的砝码产生的图案不符合要求。它在所需的 10 度方位角方向周围放置一个空值。这意味着无法再检索所需的信号。幸运的是,阵列校准可以帮助使图案恢复正常。

四、先导校准


有许多算法可用于执行阵列校准。一类常用算法是先导校准。该算法在已知方向上设置多个源,然后使用该阵列接收来自这些发射器的信号。由于这些发射器位于已知方向,因此可以计算理想阵列的预期接收信号。将这些与实际接收的信号进行比较,可以得出由于不确定性引起的差异并对其进行校正。

下面的代码显示了阵列校准的过程。首先,需要从不同的方向选择试点来源。请注意,导频源的数量决定了算法可以纠正多少不确定性。在本例中,为了校正传感器位置不确定性和锥度不确定性,至少需要四个外部源。如果使用更多的来源,估计会得到改善。

四个导引源位于以下方位角和仰角对:(-60, -10)、(-5, 0)、(5, 0) 和 (40, 30)。来自这些飞行员的接收信号可以模拟。

使用来自阵列引导的接收信号,以及设计阵列的元件位置和锥度,校准算法[1]估计扰动阵列的元件位置和锥度。

一旦估计的位置和锥度可用,就可以在计算波束形成器权重时使用这些参数代替设计的阵列参数。这将产生由下面的红线表示的数组模式。

上图显示,校准阵列产生的模式比未校准阵列产生的模式要好得多。特别是,来自所需方向的信号现在被保留。

五、总结


此示例显示了数组的不确定性如何影响其响应模式,进而降低阵列的性能。该示例还说明了如何使用先导校准来帮助恢复阵列性能。

六、参考文献


[1] N. Fistas and A. Manikas, "A New General Global Array Calibration Method", IEEE Proceedings of ICASSP, Vol. IV, pp. 73-76, April 1994.

七、程序

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

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

程序下载方式一基于matlab使用先导校准来补偿阵列不确定性资源-CSDN文库

程序下载方式二:基于matlab使用先导校准来补偿阵列不确定性

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初识轻量级分布式任务调度平台 xxl-job

文章目录 前言xxl-job的目录结构项目依赖 (父 pom.xml)xxl-job-admin 启动xxl-job-executor-sample (项目使用示例)xxl-job-executor-sample-frameless : 不使用框架的接入方式案例xxl-job-executor-sample-springboot : springboot接入方案案例 xxl-job执行器器启动流程分析调…

linux_centos7.9/ubuntu20.04_下载镜像及百度网盘分享链接

1、镜像下载站点 网易开源镜像:http://mirrors.163.com/ 搜狐开源镜像:http://mirrors.sohu.com/ 阿里开源镜像:https://developer.aliyun.com/mirror/ 首都在线科技股份有限公司:http://mirrors.yun-idc.com/ 常州贝特康姆软件技…

C++【红黑树】

✨个人主页: 北 海 🎉所属专栏: C修行之路 🎃操作环境: Visual Studio 2019 版本 16.11.17 文章目录 🌇前言🏙️正文1、认识红黑树1.1、红黑树的定义1.2、红黑树的性质1.3、红黑树的特点 2、红黑…

三分钟学习一个python小知识1-----------我的对python的基本语法的理解

文章目录 一、变量定义二、数据类型三、条件语句四、循环语句五、函数定义总结 一、变量定义 在Python中,使用等号()进行变量的定义,并不需要声明变量的类型,Python会自动根据赋值的数据类型来判断变量的类型&#xf…

chatgpt赋能python:Python构造和析构:介绍和实例

Python 构造和析构:介绍和实例 当你编写 Python 程序时,你可能会注意到一个名为构造函数和析构函数的概念。这些函数可以在创建和删除一个对象时自动执行一些操作。本文将深入介绍 Python 中的构造和析构概念。 构造函数 Python 使用一种名为 __init_…

戴尔U盘重装系统Win10步骤和详细教程

戴尔电脑深受用户们的喜欢,那么如何使用U盘给戴尔电脑重装Win10系统呢,这让很多用户都犯难了,以下就是小编给大家分享的戴尔U盘重装系统Win10步骤和详细教程,按照这个教程操作,就能顺利完成戴尔U盘重装Win10系统的操作…

3、互联网行业及产品经理分类

上一篇文章:2、产品经理的工作内容_阿杰学编程的博客-CSDN博客 1、产品经理分类 我们把产品经理划分成这样两个大的类型,一个是传统行业的,一个是互联网行业的。这个简单了解一下就行。 这个里面会发现绝大多数也是体育劳动,你比…

Nautilus Chain:模块化Layer3的先行者

“模块化特性的 Nautilus Chain 正在成为 Layer3 的早期定义者之一,并有望进一步推动区块链更广泛的应用与实践 ” 自以太坊创始人 Vitalik Buterin 在去年提出 Layer3 的概念后,行业始终对“Layer3”进行讨论,并期望推动该概念,从…

微服务框架

流量入口Nginx 在上图中可以看到,Nginx作为整个架构的流量入口,可以理解为一个外部的网关,它承担着请求的路由转发、负载均衡、动静分离等功能。作为一个核心入口点,Nginx肯定要采用多节点部署,同时通过keepalived来实…

【云原生 · Docker】轻松学会dockerfile构建镜像

目录 🍉dockerfile是什么 🍉镜像的缓存特性 🍉dockerfile命令 🍒FROM 🍒RUN 🍒CMD 🍒LABEL 🍒EXPOSE 🍒ENV 🍒ADD 🍒COPY 🍒ENTRYPOIN…

Background-1 基础知识 sqli-Labs Less1-Less-4

文章目录 一、Less-1二、Less-2三、Less-3四、Less-4总结 一、Less-1 http://sqli:8080/Less-1/?id1在第一关我们可以尝试增加一个单引号进行尝试 http://sqli:8080/Less-1/?id1错误显示如下: near 1 LIMIT 0,1 at line 1推测语法的结构 select *from where **…

【从零开始学习JAVA | 第六篇】面向对象综合训练

目录 前言: 1.文字版格斗游戏: 2.对象数组1 前言: 前面我们已经讲解了JAVA面向程序对象思想的关键要素:封装。我们将利用本篇进行几个小型的练习,帮助我们更好的理解面向对象编程这种思想。 1.文字版格斗游戏&#x…

SpringSecurity过滤指定url【.antMatchers(***).permitAll()】失效问题

SpringSecurity过滤指定url【.antMatchers(***).permitAll()】失效问题 问题描述 在使用SpringSecurity作为后端验证框架时,遇到配置一些接口不需要token验证,直接放行,但是配置之后没有生效,一直究其原因。 项目配置 因为要进…

ES6相关概念

什么是ES6? ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范。 为什么使用 ES6 ? 每一次标准的诞生都意味着语言的完善,功能的加强。JavaScript语言本身也有一些令人不满意的地方。 变量提升特性增加了程序运行…

SpringBoot整合jwt+redis+随机验证码+Vue的登录功能

一、运行效果展示 !注意:前端的Vue项目中要引入element-ui和axios # npm安装element-ui、axios npm insatll element-ui -S npm install axios -S # 在main中引入 // 引入ElementUI import ElementUI from element-ui import element-ui/lib/theme-chalk…

大数据Doris(四十七):开启Steam Load记录

文章目录 开启Steam Load记录 一、停止 Doris 集群 二、在 node3-node5 BE 节点上配置 be.conf 三、重新启动 Doris 集群 开启Steam Load记录 后续执行Stream Load 导入任务后,我们会在Doris集群中会查询对应Stream Load任务的情况,默认BE是不记录S…

【UE】滑动UI

效果 步骤 1. 新建一个控件蓝图,这里命名为“WBP_Slide” 2. 在关卡蓝图添加如下节点来显示控件蓝图 3. 打开“WBP_Slide”,添加一个滚动框控件 设置滚动框的锚点 设置滚动朝向为水平 在滚动框中添加一个画布面板 在画布面板中添加一个图像控件 由于我有…

STM32ARM体系结构(嵌入式学习)

STM32&ARM体系结构 1. STM321.1 简介1.2 STM32的优势1.3 命名规范 2. ARM体系结构2.1 ARM体系结构面试题:谈谈你对ARM的认识?1.ARM公司2.ARM处理器3.ARM技术 目前主流处理器架构?精简指令集RISC和复杂指令集CISC的区别?精简指…

电商数据分析方案:丰富经验护航,分析一步到位

如果做电商数据分析的每一步都从零开始,摸着石头过河,反复测试修改。一通忙活下来,成果没见多少,人力物力成本倒是节节攀升,试问又有多少企业承受得住?如果有一套一步到位的数据分析方案,是不是…

Linux学习[15]bash学习深入1---bash的功能---变量详解

文章目录 前言:1. bash功能2. 变量2.1 变量赋值2.2 unset取消变量2.3 环境变量 总结 前言: 之前在学树莓派相关内容的时候,对bash脚本的简单上手做了一个总结,并且归纳到下面三个博客。 当时参考的书为《从树莓派开始玩转linux》…