基于MUSIC算法的信号参量估计

空间谱估计基础算法详解——MUSIC算法

本文叙述在均匀线阵接收信号模型下通过MUSIC算法对多个信号进行DOA(Direction of Arrival,波达方向)估计的推导过程。

全文内容来自于何子述老师的现代数字信号处理及

一 、 信号DOA估计

1.1 信号模型

考虑 N N N个远场的窄带信号入射到空间阵列中,其中天线阵列为由 M M M个阵元组成的均匀线性阵列(ULA,uniform linear array),通常情况下可以假设 M > N M>N M>N。窄带信号 s ~ ( t ) \tilde{s}(t) s~(t)可以表示成如下的复数形式:
s ~ ( t ) = s ( t ) e j ω 0 t \tilde{s}(t)=s(t)e^{j\omega_{0}t} s~(t)=s(t)ejω0t
其中 s ( t ) = u ( t ) e j ψ ( t ) s(t)=u(t)e^{j\psi(t)} s(t)=u(t)ejψ(t)是信号的复包络, u ( t ) u(t) u(t) e j ψ ( t ) e^{j\psi(t)} ejψ(t)分别是接收信号的幅度和相位, ω 0 \omega_0 ω0是接收信号的载波角频率。

在均匀阵列中,阵列之间等间距分布,相邻间隔取为 d d d,当信号入射角方向为 θ \theta θ时,由于远场信号的入射波到达阵列时可以视为平面波,因此相邻阵元之间的波程差为 d s i n θ dsin\theta dsinθ,以线阵0阵元为参考阵元,则不难得出阵元 m m m达参考阵元的波程差为 m d s i n θ mdsin\theta mdsinθ。对于平面波, m m m阵元相对于0阵元的传播时延为
τ m = m d s i n θ c = m τ \tau_m=\frac{mdsin\theta}{c}=m\tau τm=cmdsinθ=mτ
其中, τ = d s i n θ c \tau=\frac{dsin\theta}{c} τ=cdsinθ为相邻阵元之间的时延差, c c c是光速。

阵元0的接收信号可以表示为:
x ~ ( t ) = s ~ ( t ) = s ( t ) e j ω 0 t \tilde{x}(t)=\tilde{s}(t)=s(t)e^{j\omega_{0}t} x~(t)=s~(t)=s(t)ejω0t
则阵元m的接收信号可以表示为:
x ~ m ( t ) = x ~ ( t − τ m ) = s ~ ( t − τ m ) \tilde{x}_m(t)=\tilde{x}(t-\tau_m)=\tilde{s}(t-\tau_m) x~m(t)=x~(tτm)=s~(tτm)
因为信号 s ~ ( t ) \tilde{s}(t) s~(t)是窄带信号,即, s ( t ) s(t) s(t)是慢变化的,因此有如下简化
s ( t ) ≈ s ( t − τ m ) , m = 0 , 1 , . . . , M − 1 s(t)\approx{s(t-\tau_m)},m=0,1,...,M-1 s(t)s(tτm)m=0,1,...,M1
所以有
x ~ m ( t ) = s ~ ( t − τ m ) = s ( t − τ m ) e j ω 0 ( t − τ m ) ≈ s ( t ) e j ω 0 t e − j ω 0 τ = s ~ ( t ) e − j ω 0 τ \tilde{x}_m(t)=\tilde{s}(t-\tau_m)=s(t-\tau_m)e^{j\omega_0(t-\tau_m)}\approx{s(t)e^{j\omega_0t}e^{-j\omega_0\tau}}=\tilde{s}(t)e^{-j\omega_0\tau} x~m(t)=s~(tτm)=s(tτm)ejω0(tτm)s(t)ejω0tejω0τ=s~(t)ejω0τ
定义相邻阵元间的相位差为:
ϕ = ω 0 τ = 2 π f 0 d s i n θ / c = 2 π d s i n θ / λ \phi=\omega_0\tau=2\pi f_0 dsin\theta/c=2\pi dsin\theta/\lambda ϕ=ω0τ=2πf0dsinθ/c=2πdsinθ/λ
其中 f 0 f_0 f0是入射信号的载波频率, λ \lambda λ是载波的波长。现在定义列向量:
x ~ = [ x ~ 0 ( t ) x ~ 1 ( t ) . . . x ~ M − 1 ( t ) ] T \tilde{\pmb{x}}=[\tilde{x}_0(t)\quad\tilde{x}_1(t)\quad...\quad\tilde{x}_{M-1}(t)]^T x~=[x~0(t)x~1(t)...x~M1(t)]T
以及
a ( θ ) = [ 1 e − j ϕ . . . e − j ( M − 1 ) ϕ ] T \pmb{a}(\theta)=[1\quad e^{-j\phi}\quad ...\quad e^{-j(M-1)\phi}]^T a(θ)=[1ejϕ...ej(M1)ϕ]T
则各阵元接收到的信号可以表示成
x ~ ( t ) = a ( θ ) s ~ ( t ) = a ( θ ) s ( t ) e j ω 0 t \tilde{\pmb{x}}(t)=\pmb{a}(\theta)\tilde{s}(t)=\pmb{a}(\theta)s(t)e^{j\omega_0t} x~(t)=a(θ)s~(t)=a(θ)s(t)ejω0t
其中 a ( θ ) \pmb{a}(\theta) a(θ)称为导向矢量(steering vector)或者方向矢量,也称为阵列的阵列流形。在阵列信号处理中,复载波 e j w 0 t e^{jw_0t} ejw0t不含有信号的有用信息,故通常可以只考虑复基带信号。因此公式(10)对应的离散时间复基带信号可以表示为
x ( n ) = a ( θ ) s ( n ) \pmb{x}(n)=\pmb{a}(\theta)s(n) x(n)=a(θ)s(n)
其中时间变量 n n n称为快拍(snapshot),表示n时刻对所有阵元同时采样。

