当前位置: 首页 > news >正文

DOA估计算法——迭代自适应算法(IAA)

1 简介

        迭代自适应法 (Iterative Adaptive Approach,IAA)估计算法最早由美国的电气工程师和数学家Robert Schmidt和Roy A. Kuc在1986年的一篇论文"Multiple Emitter Location and Signal Parameter Estimation"中首次提出了这一算法, IAA DOA 估计算法是一种用于无线通信和雷达系统中估计信号到达方向的方法,对于信号处理和通信领域具有重要意义。

       对于实际的雷达DOA估计来说,传统的延时相加方法(Delay-And-Sum, DAS)分辨率低,旁瓣干扰大。而ESPRIT2I和MUSIC等方法只有在传感器数大于源信号数,并且需要大量的快拍数,和高信噪比的情况下来获得高分辨率,但是在实际的工程应用中,收集大量的快拍是不切实际的,尤其是在快速的时变环境很难做到这一点,使得定位性能恶化。此外,由于对子空间正交性比较敏感,基于子空间的方法也不能处理相干源问题。

       IAA是一种依赖数据,基于加权最小二乘方法(WLS)的非参数的迭代自适应算法,它可以在少量快拍(甚至是一个)、相干或非相千源、任意阵列的情况下得到很好的参数估计,相比于其他依赖于数据的方法,IAA可以大大地增加分辨率并且减小旁瓣,所以它的性能要比现有的空间稀疏信号重构算法好。

        阵列信号经常遇到的问题是少量的快拍数和低信噪比。针对这个问题应用IAA算法就可以很好地减小这些不利因素对信号估计的影响。由于实际信号往往要比观测信号少得多,所以,将阵列信号处理问题转换到稀疏信号表示领域。因为稀疏信号表示方法可以处理少量快拍数的情况,甚至是一个。而这种基于稀疏表示的方法也被用在频谱估计、图像处理、阵列设计和其他很多领域。

2 IAA算法原理 

        假设远场有K个窄带信号入射到有M个天线阵元的均匀阵列上,第k个信号的入射角度为。n时刻阵列接受的数据矢量可以表示为

式中N是快拍数量。M×K的阵列流行矩阵,,n=1,2,…,N,是信号矩阵,e(n)表示加性噪声矩阵。A(θ)对于不同的阵列结构略有不同,对于均匀阵列第k个源一致的方向矢量可以表示为: 

式中表示阵元间距,λ表示传播信号的波长。均匀线阵的结构如图1所示

图1 均匀线阵结构

设P是一个K×K的对角矩阵,对角元素是扫描网格上每一个角度的信号能量,干扰和噪声的协方差矩阵为 

其中,左式表示信号的协方差矩阵,右式表示协方差矩阵的特征分解形式。因此式(3)可以理解为出去有用信号剩余的量即为干扰和噪声。对于信号的协方差估计,通常可通过下式进行估计

IAA算法通过求解如下加权最小二乘代价函数:

式中表示第n次快拍θk处信号的复幅值。要精确得到估计结果,既要使得: 

达到最小,此时的成为最小二乘加权量,W即为加权矩阵。当W=I时,为非加权最小二乘估计。将式(6)对求偏导数,并令偏导数等于零,则得最小二乘的估计量 

则估计的均方误差为:

其中是已知的,当时,可以证明加权最小二乘法估计的均方误差是所有加权矩阵下最小的。这时可获得最佳加权最小二乘估计量为: 

最终根据矩阵求逆定理可得:

最终,综上所述,IAA算法总结为:

Step1:初始化 

Step2:划分包含K个目标的离散网格

Step3:迭代

(1)计算 

(2)计算协方差矩阵

  (3)   更新

(4)判断收敛,不收敛则回到(2),否则结束迭代。

3 IAA仿真 

        仿真环境:Matalb2021b,Windows11

        阵元数量:M=16

        目标来波方向:40°,10°,20°的非相干信号源

        信号的中心频率为:f = 77GHz,信号能量幅度默认为1。

        信噪比:SNR=5dB、16dB、30dB

        收敛误差:小于

        快拍数:N = 1

        仿真结果:

