基于MATLAB的均匀面阵MUSIC算法DOA估计仿真

基于MATLAB的均匀面阵MUSIC算法DOA估计仿真

文章目录

  • 前言
  • 一、二维MUSIC算法原理
  • 二、二维MUSIC算法MATLAB仿真
  • 三、MATLAB源代码
  • 总结


前言

\;\;\;\;\; 在波达角估计算法中,MUSIC 算法与ESPRIT算法属于特征结构子空间算法,是波达角估计算法中的基石。在前面的文章 一文读懂MUSIC算法DOA估计的数学原理并仿真 中详细介绍了一维MUSIC算法即线阵MUSIC算法DOA估计的原理及仿真,本文将介绍二维MUSIC算法即均匀面阵的MUSIC算法DOA估计原理及MATLAB仿真。


提示:以下是本篇文章正文内容,尊重版权,引用请附上链接。

一、二维MUSIC算法原理

下图为面阵入射信号模型,
在这里插入图片描述
\;\;\;\;\; 假设从远场有 K K K 个互不相关的窄带信号,入射到一个阵元个数为 M × N M×N M×N 的平面阵列上。记第 i i i个入射信号的方位角和俯仰角分别为 θ i \theta_i θi φ i \varphi_i φi ,则阵列接收信号可以表示为:
z ( t ) = A s ( t ) + n ( t ) \boldsymbol{z}(t)=\boldsymbol A \boldsymbol s(t)+\boldsymbol n(t) z(t)=As(t)+n(t)其中 A \boldsymbol A A是维度为(MN×K)的均匀矩形阵列的阵列流形,可以表示为如下所示的式子:
A = [ a ( θ k , φ 1 ) , a ( θ 2 , φ 2 ) , ⋯ , a ( θ K , φ K ) ] T \mathbf{A}=\begin{bmatrix}\boldsymbol{a}(\theta_k,\varphi_1),\boldsymbol{a}(\theta_2,\varphi_2),\cdots,\boldsymbol{a}(\theta_K,\varphi_K)\end{bmatrix}^T A=[a(θk,φ1),a(θ2,φ2),,a(θK,φK)]T a ( θ k , φ k ) \boldsymbol{a}(\theta_k,\varphi_k) a(θk,φk)为第k个入射信号的导向矢量,仅仅由阵列的阵元排布和参考阵元的选择所决定,用公式可以表示为:
a ( θ k , φ k ) = a x ( θ k , φ k ) ⊗ a y ( θ k , φ k ) ∈ C M N × 1 \boldsymbol{a}(\theta_k,\varphi_k)=\boldsymbol{a}_x(\theta_k,\varphi_k)\otimes\boldsymbol{a}_y(\theta_k,\varphi_k)\in C^{MN\times1} a(θk,φk)=ax(θk,φk)ay(θk,φk)CMN×1 其中 ⊗ \otimes 表示的是克罗内克内积(Kronecker Product), a x ( θ k , φ k ) \boldsymbol{a}_x(\theta_k,\varphi_k) ax(θk,φk)表示x轴方向上均匀线阵接收信号的方向矢量, a y ( θ k , φ k ) \boldsymbol{a}_y(\theta_k,\varphi_k) ay(θk,φk)表示y轴方向上均匀线阵接收信号的方向矢量,可分别写为如下数学表达式:
a x ( θ k , φ k ) = [ a x , 0 ( θ k , φ k ) , a x , 1 ( θ k , φ k ) , ⋯ , a x , M − 1 ( θ k , φ k ) ] T \boldsymbol{a}_x(\theta_k,\varphi_k)=\begin{bmatrix}a_{x,0}(\theta_k,\varphi_k),a_{x,1}(\theta_k,\varphi_k),\cdots,a_{x,M-1}(\theta_k,\varphi_k)\end{bmatrix}^T ax(θk,φk)=[ax,0(θk,φk),ax,1(θk,φk),,ax,M1(θk,φk)]T a y ( θ k , φ k ) = [ a y , 0 ( θ k , φ k ) , a y , 1 ( θ k , φ k ) , ⋯ , a y , N − 1 ( θ k , φ k ) ] T \boldsymbol{a}_y(\theta_k,\varphi_k)=\begin{bmatrix}a_{y,0}(\theta_k,\varphi_k),a_{y,1}(\theta_k,\varphi_k),\cdots,a_{y,N-1}(\theta_k,\varphi_k)\end{bmatrix}^T ay(θk,φk)=[ay,0(θk,φk),ay,1(θk,φk),,ay,N1(θk,φk)]T 式中的 s ( t ) \mathbf{s}(t) s(t)是信号源矢量, n ( t ) \mathbf{n}(t) n(t)为高斯白噪声矢量,服从 N ( 0 , σ 2 ) N(0,\sigma^2) N(0,σ2)分布,可以分别表示如下式子:
s ( t ) = [ s 0 ( t ) , s 1 ( t ) , ⋯ , s K − 1 ( t ) ] T \mathbf{s}(t)=\left[\mathbf{s}_0(t),\mathbf{s}_1(t),\cdots,\mathbf{s}_{K-1}(t)\right]^T s(t)=[s0(t),s1(t),,sK1(t)]T n ( t ) = [ n 0 ( t ) , n 1 ( t ) , ⋯ , n M N ( t ) ] T \mathbf{n}(t)=\left[\mathbf{n}_0(t),\mathbf{n}_1(t),\cdots,\mathbf{n}_{MN}(t)\right]^T n(t)=[n0(t),n1(t),,nMN(t)]T \;\;\;\;\; 阵列接收信号的协方差矩阵可以表示为: R = E [ z z H ] \mathbf{R} = \mathbb{E}[\mathbf{z}\mathbf{z}^H] R=E[zzH] = A E [ s s H ] A H + σ 2 I = \mathbf A\mathbb{E}[\mathbf{s}\mathbf{s}^H]\mathbf A^H + \sigma^2\mathbf{I} =AE[ssH]AH+σ2I = A R S A H + σ 2 I =\mathbf A \mathbf R_S\mathbf A^H + \sigma^2\mathbf{I} =ARSAH+σ2I 其中 R S \mathbf{R}_S RS表示入射信号的协方差矩阵, σ 2 I \sigma^2\mathbf{I} σ2I表示功率为 σ 2 \sigma^2 σ2的高斯白噪声的协方差矩阵。
\;\;\;\;\; 实际应用中天线阵列获取的信息是有限次的快拍,因此只能得到协方差矩阵的估计值 R ^ \hat{\mathbf{R}} R^,其计算公式如下:
R ^ = 1 J ∑ j = 1 J z ( j ) z H ( j ) \hat{\mathbf{R}} = \frac{1}{J}\sum_{j=1}^{J}\mathbf{z}(j)\mathbf{z}^H(j) R^=J1j=1Jz(j)zH(j) \;\;\;\;\; 由于接收信号的协方差矩阵 R \mathbf{R} R是对称矩阵,因此可以对其进行特征值分解,可以得到:
R = U Λ U T \mathbf{R} = \mathbf{U}\boldsymbol{\Lambda}\mathbf{U}^T R=UΛUT 其中 U \mathbf{U} U R \mathbf{R} R的特征向量构成的矩阵, Λ \boldsymbol{\Lambda} Λ是一个由特征值构成的对角矩阵。
Λ = d i a g { λ 1 , λ 2 , . . . , λ M N } \boldsymbol{\Lambda} = diag\{ \lambda_1,\lambda_2,...,\lambda_{MN} \} Λ=diag{λ1,λ2,...,λMN} \;\;\;\;\; 假设对角矩阵中的特征值降序排列,满足如下关系:
λ 1 ≥ λ 2 ≥ ⋯ ≥ λ K > λ K + 1 = ⋯ = λ M N = σ 2 \lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_K > \lambda_K + 1 = \cdots = \lambda_{MN} = \sigma^2 λ1λ2λK>λK+1==λMN=σ2 由前 K K K个较大的特征值构成的对角矩阵 Λ S \boldsymbol{\Lambda}_S ΛS,其对应的特征向量构成的矩阵 U S \mathbf U_S US为信号子空间。由后 M − K M-K MK个较小的特征值构成的对角矩阵 A N \mathbf A_N AN,其对应的特征向量构成的矩阵 U N \mathbf U_N UN为噪声子空间。

