3GPP无线通信信道路损及基于python的计算

目录

    • 一、背景介绍
    • 二、Python实现
    • 三、参考资料

一、背景介绍

3GPP路损模型主要在38.901中的Table 7.4.1-1:Pathloss models部分。其中表头部分写明了各参数的单位以及默认值等,下图是计算的示意图,下表是部分表。模型分为城区微站(UMi)、城区宏站(UMa)、农村大尺度(RMa)三个场景,每个场景包括LOS(视距)NLOS(视距)两类;通过分界点距离划分,在分界点两侧是两个公式。

3GPP无线通信信道路损及基于python的计算_第1张图片
3GPP无线通信信道路损及基于python的计算_第2张图片

二、Python实现

为了便于使用,通过Python实现了无线信道路损的计算。

说明:本文的Python程序既包括的路损的计算也包括的了穿损的计算,并用4G 常见的发射功率18dbm减去路损和穿损得到一个估计的接收电平。

from math import log10,sin,pow,sqrt
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

###基本函数
#RMa 适用于农村,包括LOS(视距)NLOS(视距)两种,其中要求基站高度在5到150m,手机高度1到10m,建筑物高度5到50m。
# 默认值(预计为最适用的值):基站高度35m,手机高度1.5m,建筑物高度5m。
def RMa_LOS():
    ####参数###
    d2d=1000   #地面距离,塔基到UE
    fc=0.9 #单位GHz Frenquce center 见协议7.4.1 表的最上一行和下面的note6
    Hbs=21 #basestation 高度
    Hue=1.5 #ue高度
    Hbu=8  #buildin高度
    d3d=sqrt(d2d**2+(Hbs-Hue)**2)   #空间距离,基站天线到UE天线,通过勾股定理计算

    ##计算dbp

    #计算波长将GHz转换为Hz,物理意义为菲涅尔区第一次触地位置。频率越低,波形越散,触地点越近。
    # 分母用(),否则先除载乘以幂导致错误
    dbp=2*3.1415926*Hbs*Hue*fc*10**9/(3*10**8)

    #####计算

    PL1=20*log10(40*3.1415926*d3d*fc/3)+min(0.03*pow(Hbu,1.72),10)*log10(d3d)\
    -min(0.044*pow(Hbu,1.72),14.77)+0.002*log10(Hbu)*d3d
    PL2=PL1+40*log10(d3d/dbp)

    ###计算路损PL,d2d大于10m小于10km
    if d2d<=dbp:
        PL=PL1
    if d2d>dbp:
        PL=PL2

    #农村穿损取木材和混凝土的均值
    CL=log10(4+2*fc)
    #CL=10
    #接收电平
    Rec=18-PL-CL
    return Rec

# 城郊宏站路损,包括LOS(视距)NLOS(视距)两。一般大于500米,多为NLOS。
def UMa_LOS():

    ####参数###
    d2d=1000   #地面距离,塔基到UE
    fc=0.9 #单位GHz Frenquce center 见协议7.4.1 表的最上一行和下面的note6
    Hbs=21 #basestation 高度
    Hue=1.5 #ue高度
    Hbu=8  #buildin高度
    d3d=sqrt(d2d**2+(Hbs-Hue)**2)   #空间距离,基站天线到UE天线,通过勾股定理计算

    #计算波长将GHz转换为Hz,物理意义为菲涅尔区第一次触地位置。频率越低,波形越散,触地点越近。衍射越大,值越大UMa的dbp系数是4。
    # 分母用(),否则先除载乘以幂导致错误
    dbp=4*3.1415926*Hbs*Hue*fc*10**9/(3*10**8)
    #
    if d2d>dbp:
        PL=28+40*log10(d3d)+20*log10(fc)-9*log10(dbp*dbp+(Hbs-Hue)*(Hbs-Hue))
    if d2ddbp:
        PL=PL2

    #农村穿损取木材和混凝土的均值
    CL=log10(4+2*fc)
    #CL=10
    #接收电平
    Rec=18-PL-CL
    return Rec

# 城郊宏站路损,包括LOS(视距)NLOS(视距)两种



if __name__ == '__main__':
    dict1={}
    d=np.arange(200,1500,100)
    for d2d in d:
        r=RMa_LOS_d2d(d2d)
        dict1.update({d2d:r})
    print(dict1)
    Sr1=pd.Series(dict1)
    print(Sr1)

    plt.plot(Sr1,color='red', marker='s')
    plt.show()

三、参考资料

计算公式 https://developer.aliyun.com/article/743746?spm=a2c6h.12873639.0.0.631f16fcjkb4b5
城区微站(UMi)、城区宏站(UMa)、农村(RMa) https://developer.aliyun.com/article/743744?spm=a2c6h.12873639.0.0.183c3da0MnfMmX
分界点距离 https://zhuanlan.zhihu.com/p/24349070
38.901 协议https://www.doc88.com/p-94961760022567.html
路损模型中无下倾角和方位角,它们只能决定天线实际打向那个方向和间接确定位置,不能决定该方向和位置上的损耗。

你可能感兴趣的:(python,网络)