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

现代谱估计的原理及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.kler.cn/a/472010.html

相关文章:

  • pg数据库运维经验2024
  • 5.1 数据库:INSERT 插入语句
  • Android NDK开发实战之环境搭建篇(so库,Gemini ai)
  • springboot 集成 etcd
  • nginx http反向代理
  • 9. C 语言 循环控制结构详解
  • 超市管理系统(javaweb+mysql+redis)
  • VSCode 使用鼠标滚轮控制字体
  • 【商城的功能开发】
  • Space Nation白皮书(区块链游戏)
  • 【iOS Swift Moya 最新请求网络框架封装通用】
  • centOS7
  • gitlab启动时gitaly报错网页访问503的解决方法
  • Go怎么实现面向对象编程
  • 测试用例的基本要素与设计方法详解
  • 《鸿蒙微内核与人工智能算法协同,开启智能系统新时代》
  • 机器学习是?
  • vue2 使用vue-color调色盘
  • echarts图折线图的一些修改,改变分割线颜色或者虚实,改变数据轴背景颜色渐变,改变折线图的圆点,折线图的平滑还是折直线
  • 【笔记】海康摄像头 SpringBoot 对接视频流播放
  • 欧几里得距离在权重矩阵中的物理意义
  • EXCEL: (二) 常用图表
  • 小程序组件 —— 29 组件案例 - 字体图标的使用
  • 【剑指Offer刷题系列】0~n-1中缺失的数字
  • (六)优化 ChatGPT 交互:任务式 Prompt 的力量
  • OSPF - LSA对照表