阵列流形与阵因子的计算及数字波束形成

1. 阵列的方向图

由相同阵元构成的天线阵列,其方向图由两部分相乘得到,第一部分是阵元的方向图,只与阵元本身有关;第二部分取决于阵元间的电流比及相位差,与阵元本身无关,称为阵因子。不妨令阵列的方向图为 f ( θ , ϕ ) f(\theta,\phi) f(θ,ϕ),则有:
f ( θ , ϕ ) = f 0 ( θ , ϕ ) f a r r ( θ , ϕ ) f(\theta,\phi) = f_0(\theta,\phi) f_{arr}(\theta, \phi) f(θ,ϕ)=f0(θ,ϕ)farr(θ,ϕ)
其中, f 0 ( θ , ϕ ) f_0(\theta,\phi) f0(θ,ϕ)为阵元的方向性函数(方向图); f a r r ( θ , ϕ ) f_{arr}(\theta, \phi) farr(θ,ϕ)为阵因子; θ \theta θ ϕ \phi ϕ的定义如下图所示。
坐标系

在后文的讨论中,将分析 F a r r ( θ , ϕ ) F_{arr}(\theta, \phi) Farr(θ,ϕ)为归一化的阵因子,其满足 F a r r ( θ , ϕ ) = f a r r ( θ , ϕ ) max ⁡ [ f a r r ( θ , ϕ ) ] F_{arr}(\theta, \phi) = \frac{f_{arr}(\theta, \phi) }{ \max{ \left[ f_{arr}(\theta, \phi) \right] } } Farr(θ,ϕ)=max[farr(θ,ϕ)]farr(θ,ϕ)

2. 理论模型

假设任意阵列中共有 M M M个阵元,第 m m m个阵元在三维空间中的坐标为 p m = [ x m , y m , z m ] T \boldsymbol{p}_m=\left[ x_m,y_m,z_m \right]^T pm=[xm,ym,zm]T。此外,假设在距离原点 r r r,方位角为 θ \theta θ,与 z z z轴夹角为 ϕ \phi ϕ的位置存在信号源;信号源向三维空间中辐射的均匀球面波,频率为 f f f、波长为 λ \lambda λ。显然,可以得到信号源在三维空间中的坐标为 p s = [ r sin ⁡ ϕ cos ⁡ θ , r sin ⁡ ϕ sin ⁡ θ , r cos ⁡ ϕ ] T \boldsymbol{p}_s = \left[ r \sin\phi \cos \theta, r \sin\phi \sin \theta, r \cos \phi \right]^T ps=[rsinϕcosθ,rsinϕsinθ,rcosϕ]T;则在第 m m m个阵元处接收到的信号可以表示为,
s ( t , p m ) = e j [ ω t − k m ⋅ ( p m − p s ) ] ; m = 0 , 1 , ⋯   , M − 1 s(t,\boldsymbol{p}_m) = e^{j \left[ \omega t - \boldsymbol{k}_m \cdot \left( \boldsymbol{p}_m - \boldsymbol{p}_s \right) \right] };m=0,1,\cdots,M-1 s(t,pm)=ej[ωtkm(pmps)];m=0,1,,M1
其中, k m = 2 π λ p m − p s ∥ p m − p s ∥ 2 \boldsymbol{k}_m=\frac{2 \pi}{\lambda}\frac{\boldsymbol{p}_m - \boldsymbol{p}_s}{\left\Vert \boldsymbol{p}_m - \boldsymbol{p}_s \right\Vert_2} km=λ2πpmps2pmps为波数,其方向表征了电磁波传输的方向; ( p m − p s ) \left( \boldsymbol{p}_m - \boldsymbol{p}_s \right) (pmps)的意义在于将信号源平移到坐标系原点后,第 m m m个阵元在空间中的坐标。
在绝大多数应用场景中,为便于分析,往往进行“远场”假设,即,
∀ i , j = 0 , 1 , ⋯   , M − 1 , ∥ p i − p j ∥ 2 ≪ r \forall i,j=0,1,\cdots,M-1, \left\Vert \boldsymbol{p}_i - \boldsymbol{p}_j \right\Vert_2 \ll r i,j=0,1,,M1, pipj 2r
在这种情况下,从信号源辐射的均匀球面波可以近似地视为均匀平面波,进而在第 m m m个阵元处接收到的信号可以简化为:
s ( t , p m ) = e j ( ω t + k 0 ⋅ p s − k 0 ⋅ p m ) ; m = 0 , 1 , ⋯   , M − 1 s(t,\boldsymbol{p}_m) = e^{j \left( \omega t + \boldsymbol{k}_0 \cdot \boldsymbol{p}_s - \boldsymbol{k}_0 \cdot \boldsymbol{p}_m \right) };m=0,1,\cdots,M-1 s(t,pm)=ej(ωt+k0psk0pm);m=0,1,,M1
其中,若第 0 0 0个阵元放置在原点,则有,
k 0 = − 2 π λ p s ∥ p s ∥ 2 = − 2 π λ [ sin ⁡ ϕ cos ⁡ θ , sin ⁡ ϕ sin ⁡ θ , cos ⁡ ϕ ] T \boldsymbol{k}_0 = - \frac{2 \pi}{\lambda}\frac{\boldsymbol{p}_s}{\left\Vert \boldsymbol{p}_s \right\Vert_2} = - \frac{2 \pi}{\lambda} \left[ \sin\phi \cos \theta, \sin\phi \sin \theta, \cos \phi \right]^T k0=λ2πps2ps=λ2π[sinϕcosθ,sinϕsinθ,cosϕ]T