\;\;\;\;\; 根据前文假设,信号与噪声相互独立,因此信号子空间与噪声子空间是相互正交的,故信号阵列流矢量与噪声子空间也具有正交性。同一维MUSIC算法一样,可构造二维空间谱函数:
P 2 D − M U S I C ( θ , ϕ ) = 1 a H ( θ , ϕ ) U N U N H a ( θ , ϕ ) P_{2D-MUSIC}(\theta, \phi) = \frac{1}{\mathbf a^{H}(\theta, \phi) \mathbf U_N \mathbf U_N^{H} \mathbf a(\theta, \phi)} P2DMUSIC(θ,ϕ)=aH(θ,ϕ)UNUNHa(θ,ϕ)1 \;\;\;\;\; 当天线阵列的方向矢量与噪声子空间近似正交时,上式分母部分取极小值,空间谱函数在此时取得极大值,得到空间谱的谱峰。对空间谱进行谱峰搜索,就能够得到入射信号的方位角与俯仰角的角度,至此完成了对于信源的二维 DOA估计。

二、二维MUSIC算法MATLAB仿真

\;\;\;\;\; 参数设置如下:改变任何一个参数,仿真结果都会跟着改变,可以通过修改参数观察不同条件对估计结果的影响。

M=3;           % x轴阵元个数
N=2;           % y轴阵元个数
K=1024;        % 快拍数
fc=100e+6;     % 载波
fs=300e+6;     % 采样频率
Pn=1;          % 噪声功率fines=[45 180 250 300]; % 信号入射方位角
thetas=[5 30 55 75];    % 信号入射俯仰角
signal_f=[15e6 30e6 45e6 60e6]; % 信号频率
signal_SNR=[30 30 30 30];       % 信噪比m=(0:M-1)';    % x轴坐标
n=(0:N-1)';    % y轴坐标
c=3e+8;        % 光速
lamda=c/fc;    % 波长
dx=1/2*lamda;  % x轴阵元间距
dy=1/2*lamda;  % y轴阵元间距