现在考虑当 K K K个信号同时从 θ 1 , θ 2 , . . . , θ K \theta_1,\theta_2,...,\theta_K θ1θ2...θK方向入射到阵列中,则天线阵列接收到的离散时间基带信号是个入射信号源的和,即可以表示成
x ( n ) = a ( θ 1 ) s 1 ( n ) + a ( θ 2 ) s 2 ( n ) + ⋯ + a ( θ K ) s K ( n ) \boldsymbol{x}(n)=\boldsymbol{a}\left(\theta_{1}\right) s_{1}(n)+\boldsymbol{a}\left(\theta_{2}\right) s_{2}(n)+\cdots+\boldsymbol{a}\left(\theta_{K}\right) s_{K}(n) x(n)=a(θ1)s1(n)+a(θ2)s2(n)++a(θK)sK(n)
其中第 k k k个信号源对应的导向矢量为
a ( θ k ) = [ 1 e − j ϕ k ⋯ e − j ( M − 1 ) ϕ k ] T , ϕ k = 2 π d sin ⁡ θ k / λ , k = 1 , 2 , ⋯   , K \boldsymbol{a}\left(\theta_{k}\right)=\left[\begin{array}{llll} 1 & \mathrm{e}^{-\mathrm{j} \phi_{k}} & \cdots & \mathrm{e}^{-\mathrm{j}(M-1) \phi_{k}} \end{array}\right]^{\mathrm{T}}, \quad \phi_{k}=2 \pi d \sin \theta_{k} / \lambda, \quad k=1,2, \cdots, K a(θk)=[1ejϕkej(M1)ϕk]T,ϕk=2πdsinθk/λ,k=1,2,,K
分别定义信号向量 s ( n ) s(n) s(n)和方向矩阵(direction matrix) A \pmb{A} A
s ( n ) = [ s 1 ( n ) s 2 ( n ) ⋯ s K ( n ) ] T ∈ C K × 1 A = [ a ( θ 1 ) a ( θ 2 ) ⋯ a ( θ K ) ] = [ 1 1 ⋯ 1 e − j ϕ 1 e − j ϕ 2 ⋯ e − j ϕ K ⋮ ⋮ ⋱ ⋮ e − j ( M − 1 ) ϕ 1 e − j ( M − 1 ) ϕ 2 ⋯ e − j ( M − 1 ) ϕ K ] ∈ C M × K \begin{array}{l} \boldsymbol{s}(n)=\left[\begin{array}{cccc} s_{1}(n) & s_{2}(n) & \cdots & s_{K}(n) \end{array}\right]^{\mathrm{T}} \in \mathbb{C}^{K \times 1} \\ \boldsymbol{A}=\left[\begin{array}{llll} \boldsymbol{a}\left(\theta_{1}\right) & \boldsymbol{a}\left(\theta_{2}\right) & \cdots & \boldsymbol{a}\left(\theta_{K}\right) \end{array}\right] \\ =\left[\begin{array}{cccc} 1 & 1 & \cdots & 1 \\ \mathrm{e}^{-\mathrm{j} \phi_{1}} & \mathrm{e}^{-\mathrm{j} \phi_{2}} & \cdots & \mathrm{e}^{-\mathrm{j} \phi_{K}} \\ \vdots & \vdots & \ddots & \vdots \\ \mathrm{e}^{-\mathrm{j}(M-1) \phi_{1}} & \mathrm{e}^{-\mathrm{j}(M-1) \phi_{2}} & \cdots & \mathrm{e}^{-\mathrm{j}(M-1) \phi_{K}} \end{array}\right] \in \mathbb{C}^{M \times K} \end{array} s(n)=[s1(n)s2(n)sK(n)]TCK×1A=[a(θ1)a(θ2)a(θK)]= 1ejϕ1ej(M1)ϕ11ejϕ2ej(M1)ϕ21ejϕKej(M1)ϕK CM×K
则公式(14)可以写成向量形式,即:
x ( n ) = A s ( n ) ∈ C M × 1 \pmb{x}(n)=\pmb{A}\pmb{s}(n)\in \mathbb{C}^{M \times 1} x(n)=As(n)CM×1
从上式中可以看出,阵列接收信号可以由信号矢量和方向矩阵完全确定,由于接收机不可避免地会引入加性噪声,因此在实际工程中阵列接收信号可以表示成
x ( n ) = A s ( n ) + v ( n ) \pmb{x}(n)=\pmb{A}\pmb{s}(n) + \pmb{v}(n) x(n)=As(n)+v(n)
其中, v ( n ) ∈ C M × 1 \pmb{v}(n)\in\mathbb{C}^{M\times1} v(n)CM×1为噪声向量。公式(10)的展开形式为
[ x 0 ( n ) x 1 ( n ) ⋮ x M − 1 ( n ) ] = [ 1 1 ⋯ 1 e − j ϕ 1 e − j ϕ 2 ⋯ e − j ϕ K ⋮ ⋮ ⋱ ⋮ e − j ( M − 1 ) ϕ 1 e − j ( M − 1 ) ϕ 2 ⋯ e − j ( M − 1 ) ϕ K ] [ s 1 ( n ) s 2 ( n ) ⋮ s K ( n ) ] + [ v 0 ( n ) v 1 ( n ) ⋮ v M − 1 ( n ) ] \left[\begin{array}{c} x_{0}(n) \\ x_{1}(n) \\ \vdots \\ x_{M-1}(n) \end{array}\right]=\left[\begin{array}{cccc} 1 & 1 & \cdots & 1 \\ \mathrm{e}^{-j \phi_{1}} & \mathrm{e}^{-\mathrm{j} \phi_{2}} & \cdots & \mathrm{e}^{-\mathrm{j} \phi_{K}} \\ \vdots & \vdots & \ddots & \vdots \\ \mathrm{e}^{-\mathrm{j}(M-1) \phi_{1}} & \mathrm{e}^{-\mathrm{j}(M-1) \phi_{2}} & \cdots & \mathrm{e}^{-\mathrm{j}(M-1) \phi_{K}} \end{array}\right]\left[\begin{array}{c} s_{1}(n) \\ s_{2}(n) \\ \vdots \\ s_{K}(n) \end{array}\right]+\left[\begin{array}{c} v_{0}(n) \\ v_{1}(n) \\ \vdots \\ v_{M-1}(n) \end{array}\right] x0(n)x1(n)xM1(n) = 1ejϕ1ej(M1)ϕ11ejϕ2ej(M1)ϕ21ejϕKej(M1)ϕK s1(n)s2(n)sK(n) + v0(n)v1(n)vM1(n)
通常情况下,可以假设各个阵元接收到的噪声是均值为0、方差为 σ 2 \sigma^2 σ2的高斯白噪声,并且不同阵元间的接收噪声相互独立,信号与噪声之间也噪声独立,即 ∀ n , l \forall{n,l} n,l都有
E { v i ( n ) } = 0 , E { v i ( n ) v i ∗ ( l ) } = σ 2 δ ( n − l ) , E { v i ( n ) v m ∗ ( l ) } = 0 , i ≠ m E { s i ( n ) v m ∗ ( l ) } = 0 , \begin{array}{l} \mathrm{E}\left\{v_{i}(n)\right\}=0, \\ \mathrm{E}\left\{v_{i}(n) v_{i}^{*}(l)\right\}=\sigma^{2} \delta(n-l), \\ \mathrm{E}\left\{v_{i}(n) v_{m}^{*}(l)\right\}=0, \quad i \neq m \\ \mathrm{E}\left\{s_{i}(n) v_{m}^{*}(l)\right\}=0, \end{array} E{vi(n)}=0,E{vi(n)vi(l)}=σ2δ(nl),E{vi(n)vm(l)}=0,i=mE{si(n)vm(l)}=0,
或者等价的向量形式
E { v ( n ) } = 0 E { v ( n ) v H ( l ) } = σ 2 I δ ( n − l ) E { s ( n ) v H ( l ) } = 0 \begin{array}{l} \mathrm{E}\{\boldsymbol{v}(n)\}=\mathbf{0} \\ \mathrm{E}\left\{\boldsymbol{v}(n) \boldsymbol{v}^{\mathrm{H}}(l)\right\}=\sigma^{2} \boldsymbol{I} \delta(n-l) \\ \mathrm{E}\left\{\boldsymbol{s}(n) \boldsymbol{v}^{\mathrm{H}}(l)\right\}=\mathbf{0} \end{array} E{v(n)}=0E{v(n)vH(l)}=σ2Iδ(nl)E{s(n)vH(l)}=0

1.2 基于MUSIC算法的多个信号的DOA估计

公式实在是太难敲了,直接把书上的截图放上来了

在这里插入图片描述
在这里插入图片描述

二、信号频率估计

先假设信号 x ( n ) x(n) x(n)是复正弦信号加上高斯白噪声,则可以定义信号模型为
x ( n ) = ∑ k = 1 K α k e j ω k n + v ( n ) x(n)=\sum_{k=1}^{K} \alpha_{k} \mathrm{e}^{\mathrm{j} \omega_{k} n}+v(n) x(n)=k=1Kαkejωkn+v(n)
其中, α k = ∣ α k ∣ e j φ k \alpha_k=|\alpha_k|e^{j\varphi_k} αk=αkejφk ω k \omega_k ωk分别表示信号的复幅度和角频率。初始相位 φ k \varphi_k φk是在 [ 0 , 2 π ] [0,2\pi] [0,2π]范围内均匀分布的随机变量,同时当 i ≠ j i \neq{j} i=j时, φ i \varphi_i φi φ k \varphi_k φk相互独立; v ( n ) v(n) v(n)是零均值、方差为 σ 2 \sigma^2 σ2的白噪声,同时与信号相互独立。

其向量形式可以写成:
x ( n ) = A s ( n ) + v ( n ) ∈ C M × 1 \pmb{x}(n)=\pmb{A}\pmb{s}(n) + \pmb{v}(n) \in \mathbb{C}^{M\times1} x(n)=As(n)+v(n)CM×1
此时方向矩阵 A \pmb{A} A a ( ω ) \pmb{a}(\omega) a(ω) s ( n ) \pmb{s}(n) s(n) v ( n ) \pmb{v}(n) v(n)分别定义为
A = [ a ( ω 1 ) a ( ω 2 ) ⋯ a ( ω K ) ] = [ 1 1 ⋯ 1 e − j ω 1 e − j ω 2 ⋯ e − j ω K ⋮ ⋮ ⋱ ⋮ e − j ( M − 1 ) ω 1 e − j ( M − 1 ) ω 2 ⋯ e j ( M − 1 ) ω K ] ∈ C M × K \boldsymbol{A}=\left[\begin{array}{llll} \boldsymbol{a}\left(\omega_{1}\right) & \boldsymbol{a}\left(\omega_{2}\right) & \cdots & \boldsymbol{a}\left(\omega_{K}\right) \end{array}\right]=\left[\begin{array}{cccc} 1 & 1 & \cdots & 1 \\ \mathrm{e}^{-j \omega_{1}} & \mathrm{e}^{-j \omega_{2}} & \cdots & \mathrm{e}^{-j \omega_{K}} \\ \vdots & \vdots & \ddots & \vdots \\ \mathrm{e}^{-j(M-1) \omega_{1}} & \mathrm{e}^{-\mathrm{j}(M-1) \omega_{2}} & \cdots & \mathrm{e}^{\mathrm{j}(M-1) \omega_{K}} \end{array}\right] \in \mathbb{C}^{M \times K} A=[a(ω1)a(ω2)a(ωK)]= 1ejω1ej(M1)ω11ejω2ej(M1)ω21ejωKej(M1)ωK CM×K

a ( ω ) = [ 1 e − j ω ⋮ e − j ( M − 1 ) ω ] , s ( n ) = [ α 1 e j ω 1 n α 2 e j ω 2 n ⋮ α K e j ω K n ] , v ( n ) = [ v ( n ) v ( n − 1 ) ⋮ v ( n − M + 1 ) ] \boldsymbol{a}(\omega)=\left[\begin{array}{c} 1 \\ \mathrm{e}^{-\mathrm{j} \omega} \\ \vdots \\ \mathrm{e}^{-\mathrm{j}(M-1) \omega} \end{array}\right], \quad \boldsymbol{s}(n)=\left[\begin{array}{c} \alpha_{1} \mathrm{e}^{\mathrm{j} \omega_{1} n} \\ \alpha_{2} \mathrm{e}^{\mathrm{j} \omega_{2} n} \\ \vdots \\ \alpha_{K} \mathrm{e}^{\mathrm{j} \omega_{K^{n}}} \end{array}\right], \quad \boldsymbol{v}(n)=\left[\begin{array}{c} v(n) \\ v(n-1) \\ \vdots \\ v(n-M+1) \end{array}\right] a(ω)= 1ejωej(M1)ω ,s(n)= α1ejω1nα2ejω2nαKejωKn ,v(n)= v(n)v(n1)v(nM+1)
在这里插入图片描述
在这里插入图片描述

2.2 基于MUSIC算法的信号频率估计

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值