In [1]:

```
from math import sqrt
#Variable declaration
tx_h = 49.0 #Transmitting antenna height (m)
rx_h = 25.0 #Receiving antenna height (m)
f = 100e6 #Frequency (Hz)
tx_p = 100.0 #Transmitted power (W)
c = 3e8 #Speed of light (m/s)
a = 6370 #Earth's radius (km)
#Calculations
wave_lt = c/f #Wavelength (m)
d0 = sqrt(2*(4.0/3.0)*(a/1000.0))*(sqrt(tx_h)+sqrt(rx_h))
#Line of Sight (LOS) distance (km)
d = d0*1000 #LOS (m)
Er = (88*sqrt(tx_p)/(wave_lt*(d**2)))*tx_h*rx_h
#Received signal strength (W)
#Result
print "The Line of Sight distance is", round(d0,2), "km"
print "The received signal strength is", round(Er,6), "W"
#The mistake is in the calculation of (88*sqrt(tx_p)/(wave_lt*(d**2))) where four orders of
#magnitude are ignored in the resulting calculation.
```

Out[1]:

In [4]:

```
from math import sqrt
#Variable declaration
tx_h = 144 #Transmitting antenna height (m)
rx_h = 25 #Receiving antenna height (m)
k = 4.0/3.0 #Equivalent earth radius/Actual earth radius (unitless)
a = 6370 #Radius of earth (km)
#Calculations
los = 4.12*(sqrt(tx_h) + sqrt(rx_h)) #Line of sight distance (km)
horz = sqrt(2*k*a*(tx_h/1000.0)) #Surface range to radio horizon from radar (km)
#Result
print "The Radio horizon distance from radar is", round(horz,2),"km"
```

In [8]:

```
from math import sqrt
#Variable declaration
tx_h = 100 #Transmitting antenna height (m)
rx_h = 16 #Receiving antenna height (m)
tx_p = 40e3 #Transmitting antenna power radiation (W)
f = 100e6 #Frequency (Hz)
d = 10e3 #Distance (m)
c = 3e8 #Speed of light (m/s)
E = 1e-3 #Signal strength (V/m)
#Calculations
los = 4.12*(sqrt(tx_h) + sqrt(rx_h)) #LOS distance (km)
wave_lt = c/f #Wavelength (m)
Es = (88*sqrt(tx_p)/(wave_lt*(d**2)))*tx_h*rx_h
#Field strength at distance d (V/m)
dsig = sqrt(88*sqrt(tx_p)*tx_h*rx_h/(wave_lt*E))
#Distance at which field strength reduces to 1mV/m
#Result
print "The LOS distance is", los, "km"
print "The field strength at 10km is", round(Es,5),"V/m"
print "The distance at which field strength is 1mV/m is", round(dsig,-1), "m"
```

In [9]:

```
from math import pi
#Variable declaration
gain = 10 #Antenna gain (dB)
Wt = 500 #Power radiation (W)
d = 15e3 #Distance (m)
Wr = 2e-6 #Received power (W)
#Calculations
Ae = Wr*(4*pi*(d**2))/(Wt*gain) #Effective area (m^2)
#Result
print "The effective area of the receiving antenna is", round(Ae,2), "m^2"
```

In [10]:

```
from math import sqrt
#Variable declaration
h = 1000 #Height of duct (m)
delM = 0.036 #Change in refractive modulus (unitless)
c = 3e8 #Speed of light (m/s)
#Calculations
wl_max = 2.5*h*sqrt(delM*1e-6) #Maximum wavelength (m)
fmax = c/wl_max #Maximum frequency (Hz)
#Result
print "The maximum frequency that can be transmitted is", round(fmax/1e6,1),"MHz"
```

In [18]:

```
from math import pi,sqrt
#Variable declaration
gain = 10 #Gain of transmitting antenna (dB)
P = 100 #Radiating power (W)
f = 1e6 #Frequency (Hz)
rx_gain = 15 #Gain of receiving antenna (dB)
d = 20e3 #Distance (m)
c = 3e8 #Speed of light (m/s)
v = 1000 #scattering volume (m^3)
sigma = 0.1 #Effective scattering cross-section (m^2)
#Calculations
wl = c/f #Wavelength (m)
Pr_a = P*gain*rx_gain*(wl**2)/(4*pi*(4*pi*(d**2)))
#Received power in case (a) (W)
F = (2*sqrt(sigma*v))/(d*sqrt(pi)) #Attenuation Factor (unitless)
Pr_b = Pr_a*F #Received power in case (b) (W)
#Result
print "The received power in case (a) is", round(Pr_a,5), "W"
print "The received power in case (b) is", round(Pr_b,10), "W"
```

In [19]:

```
from math import log10
#Variable declaration
d = 3000 #Distance (km)
f = 3e3 #Frequency (MHz)
#Calculations
path_l = 32.45 + 20*log10(f) + 20*log10(d)
#Result
print "The path loss between the two points is", round(path_l,3), "dB"
```