3. 阵列流形与阵因子的计算

值得说明的是,阵列信号处理考察的是在特定的采样时间 t 0 t_0 t0,不同阵元接收到的数据,称之为“快拍”。 假设阵列中各个阵元的激励幅度相同,当空间中存在 i i i个信号源,且其幅度分别为 { A i ∣ i = 1 , 2 , ⋯   } \left\{ A_i \left| i=1,2,\cdots \right. \right\} {Aii=1,2,}时,则在 t 0 t_0 t0时刻,阵列接收的快拍数据可以表示为:
x = e j ( ω t 0 + k 0 ⋅ p s ) ∑ i A i a ( θ i , ϕ i ) \boldsymbol{x} = e^{j \left( \omega t_0 + \boldsymbol{k}_0 \cdot \boldsymbol{p}_s \right)} \sum_i A_i \boldsymbol{a}(\theta_i,\phi_i) x=ej(ωt0+k0ps)iAia(θi,ϕi)
其中, a ( θ , ϕ ) = [ e − j k 0 ⋅ p 0 , e − j k 0 ⋅ p 1 , ⋯   , e − j k 0 ⋅ p M − 1 ] T \boldsymbol{a}(\theta,\phi) = [e^{-j\boldsymbol{k}_0 \cdot \boldsymbol{p}_0},e^{-j\boldsymbol{k}_0 \cdot \boldsymbol{p}_1},\cdots,e^{-j\boldsymbol{k}_0 \cdot \boldsymbol{p}_{M-1}}]^T a(θ,ϕ)=[ejk0p0,ejk0p1,,ejk0pM1]T即为阵列流形。同时,阵因子可以通过阵列流形计算获得,即
f a r r ( θ , ϕ ) = ∥ a ( θ , ϕ ) ∥ 1 = ∑ m = 0 M − 1 e − j k 0 ⋅ p m \begin{aligned} f_{arr}(\theta, \phi) &= \Vert \boldsymbol{a}(\theta,\phi) \Vert_1 \\ &=\sum_{m=0}^{M-1} e^{-j\boldsymbol{k}_0 \cdot \boldsymbol{p}_m} \end{aligned} farr(θ,ϕ)=a(θ,ϕ)1=m=0M1ejk0pm
值得说明的是,本文假设阵列中各个阵元的激励幅度相同;在激励幅度不同的情况下,可以在 a ( θ , ϕ ) \boldsymbol{a}(\theta, \phi) a(θ,ϕ)中的各个元素前增加权重进行计算。

4. 典型阵列的数字波束形成与MATLAB仿真

