【测向定位】差频MUSIC算法DOA估计【附MATLAB代码】

​微信公众号:EW Frontier QQ交流群:554073254

摘要

利用多频处理方法,在不产生空间混叠的情况下,估计出高频区域平面波的波达方向。该方法利用了差频(DF),即两个高频之间的差。这使得能够在可行区域中处理数据而没有空间混叠。分析了测向处理中的DOA特性,提出了一种基于MUSIC的多测向多快拍处理方法。本文提出了一种将多个DF和多个快拍联合考虑的方法,以及一种联合DF方法,该方法提供了一个不需要固定DOA的单快拍DF-MUSIC。仿真算例证明了文章提出方法的有效性并讨论了其DOA性能。

引言

由于空间混叠,均匀线阵将平面波DOA估计限制在一个较高的频率范围内。为了考虑数据的特定频率分量,应该在每个波长两个以上的点处对数据进行采样。否则,波达方向变得不明确,组件在错误的波达方向。当处理更高频率的带外信号时,无源系统尤其会出现这个问题。

我们解决了高频DOA估计,并采用多频处理。来自宽带信号中的多个频率的更多数据实现处理增益并获得良好的估计[1],[2],[3],[4]。为了更好地进行宽带DOA估计,已经提出了稀疏信号重构[5],[6],[7],[8],[9],[10]。基于循环平稳性的宽带方法是另一种技术,并且利用时间和空间中的循环相关特性[11],[12],[13],[14],[15]。利用多频点的频谱特性,对著名的非均匀线阵--互素阵的DOA估计进行了改进[16],[17],[18],[19]。

多频处理利用差频(DF),即频率f处的阵列数据与另一个f +Δf处的复共轭的乘积,这使得能够处理在没有空间混叠的情况下,使用较低频率Δf区域中的数据[20],[21]。远场源的DOA估计具有平面波和的阵列数据模型。

DF技术已应用于源定位和DOA估计,并通过实验数据进行了验证[21],[22],[23],[24]。对于源定位,已应用匹配场处理,其使用波传播模型匹配测量和模拟信号[25],[26],[27],[28]。对于DOA估计,使用常规波束形成器(CBF)或延迟求和波束形成器[21]。使用高频的DF方法显示出与低频CBF相当的DOA性能[22]。通过反卷积[23]以及通过使用MVDR和进一步的分析考虑[24]来改进基于DF的CBF的DOA性能。如图所示,DF处理使用频率f处的阵列数据和f +Δf处的复共轭数据的Hadamard乘积。

本文提出了三种联合收割机组合多个时间和测向样本的方法:时间、频率和时频联合。时间-DF-MUSIC对单个DF使用多个时间样本以获得时间平均样本协方差矩阵(SCM)。利用DF会产生不需要的伪影DOA [21]、[22]、[24],其取决于真实DOA和DF频率。由于伪影DOA在DF上变化,因此单独获得每个DF的MUSIC频谱并在频率上求平均可减轻伪影。

频率-DF-MUSIC使用均匀间隔的多个DF,具有相同的DF以获得频率平均的SCM。对于真实DOA,恒定DF共享相同的导向矢量,并且多DF等效于多快照。频率处理采用多个DF,实现了单次快拍DOA估计。单次时间快拍方法对于时变波达方向是有用的。

时频DF-MUSIC联合收割机将所有时间和DF样本合并到SCM中。该方法利用更多的数据平均来改善DOA估计。

文章插图

结论

推导了一种对多个频率的高频源及其差频进行DOA估计的算法,以获得低频处理。由于DF低于混叠频率,因此这是无空间混叠的。时间-DF-MUSIC算法将时间样本合并到样本协方差矩阵中,得到每个DF处的MUSIC谱,并对谱进行平均以估计最终DOA。频率-DF-MUSIC适用于单次快照,并且不需要随时间的固定DOA。时频-DF-MUSIC算法综合了所有的时频信息,联合使用更多的数据量获得处理增益。

MATLAB代码展示