在这里插入图片描述
在这里插入图片描述
\;\;\;\;\; 通过观察参数,可以得出以下结论,可以自己通过改变参数来验证,这里就不贴图了。
1、随着阵元数目的增大,MUSIC 算法的分辨率逐渐增强。
2、随着信号信噪比的增大,MUSIC 算法的分辨率逐渐增强。
3、当阵元间距与波长的比值为二分之一时,MUSIC算法能够有效进行 DOA 估计;当阵元间距小于波长的二分之一时,MUSIC 算法的分辨率会降低;当阵元间距大于波长的二分之一时,由于采样严重不足,MUSIC算法可能会丧失分辨能力。

三、MATLAB源代码

均匀面阵MUSIC算法DOA估计MATLAB仿真源代码


总结

\;\;\;\;\; 以上就是今天记录的所有内容,分享了均匀面阵MUSIC算法DOA估计的原理及其在MATLAB软件上仿真的结果。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 命令

含义: Linux号称万物皆文件 cd 切换目录 .. 当前目录的上一级目录 ~波浪线,当前用户的home目录,比如root用户home目录是/root cd .. :进入上一级目录 pwd:查看当前位置 查看命令 ls:列出目录内容,包括参数-l&…

一周学会Flask3 Python Web开发-Debug模式开启

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 默认情况,项目开发是普通模式,也就是你修改了代码,必须重启项目,新代码才生效&…

在VS-qt的程序中,后期增加PCH预编译功能,提高编译速度

由于前期创建qt程序的时候未勾选pch功能,导致没有启动预编译的功能. 这种情况下需要增加pch功能应该怎么做? 在项目中增加2个文件 stdafx.h和stdafx.cpp文件 stdafx.h增加qt常用头文件 #pragma once //windows #include <windows.h>//qt常用 #include <QObject&g…

天翼云910B部署DeepSeek蒸馏70B LLaMA模型实践总结

一、项目背景与目标 本文记录在天翼云昇腾910B服务器上部署DeepSeek 70B模型的全过程。该模型是基于LLaMA架构的知识蒸馏版本&#xff0c;模型大小约132GB。 1.1 硬件环境 - 服务器配置&#xff1a;天翼云910B服务器 - NPU&#xff1a;8昇腾910B (每卡64GB显存) - 系统内存&…

Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法

前言&#xff1a; 本篇博客超级详细&#xff0c;请尽量使用电脑端结合目录阅读 阅读时请打开右侧 “只看目录” 方便阅读 一、什么是Python 1.1 Python的诞生 1989年&#xff0c;为了打发圣诞节假期&#xff0c;Gudio van Rossum吉多 范罗苏姆&#xff08;龟叔&#xff09;决…

【架构】分层架构 (Layered Architecture)

一、分层模型基础理论 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0365cf0bfa754229bdedca6b472bffc7.png 1. 核心定义 分层架构(Layered Architecture)模型是一种常见的软件设计架构,它将软件系统按照功能划分为不同的层次,每个层次都有特定的职责和功能…

2024年国赛高教杯数学建模C题农作物的种植策略解题全过程文档及程序

2024年国赛高教杯数学建模 C题 农作物的种植策略 原题再现 根据乡村的实际情况&#xff0c;充分利用有限的耕地资源&#xff0c;因地制宜&#xff0c;发展有机种植产业&#xff0c;对乡村经济的可持续发展具有重要的现实意义。选择适宜的农作物&#xff0c;优化种植策略&…

捷米特 JM - RTU - TCP 网关应用 F - net 协议转 Modbus TCP 实现电脑控制流量计

一、项目背景 在某工业生产园区的供水系统中&#xff0c;为了精确监测和控制各个生产环节的用水流量&#xff0c;需要对分布在不同区域的多个流量计进行集中管理。这些流量计原本采用 F - net 协议进行数据传输&#xff0c;但园区的监控系统基于 Modbus TCP 协议进行数据交互&…

遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

iOS事件传递和响应

背景 对于身处中小公司且业务不怎么复杂的程序员来说&#xff0c;很多技术不常用&#xff0c;你可能看过很多遍也都大致了解&#xff0c;但是实际让你讲&#xff0c;不一定讲的清楚。你可能说&#xff0c;我以独当一面&#xff0c;应对自如了&#xff0c;但是技术的知识甚多&a…

【核心算法篇十三】《DeepSeek自监督学习:图像补全预训练方案》

引言:为什么自监督学习成为AI新宠? 在传统监督学习需要海量标注数据的困境下,自监督学习(Self-Supervised Learning)凭借无需人工标注的特性异军突起。想象一下,如果AI能像人类一样通过观察世界自我学习——这正是DeepSeek图像补全方案的技术哲学。根据,自监督学习通过…

轻松搭建本地大语言模型(二)Open-WebUI安装与使用

文章目录 前置条件目标一、安装 Open-WebUI使用 Docker 部署 二、使用 Open-WebUI&#xff08;一&#xff09;访问Open-WebUI&#xff08;二&#xff09;注册账号&#xff08;三&#xff09;模型选择&#xff08;四&#xff09;交互 四、常见问题&#xff08;一&#xff09;容器…

零基础学QT、C++(一)安装QT

目录 如何快速学习QT、C呢&#xff1f; 一、编译器、项目构建工具 1、编译器&#xff08;介绍2款&#xff09; 2、项目构建工具 二、安装QT 1、下载QT安装包 2、运行安装包 3、运行QT creator 4、导入开源项目 总结 闲谈 如何快速学习QT、C呢&#xff1f; 那就是项目驱动法&…

vue取消全选功能按钮注意事项

这里这个功能是通过各种条件查出数据,但只取一条数据进行后续业务,虽然每一条数据前面都有多选框,但只需要选一个,所以在业务上分析可以把这个全选按钮取消掉 这里不是简单的把多选组件的selection-change"handleSelectionChange"和handleSelectionChange方法去掉,因…

【再读】2501.12948/DeepSeek-R1通过强化学习提升大型语言模型(LLMs)的推理能力

DeepSeek-R1-Zero展示了在没有监督数据的情况下&#xff0c;通过RL可以发展出强大的推理能力。DeepSeek-R1通过引入冷启动数据和多阶段训练&#xff0c;进一步提升了推理性能&#xff0c;达到了与OpenAI-o1-1217相当的水平。此外&#xff0c;通过蒸馏技术&#xff0c;将DeepSee…

校园网架构设计与部署实战

一、学习目标 掌握校园网分层架构设计原则 理解多业务VLAN规划方法 学会部署认证计费系统 实现基础网络安全防护 二、典型校园网场景 需求分析&#xff1a;某中学需建设新型校园网络 覆盖教学楼/宿舍/图书馆三区域 区分教师/学生/访客网络权限 满足2000终端并发接入 …

leetcode:942. 增减字符串匹配(python3解法)

难度&#xff1a;简单 由范围 [0,n] 内所有整数组成的 n 1 个整数的排列序列可以表示为长度为 n 的字符串 s &#xff0c;其中: 如果 perm[i] < perm[i 1] &#xff0c;那么 s[i] I 如果 perm[i] > perm[i 1] &#xff0c;那么 s[i] D 给定一个字符串 s &#xff0…

数仓搭建(hive):DWS层(服务数据层)

DWS层示例: 搭建日主题宽表 需求 维度 步骤 在hive中建数据库dws >>建表 CREATE DATABASE if NOT EXISTS DWS; 建表sql CREATE TABLE yp_dws.dws_sale_daycount( --维度 city_id string COMMENT 城市id, city_name string COMMENT 城市name, trade_area_id string COMME…

网工项目实践2.8 IPv6设计及网络优化需求分析及方案制定

本专栏持续更新&#xff0c;整一个专栏为一个大型复杂网络工程项目。阅读本文章之前务必先看《本专栏必读》。 全网拓扑展示 一.IPV6部署规划 在北京总部&#xff0c;为了迎接未来网络的发展&#xff0c;规划在BJ_G2、BJ_G3、BJ_C1、BJ_C2之间运行IPv6协议&#xff0c;以建立I…

50页PDF|数字化转型成熟度模型与评估(附下载)

一、前言 这份报告依据GBT 43439-2023标准&#xff0c;详细介绍了数字化转型的成熟度模型和评估方法。报告将成熟度分为五个等级&#xff0c;从一级的基础转型意识&#xff0c;到五级的基于数据的生态价值构建与创新&#xff0c;涵盖了组织、技术、数据、资源、数字化运营等多…