数字波束形成的关键在于正确地设置阵列流形,前文我们阐述了其一般形式,即
a ( θ , ϕ ) = [ e − j k 0 ⋅ p 0 , e − j k 0 ⋅ p 1 , ⋯   , e − j k 0 ⋅ p M − 1 ] T \boldsymbol{a}(\theta,\phi) = [e^{-j\boldsymbol{k}_0 \cdot \boldsymbol{p}_0},e^{-j\boldsymbol{k}_0 \cdot \boldsymbol{p}_1},\cdots,e^{-j\boldsymbol{k}_0 \cdot \boldsymbol{p}_{M-1}}]^T a(θ,ϕ)=[ejk0p0,ejk0p1,,ejk0pM1]T
换言之,阵列流形中的第 m m m个元素可以表示为:
[ a ( θ , ϕ ) ] m = e − j k 0 ⋅ p m = e j 2 π ( x m sin ⁡ ϕ cos ⁡ θ + y m sin ⁡ ϕ sin ⁡ θ + z m cos ⁡ ϕ ) λ \left[ \boldsymbol{a}(\theta,\phi) \right]_m = e^{-j\boldsymbol{k}_0 \cdot \boldsymbol{p}_m} = e^{\frac{j2 \pi \left( x_m \sin\phi \cos \theta + y_m \sin\phi \sin \theta + z_m \cos \phi \right) }{\lambda}} [a(θ,ϕ)]m=ejk0pm=eλj2π(xmsinϕcosθ+ymsinϕsinθ+zmcosϕ)
依据上式,可以对任意阵列进行波束形成,相关的性能参数由阵列的排布决定。

下面,本节将结合具体的阵列形式,给出仿真MATLAB仿真结果。在仿真中采用相同的信号源,该信号源向空间中辐射高频段的电磁波,其频率 f = 15 M H z f=15MHz f=15MHz,波长 λ = 20 m \lambda = 20m λ=20m;在三维空间中,其矢径为 r = 1000 k m r=1000km r=1000km,方位角为 ϕ = 4 5 ∘ \phi=45^{\circ} ϕ=45,仰角为 9 0 ∘ − θ = 4 5 ∘ 90^{\circ}-\theta=45^{\circ} 90θ=45

4.1 均匀直线阵列

不妨令阵元数量 M = 30 M = 30 M=30,阵元间距 d = 8 m d = 8m d=8m,各个阵元沿 x x x轴分布,则第 m m m个阵元的坐标可以表示为:
p m = [ m d , 0 , 0 ] T ; m = 0 , 1 , ⋯   , M − 1 \boldsymbol{p}_m=\left[ md,0,0 \right]^T;m=0,1,\cdots,M-1 pm=[md,0,0]T;m=0,1,,M1
因此,均匀直线阵列的阵列流形可以表示为:
a ( θ , ϕ ) = [ 1 , e j 2 π d sin ⁡ θ cos ⁡ ϕ λ , ⋯   , e j 2 π ( M − 1 ) d sin ⁡ θ cos ⁡ ϕ λ ] T \boldsymbol{a}(\theta,\phi) = \left[1,e^{ \frac{j 2 \pi d \sin \theta \cos \phi}{\lambda} },\cdots,e^{ \frac{j 2 \pi (M - 1) d \sin \theta \cos \phi}{\lambda} } \right]^T a(θ,ϕ)=[1,eλj2πdsinθcosϕ,,eλj2π(M1)dsinθcosϕ]T

(1) 本文在三维坐标系中推导均匀直线阵列的阵列流形;而现有文献大多在二维坐标系中推导均匀直线阵列的阵列流形,故不需要考虑仰角,因而在大多数资料中没有 cos ⁡ ϕ \cos \phi cosϕ这一项;

(2) 均匀直线阵列仅有一维的角度分辨能力,在三维空间中,为了获得正确的方位角,需要利用 cos ⁡ ϕ \cos \phi cosϕ将二维平面从 x O y xOy xOy平面转化到“信号源与均匀直线阵列各个阵元所在的平面”。反之,若在阵列流形中没有设置正确的仰角,将会导致方位角的估计错误;

(3) 不难发现 cos ⁡ ϕ = cos ⁡ ( − ϕ ) \cos \phi = \cos (-\phi) cosϕ=cos(ϕ),故均匀直线阵列会出现测角模糊的问题,其不模糊的测角范围是 [ 0 ∘ , 18 0 ∘ ] \left[ 0^{\circ}, 180^{\circ} \right] [0,180]

