Exemple #1
0
def tworay_pathloss(tx, rx, p=default_p_a2g):
    f_MHz = p['f_Hz'] / 1e6  # MHz
    dist_m = map_tools.distance_elevated(tx.latitude, tx.longitude,
                                         rx.latitude, rx.longitude)
    rx_height_m = p['rxh_m']  # m
    tx_height_m = p['txh_m']
    return 40 * np.log10(dist_m) - 20 * np.log10(rx_height_m * tx_height_m)
Exemple #2
0
def egli_pathloss(tx, rx, p=default_p_radio):
    f_MHz = p['f_Hz'] / 1e6  # MHz
    dist_m = map_tools.distance_elevated(tx.latitude, tx.longitude,
                                         rx.latitude, rx.longitude)
    dist_km = dist_m / 1000  # km
    ant_height_m = 2  # m
    return 88 + 20 * np.log10(f_MHz) + 40 * np.log10(dist_km) - 20 * np.log10(
        ant_height_m * ant_height_m)
Exemple #3
0
def egli_los_pathloss(tx,rx,p=default_p_radio):
    f_MHz = p['f_Hz']/1e6 # MHz
    c = 299792458.0
    dist_m = map_tools.distance_elevated(tx.latitude, tx.longitude, rx.latitude, rx.longitude)
    dist_km = dist_m/1000 # km
    ant_height_m = 2 # m
    if dist_km <= 0.5:
        wvlength = c/(f_MHz*1e6)
        acs_dB = 12.66-3.5*np.log10(ant_height_m/wvlength)+0.07*dist_km
        fsl_pl_dB = 32.45 + 20*np.log10(f_MHz)+20*np.log10(dist_km)
        return acs_dB + fsl_pl_dB
    else:
        return 88 + 20*np.log10(f_MHz)+40*np.log10(dist_km)-20*np.log10(ant_height_m*ant_height_m)
Exemple #4
0
def freespace_pathloss(tx, rx):
    f = 600e6  # Hertz
    c = 299792458.0
    dist = map_tools.distance_elevated(tx.latitude, tx.longitude, rx.latitude,
                                       rx.longitude)
    return 20 * np.log10(np.pi * 4 * dist * f / c)