链路预算的目的是验证通信链路是否闭合,即接收端信噪比是否满足误码率要求,并计算链路余量以评估通信系统的可靠性。

核心原理·

链路预算是对信号从发射端到接收端整个传输过程中的 增益 与 损耗 在对数域进行代数加减,最终得到接收端的信噪比,并与系统解调门限进行比较。通信链路可分为以下三部分

  • 发送端:决定发射功率、天线增益,核心指标是 EIRP(有效全乡辐射功率)
  • 信道:信号传播过程中的衰减,核心指标是自由空间损耗+大气损耗等
  • 接收端:决定接收信号的能力和噪声水平,核心指标是 G/T(品质因数)

另外,在透明转发卫星系统中,链路分为上行链路(地面 → 卫星)和下行链路(卫星 → 地面),上下行链路串联,噪声会累积,总载噪比取决于较差的一段链路(计算公式为倒数和)

计算流程·

确定系统基本参数·

基本参数 具体内容
工作频率 上行频点 fuf_u 和下行频点 fdf_d
通信距离 卫星到地面的距离 DD
信号参数 符号速率 RsR_s,调制阶数 MM,编码码率 RateRate,扩频比 LL,滚降系数 α\alpha
指标要求 目标误码率 e.g. 10−6e.g.\space10^{-6}

计算信号带宽·

B=Rs×L×(1+α)B = R_s \times L \times (1 + \alpha)

计算发射端 EIRP·

EIRP(dBW)=Pt(dBW)+Gt(dBW)EIRP(dBW) = P_t(dBW) + G_t(dBW)

  • PtP_t:发射机输出功率;
  • GtG_t:发射天线增益;

计算信道损耗·

总损耗 LAL_A 包括自由空间损耗和其它损耗

LA=Lf+La+LTR+LpL_A = L_f + L_a + L_{TR} + L_p

  • 自由空间损耗 Lf(dB)=32.5+20lg⁡(fMHz)+20lg⁡(Dkm)L_f(dB)=32.5 + 20\lg{(f_{MHz})} + 20\lg{(D_{km})}
  • 其它损耗 LaL_a:包括大气吸收、雨衰等,L/S 波段通常在 3∼4dB3\sim 4dB;
  • 跟踪误差损耗 LTRL_{TR} 与极化损耗 LpL_p:根据天线精度和极化匹配情况估算;

计算接收端载噪比·

  • 接收端品质因数 G/T(dB/dBK)=Gr(dBi)−10lg⁡(Ts)G/T(dB/dBK) = G_r(dBi) - 10\lg{(T_s)}
    • GrG_r:接收天线增益
    • TsT_s:系统噪声温度
  • 载波噪声温度比 C/T(dBW/dBK)=EIRP−LA+[G/T]C/T(dBW/dBK) = EIRP-L_A+[G/T]
  • 载噪比 C/N(dB)=[C/T]−10lg⁡(B)−kBC/N(dB) = [C/T] - 10\lg{(B)} - k_B
    • BB:噪声带宽
    • kBk_B:玻尔兹曼常数,取 −228.6dBW/K/Hz-228.6dBW/K/Hz

计算虚拟链路总载噪比(透明转发卫星系统)·

1(C/N)total=1(C/N)up+1(C/N)down\dfrac{1}{(C/N)_{total}} = \dfrac{1}{(C/N)_{up}} + \dfrac{1}{(C/N)_{down}}

考虑干扰·

若存在同频波束干扰,需要计算载干噪比

1(C/(N+I))total=1(C/N)virtual+1(C/I)\dfrac{1}{(C/(N + I))_{total}} = \dfrac{1}{(C/N)_{virtual}} + \dfrac{1}{(C/I)}

计算可达 Eb/n0·

将载噪比转换为比特信噪比,以便于解调门限比较

Eb/n0(dB)=C/(N+I)+10lg⁡B−10lg⁡Rs⏟Es/n0−10lg⁡M−10lg⁡(Rate)Eb/n0(dB) = \underbrace{C/(N+I) + 10\lg{B} - 10\lg{R_s}}_{Es/n0} - 10\lg{M} - 10\lg{(Rate)}

  • MM:码率,BPSK 为 1
  • RateRate:编码效率

计算链路余量·

  1. 确定门限 Eb/n0Eb/n0:根据 调制方式 和 目标误码率 查表得到理论值

  2. 计算余量

链路余量=(Eb/N0)可达−(Eb/N0)门限+编码增益\text{链路余量} = (E_b/N_0)_{\text{可达}} - (E_b/N_0)_{\text{门限}} + \text{编码增益}

若余量大于 00,则认为链路闭合。

单位换算:

dBW=dBm−30dBW = dBm - 30

1W=1000mW, 0dBW=30dBm1W = 1000mW,\space 0dBW = 30dBm

Eb/n0 门限·

1
2
3
EbNos = 0:0.5:20;
ber_theo = berawgn(EbNos, 'psk', 2, 'nondiff');
semilogy(EbNos, ber_theo, 'rd--', 'LineWidth', 1.5);