根据上述仿真结果,我们可以得出,随着信噪比的增大,要到达量级的误差,迭代次数显著减少,同时估计的精度也显著提高,目标旁瓣也显著降低。 

4 结束语 

        本期内容分析仿真了一种基于最小加权二乘法的IAA算法,通过选取合理的加权系数,更新协方差矩阵进行迭代计算,在低信噪比、单个快拍密集谱的情况下得到了非常精确的DOA和信号能量估计。阵列信号经常遇到的问题是少量的快拍数和低信噪比。针对这个问题应用IAA算法就可以很好地减小这些不利因素对信号估计的影响。此外希望本期内容对你有所帮助,另外创作不易,感谢支持。

5 参考资料 

       (eWiley) Optimum Array Processing. Harry L. Van Trees

       基于迭代自适应方法的空间信号估计.

相关文章:

DOA估计算法——迭代自适应算法(IAA)

1 简介 迭代自适应法 (Iterative Adaptive Approach,IAA)估计算法最早由美国的电气工程师和数学家Robert Schmidt和Roy A. Kuc在1986年的一篇论文"Multiple Emitter Location and Signal Parameter Estimation"中首次提出了这一算法, IAA DOA …...

Python If语句以及代码块的基本介绍

if语句 在编程中if语句是一种根据条件执行不同代码块的控制结构,他根据条件的真假来分支程序的执行路径,所以我们可以通过if语句根据不同情况而执行不同的程序 格式 if [条件(bool值或者计算结果为bool类型的算式)] : a11if a>10:print("a大于10") # --> a大…...

[嵌入式专栏](FOC - SVPWM扇区计算Part1)

文章目录 1 . 概要2 . 扇区计算2.1 扇区Ⅰ计算2.2 扇区Ⅱ计算2.3 扇区Ⅲ计算 3 . 小结 【极客技术传送门】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 1 . 概要 经过扇区判断后,就知道在哪个扇区进行输出了 【Q】但是每个扇区分别输出怎样的结…...

亚马逊美国站ASTM F2613儿童折叠椅和凳子强制性安全标准

ASTM F2613折叠椅和凳子安全标准 美国消费品安全委员会(CPSC)发布的ASTM F2613儿童折叠椅和凳子的强制性安全标准,已于2020年7月6日生效,并被纳入联邦法规《16 CFR 1232儿童折叠椅和凳子安全标准》。 亚马逊要求在美国站上架的儿…...

【机组期末速成】指令系统|机器指令概述|操作数类型与操作类型|寻址方式|指令格式

🎥 个人主页:深鱼~🔥收录专栏:计算机组成原理🌄欢迎 👍点赞✍评论⭐收藏 目录 前言: 一、本章考点总览 二、考点分析 1、以下有关指令系统的说法中错误的是( )。 2…...

java美容管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web美容管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…...

Redis哨兵

1.哨兵介绍 1.1.为何需要哨兵? 为了解决master节点宕机问题,选举salve节点为新的master节点。 1.2.哨兵的作用 1.3.服务状态监控 1.4.选举新的master 1.5.如何实现故障转移 2.搭建哨兵集群 2.1.集群结构 这里我们搭建一个三节点形成的Sentinel集群&…...

面试算法78:合并排序链表

题目 输入k个排序的链表,请将它们合并成一个排序的链表。 分析:利用最小堆选取值最小的节点 用k个指针分别指向这k个链表的头节点,每次从这k个节点中选取值最小的节点。然后将指向值最小的节点的指针向后移动一步,再比较k个指…...

鸿鹄电子招投标系统:基于Spring Boot、Mybatis、Redis和Layui的企业电子招采平台源码与立项流程

在数字化时代,企业需要借助先进的数字化技术来提高工程管理效率和质量。招投标管理系统作为企业内部业务项目管理的重要应用平台,涵盖了门户管理、立项管理、采购项目管理、采购公告管理、考核管理、报表管理、评审管理、企业管理、采购管理和系统管理等…...