ULA

(a) 从均匀直线阵列的仿真结果可知,当在仰角为 4 5 ∘ 45^\circ 45处进行波束形成时,可以在正确的方位上( 4 5 ∘ 45^\circ 45)获得峰值;当在仰角为 0 ∘ 0^\circ 0处进行波束形成时,估计的方位为 6 0 ∘ 60^\circ 60,与结果显然不符;进而说明在三维空间中,即便没有仰角分辨能力,均匀直线阵列的阵列流形仍然需要考虑仰角
(b) 在均匀直线阵列的仿真结果中,在仰角维度的波瓣极宽,说明均匀直线阵列没有仰角分辨能力。

4.2 均匀矩形阵列

假设均匀矩形阵列共有 M x = 30 M_x = 30 Mx=30行, M y = 30 M_y =30 My=30列阵元;在每一行,阵元间距 d x = 8 m d_x = 8m dx=8m;在每一列,阵元间距 d y = 8 m d_y = 8m dy=8m,则第 i i i行、第 j j j列的阵元的坐标可以表示为:
p i j = [ i d x , j d y , 0 ] T i = 0 , 1 , ⋯   , M x − 1 ; j = 0 , 1 , ⋯   , M y − 1 \begin{aligned} & \boldsymbol{p}_{ij}=\left[ id_x,jd_y,0 \right]^T \\ & i=0,1,\cdots,M_x-1;j=0,1,\cdots,M_y-1 \end{aligned} pij=[idx,jdy,0]Ti=0,1,,Mx1;j=0,1,,My1
若按 j ⊗ i j \otimes i ji的形式向量化阵列排布,则均匀矩形阵列的阵列流形可以表示为:
a ( θ , ϕ ) = a y ( θ , ϕ ) ⊗ a x ( θ , ϕ ) \boldsymbol{a}(\theta,\phi) = \boldsymbol{a}_y(\theta,\phi) \otimes \boldsymbol{a}_x(\theta,\phi) a(θ,ϕ)=ay(θ,ϕ)ax(θ,ϕ)
其中, ⊗ \otimes 为克罗内克积,
a x ( θ , ϕ ) = [ 1 , e j 2 π d x sin ⁡ θ cos ⁡ ϕ λ , ⋯   , e j 2 π ( M x − 1 ) d x sin ⁡ θ cos ⁡ ϕ λ ] T a y ( θ , ϕ ) = [ 1 , e j 2 π d y sin ⁡ θ sin ⁡ ϕ λ , ⋯   , e j 2 π ( M y − 1 ) d y sin ⁡ θ sin ⁡ ϕ λ ] T \begin{aligned} \boldsymbol{a}_x(\theta,\phi) &= \left[1,e^{ \frac{j 2 \pi d_x \sin \theta \cos \phi}{\lambda} },\cdots,e^{ \frac{j 2 \pi (M_x - 1) d_x \sin \theta \cos \phi}{\lambda} } \right]^T \\ \boldsymbol{a}_y(\theta,\phi) &= \left[1,e^{ \frac{j 2 \pi d_y \sin \theta \sin \phi}{\lambda} },\cdots,e^{ \frac{j 2 \pi (M_y - 1) d_y \sin \theta \sin \phi}{\lambda} } \right]^T \end{aligned} ax(θ,ϕ)ay(θ,ϕ)=[1,eλj2πdxsinθcosϕ,,eλj2π(Mx1)dxsinθcosϕ]T=[1,eλj2πdysinθsinϕ,,eλj2π(My1)dysinθsinϕ]T
URA
(a) 不难发现,均匀矩形阵列具有方位角、仰角的二维分辨能力,且均匀矩形阵列在 [ 0 ∘ , 36 0 ∘ ] [0^\circ,360^\circ] [0,360]的方位角范围内,不会出现测角模糊。

4.3 均匀圆形阵列