%%
clear; clc;
close all;
​
% addpath([cd,'/_common'])
% addpath(['../_common'])
errCut = 10; % Maximum RMSE cut-off.
​
% rngNumber = 1; rng(rngNumber);
dbstop if error;
​
run_bpdn = 0;
​
%%
% Environment parameters
% c = 1500;       % speed of sound
c = 343;       % speed of sound
​
dfreq = 10000;                % difference frequency [Hz]
​
% ULA-horizontal array configuration
d = .5*(c/dfreq);            % intersensor spacing (based on DF)
% d = 3.75;                  % intersensor spacing [m]
% f = 200; % Hz -> 0.5 lambda = 0.5 * 1500 / 200 = 3.75 [m]
​
Nsensor = 20;               % number of sensors
q = (0:1:(Nsensor-1))';     % sensor numbering
xq = (q-(Nsensor-1)/2)*d;   % sensor locations
​
% 5-7.5 times to Difference Frequency (DF)
fmul1 = 5;
fmul2 = 7.5;
ftmp = linspace(fmul1*dfreq,fmul2*dfreq,50);
f = [ftmp,ftmp+dfreq];      % frequency [Hz]
Nfreq = numel(f);
​
lambda = c./f;   % wavelength
​
​
% signal generation parameters
SNR = 20;
​
% total number of snapshots
Nsnapshot = 50;
​
% range of angle space
thetalim = [-90 90];
​
theta_separation = .005;
​
% Angular search grid
theta = (thetalim(1):theta_separation:thetalim(2))';
Ntheta = length(theta);
​
% Generate received signal
anglesTrue = [-40; 35];
fprintf(['True DOAs        :',...repmat([' %.4f '],1,numel(anglesTrue)),'\n'],anglesTrue.')

MATLAB仿真结果

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

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

相关文章

视觉语言大模型模型介绍-CLIP学习

多模态学习领域通过结合图像和文本信息,为各种视觉语言任务提供了强大的支持。图像和文本的结合在人工智能领域具有重要的意义,它使得机器能够更全面地理解人类的交流方式。通过这种结合,模型能够处理包括图像描述、视觉问答、特征提取和图像…

多线程---线程的状态及常用方法

1. 线程的状态 在Java程序中,一个线程对象通过调用start()方法启动线程,并且在线程获取CPU时,自动执行run()方法。run()方法执行完毕,代表线程的生命周期结束。 在整个线程的生命周期中,线程的状态有以下六种&#xff…

前海桂湾的海边免费停车场

​前海很多打工人晚上加班前海边散步的地方。相信很多前海打工人都曾经路过这个免费的停车场。坐标出于滨海大道的断头路区域。 看卫星地图可以发现,是个断头路,但是面积还是很大,停个几十辆车没问题。我就停过一次,周末带娃来这里…

ESP8266+使用串口1打印LOG+释放串口0

Menuconfig配置 具体的位置位于Component config > Common ESP-related 配置后,串口0上电还是会打印一些信息,除此之外就不打印了。 ets Jan 8 2013,rst cause:2, boot mode:(3,6)load 0x40100000, len 7792, room 16 tail 0 chksum 0x44 load 0…

Lab2 【哈工大_操作系统】操作系统的引导

本节将更新哈工大《操作系统》课程第二个 Lab 实验 操作系统的引导。按照实验书要求,介绍了非常详细的实验操作流程,并提供了超级无敌详细的代码注释。文末附完整 bootsect.s 和 setup.s 标准答案代码以及超详细注释。 实验目的: 熟悉 hit-o…

C语言中的assert断言

Assert断言 断言是程序中处理异常的一种高级形式。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。 用法: #…

AD域控服务器

1.AD域控服务器安装 2.客户端Windows10加入域环境 3.组织单位OU和域用户创建 目的是分部门管理用户和使用域用户登录客户端 4.域用户安全策略 5.当客户端密码锁住了,管理员解锁账户。 6.只允许域用户使用自己的电脑 7.域策略 7.1统一客户端桌面壁纸 7.2重定向用户配置文件路径…

软件设计画图,流程图、甘特图、时间轴图、系统架构图、网络拓扑图、E-R图、思维导图

目录 一、流程图 二、甘特图 三、时间轴图 四、系统架构图 五、网络拓扑图 六、E-R图 七、思维导图 一、流程图 是一种用符号表示算法、工作流或流程的图形。用不同的图形表示不同含义,如椭圆表示开始和结束、菱形表示判断等。 画图工具WPS office 应用市场…

如何使用ssm实现基于vue.js的购物商场的设计与实现+vue

TOC ssm616基于vue.js的购物商场的设计与实现vue 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本…

如何使用ssm实现基于ssm框架的车辆出租管理系统+vue

TOC ssm643基于ssm框架的车辆出租管理系统vue 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域…

LeetCode_sql_day28(1767.寻找没有被执行的任务对)

描述:1767.寻找没有被执行的任务对 表:Tasks ------------------------- | Column Name | Type | ------------------------- | task_id | int | | subtasks_count | int | ------------------------- task_id 具有唯一值的列。 ta…

7iDU AMP田岛绣花机驱动器维修0J2100400022

7iDU AMP神州田岛绣花机驱动器维修0J2101300000绣花机控制器等全系列型号均可处理。 田岛7iDU AMP是田岛绣花机中使用很广的一种5相驱动器,在田岛平绣车TMEF-H,TMFD中应用,在链条车TMCE112S,和盘带车TMLG中大量使用。其采用的东芝…

面试或工作中的经典问题共享

前言:大家可以把面试或工作中遇到了经典问题共享一下,我们共同学习成长,金九银十,祝各位都能步步高升! 文档大家可以往下追加,请勿删除他人编写的内容哦。我会把问题的相关资料进行补充,以便各…

HTB-Blue(永恒之蓝漏洞复现)

前言 各位师傅大家好,我是qmx_07,今天给大家讲解Blue靶机 渗透过程 信息搜集 服务器开放了smb服务,漏洞探测显示 具有ms17_010(永恒之蓝漏洞) 利用永恒之蓝 搜索永恒之蓝漏洞 use使用永恒之蓝漏洞 rhost //对方主机 lhost //回连主机 …

[学习笔记]树链剖分(简易版) 及其LCA

树链剖分 先讲解一下一些基础定义(都是在树上) 重儿子: 一个节点中所有儿子中子树大小最大的一个儿子(每个节点最多有一个重儿子)轻儿子: 一个节点除重儿子外所有的节点重链: 若干个重儿子组成的链链顶: 一条链中深度最小的节点 以下图为例子 (红色连续线段为重链) 对于节点…

【LabVIEW】事件结构的用法

本篇文章记录我学习LabVIEW的事件结构用法,希望我的分享对你有所帮助! 目录 一、案例说明 1、 LabVIEW实现“YAXBXC的计算” 2、添加事件结构 一、案例说明 在LabVIEW实现“YAXBXC的计算”的基础上,加上事件结构,实现单击一次按…

分布式锁总结2 - redis实现分布式锁并解决常见问题

目录 1. redis分布式锁 1.1基本原理图示如下 1.2 Redis通过一个lock变量实现一个最简单的分布式锁实现代码: 2 升级简单分布式锁(实现原子加锁与安全删锁) 2.1 但1中的简单分布式锁存在几个问题: 2.1.1 问题1. 如果加完锁执…

Vue.js魔法书:前端开发者的终极指南----指令篇续篇

​个人名片: 😊作者简介:一个为了让更多人看见许舒雅的宝贝的小白先生 🤡个人主页:🔗 许舒雅的宝贝 🐼座右铭:深夜两点半的夜灯依旧闪烁,凌晨四点的闹钟不止你一个。 &am…

计算机网络32——Linux-文件io-2文件系统

1、阻塞和非阻塞 想要将文件以非阻塞方式打开,有两种方式 (1)需要将文件关闭,再用非阻塞方式打开 (2)fctnl函数,先获取旧属性,再添加一个新属性 阻塞函数 阻塞函数一直在等待输入…

MATLAB系列09:图形句柄

MATLAB系列09:图形句柄 9. 图形句柄9.1 MATLAB图形系统9.2 对象句柄9.3 对象属性的检测和更改9.3.1 在创建对象时改变对象的属性9.3.2 对象创建后改变对象的属性 9.4 用 set 函数列出可能属性值9.5 自定义数据9.6 对象查找9.7 用鼠标选择对象9.8 位置和单位9.8.1 图…