node.js对应npm安装和使用

介绍 node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境,安装node后自带npm。NPM :Node Package ManagerNPM是Node.js标准的软件包管理器 。2010年底,Node.js 的包管理器 npm 诞生,是全球最大的开源库生态系统。 node 20…...

(self-supervised learning)Event Camera Data Pre-training

Publisher: ICCV 2023 MOTIVATION OF READING: 自监督学习、稀疏事件 NILM link: https://arxiv.org/pdf/2301.01928.pdf Code: GitHub - Yan98/Event-Camera-Data-Pre-training 1. Overview Contributions are summarized as follows: 1. A self-supervised framework f…...

关于个人Git学习记录及相关

前言 可以看一下猴子都能懂的git入门,图文并茂不枯燥 猴子都能懂的git入门 学习东西还是建议尽可能的去看官方文档 权威且详细 官方文档 强烈建议看一下GitHub漫游指南及开源指北,可以对开源深入了解一下,打开新世界的大门! …...

【eclipse】eclipse开发springboot项目使用入门

下载eclipse Eclipse downloads - Select a mirror | The Eclipse Foundation 安装eclipse 其他一步一步即可 我们是开发java web选择如下 界面修改 Window->Preferences-> 修改eclipse风格主题 Window->Preferences->General->Appearance 修改字体和大小…...

Android 13 默认关闭 快速打开相机

介绍 在设置菜单的手势界面里,快速打开相机是默认开启的,此功能当开启时连续点击两次电源键会打开相机,现在客户需要默认关闭。 效果展示 修改 这里一开始想到的就是配置文件,在路径下果然找到了,从注释中看使我们需要的&#x…...

pytest pytest-html优化样式

conftest.py import pytest from pytest_metadata.plugin import metadata_keydef pytest_html_report_title(report):report.title"接口测试报告"def pytest_configure(config):# 获取命令行参数中的测试环境、测试版本、开始时间、测试人员config.stash[metadata_…...

Visual Studio 配置DLL

我们在用Visual Studio进行开发时,如果没有正确配置DLL,就会出现类似“丢失***.dll”的错误。DLL配置有哪些方法? 1、手动复制 将dll文件拷贝到生成的.exe所在的文件夹里 2、配置环境 在右键属性->配置属性->调试->环境&#xf…...

C/C++转WebAssembly及微信小程序调用

上一篇文章讲了C/C如何转WebAssembly,并测试了在Web端调用。本篇内容和上篇一样,介绍C/C包转的.wasm包如何在小程序中调用。 说明 本篇是在上一篇步骤1-4的基础上,再做修改,供微信小程序端调用的方法和步骤。 本篇操作手册可以…...

【WPF.NET开发】弱事件模式

本文内容 先决条件为什么要实现弱事件模式?应该由谁实现弱事件模式?如何实现弱事件模式 在应用程序中,附加到事件源的处理程序可能不会与将处理程序附加到源的侦听器对象一同销毁。 这种情况下会导致内存泄漏。 Windows Presentation Found…...

[Angular] 笔记 16:模板驱动表单 - 选择框与选项

油管视频: Select & Option (Template Driven Forms) Select & Option 在 pokemon.ts 中新增 interface: export interface Pokemon {id: number;name: string;type: string;isCool: boolean;isStylish: boolean;acceptTerms: boolean; }// new interface…...

Webpack基础使用

目录 一.什么是Webpack 二.为什么要使用Webpack 三.Webpack的使用 1.下载yarn包管理器 2.Webpack的安装 3.Webpack的简单使用 4.效果 四.Webpack打包流程 一.什么是Webpack Webpack是一个静态模块打包工具 二.为什么要使用Webpack 在开发中,我们常常会遇到…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录&#xff0c;这个目录下存放着许多可执行文件。与其他系统的可执行文件类似&#xff0c;这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中&#xff0c;用…...