阵列信号处理_对比常规波束形成法(CBF)和Capon算法

2023-11-09 17:20

本文主要是介绍阵列信号处理_对比常规波束形成法(CBF)和Capon算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

空间谱估计

利用电磁波信号来获取目标或信源相对天线阵列的角度信息的方式,也称测向、波达方向估计(DOA)。主要应用于雷达、通信、电子对抗和侦察等领域。

发展

  • 常规波束形成(CBF)。本质是时域傅里叶变换在空域直接应用,分辨力受限于瑞利限;
  • Capon自适应波束形成(1969年)。本质将维纳(Wiener)滤波思想应用于空域处理;但未利用噪声统计特性,对分辨力提升有限;
  • 信号子空间类方法:多重信号分类(MUSIC)法(1986年)和旋转不变子空间(ESPRIT)法(1989年);
  • 最大似然估计法(1990年);
  • 压缩感知或稀疏恢复DOA方法(2006年~2015年);

常规波束形成法(Conventional Beamforming,CBF)

在这里插入图片描述

在这里插入图片描述

物理含义:

1、对回拨数据做空域傅里叶变换,得到数据在各方向功率值;

2、在各个角度做相参积累。

缺点:受限于瑞利限,当来向角接近时,无法分辨
在这里插入图片描述

Capon算法 或 最小方差无失真响应(MVDR)

自适应信号处理器

根据阵列输入信号及输出信号自适应形成权矢量,不同权矢量可将形成的波束指向不同方向,对期望信号得到最大输出功率的方向即信号入射方向。

在这里插入图片描述

波束形成的最优权:

保证某确定方向 θ d \theta_d θd 信号能正确接收,而其它入射方向信号被干扰或被完全抑制

在这里插入图片描述
实际应用中,不知道目标来向 θ d \theta_d θd ,只能通过扫描得到谱曲线

在这里插入图片描述

仿真对比

%%% 公共仿真条件:d=lambda/2,两目标来向角分别为10°和20°,估计R快拍数=500,阵元数为16
%%% 变化参数:SNR为5dB、10dB、15dB、20dB四种情况
%% 参数设置
source_number=2;              %信元数=2
sensor_number=16;             %阵元数16个
Signal_length=500;            %信号长度
snapshot_number=Signal_length;%估计R快拍数=500
w=[pi/4 pi/6].';              %信号频率
lambda=((2*pi*3e8)/w(1)+(2*pi*3e8)/w(2))/2;%信号波长  
d=0.5*lambda;                 %阵元间距
source_doa=[10 20];           %两个信号的入射角度即目标来向角:10°和20°
snr=[5,10,15,20];             %信噪比SNR为5dB、10dB、15dB、20dB四种情况

变化SNR时结果对比

%%% 公共仿真条件:d=lambda/2,两目标来向角分别为10°和20°,SNR=10dB,阵元数为16
%%% 变化参数:估计R快拍数为:20、50、100、500四种情况
Signal_length=[20,50,100,500];%信号长度
snapshot_number=Signal_length;%估计R快拍数

变化R快拍数时估计结果对比

%%% 公共仿真条件:d=lambda/2,两目标来向角分别为10°和20°,SNR=20dB,估计R快拍数=100
%%% 变化参数:阵元数分别为8、16、24、32四种情况
sensor_number=[8,16,24,32];     %变化参数:阵元数  仿真8、16、24、32四种情况

变化阵元数时仿真结果对比

这篇关于阵列信号处理_对比常规波束形成法(CBF)和Capon算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/377517

相关文章

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock