Dynamic-MUSIC:Accurate Device-Free Indoor Localization
针对的问题:
MUSIC算法在室内定位中的应用
面临的挑战:
① 在正常室内环境下,只有一条视距路径,但是来自目标和其他反射器的路径有多条,需要确定哪一条路径来自目标
② 使用3天线的AP(无线访问接入点),传统的MUSIC算法直接能捕捉两个信号,即视距信号和最强的多路径信号,但来自目标的反射信号通常不是最强的。
③ 来自目标的反射信号在到达接收器之前可能会被其他物体进一步反射,如果目标不是最后一个反射器,则信号不包含目标的角度信息,需要确定哪些信号是来自目标的直接反射。
解决方案:
针对挑战①②,证明动态信号和静态信号互不相干,有意保持信号之间的“差”相干性以合并静态路径,因此可以有效地放宽对更多天线的要求。
针对挑战③,提出了一种Dynamic-MUSIC算法来识别运动目标的角度AoA,利用相对的ToA(到达时间)信息来识别最短的移动路径(来自目标的直接反射)以获得目标的角度。
提出一种新颖的方案,利用目标的轻微移动显著提高检测率和区域覆盖率
传统的Music算法:
具有一个入射信号的相位矩阵
假设在接收器处有一个带有M个天线的线性阵列。在天线阵列处以入射角
θ
\theta
θ接收入射信号,天线之间的间距d是信号的半波长。信号在不同的天线上具有不同的传播长度,由于传播路径比天线间隔d长得多,因此相邻天线之间的路径差可以表示为
d
s
i
n
(
θ
)
dsin(\theta)
dsin(θ) 。因此相邻天线之间引入了
−
2
π
f
d
s
i
n
(
θ
)
/
c
-2 \pi fdsin(\theta)/c
−2πfdsin(θ)/c的相位差,其中f是信号频率,c是光速。我们可以将引入的相位差表示为AoA的函数:
Φ
(
θ
)
=
e
−
j
2
π
f
d
sin
(
θ
)
/
c
\Phi(\theta)=e^{-j 2 \pi f d \sin (\theta) / c}
Φ(θ)=e−j2πfdsin(θ)/c 天线阵列的相位差表示为(只存在的这一条路径在M个天线上的相位差):
α
(
θ
)
=
[
1
,
Φ
(
θ
)
,
…
,
Φ
(
θ
)
M
−
1
]
⊤
\alpha(\theta)=\left[1, \Phi(\theta), \ldots, \Phi(\theta)^{M-1}\right]^{\top}
α(θ)=[1,Φ(θ),…,Φ(θ)M−1]⊤
其中
α
(
θ
)
\alpha(\theta)
α(θ)称为转向矩阵,如果在第一天线处接收的信号为
s
(
t
)
s(t)
s(t),则天线阵列处的接收信号矢量可表示为:
X
(
t
)
=
α
(
θ
)
s
(
t
)
+
N
(
t
)
=
[
s
(
t
)
,
s
(
t
)
Φ
(
θ
)
,
⋯
,
s
(
t
)
Φ
(
θ
)
M
−
1
]
T
X(t)=\alpha(\theta)s(t)+N(t)=[s(t),s(t)\Phi(\theta) ,\cdots,s(t)\Phi(\theta)^{M-1}]^T
X(t)=α(θ)s(t)+N(t)=[s(t),s(t)Φ(θ),⋯,s(t)Φ(θ)M−1]T
具有多个入射信号的相位矩阵
M根天线,n个入射信号时(n条路径):
X
(
t
)
=
∑
i
=
1
n
α
(
θ
i
)
s
i
(
t
)
+
N
(
t
)
=
[
s
1
(
t
)
s
2
(
t
)
⋯
s
n
(
t
)
s
1
(
t
)
Φ
(
θ
1
)
s
2
(
t
)
Φ
(
θ
2
)
⋯
s
n
(
t
)
Φ
(
θ
n
)
⋮
⋮
⋮
s
1
(
t
)
Φ
(
θ
1
)
M
−
1
s
2
(
t
)
Φ
(
θ
2
)
M
−
1
⋯
s
n
(
t
)
Φ
(
θ
n
)
M
−
1
]
M
×
n
X(t)=\sum_{i=1}^{n} \alpha\left(\theta_{i}\right) s_{i}(t)+N(t)= \left[\begin{array}{cccc} s_{1}(t) & s_{2}(t) & \cdots & s_{n}(t) \\ s_{1}(t) \Phi\left(\theta_{1}\right) & s_{2}(t) \Phi\left(\theta_{2}\right) & \cdots & s_{n}(t) \Phi\left(\theta_{n}\right) \\ \vdots & \vdots & & \vdots \\ s_{1}(t) \Phi\left(\theta_{1}\right)^{M-1} & s_{2}(t) \Phi\left(\theta_{2}\right)^{M-1} & \cdots & s_{n}(t) \Phi\left(\theta_{n}\right)^{M-1} \end{array}\right]_{M \times n}
X(t)=i=1∑nα(θi)si(t)+N(t)=⎣⎢⎢⎢⎡s1(t)s1(t)Φ(θ1)⋮s1(t)Φ(θ1)M−1s2(t)s2(t)Φ(θ2)⋮s2(t)Φ(θ2)M−1⋯⋯⋯sn(t)sn(t)Φ(θn)⋮sn(t)Φ(θn)M−1⎦⎥⎥⎥⎤M×n
同一路径即同一入射信号,同一入射信号入射到M根天线上,同一入射信号入射到M根天线上的角度
θ
\theta
θ相同。
Music算法对AoA的估计
标准MUSIC算法的基本思想是分析M个天线的接收信号X的M×M相关矩阵 的本征结构。我们可以将
R
X
R_X
RX表示为:
R
X
=
E
[
X
X
H
]
=
A
E
[
S
S
H
]
A
H
+
E
[
N
N
H
]
=
A
R
S
A
H
+
σ
2
I
R_{X}=E\left[X X^{H}\right]=A E\left[S S^{H}\right] A^{H}+E\left[N N^{H}\right]=A R_{S} A^{H}+\sigma^{2} I
RX=E[XXH]=AE[SSH]AH+E[NNH]=ARSAH+σ2I
其中
R
S
R_S
RS是复信号矢量的相关矩阵。相关矩阵
R
X
R_X
RX具有M个特征值,最小的M-n个特征值与噪声相对应,其他n个特征值与n个入射信号相对应。对应于最小的M-n个特征值的特征向量构成噪声向量子空间为
E
N
=
[
e
1
,
…
,
e
M
−
n
]
E_{N}=\left[e_{1}, \ldots, e_{M-n}\right]
EN=[e1,…,eM−n],其他n个特征向量构成信号子空间为
E
s
=
[
e
M
−
n
+
1
,
…
,
e
M
]
E s=\left[e_{M-n+1}, \ldots, e_{M}\right]
Es=[eM−n+1,…,eM],由于信号和噪声子空间是正交的,因此空间频谱函数表示为:
P
(
θ
)
M
U
S
I
C
=
1
α
H
(
θ
)
E
N
E
N
H
α
(
θ
)
P(\theta)_{M U S I C}=\frac{1}{\alpha^{\mathrm{H}}(\theta) E_{N} E_{N}^{H} \alpha(\theta)}
P(θ)MUSIC=αH(θ)ENENHα(θ)1 其中在入射信号的AoA处出现尖锐的峰值。
关键思想(key insights):
① 静态路径信号互相相干:视距信号表示为 s s , 1 ( t ) s_{s,1}(t) ss,1(t),则第i条静态路径可以表示为 s s , 1 ( t ) = α i s s , 1 ( t ) s_{s,1}(t)=\alpha _i s_{s,1}(t) ss,1(t)=αiss,1(t),其中 α i \alpha _i αi表示增益和相位关系,为常数,由于静态路径信号的中心频率相同,且保持常相位差,故静态路径信号互相相干。
② 移动路径彼此不相干:由于人体可以看成是一个反射多面体,存在多条反射路径。由于人体的不同部位的移动速度不同,导致不同反射路径的相位变化率不同,故移动路径彼此不相干;
③ 移动路径信号和静态路径信号不相干:人体的移动会给信号引入多普勒频移,且由于移动路径长度不断变化,记第j条移动路径为 s m , j ( t ) = β j ( t ) s s , 1 ( t ) s_{m,j}(t)=β_j(t)s_{s,1}(t) sm,j(t)=βj(t)ss,1(t),其中 β j ( t ) β_j(t) βj(t)表示增益和相位关系,由于路径长度不断变化导致相位变化, β j ( t ) β_j(t) βj(t)是时变的。由于相干信号需满足同中心频率且存在常相位差,因此移动路径和静态路径不相干;
④ 最短的动态路径包括目标的角度信息:室内环境中,一条反射路径可能经过多次反射,本文需要的是最后一次反射面为人体的反射信号。如果人体目标被认为是一个点,只有人体目标反射的移动路径始终是最短的移动路径。但是,人体目标的大小不可忽略,理论上该说法不再正确。在现实生活中的实验中,与人的行为相比,由人的大小引起的路径差异要小得多。因此,本文将最短的移动路径视为仅由人体反射的路径(target path),利用其AoA进行定位。
实现细节:
① Super-Resolution AoA Estimation:入射信号会引入天线之间和子载波之间的相位差,不同路径的不同ToA会引入子载波之间的相位差,相邻子载波之间的相位差为
−
2
π
f
δ
τ
-2 \pi f_{\delta} \tau
−2πfδτ,将子载波之间的相位差
Ω
(
τ
i
)
\Omega\left(\tau_{i}\right)
Ω(τi)表示为ToA的函数:
Ω
(
τ
i
)
=
e
−
j
2
π
f
δ
τ
i
\Omega\left(\tau_{i}\right)=e^{-j 2 \pi f_{\delta} \tau_{i}}
Ω(τi)=e−j2πfδτi 其中,
f
δ
f_{\delta}
fδ为子载波频率大小(40MHz WIFI
f
δ
f_{\delta}
fδ为312.5KHz),
τ
i
\tau_{i}
τi表示第i条传播路径的ToA。
对于M个天线,K个子载波,steering vector可以写成:
a
(
θ
,
τ
)
=
[
1
,
…
,
Ω
τ
K
−
1
,
…
,
Φ
θ
M
−
1
,
…
,
Φ
θ
M
−
1
Ω
τ
K
−
1
]
⊤
\mathbf{a}(\theta, \tau)=\left[1, \ldots, \Omega_{\tau}^{K-1}, \ldots, \Phi_{\theta}^{M-1}, \ldots, \Phi_{\theta}^{M-1} \Omega_{\tau}^{K-1}\right]^{\top}
a(θ,τ)=[1,…,ΩτK−1,…,ΦθM−1,…,ΦθM−1ΩτK−1]⊤
其中,
Φ
θ
=
e
−
j
2
π
f
d
sin
(
θ
)
/
c
\Phi_{\theta}=e^{-j 2 \pi f d \sin (\theta) / c}
Φθ=e−j2πfdsin(θ)/c(天线之间的相位差),
Ω
τ
=
e
−
j
2
π
f
δ
τ
i
\Omega_{\tau}=e^{-j 2 \pi f_{\delta} \tau_{i}}
Ωτ=e−j2πfδτi(子载波之间的相位差)。
当有n个信号到达,接收机接受到的信号X(t)可以表示为:
X
(
t
)
=
[
a
(
θ
1
,
τ
1
)
,
…
,
a
(
θ
n
,
τ
n
)
]
[
s
1
(
t
)
,
…
,
s
n
(
t
)
]
⊤
+
N
(
t
)
\mathbf{X}(t)=\left[\mathbf{a}\left(\theta_{1}, \tau_{1}\right), \ldots, \mathbf{a}\left(\theta_{n}, \tau_{n}\right)\right]\left[s_{1}(t), \ldots, s_{n}(t)\right]^{\top}+\mathbf{N}(t)
X(t)=[a(θ1,τ1),…,a(θn,τn)][s1(t),…,sn(t)]⊤+N(t) 其中,
s
i
(
t
)
s_i(t)
si(t)表示第一个天线接受到的第i条路径的第一个子载波。 (???)
传感器的有效数量M×K远远大于3,打破了天线的限制,此时包含AoA和ToA的空间谱可以表示为:
P
(
θ
,
τ
)
M
U
S
I
C
=
1
a
H
(
θ
,
τ
)
E
N
E
N
H
a
(
θ
,
τ
)
P(\theta, \tau)_{M U S I C}=\frac{1}{\mathbf{a}^{\mathrm{H}}(\theta, \tau) \mathbf{E}_{\mathbf{N}} \mathbf{E}_{\mathbf{N}}^{\mathrm{H}} \mathbf{a}(\theta, \tau)}
P(θ,τ)MUSIC=aH(θ,τ)ENENHa(θ,τ)1
本文在不牺牲sensor的前提下,将静态路径进行合并,此时X(t)可以表示为:
X
(
t
)
=
[
a
(
θ
1
,
τ
1
)
,
…
,
a
(
θ
n
,
τ
n
)
]
[
s
1
(
t
)
,
…
,
s
n
(
t
)
]
⊤
+
N
(
t
)
=
∑
i
=
1
n
s
α
i
s
s
,
1
a
s
,
i
+
∑
i
=
1
n
m
s
m
,
i
a
m
,
i
+
N
(
t
)
=
[
∑
i
=
1
n
s
α
i
a
s
,
i
,
a
m
,
1
,
…
,
a
m
,
n
m
]
[
s
s
,
1
s
m
,
1
⋮
s
m
,
n
m
]
+
N
(
t
)
\begin{aligned} \mathbf{X}(t) &=\left[\mathbf{a}\left(\theta_{1}, \tau_{1}\right), \ldots, \mathbf{a}\left(\theta_{n}, \tau_{n}\right)\right]\left[s_{1}(t), \ldots, s_{n}(t)\right]^{\top}+\mathbf{N}(t) \\ &=\sum_{i=1}^{n_{s}} \alpha_{i} s_{s, 1} \mathbf{a}_{s, i}+\sum_{i=1}^{n_{m}} s_{m, i} \mathbf{a}_{m, i}+\mathbf{N}(t) \\ &=\left[\sum_{i=1}^{n_{s}} \alpha_{i} \mathbf{a}_{s, i}, \mathbf{a}_{m, 1}, \ldots, \mathbf{a}_{m, n_{m}}\right]\left[\begin{array}{c} s_{s, 1} \\ s_{m, 1} \\ \vdots \\ s_{m, n_{m}} \end{array}\right]+\mathbf{N}(t) \end{aligned}
X(t)=[a(θ1,τ1),…,a(θn,τn)][s1(t),…,sn(t)]⊤+N(t)=i=1∑nsαiss,1as,i+i=1∑nmsm,iam,i+N(t)=[i=1∑nsαias,i,am,1,…,am,nm]⎣⎢⎢⎢⎡ss,1sm,1⋮sm,nm⎦⎥⎥⎥⎤+N(t)
最终检测出
n
m
+
1
n_m+1
nm+1条路径(1条merged static path,
n
m
n_m
nm条动态路径)
② Mobile Paths Identification:静态路径一直存在,而移动路径在人体移动过程中(连续检测)会出现检测不到的情况,在0.4s进行20次测量,可实现较好的效果
③ Identify the Target Path:
④ Area coverage:移动路径在人体移动过程中(连续检测)会出现检测不到的情况,本文在人体移动过程中使用时间窗,连续获得几个测量值,提高检测率,从而保证了仅利用两个接收器就可以覆盖较大的检测区域。
⑤ Target Localiziton:论文用两个接收机,当有R个接收机时,目标位置可以被估计为:
position
=
arg
min
p
∑
i
=
1
R
(
θ
^
i
−
θ
i
)
2
\text { position }=\arg \min _{p} \sum_{i=1}^{R}\left(\hat{\theta}_{i}-\theta_{i}\right)^{2}
position =argpmini=1∑R(θ^i−θi)2 其中,
θ
^
\hat{\theta}
θ^为位置p相对于第i个接收机的角度,
θ
{\theta}
θ为位置p相对于第i个接收机的估计角度。