现代谱估计的原理及MATLAB仿真(二)(AR模型法、MVDR法、MUSIC法)

现代谱估计的原理及MATLAB仿真AR参数模型法(参数模型功率谱估计)、MVDR法(最小方差无失真响应法)、MUSIC法(多重信号分类法)

文章目录

  • 前言
  • 一、AR参数模型
    • 1 原理
    • 2 MATLAB仿真
  • 二、MVDR法
    • 1 原理
    • 2 MATLAB仿真
  • 三、MUSIC法
    • 1 原理
    • 2 MATLAB仿真
  • 四、3种方法的对比
  • 五、MATLAB源代码


前言

\;\;\;\;\; 现代功率谱估计方法包括AR参数模型法(参数模型功率谱估计)、MVDR法(最小方差无失真响应法)、MUSIC法(多重信号分类法)。本文在总结各种方法的原理后在MATLAB平台上完成了仿真,完成了对信号频率的估计,仿真不同大小的阶数对信号频率估计的影响以及这三种方法之间的对比。


提示:以下是本篇文章正文内容,转载请附上链接!

一、AR参数模型

1 原理

\;\;\;\;\; AR的全称是auto-regressive(自回归)参数模型。该模型功率谱估计的基本思想是,认为随机过程 u ( n ) u(n) u(n)就是白噪声通过LTI离散时间系统得到的响应,利用观测样本值估计出模型的参数(即得到频率响应 H ( ω ) H(\omega) H(ω)),也就得到了随机过程 u ( n ) u(n) u(n)的功率谱 S ( ω ) = ∣ H ( ω ) ∣ 2 σ 2 S(\omega)=\mid H(\omega)\mid^2\sigma^2 S(ω)=∣H(ω)2σ2
\;\;\;\;\; v ( n ) v(n) v(n)是零均值、方差为 σ 2 \sigma^2 σ2的白噪声。则 p p p 阶 AR( p p p) 模型的输人 v ( n v(n v(n)和输出 u ( n ) u(n) u(n)满足如下差分方程:
u ( n ) = − ∑ k = 1 p a k u ( n − k ) + v ( n ) u(n)=-\sum_{k=1}^pa_ku(n-k)+v(n) u(n)=k=1paku(nk)+v(n)那么AR模型的正则方程式可表示为
r u ( 0 ) + a 1 r u ( − 1 ) + ⋅ ⋅ ⋅ + a p r u ( − p ) = σ 2 r_u(0)+a_1r_u(-1)+\cdotp\cdotp\cdotp+a_pr_u(-p)=\sigma^2 ru(0)+a1ru(1)+⋅⋅⋅+apru(p)=σ2
[ r u ( 0 ) r u ( − 1 ) ⋯ r u ( − p + 1 ) r u ( 1 ) r u ( 0 ) ⋯ r u ( − p + 2 ) ⋮ ⋮ ⋱ ⋮ r u ( p − 1 ) r u ( p − 2 ) ⋯ r u ( 0 ) ] [ a 1 a 2 ⋮ a p ] = [ − r u ( 1 ) − r u ( 2 ) ⋮ − r u ( p ) ] \begin{bmatrix}r_u(0)&r_u(-1)&\cdots&r_u(-p+1)\\r_u(1)&r_u(0)&\cdots&r_u(-p+2)\\\vdots&\vdots&\ddots&\vdots\\r_u(p-1)&r_u(p-2)&\cdots&r_u(0)\end{bmatrix}\begin{bmatrix}a_1\\a_2\\\vdots\\a_p\end{bmatrix}=\begin{bmatrix}-r_u(1)\\-r_u(2)\\\vdots\\-r_u(p)\end{bmatrix} ru(0)ru(1)ru(p1)ru(1)ru(0)ru(p2)ru(p+1)ru(p+2)ru(0) a1a2ap = ru(1)ru(2)ru(p) 上式可简单地表示为
R p θ p = − r p {\boldsymbol{R}}_p\boldsymbol{\theta}_p=-\boldsymbol{r}_p Rpθp=rp 其中, r p = [ r u ( 1 ) r u ( 2 ) ⋯ r u ( p ) ] T \boldsymbol r_{p}=\begin{bmatrix}r_{u}(1)&r_{u}(2)&\cdots&r_{u}(p)\end{bmatrix}^{\mathrm{T}} rp=[ru(1)ru(2)ru(p)]T。因矩阵 R ρ {\boldsymbol{R}}_{\rho} Rρ 是非奇异的,对上式两边左乘 R p − 1 {\boldsymbol{R}}_p^{-1} Rp1,有
θ p = − R p − 1 r p \boldsymbol{\theta}_p=-{\boldsymbol{R}}_p^{-1}\boldsymbol r_{p} θp=Rp1rp θ p \boldsymbol{\theta}_p θp 代人含有 σ 2 \sigma^2 σ2的那个式子中即可得到 σ 2 \sigma^2 σ2
\;\;\;\;\; 随机过程 u ( n ) u(n) u(n)的功率谱可由下式给出:
S A R ( ω ) = σ 2 ∣ 1 + ∑ k = 1 p a k e − j ω k ∣ 2 S_{\mathrm{AR}}(\omega)=\frac{\sigma^2}{\left|1+\sum_{k=1}^pa_k\mathrm{e}^{-\mathrm{j}\omega k}\right|^2} SAR(ω)=1+k=1pakejωk2σ2

2 MATLAB仿真

\;\;\;\;\; 仿真采用的信号为复正弦信号。参数设置和仿真结果如下:
在这里插入图片描述
在这里插入图片描述
\;\;\;\;\; 从以上结果可看出,阶数为8时,20MHz和22MHz的两个信号不能被区分,但当阶数为16时,20MHz和22MHz的两个信号可以被区分,所以估计信号频率时阶数的选择十分重要。

二、MVDR法

1 原理

\;\;\;\;\; 最小方差无失真响应(MVDR , minimum variance distortionless response)算法,是另一类信号频率估计方法。考虑有 M M M 个权系数的横向滤波器,如下图所示。
在这里插入图片描述
\;\;\;\;\; 滤波器的输入为随机过程 x ( n ) x(n) x(n) ,输出为
y ( n ) = ∑ i = 0 M − 1 w i ∗ x ( n − i ) y(n)=\sum_{i=0}^{M-1}w_i^*x(n-i) y(n)=i=0M1wix(ni)其中 , w i ,w_i ,wi 表示横向滤波器的权系数。定义输人信号向量和权向量分别为
x ( n ) = [ x ( n ) x ( n − 1 ) ⋯ x ( n − M + 1 ) ] T w = [ w 0 w 1 ⋯ w M − 1 ] T \begin{aligned}&\boldsymbol{x}(n)=\begin{bmatrix}x(n)&x(n-1)&\cdots&x(n-M+1)\end{bmatrix}^\mathrm{T}\\&\boldsymbol{w}=\begin{bmatrix}w_0&w_1&\cdots&w_{M-1}\end{bmatrix}^\mathrm{T}\end{aligned} x(n)=[x(n)x(n1)x(nM+1)]Tw=[w0w1wM1]T 则输出可表示为
y ( n ) = w H x ( n ) = x T ( n ) w ∗ y(n)=\boldsymbol w^\mathrm{H}\boldsymbol x(n)=\boldsymbol x^\mathrm{T}(n)\boldsymbol w^* y(n)=wHx(n)=xT(n)w 信号 y ( n ) y(n) y(n)的平均功率可以表示为
P = E { ∣ y ( n ) ∣ 2 } = E { w H x ( n ) x H ( n ) w } = w H R w P= \mathbb{E} \{ \mid y( n) \mid ^2\} = \mathbb{E} \{ \boldsymbol w^\mathrm{H} \boldsymbol x( n) \boldsymbol x^\mathrm{H} ( n) \boldsymbol w\} = \boldsymbol w^\mathrm{H} \boldsymbol {Rw} P=E{y(n)2}=E{wHx(n)xH(n)w}=wHRw其中,矩阵 R ∈ C M × M \boldsymbol R\in\mathbb{C}^{M\times M} RCM×M为向量 x ( n ) \boldsymbol x(n) x(n) M M M 维自相关矩阵,即
R = E { x ( n ) x H ( n ) } = [ r ( 0 ) r ( 1 ) ⋯ r ( M − 1 ) r ( − 1 ) r ( 0 ) ⋯ r ( M − 2 ) ⋮ ⋮ ⋱ ⋮ r ( 1 − M ) r ( 2 − M ) ⋯ r ( 0 ) ] \begin{gathered}\boldsymbol R=E\{\boldsymbol x(n)\boldsymbol x^H(n)\}=\begin{bmatrix}r(0)&r(1)&\cdots&r(M-1)\\r(-1)&r(0)&\cdots&r(M-2)\\\vdots&\vdots&\ddots&\vdots\\r(1-M)&r(2-M)&\cdots&r(0)\end{bmatrix}\end{gathered} R=E{x(n)xH(n)}= r(0)r(1)r(1M)r(1)r(0)r(2M)r(M1)r(M2)r(0)
\;\;\;\;\; 当权向量取
w ^ M V D R = R ^ − 1 a ( ω ) a H ( ω ) R ^ − 1 a ( ω ) \hat{w}_{\mathrm{MVDR}}=\frac{\hat{\boldsymbol R}^{-1}\boldsymbol{a}(\omega)}{\boldsymbol{a}^{\mathrm{H}}(\omega)\boldsymbol{\hat{R}}^{-1}\boldsymbol{a}(\omega)} w^MVDR=aH(ω)R^1a(ω)R^1a(ω) 则 MVDR 谱估计为
P ^ M V D R ( ω ) = 1 a H ( ω ) R ^ − 1 a ( ω ) \hat{P}_{\mathrm{MVDR}}(\omega)=\frac1{\boldsymbol a^{\mathrm{H}}(\omega)\hat{\boldsymbol R}^{-1}\boldsymbol a(\omega)} P^MVDR(ω)=aH(ω)R^1a(ω)1 其中
a ( ω ) = [ 1 e − j ω ⋯ e − j ω ( M − 1 ) ] T \boldsymbol{a}(\omega)=\begin{bmatrix} 1 & \mathrm{e}^{-\mathrm{j}\omega} & \cdots & \mathrm{e}^{-\mathrm{j}\omega(M-1)} \end{bmatrix}^\mathrm{T} a(ω)=[1ejωejω(M1)]T 有信号的频率处会呈现出一个峰值。

2 MATLAB仿真

\;\;\;\;\; 仿真采用的信号为复正弦信号。参数设置和仿真结果如下:
在这里插入图片描述
在这里插入图片描述
\;\;\;\;\; 从以上结果可看出,阶数为16时,20MHz和22MHz的两个信号不能被区分,但当阶数为32时,20MHz和22MHz的两个信号可以被区分。

三、MUSIC法

1 原理

\;\;\;\;\; 信号频率估计的多重信号分类(MUSIC,multiple signal classification)算法,该算法于1979年由R.O.MUSIC算法利用了信号子空间和噪声子空间的正交性,构造空间谱函数,通过谱峰搜索,估计信号频率。
\;\;\;\;\; 根据 N N N 个观测样本值 x ( 0 ) , x ( 1 ) , . . . , x ( N − 1 ) x(0),x(1),...,x(N-1) x(0),x(1),...,x(N1),估计自相关矩 R ^ ∈ C M × M \hat{\boldsymbol{R}}\in\mathbb{C}^{M\times M} R^CM×M。对 R ^ \hat{\boldsymbol R} R^ 进行特征分解,得到 M − K M-K MK 个最小特征值对应的特征向量,即得到噪声子空间的向量,构造矩阵 G \boldsymbol G G
G = [ u K + 1 u K + 2 ⋯ u M ] \boldsymbol G=\begin{bmatrix}\boldsymbol u_{K+1} & \boldsymbol u_{K+2} & \cdots & \boldsymbol u_M\end{bmatrix} G=[uK+1uK+2uM] [ − π , π ] [-\pi,\pi] [π,π]内改变 ω \omega ω,计算下式的值, 峰值位置就是信号频率的估计值。
P ^ M U S I C ( ω ) = 1 a H ( ω ) G G H a ( ω ) = 1 ∑ i = K + 1 M ∣ a H ( ω ) u i ∣ 2 \hat{P}_{\mathrm{MUSIC}}(\omega)=\frac{1}{\boldsymbol{a}^{\mathrm{H}}(\omega)\boldsymbol{G}\boldsymbol{G}^{\mathrm{H}}\boldsymbol{a}(\omega)}=\frac{1}{\sum_{i=K+1}^{M}\mid\boldsymbol{a}^{\mathrm{H}}(\omega)\boldsymbol{u}_{i}\mid^{2}} P^MUSIC(ω)=aH(ω)GGHa(ω)1=i=K+1MaH(ω)ui21

2 MATLAB仿真

\;\;\;\;\; 仿真采用的信号为复正弦信号。参数设置和仿真结果如下:
在这里插入图片描述
在这里插入图片描述
\;\;\;\;\; 从以上结果可看出,阶数为8时,20MHz和22MHz的两个信号不能被区分,但当阶数为16时,20MHz和22MHz的两个信号可以被区分。

四、3种方法的对比

\;\;\;\;\; 参数设置如下,扫描点数和FFT点数相同,仿真结果如下。
在这里插入图片描述
在这里插入图片描述
\;\;\;\;\; 从以上结果可看出,MVDR信号频率估计的分辨率最低,其次是AR参数模型,MUSIC法的谱分辨率最高。

五、MATLAB源代码

现代谱估计AR参数模型法和MVDR法和MUSIC法超详细的MATLAB代码

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

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

相关文章

交换机划分Vlan配置

交换机划分Vlan配置 实验目标 理解虚拟LAN(VLAN)基本配置;掌握一般交换机按端口划分VLAN的配置方法;掌握Tag VLAN配置方法。 实验背景 某一公司内财务部、销售部的PC通过2台交换机实现通信;要求财务部和销售部的PC可以互通,但…

《Opencv》信用卡信息识别项目

目录 一、项目介绍 二、数据材料介绍 1、模板图片(1张) 2、需要处理的信用卡图片(5张) 三、实现过程 1、导入需要用到的库 2、设置命令行参数 3、模板图像中数字的定位处理 4、信用卡图像处理 5、模板匹配 四、总结 一…

.NET AI 开发人员库 --AI Dev Gallery简单示例--问答机器人

资源及介绍接上篇 nuget引用以下组件 效果展示: 内存和cpu占有: 代码如下:路径换成自己的模型路径 模型请从上篇文尾下载 internal class Program{private static CancellationTokenSource? cts;private static IChatClient? model;privat…

特种设备安全管理人员免费题库限时练习(判断题)

56.(判断题)特别重大事故、重大事故、较大事故和一般事故,负责事故调查的人民政府应当自收到事故调查报告之日起15日内做出批复。 A.正确 B.错误 答案:错误 57.(判断题)每一类事故灾难的应急救援措施可能千差万别,因此其基本应急模式是不一致的。 A.正确 B.错误 答案:错…

在Virtuoso中使用Clisoft SOS

在Virtuoso中使用Clisoft SOS 由于本人也是刚接触,后续用到其他的再进行更新,博客中可能有地方写的不好,欢迎大佬指点。 一、打开virtuoso 创建一个cds.lib(不受SOS版本控制) [bhlumaster /proj/trinity/work/cds/bh…

Android Audio基础(53)——PCM逻辑设备Write数据

1. 前言 本文,我们将以回放(Playback,播放音频)为例,讲解PCM Data是如何从用户空间到内核空间,最后传递到Codec。 在 ASoC音频框架简介中,我们给出了回放(Playback)PCM数据流示意图。: 对于Linux来说,由于分为 user space 和kernel space,而且两者之间数据不能随便…

算命网站源码PHP框架_附2025新版设计书教程

算命网站源码PHP设计书 1. 项目概述 1.1 项目背景 随着互联网的发展,越来越多的人对命理和占卜产生了兴趣。算命网站可以为用户提供个性化的命理分析、运势预测等服务。本项目旨在设计一个基于PHP的算命网站,方便用户在线获取命理服务。 1.2 项目目标…

【Linux】硬链接和软连接(符号连接)

目录 硬链接 软连接 硬链接和软连接的区别 硬链接 ln根据linux系统分配给文件inode(ls -li)进行建立,没办法跨越文件系统 格式:ln 被链接的文件(源文件) 生成的链接文件(目标文件) 1) 硬链接的属性 - 相当于生成一个副本 起别名 2) 修改内容都变化…

后台管理系统全屏功能实现

后台管理系统中有一个比较常见的功能就是全屏显示,以方便用最大的屏幕查看系统,特别是在小屏模式下。 对于 screenfull 而言,浏览器本身已经提供了对用的 API,点击这里即可查看,这个 API 中,主要提供了两个…

Ensp基础实验---同网段PC以及网关之间的通信

通过安装ENSP,可以模拟搭建网络仿真环境,初步了解ENSP之后,可以进行一些简单的网络拓扑搭建,通过对相关设备的配置,实现网络畅通的目的 此次模拟的是同一个网段内,两台PC之间的通信情况,同时选用…

WinDbg内存泄露追踪

随着win sdk一并安装了,可以在C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 里找到 管理员运行cmd 配置跟踪 cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 gflags.exe设置待跟踪的应用程序 gflags.exe /i D:\XXXX.exe ust运行应用程序&am…

4.1.3 串

文章目录 串的基本概念串的基本操作串的存储结构 串的基本概念 串,仅由字符构成的有限序列。 串长:串中的字符个数。空串:长度为0的串。空格串:一个或多个空格构成的串。子串:串中任意长度连续字符构成的序列。含有字…

RK3588+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案

RK3588FPGA核心板采用Rockchip RK3588新一代旗舰 级八核64位处理器,支持8K视频编解码,多屏4K输出,可实现12屏联屏拼接、同显、异显,适配多种操作系统,广泛适用于展览展示、广告内容投放、新零售、商超等领域实现各种媒…

Unity中 Xlua使用整理(一)

1.安装: 从GitHub上下载Xlua源码 Tencent/xLua: xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. (github.com) 下载Xlua压缩包,并解压将Aseet文件夹中的Xlua和Plugins文件夹复制到Unit…

MBTiles 及爬取到发布

MBTiles :https://github.com/mapbox/mbtiles-spec/blob/master/1.3/spec.md 1.MBTiles是什么 MBTiles是一个在SQLite 数据库存储瓦片地图数据的标准,该标准的目的是即时传输和使用数据。 作为一个容器格式,MBTiles可以存储任何瓦片数据,…

Clisoft SOS设置Server和Project

Clisoft SOS设置Server和Project 一、关于SOS Servers、Clients、Projects和Work Areas 以下三个图是官方文档中介绍的三种情况 图1:带有两个客户端的SOS服务器 图2:使用本地缓存服务器 图3:远程设计团队的缓存服务器 因为SOS软件需要…

调整Python+Pytest+Allure+Yaml+Pymysql框架中需要执行的用例顺序

当pytest框架中有时时候会因为用例的前后关联关系需要调整用例执行顺序时则可以跟进具体的要求调整pytest.ini配置文件中执行用例文件夹的前后顺序 当如果是需要调整某个文件夹中用例的执行顺序时,则跟进具体的文件调整对应testcases中test_*.py文件中的执行顺序

【Dify】Dify自定义模型设置 | 对接DMXAPI使用打折 Openai GPT 或 Claude3.5系列模型方法详解

一、Dify & DMXAPI 1、Dify DIFY(Do It For You)是一种自动化工具或服务,旨在帮助用户简化操作,减少繁琐的手动操作,提升工作效率。通过DIFY,用户能够快速完成任务、获取所需数据,并且可以…

C++编程基础之override关键字

在C中,override关键字用于显式地标识派生类中的成员函数是对基类中虚函数的重写,具有以下重要作用和使用说明: 作用 增强代码可读性:通过使用override关键字,能够清晰地向阅读代码的人表明该函数是有意重写基类中的虚…

Redis数据库笔记—— Hash(哈希)的扩容机制(rehash)

大家好,这里是Good Note,关注 公主号:Goodnote,专栏文章私信限时Free。详细介绍Hash(哈希)的扩容机制(rehash)、源码、以及扩容和缩容过程。 文章目录 Redis 字典(dict)结构源码哈希…