假设均匀圆形阵列共有 M = 96 M=96 M=96个阵元,阵列半径为 R = 120 m R = 120m R=120m,阵列圆心位于原点,则第 m m m个阵元的坐标可以表示为:
p m = [ R cos ⁡ 2 π m M , R cos ⁡ 2 π m M , 0 ] T ; m = 0 , 1 , ⋯   , M − 1 \boldsymbol{p}_m = \left[ R \cos{\frac{2 \pi m}{M}}, R \cos{\frac{2 \pi m}{M}}, 0 \right]^T;m=0,1,\cdots,M-1 pm=[RcosM2πm,RcosM2πm,0]T;m=0,1,,M1
因此,均匀圆形阵列的阵列流形可以表示为:
a ( θ , ϕ ) = [ 1 , e j 2 π d R ( cos ⁡ 2 π M sin ⁡ ϕ cos ⁡ θ + cos ⁡ 2 π M sin ⁡ ϕ sin ⁡ θ ) λ , ⋯   , e j 2 π d R [ cos ⁡ 2 π ( M − 1 ) M sin ⁡ ϕ cos ⁡ θ + cos ⁡ 2 π ( M − 1 ) M sin ⁡ ϕ sin ⁡ θ ] λ ] T \boldsymbol{a}(\theta,\phi) = \left[1,e^{ \frac{j 2 \pi d R \left( \cos{\frac{2 \pi}{M}} \sin\phi \cos \theta + \cos{\frac{2 \pi}{M}} \sin\phi \sin \theta \right)}{\lambda} },\cdots,e^{ \frac{j 2 \pi d R \left[ \cos{\frac{2 \pi (M-1) }{M}} \sin\phi \cos \theta + \cos{\frac{2 \pi (M-1)}{M}} \sin\phi \sin \theta \right]}{\lambda} } \right]^T a(θ,ϕ)=[1,eλj2πdR(cosM2πsinϕcosθ+cosM2πsinϕsinθ),,eλj2πdR[cosM2π(M1)sinϕcosθ+cosM2π(M1)sinϕsinθ]]T

UCA

(a) 不难发现,均匀圆形阵列具有方位角、仰角的二维分辨能力,且均匀矩形阵列在 [ 0 ∘ , 36 0 ∘ ] [0^\circ,360^\circ] [0,360]的方位角范围内,不会出现测角模糊。

5. MATLAB仿真程序源码

%% Author:ZLY
clearvars;
close all;
clc;
%% 信号为单频正弦信号
global c;
global f0;
global lambda;
global t;
global N;
global TxLoc;

c = 3e8;
f0 = 15e6;              % 载波频率
lambda = c / f0;    % 波长
fs = 4 * f0;              % 采样频率
N = 1024;               % 采样点数
t = (0:N-1).' / fs;    % 采样时刻

x = exp(1j * 2 * pi * f0 * t);  % 单频信号
%% 信号源位于远场
% 1、阵元间距 < lambda / 2
% 2、阵列孔径 v.s. 角度分辨力
% TxLoc = [1000e3, 1000e3, 245.5756e3];                       % 远场源,以正北为参照方位角45°,仰角10°(常见的情况)
TxLoc = [1000e3, 1000e3, sqrt(2) * 1000e3];           % 远场源,以正北为参照方位角45°,仰角45°(夸张的情况)
arrayType = 3;
switch arrayType
    case 1
        ULA();
    case 2
        URA();
    case 3
        UCA();
