一文读懂MUSIC算法DOA估计的数学原理并仿真

一文读懂MUSIC算法DOA估计的数学原理并仿真


前言

MUSIC(Multiple Signal Classification)算法于1979年由R.O.Schmidt提出,是阵列信号处理中广泛应用的经典DOA(Direction of Arrival)估计算法,凭借其超分辨的估计性能受到广泛关注。本文将从数学公式推导的角度出发系统阐述MUSIC算法的基本原理,包括为什么噪声子空间与信号子空间是正交的以及如何根据正交性来构建空间谱函数实现对信号方向的高精度估计。


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

一、DOA估计基本原理

在这里插入图片描述
K K K 个远场窄带信号 s 1 ( n ) , s 2 ( n ) , . . . , s K ( n ) s_1(n),s_2(n),...,s_{K}(n) s1(n),s2(n),...,sK(n) θ 1 , θ 2 , ⋅ ⋅ ⋅ , θ K \theta_1,\theta_2,\cdotp\cdotp\cdotp,\theta_K θ1,θ2,⋅⋅⋅,θK 方向人射到 M M M 阵元的阵列时,阵列接收信号为
x ( n ) = A s ( n ) + v ( n ) \mathbf{x}(n)=\mathbf{A}\mathbf{s}(n)+\mathbf{v}(n) x(n)=As(n)+v(n) 其中 , x ( n ) ∈ C M × 1 ,\mathbf{x}(n)\in\mathbb{C}^{M\times1} ,x(n)CM×1为阵列接收数据向量 , A ∈ C M × K ,\mathbf{A}\in\mathbb{C}^{M\times K} ,ACM×K为方向矩阵 , s ( n ) ∈ C K × 1 ,\mathbf{s}(n)\in\mathbb{C}^{K\times1} ,s(n)CK×1为空间信号向量, v ( n ) ∈ C M × 1 \mathbf{v}(n)\in\mathbb{C}^{M\times1} v(n)CM×1是白噪声向量。对于均匀线阵,展开即有
x ( n ) = [ x 0 ( n ) x 1 ( n ) . . . x M − 1 ( n ) ] T \mathbf{x}(n)=[x_0(n)\quad x_1(n)\quad...\quad x_{M-1}(n)]^\mathrm{T} x(n)=[x0(n)x1(n)...xM1(n)]T A = [ a ( θ 1 ) a ( θ 2 ) . . . a ( θ K ) ] \mathbf{A}=[\mathbf{a}(\theta_1)\quad \mathbf{a}(\theta_2)\quad...\quad \mathbf{a}(\theta_K)] A=[a(θ1)a(θ2)...a(θK)] s ( n ) = [ s 1 ( n ) s 2 ( n ) . . . s K ( n ) ] T \mathbf{s}(n)=[s_1(n)\quad s_2(n)\quad...\quad s_{K}(n)]^\mathrm{T} s(n)=[s1(n)s2(n)...sK(n)]T v ( n ) = [ v 0 ( n ) v 1 ( n ) . . . v M − 1 ( n ) ] T \mathbf{v}(n)=[v_0(n)\quad v_1(n)\quad...\quad v_{M-1}(n)]^\mathrm{T} v(n)=[v0(n)v1(n)...vM1(n)]T如果各信号源间相互统计独立,即 E ⁡ { s k ( n ) s i ∗ ( n ) } = { σ k 2 , k = i 0 , k ≠ i \operatorname{E}\{s_k(n)s_i^*(n)\}= \begin{cases} \sigma_k^2, & k=i \\ 0, & k\neq i & & \end{cases} E{sk(n)si(n)}={σk2,0,k=ik=i其中, σ k 2 \sigma_k^2 σk2表示第 k k k个信号的平均功率,则信号相关矩阵 P \mathbf{P} P是对角矩阵,即
P = E [ s ( n ) s H ( n ) ] = d i a g { σ 1 2 , σ 2 2 , ⋅ ⋅ ⋅ , σ k 2 } \mathbf{P}=\mathrm{E}\left[\mathbf{s}\left(n\right)\mathbf{s}^\mathrm{H}\left(n\right)\right]=\mathrm{diag}\left\{\sigma_1^2,\sigma_2^2,\cdotp\cdotp\cdotp,\sigma_k^2\right\} P=E[s(n)sH(n)]=diag{σ12,σ22,⋅⋅⋅,σk2}因为是零均值、方差为 σ 2 \sigma^2 σ2的白噪声,所以有
E ⁡ { v ( n ) v H ( n ) } = diag ⁡ { σ 2 , ⋅ ⋅ ⋅ , σ 2 } = σ 2 I \operatorname{E}\{\boldsymbol{v}(n)\boldsymbol{v}^\mathrm{H}(n)\}=\operatorname{diag}\{{\sigma}^2,\cdotp\cdotp\cdotp,{\sigma}^2\}={\sigma}^2\boldsymbol{I} E{v(n)vH(n)}=diag{σ2,⋅⋅⋅,σ2}=σ2I定义接收信号向量的空间相关矩阵为 R = E { x ( n ) x H ( n ) } = E { [ A s ( n ) + v ( n ) ] [ s H ( n ) A H + v H ( n ) ] } = A P A H + σ 2 I \begin{aligned} \mathbf{R}&=\mathbb{E}\left\{\mathbf{x}(n)\mathbf{x}^{\mathrm{H}}(n)\right\}\\&=\mathbb{E}\{\begin{bmatrix} \boldsymbol{A}\boldsymbol{s}(n)+\boldsymbol{v}(n)\end{bmatrix}\begin{bmatrix} \boldsymbol{s}^\mathrm{H}(n)\boldsymbol{A}^\mathrm{H}+\boldsymbol{v}^\mathrm{H}(n) \end{bmatrix}\}\\&=\boldsymbol{A}\boldsymbol{P}\boldsymbol{A}^\mathrm{H}+\sigma^2\boldsymbol{I} \end{aligned} R=E{x(n)xH(n)}=E{[As(n)+v(n)][sH(n)AH+vH(n)]}=APAH+σ2I当然, R \mathbf{R} R也可以表示为 R = [ a ( θ 1 ) a ( θ 2 ) . . . a ( θ K ) ] d i a g { σ 1 2 , σ 2 2 , ⋅ ⋅ ⋅ , σ k 2 } [ a ( θ 1 ) a ( θ 2 ) . . . a ( θ K ) ] H + σ 2 I = ∑ k = 1 K σ k 2 a ( θ k ) a ( θ k ) H + σ 2 I \begin{aligned} \mathbf{R}&=[\mathbf{a}(\theta_1)\quad \mathbf{a}(\theta_2)\quad...\quad \mathbf{a}(\theta_K)]\mathrm{diag}\left\{\sigma_1^2,\sigma_2^2,\cdotp\cdotp\cdotp,\sigma_k^2\right\}[\mathbf{a}(\theta_1)\quad \mathbf{a}(\theta_2)\quad...\quad \mathbf{a}(\theta_K)]^\mathrm{H}+{\sigma}^2\boldsymbol{I}\\&=\sum_{k=1}^{K}\sigma_{k}^{2}\mathbf{a}(\theta_{k})\mathbf{a}(\theta_{k})^{\mathrm{H}}+{\sigma}^2\boldsymbol{I} \end{aligned} R=[a(θ1)a(θ2)...a(θK)]diag{σ12,σ22,⋅⋅⋅,σk2}[a(θ1)a(θ2)...a(θK)]H+σ2I=k=1Kσk2a(θk)a(θk)H+σ2I为确保方向矩阵 A \mathbf{A} A的各列线性独立,应有 M > K M>K M>K,即阵元数大于信号源数。
方向矩阵 A \mathbf{A} A是列满秩的,因此, A H \mathbf{A}^\mathrm{H} AH是行满秩矩阵,即 r a n k ( A ) = r a n k ( A H ) = K \mathrm{rank}(\mathbf{A})=\mathrm{rank}(\mathbf{A}^{\mathrm{H}})=K rank(A)=rank(AH)=K又因为 P \boldsymbol{P} P是秩为 K K K的满秩对角阵。因此,矩阵乘积 A P \mathbf{A}\boldsymbol{P} AP是对矩阵 A \mathbf{A} A作满秩变换,变换后的秩保持不变,即 rank ⁡ ( A P ) = K \operatorname{rank}(\mathbf{AP})=K rank(AP)=K同样, A P A H \mathbf{APA}^\mathrm{H} APAH也 为 对 矩 阵 A H \mathbf{A}^\mathrm{H} AH作 满 秩 变 换 , 即
rank ⁡ ( A P A H ) = K \operatorname{rank}(\boldsymbol{APA}^{\mathrm{H}})=K rank(APAH)=K这里用到线性代数的一个知识是左乘列满秩,右乘行满秩,不改变矩阵的秩。
因此,矩阵 A P A H \mathbf{APA}^\mathrm{H} APAH 共有 K K K 个非零特征值。对 A P A H \mathbf{APA}^\mathrm{H} APAH 进行特征值分解,设 λ ~ 1 , λ ~ 2 , ⋅ ⋅ ⋅ , λ ~ M \tilde{\lambda}_1,\tilde{\lambda}_2,\cdotp\cdotp\cdotp,\tilde{\lambda}_M λ~1,λ~2,⋅⋅⋅,λ~M 为其特征值; u 1 , u 2 , ⋯   , u M \mathbf{u}_1,\mathbf{u}_2,\cdots,\mathbf{u}_M u1,u2,,uM为对应的正交归一化特征向量。不妨将其 K K K 个非零特征值设为 λ ~ 1 , λ ~ 2 , ⋅ ⋅ ⋅ , λ ~ K ≠ 0 ; \tilde{\lambda}_1,\tilde{\lambda}_2,\cdotp\cdotp\cdotp,\tilde{\lambda}_K\neq0; λ~1,λ~2,⋅⋅⋅,λ~K=0其余特征值 λ ~ K + 1 = λ ~ K + 2 = ⋅ ⋅ ⋅ λ ~ M = 0 \tilde{\lambda}_{K+1}=\tilde{\lambda}_{K+2}=\cdotp\cdotp\cdotp\tilde{\lambda}_M=0 λ~K+1=λ~K+2=⋅⋅⋅λ~M=0,所以有
( A P A H ) u i = λ ~ i u i , i = 1 , 2 , ⋅ ⋅ ⋅ , K ( A P A H ) u i = λ ~ i u i = 0 , i = K + 1 , K + 2 , ⋅ ⋅ ⋅ , M \begin{aligned} & (\mathbf{APA}^\mathrm{H})\mathbf{u}_i=\tilde{\lambda}_i\mathbf{u}_i,\quad i=1,2,\cdotp\cdotp\cdotp,K \\ & (\mathbf{APA}^\mathrm{H})\mathbf{u}_i=\tilde{\lambda}_i\mathbf{u}_i=0,\quad i=K+1,K+2,\cdotp\cdotp\cdotp,M \end{aligned} (APAH)ui=λ~iui,i=1,2,⋅⋅⋅,K(APAH)ui=λ~iui=0,i=K+1,K+2,⋅⋅⋅,M对上面两个式子右乘 u i H \mathbf{u}_i^\mathrm{H} uiH,有
( A P A H ) u i u i H = λ ~ i u i u i H , i = 1 , ⋅ ⋅ ⋅ , M (\mathbf{APA}^\mathrm{H})\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H}=\tilde{\lambda}_i\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H},\quad i=1,\cdotp\cdotp\cdotp,M (APAH)uiuiH=λ~iuiuiH,i=1,⋅⋅⋅,M上式中分别取 i = 1 , ⋅ ⋅ ⋅ , M i=1,\cdotp\cdotp\cdotp,M i=1,⋅⋅⋅,M,可得 M M M个等式,将各等式两边分别相加,得
( A P A H ) ∑ i = 1 M u i u i H = ∑ i = 1 M λ ~ i u i u i H (\mathbf{APA}^\mathrm{H})\sum_{i=1}^M\mathbf{u}_i\mathbf{u}_i^\mathrm{H}=\sum_{i=1}^M\tilde{\lambda}_i\mathbf{u}_i\mathbf{u}_i^\mathrm{H} (APAH)i=1MuiuiH=i=1Mλ~iuiuiH考虑到 u 1 , u 2 , ⋯   , u M \mathbf{u}_1,\mathbf{u}_2,\cdots,\mathbf{u}_M u1,u2,,uM是正交的归一化特征向量,所以有
∑ i = 1 M u i u i H = I \sum_{i=1}^M\mathbf{u}_i\mathbf{u}_i^\mathrm{H}=\mathbf{I} i=1MuiuiH=I所以有
A P A H = ∑ i = 1 M λ ~ i u i u i H = ∑ i = 1 K λ ~ i u i u i H \mathbf{APA}^\mathrm{H}=\sum_{i=1}^M\tilde{\lambda}_i\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H}=\sum_{i=1}^K\tilde{\lambda}_i\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H} APAH=i=1Mλ~iuiuiH=i=1Kλ~iuiuiH因此,自相关矩阵 R \mathbf{R} R可以表示为 R = ∑ i = 1 K λ ~ i u i u i H + σ 2 ∑ i = 1 M u i u i H = ∑ i = 1 K ( λ ~ i + σ 2 ) u i u i H + σ 2 ∑ i = K + 1 M u i u i H = ∑ i = 1 M λ i u i u i H \begin{aligned} \mathbf{R}& =\sum_{i=1}^K\tilde{\lambda}_i\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H}+\sigma^2\sum_{i=1}^M\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H} \\ &=\sum_{i=1}^K(\tilde{\lambda}_i+\sigma^2)\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H}+\sigma^2\sum_{i=K+1}^M\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H} \\ & =\sum_{i=1}^M\lambda_i\boldsymbol{u}_i\boldsymbol{u}_i^\mathrm{H} \end{aligned} R=i=1Kλ~iuiuiH+σ2i=1MuiuiH=i=1K(λ~i+σ2)uiuiH+σ2i=K+1MuiuiH=i=1MλiuiuiH其中 λ i = λ ~ i + σ 2 , i = 1 , ⋅ ⋅ ⋅ , K λ i = σ 2 , i = K + 1 , ⋅ ⋅ ⋅ , M \lambda_{i}=\tilde{\lambda}_{i}+\sigma^{2},\quad i=1,\cdotp\cdotp\cdotp,K \\ \lambda_{i}=\sigma^{2},\quad i=K+1,\cdotp\cdotp\cdotp,M λi=λ~i+σ2,i=1,⋅⋅⋅,Kλi=σ2,i=K+1,⋅⋅⋅,M R \mathbf{R} R M M M个特征值中仅有 K K K个特征值 λ 1 , ⋅ ⋅ ⋅ , λ K \lambda_1,\cdotp\cdotp\cdotp,\lambda_K λ1,⋅⋅⋅,λK与信号有关,其余 M − K M-K MK个特征值 λ K + 1 , ⋅ ⋅ ⋅ , λ M \lambda_{K+1},\cdotp\cdotp\cdotp,\lambda_M λK+1,⋅⋅⋅,λM 仅与噪声有关。根据以上事实,有以下重要定义:
(1)信号子空间 E s ( \boldsymbol{E}_\mathrm{s}( Es(signal subspace): E s \boldsymbol{E}_\mathrm{s} Es是由 λ 1 , ⋅ ⋅ ⋅ , λ K \lambda_1,\cdotp\cdotp\cdotp,\lambda_K λ1,⋅⋅⋅,λK对应的特征向量 u 1 , ⋅ ⋅ ⋅ , u K \boldsymbol{u}_1,\cdotp\cdotp\cdotp,\boldsymbol{u}_K u1,⋅⋅⋅,uK生成的子空间,记为
E S = s p a n { u 1 , u 2 , ⋅ ⋅ ⋅ , u K } \boldsymbol{E}_\mathrm{S}=\mathrm{span}\{\mathbf{u}_1,\mathbf{u}_2,\cdotp\cdotp\cdotp,\mathbf{u}_K\} ES=span{u1,u2,⋅⋅⋅,uK}(2)噪声子空间 E N \boldsymbol{E}_{{N}} EN(noise subspace): E N \boldsymbol{E}_{{N}} EN是由 λ K + 1 , ⋅ ⋅ ⋅ , λ M \lambda_{K+1},\cdotp\cdotp\cdotp,\lambda_{M} λK+1,⋅⋅⋅,λM对应的特征向量 u K + 1 , ⋅ ⋅ ⋅ , u M \mathbf{u}_{K+1},\cdotp\cdotp\cdotp,\mathbf{u}_M uK+1,⋅⋅⋅,uM 生成的子空间,记为
E N = span ⁡ { u K + 1 , u K + 2 , ⋅ ⋅ ⋅ , u M } \boldsymbol{E}_N=\operatorname{span}\{\boldsymbol{u}_{K+1},\boldsymbol{u}_{K+2},\cdotp\cdotp\cdotp,\boldsymbol{u}_M\} EN=span{uK+1,uK+2,⋅⋅⋅,uM} E S \boldsymbol{E}_{\mathrm{S}} ES 既与信号有关,又与噪声有关;而 E N \boldsymbol E_\mathrm{N} EN 仅与噪声有关。
由前面的推导有:
( A P A H ) u i = λ ~ i u i = 0 , i = K + 1 , K + 2 , ⋅ ⋅ ⋅ , M (\mathbf{APA}^\mathrm{H})\mathbf{u}_i=\tilde{\lambda}_i\mathbf{u}_i=0,\quad i=K+1,K+2,\cdotp\cdotp\cdotp,M (APAH)ui=λ~iui=0,i=K+1,K+2,⋅⋅⋅,M对上式两边同时左乘 A H \mathbf{A}^\mathrm{H} AH,得
A H A P A H u i = 0 , i = K + 1 , ⋅ ⋅ ⋅ , M \mathbf{A}^\mathrm{H}\mathbf{APA}^\mathrm{H}\mathbf{u}_i=0,\quad i=K+1,\cdotp\cdotp\cdotp,M AHAPAHui=0,i=K+1,⋅⋅⋅,M由前面的推导易知:rank( A H A ) = K \mathbf{A}^\mathrm{H}\mathbf{A})=K AHA)=K,即 A H A \mathbf{A}^\mathrm{H}\mathbf{A} AHA 可逆。上式等号两边同时左乘 ( A H A ) − 1 (\mathbf{A}^{\mathrm{H}}\mathbf{A})^{-1} (AHA)1,有
( A H A ) − 1 A H A P A H u i = P A H u i = 0 , i = K + 1 , ⋅ ⋅ ⋅ , M (\mathbf{A}^\mathrm{H}\mathbf{A})^{-1}\mathbf{A}^\mathrm{H}\mathbf{APA}^\mathrm{H}\mathbf{u}_i=\mathbf{PA}^\mathrm{H}\mathbf{u}_i=0,\quad i=K+1,\cdotp\cdotp\cdotp,M (AHA)1AHAPAHui=PAHui=0,i=K+1,⋅⋅⋅,M又因为矩阵 P \mathbf{P} P为正定的对角矩阵,上式两边可再同时左乘 P − 1 \mathbf{P}^{-1} P1,有
P − 1 P A H u i = A H u i = 0 , i = K + 1 , ⋅ ⋅ ⋅ , M \mathbf{P}^{-1}\mathbf{PA}^\mathrm{H}{\mathbf{u}_i}=\mathbf{A}^\mathrm{H}{\mathbf{u}_i}=0,\quad i=K+1,\cdotp\cdotp\cdotp,M P1PAHui=AHui=0,i=K+1,⋅⋅⋅,M定义矩阵 G \mathbf{G} G是由噪声子空间的向量构成的矩阵,即
G = [ u K + 1 u K + 2 ⋯ u M ] ∈ C M × ( M − K ) \mathbf{G}= \begin{bmatrix} \mathbf{u}_{K+1} & \mathbf{u}_{K+2} & \cdots & \mathbf{u}_M \end{bmatrix}\in\mathbb{C}^{M\times(M-K)} G=[uK+1uK+2uM]CM×(MK)所以有
A H G = 0 \mathbf{A}^\mathrm{H}\mathbf{G}=0 AHG=0或者等价地,有
G H A = G H [ a ( θ 1 ) a ( θ 2 ) ⋯ a ( θ K ) ] = 0 \mathbf{G}^{\mathrm{H}}\mathbf{A}=\mathbf{G}^{\mathrm{H}}\left[\mathbf{a}\left(\theta_{1}\right)\quad \mathbf{a}\left(\theta_{2}\right)\quad\cdots\quad \mathbf{a}\left(\theta_{K}\right)\right]=0 GHA=GH[a(θ1)a(θ2)a(θK)]=0即每一个方向矢量与噪声子空间都是正交的。
实际应用中,根据 N N N次快拍得到的接收数据 x ( n ) , n = 1 , 2 , ⋅ ⋅ ⋅ , N \mathbf{x}(n),n=1,2,\cdotp\cdotp\cdotp,N x(n),n=1,2,⋅⋅⋅,N,用时间平均估计空间相关矩阵 R ^ \hat{\boldsymbol{R}} R^
R ^ = 1 N ∑ n = ⁡ 1 N x ( n ) x H ( n ) \hat{\boldsymbol{R}}=\frac1N\sum_{n\operatorname{=}1}^N\boldsymbol{x}(n)\boldsymbol{x}^\mathrm{H}(n) R^=N1n=1Nx(n)xH(n)在实际工程中,由于用相关矩阵的估计 R ^ \hat{\mathbf{R}} R^代替 R \mathbf{R} R 进行特征分解,因此,在给定的角度 θ k \theta_k θk,信号方向向量 a ( θ k ) \mathbf{a}(\theta_k) a(θk)与噪声子空间并不严格地满足正交条件方程式。所以左边并不严格等于零,而是一个很小的值。于是,可以构造如下的空间谱扫描函数:
P M U S I C ( θ ) = 1 a H ( θ ) G G H a ( θ ) = 1 ∑ i = K + 1 M ∣ a H ( θ ) u i ∣ 2 , θ ∈ [ − π / 2 , π / 2 ] \begin{aligned} {P}_{\mathrm{MUSIC}}(\theta)&=\frac{1}{\boldsymbol{a}^{\mathrm{H}}(\theta)\boldsymbol{GG}^{\mathrm{H}}\boldsymbol{a}(\theta)}\\&=\frac{1}{\sum_{i=K+1}^{M}\mid\boldsymbol{a}^{\mathrm{H}}(\theta)\boldsymbol{u}_{i}\mid^{2}},\quad\theta\in\begin{bmatrix}-\pi/2,\pi/2\end{bmatrix} \end{aligned} PMUSIC(θ)=aH(θ)GGHa(θ)1=i=K+1MaH(θ)ui21,θ[π/2,π/2]信号到达角度的估计可以由函数 P M U S I C ( θ ) P_\mathrm{MUSIC}(\theta) PMUSIC(θ) K K K个峰值位置确定。
谱函数 P M U S I C ( ω ) P_\mathrm{MUSIC}(\omega) PMUSIC(ω)的峰值位置反映了信号的到达角度,但它并不是信号的功率谱,通常将 P M U S I C ( θ ) P_\mathrm{MUSIC}(\theta) PMUSIC(θ)称为伪谱(pseudo spectrum),或 MUSIC 谱。

二、MATLAB仿真

考虑一个8阵元的均匀线阵,采样快拍数为1024,信号入射角度分别为-40°,-10°,0°,40°,用MUSIC算法估计信号到达角度如下图所示
在这里插入图片描述
需要注意的点:
1、对矩阵 R ^ \hat{\boldsymbol{R}} R^分解得到的大的 K K K个特征值并不是信号的功率,较小的 M − K M-K MK个特征值一定是噪声的功率。
2、信噪比较低时,MUSIC算法失效,即MUSIC算法适用于信噪比较大的场景。
3、当信号相干时,MUSIC算法也会失效。


总结

以上就是本文所有的内容,本文详细介绍了谱估计公式推导的数学过程,本文展示了MUSIC算法如何利用噪声子空间和信号子空间的正交性实现信号的到达方向估计,同时还给出了MATLAB仿真的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迎风打盹儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值