end
%% 均匀线阵的情况
function ULA()

    global c;
    global N;
    global f0;
    global lambda;
    global t;
    global TxLoc;
    
    d = 8;
    M = 30;
    RxLoc = [ d * (0:M-1).', zeros(M, 2)];

    % 生成接收信号,N个快拍的数据
    y = zeros(N, M);
    for ii = 1:M
        tau = norm( RxLoc(ii,:) - TxLoc ) / c;
        y(:,ii) = exp(1j * 2 * pi * f0 * (t - tau));
    end

    % 波束形成
    k = 2 * pi / lambda;
    phi = ( 0 : 359 ) / 180 * pi;            % 与x轴夹角
    theta = ( 90:-1:0 ) / 180 * pi;         % 与z轴夹角
    
    
    DBF = zeros(length(phi), length(theta));
    for ii = 1:length(phi)
        for jj = 1:length(theta)
            a = exp( 1j * k * (0 : M - 1) * d * cos ( phi(ii) ) * sin( theta(jj) ) ).';
            DBF(ii,jj) = sum( abs( y * conj(a) ), 1 );
        end
    end
    
    DBF = DBF ./ max(abs(DBF), [], 'all');
    figure(1);
    mesh(90 - theta / pi * 180, phi / pi * 180, db(DBF));
    xlabel('俯仰角'); ylabel('方位角'); 
    colormap jet; colorbar; view(2);
    axis tight; set(gca, 'CLim', [-40, 0]);
    title('ULA');
    
end

%% 均匀矩形阵列的情况
function URA()

    global c;
    global N;
    global f0;
    global lambda;
    global t;
    global TxLoc;
    
    dx = 8;
    Mx = 30;
    dy = 8;
    My = 30;
    RxLoc = zeros(Mx * My, 3);
    for ii = 1:Mx
        for jj = 1:My
            RxLoc( (ii - 1) * My + jj, :) = [(ii - 1) * dx, (jj - 1) * dy, 0];
        end
    end
    
    % 生成接收信号,N个快拍的数据
    y = zeros(N, Mx * My);
    for ii = 1:Mx * My
        tau = norm( RxLoc(ii,:) - TxLoc ) / c;
        y(:,ii) = exp(1j * 2 * pi * f0 * (t - tau));
    end

    % 波束形成
    k = 2 * pi / lambda; 
    phi = ( 0 : 359 ) / 180 * pi;            % 与x轴夹角
    theta = ( 90:-1:0 ) / 180 * pi;         % 与z轴夹角
    
    DBF = zeros(length(phi), length(theta));
    for ii = 1:length(phi)
        for jj = 1:length(theta)

            ax = exp( 1j * k * (0 : Mx - 1) * dx * cos( phi(ii) ) * sin( theta(jj) ) ).';
            ay = exp( 1j * k * (0 : My - 1) * dy * sin( phi(ii) ) * sin( theta(jj) ) ).';
            a = kron( ay, ax );
            DBF(ii,jj) = sum( abs( y * conj(a) ), 1 );
        end
    end
    
    DBF = DBF ./ max(abs(DBF), [], 'all');
    figure(2);
    mesh(90 - theta / pi * 180, phi / pi * 180, db(DBF));
    xlabel('俯仰角'); ylabel('方位角'); 
    colormap jet; colorbar; view(2);
    axis tight; set(gca, 'CLim', [-40, 0]);
    title('URA');
    
end

%% 均匀圆形阵列
function UCA()

    global c;
    global N;
    global f0;
    global lambda;
    global t;
    global TxLoc;
    
    M = 96;     % 96个阵元
    R = 120;     % 半径120m
    
    RxLoc = zeros(M, 3);
    for ii = 1:M
        alpha = (ii - 1) * 2 * pi / M ;
        RxLoc(ii,:) = [R * cos(alpha), R * sin(alpha), 0];
    end
    
    % 生成接收信号,N个快拍的数据
    y = zeros(N, M);
    for ii = 1:M
        tau = norm( RxLoc(ii,:) - TxLoc ) / c;
        y(:,ii) = exp(1j * 2 * pi * f0 * (t - tau));
    end

    % 波束形成
    k = 2 * pi / lambda; 
    phi = ( 0 : 359 ) / 180 * pi;            % 与x轴夹角
    theta = ( 90:-1:0 ) / 180 * pi;         % 与z轴夹角
    
    DBF = zeros(length(phi), length(theta));
    for ii = 1:length(phi)
        for jj = 1:length(theta)
            
            xm = R * cos( (0: M - 1) * 2 * pi / M ).';
            ym = R * sin( (0: M - 1) * 2 * pi / M ).';
            
            a = exp(1j * k * ( xm * cos(phi(ii)) * sin(theta(jj)) + ym * sin(phi(ii)) * sin(theta(jj)) ) );
            DBF(ii,jj) = sum( abs( y * conj(a) ), 1 );
        end
    end
    
    DBF = DBF ./ max(abs(DBF), [], 'all');
    figure(3);
    mesh(90 - theta / pi * 180, phi / pi * 180, db(DBF));
    xlabel('俯仰角'); ylabel('方位角'); 
    colormap jet; colorbar; view(2);
    axis tight; set(gca, 'CLim', [-40, 0]);
    title('UCA');
   
end

  • 9
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

萌哒哒虎

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

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

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

打赏作者

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

抵扣说明:

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

余额充值