summaryrefslogtreecommitdiff
path: root/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi
diff options
context:
space:
mode:
authorkinitrupti2017-05-12 18:53:46 +0530
committerkinitrupti2017-05-12 18:53:46 +0530
commitf270f72badd9c61d48f290c3396004802841b9df (patch)
treebc8ba99d85644c62716ce397fe60177095b303db /Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi
parent64d949698432e05f2a372d9edc859c5b9df1f438 (diff)
downloadPython-Textbook-Companions-f270f72badd9c61d48f290c3396004802841b9df.tar.gz
Python-Textbook-Companions-f270f72badd9c61d48f290c3396004802841b9df.tar.bz2
Python-Textbook-Companions-f270f72badd9c61d48f290c3396004802841b9df.zip
Removed duplicates
Diffstat (limited to 'Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi')
-rwxr-xr-xPropagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter1_1.ipynb109
-rwxr-xr-xPropagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter2_1.ipynb446
-rwxr-xr-xPropagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter3_1.ipynb769
-rwxr-xr-xPropagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter4_1.ipynb534
-rwxr-xr-xPropagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter5_1.ipynb465
-rwxr-xr-xPropagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter6_1.ipynb957
-rwxr-xr-xPropagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter7_1.ipynb750
7 files changed, 4030 insertions, 0 deletions
diff --git a/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter1_1.ipynb b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter1_1.ipynb
new file mode 100755
index 00000000..d6586880
--- /dev/null
+++ b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter1_1.ipynb
@@ -0,0 +1,109 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:210d4209b2bf5bb89dd881d85f3fd691c9eeb52914bb6a1ab12008858853aedb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1 : Introduction to Radiowaves"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1, page 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "fo=8387.5 #frequency in MHz\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#defining a function for 6 MHZ channels with 14 MHz separation\n",
+ "def F(n):\n",
+ " fn=fo-108.5+(14*n);\n",
+ " return (fn)\n",
+ "\n",
+ "def F1(n):\n",
+ " fn=fo+10.5+(14*n);\n",
+ " return (fn)\n",
+ "\n",
+ "#defining a function for 12 MHZ channels with 7 MHz separation\n",
+ "def F2(n):\n",
+ " fn=fo-108.5+(7*n);\n",
+ " return (fn)\n",
+ "\n",
+ "def F3(n):\n",
+ " fn=fo+17.5+(7*n);\n",
+ " return (fn)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'(1) 6-RF channels with 14 MHz separation'\n",
+ "print' f1 = %d'%F(1)\n",
+ "print' f11 = %d'%F1(1)\n",
+ "print' f2 = %d'%F(2)\n",
+ "print' f21 = %d'%F1(2)\n",
+ "print' f3 = %d'%F(3)\n",
+ "print' f31 = %d'%F1(3)\n",
+ "print'(2) 12-RF channels with 7 MHz separation'\n",
+ "print' f1 = %d'%F2(1)\n",
+ "print' f11 = %d'%F3(1)\n",
+ "print' f2 = %d'%F2(2)\n",
+ "print' f21 = %d'%F3(2)\n",
+ "print' f3 = %d'%F2(3) #wrong value calculated in textbook\n",
+ "print' f31 = %d'%F3(3) #wrong value calculated in textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) 6-RF channels with 14 MHz separation\n",
+ " f1 = 8293\n",
+ " f11 = 8412\n",
+ " f2 = 8307\n",
+ " f21 = 8426\n",
+ " f3 = 8321\n",
+ " f31 = 8440\n",
+ "(2) 12-RF channels with 7 MHz separation\n",
+ " f1 = 8286\n",
+ " f11 = 8412\n",
+ " f2 = 8293\n",
+ " f21 = 8419\n",
+ " f3 = 8300\n",
+ " f31 = 8426\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter2_1.ipynb b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter2_1.ipynb
new file mode 100755
index 00000000..9b69db10
--- /dev/null
+++ b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter2_1.ipynb
@@ -0,0 +1,446 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:55fa86de219c4f643fa6676095f34a4af682ba335d02a01747382a5f3a074890"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2 : Basic Principles in Radiowave Propagation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1, page 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "sig=0.005 #sigma\n",
+ "ur=1 #relative permeability\n",
+ "er=12 #relative permittivity\n",
+ "eo=8.85*10**-12 #permittivity of a free space\n",
+ "f1=10*10**3 #frequency of radio wave 1\n",
+ "f2=10*10**9 #frequency of radio wave 2\n",
+ "\n",
+ "#Calculation\n",
+ "c1=sig/(2*math.pi*f1*eo*er) #conductivity at f1\n",
+ "c2=sig/(2*math.pi*f2*eo*er) #conductivity at f2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print'conductivity at f1 = %.1f >> 1'%c1\n",
+ "print'conductivity at f2 = %.1f x10^-4 >> 1'%(c2*10**4)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "conductivity at f1 = 749.3 >> 1\n",
+ "conductivity at f2 = 7.5 x10^-4 >> 1\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2, page 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "c1=3*10**8 #speed of light in m/s\n",
+ "f1=100*10**6 #frequency in hertz\n",
+ "f2=1*10**9 #frequency in hertz\n",
+ "\n",
+ "#Calculation\n",
+ "v1=c1/(9) #velocity in m/s\n",
+ "v2=c1 #velocity in m/s\n",
+ "h1=v1*f1**-1 #wavelength at f1, v1\n",
+ "h2=v2*f1**-1 #wavelength at f1, v2\n",
+ "h3=v1*f2**-1 #wavelength at f2, v1\n",
+ "h4=v2*f2**-1 #wavelength at f2, v2\n",
+ "\n",
+ "#Result\n",
+ "print'Velocity,'\n",
+ "print'V1 = %.2f x10^7 m/s'%(v1*10**-7)\n",
+ "print'V2 = %.2f x10^8 m/s'%(v2*10**-8)\n",
+ "print'\\nfor f1 = 100 MHz'\n",
+ "print'lambda1 = %f m'%h1\n",
+ "print'lambda2 = %d m'%h2\n",
+ "print'\\nfor f2 = 1 GHz'\n",
+ "print'lambda1 = %.2f cm'%(h3*10)\n",
+ "print'lambda2 = %d cm'%(h4*10**2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity,\n",
+ "V1 = 3.33 x10^7 m/s\n",
+ "V2 = 3.00 x10^8 m/s\n",
+ "\n",
+ "for f1 = 100 MHz\n",
+ "lambda1 = 0.333333 m\n",
+ "lambda2 = 3 m\n",
+ "\n",
+ "for f2 = 1 GHz\n",
+ "lambda1 = 0.33 cm\n",
+ "lambda2 = 30 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3, page 37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import cmath\n",
+ "\n",
+ "#Initialisation\n",
+ "s=0.08 #medium conductivit\n",
+ "w=10**7 #angular velocity\n",
+ "e=8.85*10**-7 #permitivity if free space\n",
+ "u=14 #medium permeability\n",
+ "uo=4*3.14*10**-7 #permeability of free space\n",
+ "\n",
+ "#Calculation\n",
+ "f=w*(2*3.14)**-1 #frequency\n",
+ "a=math.sqrt(f*math.pi*s*uo) #attenuation\n",
+ "b=a #phase\n",
+ "d=complex(a,b)\n",
+ "y=d #propagation constants\n",
+ "z=math.log10(0.5)/(-math.log10(math.exp(1))*2*a) #Depth of the land\n",
+ "\n",
+ "#Result\n",
+ "print'(1) Attenuation = %.1f Np/m'%a\n",
+ "print' Phase = %.1f Rad/m'%b\n",
+ "print' Propagation constant = %.1f'%y.real\n",
+ "print' + %.1f j rad/m'%y.imag\n",
+ "print'(2) Depth of land = %.2f m'%z"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Attenuation = 0.7 Np/m\n",
+ " Phase = 0.7 Rad/m\n",
+ " Propagation constant = 0.7\n",
+ " + 0.7 j rad/m\n",
+ "(2) Depth of land = 0.49 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.6, page 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "W=100*10**-12 #power in watt\n",
+ "no=120*math.pi\n",
+ "\n",
+ "#Calculation\n",
+ "Em=math.sqrt(2*no*W) #effective value of E\n",
+ "Ee=Em/math.sqrt(2) #effective value of E\n",
+ "Hm=math.sqrt((2*10**-10)/(no)) #effective value of H\n",
+ "He=Hm/math.sqrt(2) #effective value of H\n",
+ "\n",
+ "#Result\n",
+ "print'Em = %.1f uV/m'%(Em*10**6)\n",
+ "print'Ee = %.1f uV/m'%(Ee*10**6)\n",
+ "print'Hm = %.3f uA/m'%(Hm*10**6)\n",
+ "print'He = %.2f uA/m'%(He*10**6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Em = 274.6 uV/m\n",
+ "Ee = 194.2 uV/m\n",
+ "Hm = 0.728 uA/m\n",
+ "He = 0.52 uA/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7, page 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "f=7.5 #frequency in GHz\n",
+ "d=40 #link distance in Km\n",
+ "Pt=30 #transmitter power in dBm\n",
+ "La=15 #additional loss\n",
+ "Pth=-78 #RX threshold\n",
+ "\n",
+ "#Calculation\n",
+ "FSL=92.4+(20*math.log10(f*d)) #FSL\n",
+ "RSL=Pt-(0.4*FSL)-La #RSL\n",
+ "FM=RSL-Pth #fade margin\n",
+ "\n",
+ "#Result\n",
+ "print'(1) Received signal level (RSL) = %.1f dBm'%RSL\n",
+ "print'(2) Fade margin = %.1f dB'%FM\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Received signal level (RSL) = -41.8 dBm\n",
+ "(2) Fade margin = 36.2 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.8, page 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "Pt=10 #transmitter power in watt\n",
+ "Gt=5 #antenna power in dBm\n",
+ "Lt=2 #feeder loss in dB\n",
+ "d=8000 #distance in meter\n",
+ "no=120*math.pi\n",
+ "\n",
+ "#Calculation\n",
+ "EIRP=Pt+Gt-Lt \n",
+ "x=EIRP*10**-1 \n",
+ "EIRP2=10**x #Equivalent isotropic radiated power\n",
+ "Ed=math.sqrt(30*EIRP2)/d #Electric Field Intensity\n",
+ "W=(Ed**2)/(2*no) #power in watt\n",
+ "\n",
+ "#Result\n",
+ "print'EIRP = %.1f W'%EIRP2\n",
+ "print'|Ed| = %.2f mV/m'%(Ed*10**3)\n",
+ "print'W = %.1f nW/m^2'%(W*10**9)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "EIRP = 20.0 W\n",
+ "|Ed| = 3.06 mV/m\n",
+ "W = 12.4 nW/m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.9, page 47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "FSL=128 #FSL in dB\n",
+ "Lb=135 #Sum of FSL and medium loss Lm\n",
+ "Lc=5\n",
+ "Gt=30 #transmitter gain in dB\n",
+ "Gr=30 #reciever gain in dB\n",
+ "Pr=-60 #received signal level\n",
+ "\n",
+ "#Calculation\n",
+ "Lm=Lb-FSL #medium loss in dB\n",
+ "Lm1=10**(Lm*10**-1) #medium loss\n",
+ "Pt=Lc+Lb-Gt-Gr+Pr #power in dBm\n",
+ "Pt1=10**(Pt*10**-1) #power in watt \n",
+ "\n",
+ "#Result\n",
+ "print'Medium Loss = %d'%Lm1\n",
+ "print'Pt = %.1f mW'%(Pt1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Medium Loss = 5\n",
+ "Pt = 100.0 mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.10, page 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "ri1=1.00025 #refractive index\n",
+ "ri2=1.00023 #refractive index\n",
+ "h1=1 #height in Km\n",
+ "h2=1.5 #height in Km\n",
+ "n=1.00026 #variation\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "deln=ri1-ri2\n",
+ "delh=h2-h1\n",
+ "d=deln/delh\n",
+ "R=n/d #radius of curvature\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print'Radiowave curvature radius, R = %.d Km'%R"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Radiowave curvature radius, R = 25006 Km\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.11, page 51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "R=25000 #path curvature radius in Km\n",
+ "Re=6370 #Earth radius in Km\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "K=R*(R-Re)**-1 #K factor\n",
+ "Re1=K*Re #equivalent radii of the Earth\n",
+ "R1=(1*Re1**-1)-(1*Re**-1)+(1*R**-1)\n",
+ "d=1*R1**-1 #equivalent radii of the path\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print'K = %.3f'%K\n",
+ "print'Re1 = %d'%Re1\n",
+ "print'R1 = %d'%d\n",
+ "print'Therefore, R1 ~ infinity'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "K = 1.342\n",
+ "Re1 = 8548\n",
+ "R1 = 147573952589676412928\n",
+ "Therefore, R1 ~ infinity\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter3_1.ipynb b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter3_1.ipynb
new file mode 100755
index 00000000..ce1dfb31
--- /dev/null
+++ b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter3_1.ipynb
@@ -0,0 +1,769 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2889947ecf1bb93d75d23a9b033bb461f9ca25a6919259a4e295df30c37ddd8c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Radiowave Propagation in Troposphere"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1, page 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "h=2 #height in Km\n",
+ "h1=5 #height in Km\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "t2=290-(6.5*h) #Proposed formula for height h=2Km\n",
+ "p2=950-117*h\n",
+ "e2=8-3*h\n",
+ "t21=294.98-5.22*h-0.007*h**2\n",
+ "p21=1012.82-111.56*h+3.86*h**2\n",
+ "p=14.35*2.72**(-0.42*h-0.02*h*h+0.001*h**3)\n",
+ "\n",
+ "t5=290-6.5*h1 #Proposed formula for height h=5Km\n",
+ "p5=950-117*h1\n",
+ "e5=8-3*h1\n",
+ "t51=294.98-5.22*h1-0.007*h1**2\n",
+ "p51=1012.82-111.56*h1+3.86*h1**2\n",
+ "p1=14.35*2.72**(-0.42*h1-0.02*h1**2+0.001*h1**3)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'T(2) = %.1f K'%t21\n",
+ "print'P(2) = %.2f hpa'%p21\n",
+ "print'p(2) = %.2f hpa\\n'%p\n",
+ "print'T(5) = %.1f K'%t51\n",
+ "print'P(5) = %.2f hpa'%p51\n",
+ "print'p(5) = %.2f hpa'%p1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "T(2) = 284.5 K\n",
+ "P(2) = 805.14 hpa\n",
+ "p(2) = 5.76 hpa\n",
+ "\n",
+ "T(5) = 268.7 K\n",
+ "P(5) = 551.52 hpa\n",
+ "p(5) = 1.21 hpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2, page 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "h=2 #Height in Km\n",
+ "T=277 #Tempreture in Kelvin\n",
+ "p=716\n",
+ "e=2\n",
+ " \n",
+ "\n",
+ "#Calculation\n",
+ "er=1+(151.1/T)*(p+(4810*h/T))*10**-6 \n",
+ "n=er**(0.515) #refractive index of the air\n",
+ "N=(n-1)*10**6 #refractivity number\n",
+ " \n",
+ "\n",
+ "#Results\n",
+ "print'n = %.5f'%n\n",
+ "print'N = %d'%N"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "n = 1.00021\n",
+ "N = 210\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3, page 67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "er=1.001 #relative permittivity of a medium\n",
+ "dn=35*10**-6 #vertical gradient of refractive index\n",
+ "Re=6370 #actual redius of earth\n",
+ "d=20 #transmitter and receiver distance in Km\n",
+ "d1=5\n",
+ "d2=15\n",
+ "K1=1.3333 #standard atmosphere condition\n",
+ "\n",
+ "#Calculation\n",
+ "R=(er**0.5)/dn\n",
+ "K=R/(R-Re)\n",
+ "hm=(125*d**2)/(K*Re) #Earth bulge value in the middle of the path\n",
+ "h1=(500*d1*d2)/(K*Re) #h1\n",
+ "h2=(500*d1*d2)/(K1*Re) #h2\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'Bulge value = %.1f m'%hm\n",
+ "print'Bulge value, h1 = %.2f m'%h1\n",
+ "print'Bulge value, h2 = %.2f m'%h2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bulge value = 6.1 m\n",
+ "Bulge value, h1 = 4.58 m\n",
+ "Bulge value, h2 = 4.42 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4, page 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "K=1.33\n",
+ "d1=24 #heigth in Km\n",
+ "d2=15 #heigth in Km\n",
+ "K1=1\n",
+ "Re=6370 #actual redius of earth\n",
+ "\n",
+ "#Calculation\n",
+ "R=4.12*(d1**0.5+d2**0.5)\n",
+ "R1=K1*Re\n",
+ "Rrh=(2*R1*d1)**0.5+(2*R1*d2)**0.5\n",
+ "\n",
+ "#Results\n",
+ "print'K=1.33'\n",
+ "print'Rrh = %.1f km\\n'%R\n",
+ "print'K=1'\n",
+ "print'Rrh = %.1f km'%Rrh #wrong answer in textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "K=1.33\n",
+ "Rrh = 36.1 km\n",
+ "\n",
+ "K=1\n",
+ "Rrh = 990.1 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5, page 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Initialisation\n",
+ "No=1 #index of refraction\n",
+ "N1=1.3*10**-7\n",
+ "h=20 #height\n",
+ "\n",
+ "#Calculation\n",
+ "wc=math.asin(((4*No)/((4*No)+((h**2)*N1)))) #critical angle\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'Critical angle = %f'%wc #ans is not written in textbook\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Critical angle = 1.565697\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6, page 76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "dn=-0.2 #air refractivity gradient\n",
+ "d=20 #height\n",
+ "b=0.074 #elevation angle from graph 3.10\n",
+ "f=7 #frequency in Ghz from graph 3.11\n",
+ "c=2*10**-6\n",
+ "\n",
+ "#Calculation\n",
+ "t=0.156 #1000/6370\n",
+ "dm=dn+t\n",
+ "a=(-c*dm*d)**0.5 #elevation angle of waves\n",
+ "\n",
+ "#Results\n",
+ "print'Elevation angle of waves = %.2f mrad'%(a*10**3)\n",
+ "print'Elevation angle = %.3f'%b #from graph 3.10\n",
+ "print'Minimum frequency of coupling waves into the duct = %d Ghz'%f #from graph 3.11"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Elevation angle of waves = 1.33 mrad\n",
+ "Elevation angle = 0.074\n",
+ "Minimum frequency of coupling waves into the duct = 7 Ghz\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7, page 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=18 #frequency in GHz\n",
+ "d=30 #in km\n",
+ "R=25 #rainfall intensity in mm\n",
+ "\n",
+ "#Using Table 3.3\n",
+ "av15=1.128\n",
+ "av20=1.065\n",
+ "av18=1.09\n",
+ "kv15=0.0335\n",
+ "kv20=0.0691\n",
+ "kv18=0.0587\n",
+ "\n",
+ "#Calculation\n",
+ "yr=kv18*R**av18 #rain specific attenuation\n",
+ "de=(90*(90+d)**-1)*d\n",
+ "A=de*yr #Maximum rain attenuation\n",
+ " \n",
+ "#Results\n",
+ "print'(1) Rain specific attenuation = %.2f dB/km'%yr\n",
+ "print'(2) Maximum rain attenuation = %.1f dB'%A\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Rain specific attenuation = 1.96 dB/km\n",
+ "(2) Maximum rain attenuation = 44.1 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.9, page 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "rh=-1\n",
+ "s=4 #sigma in S/m\n",
+ "f=5*10**9 #frequency in Hz\n",
+ "eo=8.85*10**-12 #permitivity of free space\n",
+ "er=75 #permitivity of medium\n",
+ "w1=30*3.14*180**-1 #in radians\n",
+ "\n",
+ "#Calculation\n",
+ "w=2*math.pi*f\n",
+ "x=s*(w*eo)**-1\n",
+ "a=math.sin(w1)-math.sqrt((er-x)-math.cos(w1)**2)\n",
+ "a1=math.sin(w1)+math.sqrt((er-x)-math.cos(w1)**2)\n",
+ "rh1=a/a1\n",
+ "b1=(er-x)*math.sin(w1)-math.sqrt((er-x)-math.cos(w1)**2)\n",
+ "b2=(er-x)*math.sin(w1)+math.sqrt((er-x)-math.cos(w1)**2)\n",
+ "rv=-b1/b2\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'(2) X = %.1f'%x\n",
+ "print'(3) Rh = %.3f'%rh1\n",
+ "print' Rv = %.1f'%rv\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(2) X = 14.4\n",
+ "(3) Rh = -0.879\n",
+ " Rv = -0.6\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.10, page 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=5*10**9 #frequency in Hz\n",
+ "c=3*10**8 #speed of light\n",
+ "h1=6 #in metre\n",
+ "h2=2 #in metre\n",
+ "\n",
+ "#Calculation\n",
+ "h=c*f**-1 #wavelength \n",
+ "w=math.atan(h1*2250**-1) #grazing angle in radian\n",
+ "w1=w*180*math.pi**-1 #grazing angle in degree\n",
+ "a=((2*math.pi*h1*h2)*(h*300)**-1)*3.14*180**-1\n",
+ "e=math.sin(a) \n",
+ "F=e*2*180*math.pi**-1 #PGF value (wrong calculated in textbook)\n",
+ "LR=20*math.log10(F) #Decrease in received signal level\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Grazing angle = %.2f degree'%w1\n",
+ "print'(2) PGF value = %f'%F #wrong value calculated in textbook\n",
+ "print'(3) Decrease in received signal level = %.2f dB'%LR #wrong value calculated in textbook\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Grazing angle = 0.15 degree\n",
+ "(2) PGF value = 8.365884\n",
+ "(3) Decrease in received signal level = 18.45 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.11, page 98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Initialisation\n",
+ "h=12.5*10**-2 #in meter\n",
+ "d1=10*10**3 #in meter\n",
+ "d2=15*10**3 #in meter\n",
+ "d3=12.5*10**3 #in meter\n",
+ "d4=12.5*10**3 #in meter\n",
+ "h=1.25 #in Kilometer\n",
+ "\n",
+ "#Calculation\n",
+ "r1=(((d1*d2)/(d1+d2))*h)**0.5 #radius of first and fourth Fresnel zones\n",
+ "r4=r1*(4)**0.5\n",
+ "R1=(((d3*d4)/(d3+d4))*h)**0.5 #radius of first and fourth ellipse zones\n",
+ "R4=R1*(4)**0.5\n",
+ "\n",
+ "#Results\n",
+ "print'Radius of first fresnel zones, r1 = %.2f m'%r1\n",
+ "print'Radius of Second fresnel zones, r4= %.2f m'%r4\n",
+ "print'h = %.2f x 10^-4 Km'%h\n",
+ "print'Radius of first ellipse, R1 = %.2f m'%R1\n",
+ "print'Radius of second ellipse, R4 = %.1f m'%R4"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Radius of first fresnel zones, r1 = 86.60 m\n",
+ "Radius of Second fresnel zones, r4= 173.21 m\n",
+ "h = 1.25 x 10^-4 Km\n",
+ "Radius of first ellipse, R1 = 88.39 m\n",
+ "Radius of second ellipse, R4 = 176.8 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.12, page 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "%matplotlib inline\n",
+ "import matplotlib\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Initialisation\n",
+ "L=13200 #L parameter in m\n",
+ "H=10240 #H parameter \n",
+ "Re=6370000 #actual redius of earth\n",
+ "ht=30 #height in m\n",
+ "hr=20 #height in m\n",
+ "re1=8453000 # in metre\n",
+ "h1=30000 # in metre \n",
+ "h2=20000 # in metre\n",
+ "dt1=22.5\n",
+ "f=10*10**9 #frequency in Hz\n",
+ "c=3*10**8 #speed of light\n",
+ "d=30000 #distance in m\n",
+ "pt=30 #transmitter antenna power\n",
+ "gt=40 #transmitter antenna gain\n",
+ "gr=40 #receiver antenna gain \n",
+ "F3=-3\n",
+ "H=-34\n",
+ "D=0.75\n",
+ "\n",
+ "#Calculation\n",
+ "dt=math.sqrt(2*re1*ht)\n",
+ "X=3*dt*L**-1\n",
+ "Z1=h1*H**-1\n",
+ "Z2=h2*H**-1\n",
+ "vx=10**-3.5 #from fig 3.26\n",
+ "z1=10**0.95 #from fig 3.27\n",
+ "z2=10**0.65 #from fig 3.27\n",
+ "\n",
+ "#for d=3dt\n",
+ "lv=20*math.log10(vx)\n",
+ "lz1=20*math.log10(z1)\n",
+ "lz2=20*math.log10(z2)\n",
+ "F=(lv+lz1+lz2)*20**-1\n",
+ "F1=10**(F)\n",
+ "F11=20*math.log10(F1)\n",
+ "X1=2*dt*L**-1\n",
+ "d3=3\n",
+ "f3=-F11\n",
+ "\n",
+ "vx1=10**-2.35 #from fig 3.26\n",
+ "lv1=20*math.log10(vx1)\n",
+ "\n",
+ "#for d=2dt\n",
+ "F4=1+D\n",
+ "F5=20*math.log10(F4)\n",
+ "d2=2\n",
+ "f2=-F5\n",
+ "\n",
+ "\n",
+ "#for d=1.1dt\n",
+ "F6=math.sqrt(1+D**2)\n",
+ "F7=20*math.log10(F6)\n",
+ "d11=1.1\n",
+ "f11=-F7\n",
+ "\n",
+ "#for d=dt\n",
+ "d1=1\n",
+ "f1=0.2\n",
+ "\n",
+ "#for plotting graph in terms of points\n",
+ "\n",
+ "for N in range(0,4,1):\n",
+ " a=plot(1,0.2,'-o')\n",
+ " a1=plot(1.1,-1.9,'-o')\n",
+ " a2=plot(2,-4.8,'-o')\n",
+ " a3=plot(3,-38,'-o')\n",
+ " \n",
+ "plt.annotate('d/dt',xy=(1,2),xytext=(1, 2))\n",
+ "plt.annotate('1.1d/dt',xy=(1.2,0.7),xytext=(1.2, 0.7))\n",
+ "plt.annotate('2d/dt',xy=(2,-0.7),xytext=(2, -0.7))\n",
+ "plt.annotate('3d/dt',xy=(3,-35),xytext=(3, -35))\n",
+ "xlabel(\"$d/dt$\")\n",
+ "ylabel(\"$20 log(F)$ (dB)\")\n",
+ "title(\"Path gain F\")\n",
+ "grid()\n",
+ "show(a)\n",
+ "show(a1)\n",
+ "show(a2)\n",
+ "show(a3)\n",
+ " \n",
+ "h=c*f**-1 #wavelength\n",
+ "Pr=pt+gt+gr+H+F3-10*math.log10(4*math.pi*d**2) #Received signal power\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Effective receiver path gain F = %.4f'%F11\n",
+ "print'(2) Path gain F plot is shown'\n",
+ "print'(3) Received signal power Pr = %.1f dBm'%Pr\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f10dda53110>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Effective receiver path gain F = -38.0000\n",
+ "(2) Path gain F plot is shown\n",
+ "(3) Received signal power Pr = -27.5 dBm\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.13, page 109"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "\n",
+ "#Initialisation\n",
+ "eirp=800 #in KW\n",
+ "d=24 #in Km\n",
+ "a=0.03 #in radian\n",
+ "d1=22 #in Km\n",
+ "d2=2 #in Km\n",
+ "h=0.4*10**-3 #wavelength in m\n",
+ "Er=45 #in microvolt\n",
+ "\n",
+ "#Calculation\n",
+ "E=104.8+10*math.log10(eirp)-20*math.log10(d) #field intensity\n",
+ "V=a*math.sqrt((2*d2*d1)/((d1+d2)*h)) #knife edge obstacle attenuation\n",
+ "Lke=23 #from table 3.4\n",
+ "er=10**(Er*20**-1)\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Electric field intensity = %.3f microV/m'%er\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Electric field intensity = 177.828 microV/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.14, page 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "f1=430 #upper frequency band\n",
+ "f2=410 #lower frequency band\n",
+ "d=80 #distance in meter\n",
+ "\n",
+ "#Calculation\n",
+ "Yv=0.1 #Specific attenuation obtained from graph fig 3.34 \n",
+ "Lv=Yv*d #loss of forest trees\n",
+ "Am=((f1+f2)/2)**0.5 #maximum value for trees excess loss.\n",
+ "\n",
+ "#Results\n",
+ "print'Specific attenuation index, Yv = %.1f dB/m'%Yv\n",
+ "print'Loss of forest trees, Lv = %.1f dB'%Lv\n",
+ "print'Maximum value for trees excess loss = %.1f dB'%Am"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Specific attenuation index, Yv = 0.1 dB/m\n",
+ "Loss of forest trees, Lv = 8.0 dB\n",
+ "Maximum value for trees excess loss = 20.5 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.15, page 118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initialisation\n",
+ "d=40 #length in meter\n",
+ "Am=2 #area in square meter\n",
+ "f=10*10**9 #frequency in hertz\n",
+ "\n",
+ "#Calculation\n",
+ "As=40 #using graph fig 3.36, As can be obtained \n",
+ "As1=30 #using graph fig 3.37, As can be obtained\n",
+ "\n",
+ "#Results\n",
+ "print'Loss in the summer for trees with leaves, As = %d dB'%As\n",
+ "print'Loss in winter for trees without leaves, As = %d dB'%As1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Loss in the summer for trees with leaves, As = 40 dB\n",
+ "Loss in winter for trees without leaves, As = 30 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter4_1.ipynb b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter4_1.ipynb
new file mode 100755
index 00000000..9666b1af
--- /dev/null
+++ b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter4_1.ipynb
@@ -0,0 +1,534 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8b82c1850573ed04faf5b016dd3b7bb1cd3e59fe769778d2d3498929713b1cff"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4: Radiowave Propagation in Ionosphere"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1, page 130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "h=400 #height in Km\n",
+ "pd=1*10**8 #plasma density at height D\n",
+ "pe=1*10**10 #plasma density at height E\n",
+ "pf=3*10**11 #plasma density at height F\n",
+ "Wd=20*10**3 #thickness of D\n",
+ "We=40*10**3 #thickness of E\n",
+ "Wf=190*10**3 #thickness of F\n",
+ "\n",
+ "#Calculation\n",
+ "tecd=Wd*pd #total electron content at D\n",
+ "tece=We*pe #total electron content at E\n",
+ "tecf=Wf*pf #total electron content at F\n",
+ "tec=tecd+tece+tecf \n",
+ "tec1=tec*math.sqrt(2) #total electron content\n",
+ "\n",
+ "#Results\n",
+ "print'(2) TEC (D) = %.1f x 10^12 el/m^2'%(tecd/10**12)\n",
+ "print' TEC (E) = %.1f x 10^14 el/m^2'%(tece/10**14)\n",
+ "print' TEC (F) = %.2f x 10^16 el/m^2'%(tecf*10**-16)\n",
+ "print'(3) TEC = %.1f x 10^16 el/m^2'%(tec1/10**16)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(2) TEC (D) = 2.0 x 10^12 el/m^2\n",
+ " TEC (E) = 4.0 x 10^14 el/m^2\n",
+ " TEC (F) = 5.70 x 10^16 el/m^2\n",
+ "(3) TEC = 8.1 x 10^16 el/m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2, page 134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "N=5*10**11 #Electron density in F layer\n",
+ "\n",
+ "#Calculation\n",
+ "F=9*math.sqrt(N) #f0F frequency\n",
+ "\n",
+ "#Results\n",
+ "print'(1) hmin = 200Km hmax = 400Km' #from graph\n",
+ "print'(2) F = %.1f Mhz'%(F*10**-6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) hmin = 200Km hmax = 400Km\n",
+ "(2) F = 6.4 Mhz\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3, page 136"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "fc=6.3*10**6 #frequency in hertz\n",
+ "\n",
+ "#Calculation\n",
+ "f=fc*math.sqrt(2) #maximum usable frequency\n",
+ "\n",
+ "#Results\n",
+ "print'Maximum usable frequency = %.3f MHz'%(f*10**-6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum usable frequency = 8.910 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4, page 137"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "tec=10**17 #total electron content\n",
+ "H=200*10**3 #thickness of F layer\n",
+ " \n",
+ "#Calculation\n",
+ "pd=tec/H #plasma density at F\n",
+ "fc=9*math.sqrt(pd)\n",
+ "ouf=3.6*fc*0.8 #optimum usable frequency\n",
+ "muf=fc*1.788 #maximum usable frequency\n",
+ "\n",
+ "#Results\n",
+ "print'Maximum usable frequency = %.1f MHz'%(fc*10**-6)\n",
+ "print'Optimum usable frequency < %.3f MHz'%(ouf*10**-6)\n",
+ "print'Maximum usable frequency (30) = %.1f MHz'%(muf*10**-6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum usable frequency = 6.4 MHz\n",
+ "Optimum usable frequency < 18.328 MHz\n",
+ "Maximum usable frequency (30) = 11.4 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5, page 138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "d=1000 #distance in km\n",
+ "re=6370 #earth radius in km\n",
+ "dt=30 #in degree\n",
+ "\n",
+ "#Calculation\n",
+ "teta=d*(2*re)**-1 #theta in radians\n",
+ "tet=teta*180*math.pi**-1 #theta in degree\n",
+ "w1=90-dt-tet\n",
+ "a=math.sin(w1*3.14/180)/re\n",
+ "a1=math.sin((90+dt)*3.14/180)\n",
+ "h=(a1*a**-1)-re #height\n",
+ "#Results\n",
+ "print'(1) virtual height of the reflection point = %d km'%h #wrong value calculated in textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) virtual height of the reflection point = 330 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6, page 142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "d=200 #height in Km\n",
+ "f=700 #frequency in Khz\n",
+ "\n",
+ "#Calculation\n",
+ "T1e=0.4 #from graph 4.10\n",
+ "T2e=0.9\n",
+ "T3e=1.7\n",
+ "T1f=1.3\n",
+ "T2f=2.8\n",
+ "T3f=4.3\n",
+ "Tef=0.3\n",
+ "Tef1=2.7\n",
+ "Tef2=0.5\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Time delay of E layer, Td(1E) = %.1f ms'%T1e\n",
+ "print' Td(2E) = %.1f ms'%T2e\n",
+ "print' Td(2E) = %.1f ms'%T3e\n",
+ "print' Time delay of F layer, Td(1F) = %.1f ms'%T1f\n",
+ "print' Td(2F) = %.1f ms'%T2f\n",
+ "print' Td(2F) = %.1f ms'%T3f\n",
+ "print'(2) Time delay of E and F for a distance of 500 km, Td(E,F) = %.1f ms'%Tef\n",
+ "print'(3) Td(1F,3F) = %.1f ms'%Tef1\n",
+ "print' Td(1E,3E) = %.1f ms'%Tef2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Time delay of E layer, Td(1E) = 0.4 ms\n",
+ " Td(2E) = 0.9 ms\n",
+ " Td(2E) = 1.7 ms\n",
+ " Time delay of F layer, Td(1F) = 1.3 ms\n",
+ " Td(2F) = 2.8 ms\n",
+ " Td(2F) = 4.3 ms\n",
+ "(2) Time delay of E and F for a distance of 500 km, Td(E,F) = 0.3 ms\n",
+ "(3) Td(1F,3F) = 2.7 ms\n",
+ " Td(1E,3E) = 0.5 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7, page 147"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=1.5*10**9 #frequency in Hz\n",
+ "tec=10**18 #total electron content\n",
+ "g=5*10**-3 #geomagnetic field intensity\n",
+ "a=3.36*10**2\n",
+ "\n",
+ "#Calculation\n",
+ "teta= a*g*tec*(f**-2) #Faraday rotation in Radian\n",
+ "c=0.8422\n",
+ "x=20*math.log10(c) #loss value in dB\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Faraday rotation = %.1f Rad'%teta\n",
+ "print'(2) Loss = %f dB'%x"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Faraday rotation = 0.7 Rad\n",
+ "(2) Loss = -1.491695 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8, page 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "tec1=10**18 #total electron content\n",
+ "f=1.5 #frequency in Hertz\n",
+ "tec2= 10**17 #total electron content\n",
+ "\n",
+ "#Calculation\n",
+ "teta = 600 #Faraday rotation in mRadian\n",
+ "T=5 #time delay in ns\n",
+ "gd=0.5 #time delay difference in ns\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Faraday rotation = %d mRad'%teta\n",
+ "print'(2) Time delay = %d ns'%T\n",
+ "print'(3) G/D = %.1f ns'%gd"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Faraday rotation = 600 mRad\n",
+ "(2) Time delay = 5 ns\n",
+ "(3) G/D = 0.5 ns\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9, page 158"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "phi=166 #in radian \n",
+ "t=35*math.pi/180 #geographic latitude in radian\n",
+ "t1=60*math.pi/180 #zenith angle in radian\n",
+ "N=80*math.pi/180 #in radian\n",
+ "x=92\n",
+ "y=35\n",
+ "h=35\n",
+ "p=1.2\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "m=0.11-0.49*math.cos(t)\n",
+ "fe=0.004*(1+0.021*166)**2 #minimum value of f0E\n",
+ "A=1+0.0094*(phi-66) #A value\n",
+ "B=(math.cos(N))\n",
+ "B1=B**m #B value\n",
+ "C=x+y*math.cos(t) #C value\n",
+ "D=math.cos(t1)**p #D value\n",
+ "F=(A*B*C*D)**(0.25) #exact value of f0E \n",
+ "\n",
+ "#Results\n",
+ "print'(1) Minimum value of f0E = %.2f x 10^-2 MHz'%(fe*100)\n",
+ "print'(2) f0E = %.2f MHz'%F #wrong value calculated in textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Minimum value of f0E = 8.05 x 10^-2 MHz\n",
+ "(2) f0E = 2.05 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.10, page 159"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "g=50 #geomagnetic latitude in degree\n",
+ "R12=100 #solar activity number\n",
+ "x=60*math.pi/180 #zenith angle in radians\n",
+ "\n",
+ "#Calculation\n",
+ "f0=4.35+0.0058*g-0.00012*g**2\n",
+ "f100=5.35+0.011*g-0.00023*g**2\n",
+ "fs=f0+0.01*(f100-f0)*R12\n",
+ "n=0.093+(0.00461*g)-(0.000054*(g**2))+(0.0031*R12) #wrong value calculated in textbook\n",
+ "F1=fs*(math.cos(x))**n #critical frequency\n",
+ "\n",
+ "#Results\n",
+ "print'Critical Frequency = %.2f MHz'%F1 #wrong value calculated in textbook\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Critical Frequency = 3.77 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.11, page 164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "R12=150 #12 month average value\n",
+ "fs0=4.416\n",
+ "fs100=5.473\n",
+ "n=0.23\n",
+ "x=45*math.pi/180 #zenith angle in radians \n",
+ "\n",
+ "#Calculation\n",
+ "f1=63.7+0.728*R12+0.00089*R12**2\n",
+ "fs=fs0+0.01*(fs100-fs0)*R12\n",
+ "F1=fs*(math.cos(x))**n #critical frequency #zenith angle in radians\n",
+ "\n",
+ "#Results\n",
+ "print'(1) R12 = %d'%R12\n",
+ "print'(2) F12 = %d'%f1\n",
+ "print'(3) f0F1 = %.2f MHz'%F1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) R12 = 150\n",
+ "(2) F12 = 192\n",
+ "(3) f0F1 = 5.54 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter5_1.ipynb b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter5_1.ipynb
new file mode 100755
index 00000000..9a18598b
--- /dev/null
+++ b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter5_1.ipynb
@@ -0,0 +1,465 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:98eb0c6e30cbee8cc73fe4fee57515eb52199d33e809700a3f6ef648557e06af"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5: Propagation in 3 KHz to 30 MHz Band"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2, page 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=5 #frequency in Hz\n",
+ "er=15 #ground characteristics\n",
+ "s=0.01 #for vertically polarized waves\n",
+ "c=3*10**8 #speed of light\n",
+ "e0=8.85*10**-12 #permitivity of free space\n",
+ "d=80000 #distance in m\n",
+ "\n",
+ "#Calculation\n",
+ "a=5**0.333\n",
+ "df=50/a #distance in metre\n",
+ "h=c*(f*10**6)**-1 #wavelength\n",
+ "b=s/(2*math.pi*f*e0*10**6)\n",
+ "b1=math.sqrt(er**2+b**2)\n",
+ "p=(math.pi*d)/(h*b1)\n",
+ "\n",
+ "#from fig 5.8\n",
+ "As = 0.05 #attenuation factor\n",
+ "\n",
+ "#Results\n",
+ "print'p = %d'%p\n",
+ "print'|As| = %.2f'%As"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p = 107\n",
+ "|As| = 0.05\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3, page 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "c=3*10**8 #speed of light\n",
+ "f=10*10**6 #frequency in Hz\n",
+ "e0=8.85*10**-12 #permitivity of free space\n",
+ "er=10 #ground characteristics\n",
+ "s=0.005\n",
+ "d=30000\n",
+ "pt=200 #transmitter power in watt\n",
+ "gt=1 #gain of transmitter antenna\n",
+ "gr=1 #gain of receiver antenna\n",
+ "\n",
+ "#Calculation\n",
+ "h=c*f**-1 #wavelength\n",
+ "e=er*e0\n",
+ "b=s/(2*math.pi*f*e)\n",
+ "b1=math.sqrt(er**2+b**2)\n",
+ "p=(math.pi*d)/(h*b1) #wrong value calculated in textbook\n",
+ "i=((er*e0*2*3.14*f)/s)\n",
+ "b2=math.atan(i) \n",
+ "b3=b2*180/math.pi\n",
+ "a1=((2+0.3*p)/(2+p+0.6*p**2))\n",
+ "a2=math.sqrt(p/2)*(5*10**-82)*math.sin(-b3)\n",
+ "As=a1-a2 #attenuation function\n",
+ "pr=pt*gt*gr*h**2/(4*math.pi*d)**2\n",
+ "pr1=pr*(2*As)**2 #wrong value calculated in textbook \n",
+ "\n",
+ "#Results\n",
+ "print'Received signal power Pr = %.2f pW'%(pr1*10**12) #wrong value calculated in textbook\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Received signal power Pr = 13.35 pW\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4, page 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=0.5 #frequency in MHz\n",
+ "Pa=100 #transmitter power\n",
+ "Po=1000\n",
+ "e120=68 #from figure 5.10\n",
+ "e220=85 #from figure 5.9\n",
+ "e230=80\n",
+ "e330=60 #from figure 5.10\n",
+ "e380=48\n",
+ "e350=50 #from figure 5.10\n",
+ "e250=75 #from figure 5.9\n",
+ "e260=73\n",
+ "e160=60 #from figure 5.10\n",
+ "e180=48\n",
+ "\n",
+ "#Calculation\n",
+ "ETR=e120-e220+e230-e330+e380\n",
+ "ERT=e350-e250+e260-e160+e180 #wrong value calculated in textbook\n",
+ "ER=(ETR+ERT)/2 #field strength at the receiving end \n",
+ "Ea=ER+(10*math.log10(Pa*Po**-1))\n",
+ "lb=137.2+(20*math.log10(f))-ER\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Electric field = %.1f dB'%Ea #wrong value calculated in textbook due to value ER\n",
+ "print'(2) Basic loss path = %.1f dB'%lb #wrong value calculated in textbook due to value ER"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Electric field = 33.0 dB\n",
+ "(2) Basic loss path = 88.2 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5, page 196"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f1=2.5 #frequency in MHz\n",
+ "f2=6.3 #frequency in MHz\n",
+ "K=1.1 # K factor\n",
+ "\n",
+ "#Calculation\n",
+ "fse=1.05*f1*2 #frequency in MHz \n",
+ "fsf=K*f2*2 #frequency in MHz\n",
+ "\n",
+ "#Results\n",
+ "print'Frequency for E layer = %.2f MHz'%fse\n",
+ "print'Frequency for F layer = %.2f MHz'%fsf"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency for E layer = 5.25 MHz\n",
+ "Frequency for F layer = 13.86 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7, page 201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=10 #frequency in MHz\n",
+ "delta=14.5 #in degree\n",
+ "d=1750 #distance in Km\n",
+ "re=6370 #radius of earth in Km\n",
+ "pt=100 #transmitter power in watt\n",
+ "lm=30 #in dB\n",
+ "P11=3775 #in Km\n",
+ "\n",
+ "#Calculation\n",
+ "a=(delta+(d/(2*re)))*(180*3.14**-1)\n",
+ "j=math.cos(a)\n",
+ "a1=(d*(2*re)**-1)*(180*3.14**-1)\n",
+ "j1=math.sin(a1)\n",
+ "P=4*re*(j1*j**-1) #path length\n",
+ "pt1=10*math.log10(pt*10**-3)\n",
+ "FSL=32.4+20*math.log10(f)+20*math.log10(3775) #free space loss\n",
+ "Et=136.6+pt1+20*math.log10(f)-FSL-lm #median value\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Path length = %d km'%P11\n",
+ "print'(2) Median value = %.2f dB'%Et\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Path length = 3775 km\n",
+ "(2) Median value = -7.34 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8, page 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "et=20 #in dB\n",
+ "gr=2 #antenna gain in dB\n",
+ "f=15 #frequency in MHz\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "pr=et+gr-(20*math.log10(f))-107.2 #received signal power in dB\n",
+ "pr1=10**(pr/10) #received signal power in W\n",
+ "\n",
+ "#Results\n",
+ "print'Power Recieved signal = %.2f pW'%(pr1*10**12)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power Recieved signal = 13.42 pW\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9, page 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "pr=-108.7 #received signal power in dB\n",
+ "fa=50 #noise tempreture\n",
+ "b=2700 #frequency in Hz\n",
+ "N=5 #noise figure in dB\n",
+ "\n",
+ "#Calculation\n",
+ "snr=pr-fa-(10*math.log10(b))+204 #signal to noise ratio\n",
+ "snr1=snr-N\n",
+ "\n",
+ "#Results\n",
+ "print'Received signal to noise ratio = %.1f dB'%snr\n",
+ "print'Output signal to noise ratio = %.1f dB'%snr1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Received signal to noise ratio = 11.0 dB\n",
+ "Output signal to noise ratio = 6.0 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.10, page 205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "d=3000 #distance in Km\n",
+ "re=6370 #radius of earth in Km\n",
+ "phi=72 #angle in degree\n",
+ "N=5*10**11 #electron density\n",
+ "\n",
+ "#Calculation\n",
+ "teta=3000*(2*6370)**-1 #in radian\n",
+ "teta1=teta*180/math.pi #degree\n",
+ "dt=90-teta1-phi #Elevation angle\n",
+ "a=re/(math.sin(phi*math.pi/180))\n",
+ "b=math.sin((teta1+phi)*math.pi/180)\n",
+ "h=(a*b)-re #Height in Km\n",
+ "fc=9*math.sqrt(N) #frequency in MHz\n",
+ "MUF=fc*(math.cos(phi*math.pi/180))**-1 #Maximum working frequency\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Elevation angle = %.1f degree'%dt\n",
+ "print'(2) Height h = %.1f km'%h\n",
+ "print'(3) MUF = %.1f MHz'%(MUF*10**-6)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Elevation angle = 4.5 degree\n",
+ "(2) Height h = 307.1 km\n",
+ "(3) MUF = 20.6 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.11, page 208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "d=2500 #distance in Km\n",
+ "re=6370 #radius of earth in Km\n",
+ "dt=6 #elevation angle in degree\n",
+ "f1=15 #frequency in MHz\n",
+ "los1=42 #loss\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "teta=d*(2*re)**-1 #in radian\n",
+ "teta1=teta*180/math.pi #in degree\n",
+ "phi=90-dt-teta1\n",
+ "l=(2*re*math.sin(teta))/math.sin(phi*math.pi/180)\n",
+ "fsl=32.4+(20*math.log10(f1))+(20*math.log10(l)) #Free space loss\n",
+ "pr=57+6-fsl-los1 #receving power in dB\n",
+ "pr1=10**(pr/10) #receving power in Watt\n",
+ "\n",
+ "#Results\n",
+ "print'Power = %.2f pW'%(pr1*10**12)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power = 47.60 pW\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 19
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter6_1.ipynb b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter6_1.ipynb
new file mode 100755
index 00000000..aa1b8e58
--- /dev/null
+++ b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter6_1.ipynb
@@ -0,0 +1,957 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8f3ee9f7b4691e445d9dade84d186c7759365eaecbb8fa9528ad0dda0d38c771"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: Terrestrial Mobile Radio Propagation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1, page 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "c=3*10**8 #speed of light\n",
+ "f=400*10**6 #frequency in Hz\n",
+ "l1=15*10**3 #distance in m\n",
+ "l2=15*10**3 #distance in m\n",
+ "l=30*10**3 #distance in m\n",
+ "k=1.33 #k factor\n",
+ "d1=15 #distance in Km\n",
+ "d2=15 #distance in Km\n",
+ "re=6370 #distance in Km\n",
+ "\n",
+ "#Calculation\n",
+ "h=c*f**-1 #wavelength in m\n",
+ "r1=math.sqrt(l1*l2*h/l) #Fresnel radius\n",
+ "ho=(500*d1*d2)/(k*re) #Earth bulge\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Fresnel radius, r1 = %d m'%r1\n",
+ "print'(2) h0 = %.2f m'%ho"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Fresnel radius, r1 = 75 m\n",
+ "(2) h0 = 13.28 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2, page 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=400 #frequency in MHz\n",
+ "k=1.33 #k factor\n",
+ "er=3 #dielectric conductivity\n",
+ "sg=10**-4 #Earth effective conductivity\n",
+ "eo=8.85*10**-12 #permittivity of free space\n",
+ "re1=8500 #Effective Earth radius in Km\n",
+ "c=3*10**8 #speed of light\n",
+ "B=1\n",
+ "d=50\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "kh=1.6*10**-3 #horizontal polarization using Fig. 6.2\n",
+ "kv=5*10**-3 #vertical polarization using Fig. 6.2\n",
+ "X=2.2*B*f**(1*3**-1)*re1**(-2*3**-1)*d #normalized length of the path\n",
+ "FX=11+10*math.log10(X)-17.6*X #distance attenuation value\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Kh = %.1f x 10**-3'%(kh*10**3)\n",
+ "print' Kv = %.1f x 10**-3'%(kv*10**3)\n",
+ "print'(2) F(X) = %.2f dB'%FX\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Kh = 1.6 x 10**-3\n",
+ " Kv = 5.0 x 10**-3\n",
+ "(2) F(X) = -20.36 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 103
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3, page 228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=300*10**6 #frequency in Hz\n",
+ "l1=4*10**3 #distance in m\n",
+ "l2=6*10**3 #distance in m\n",
+ "h1=20 #height in m\n",
+ "c=3*10**8 #speed of light\n",
+ "d1=4 #distance in km\n",
+ "d2=6 #distance in km\n",
+ "R=10 #radius in km\n",
+ "m=0.13\n",
+ "n=1.99\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "h=c*f**-1 #wavelength\n",
+ "l=l1+l2\n",
+ "r1=math.sqrt(l1*l2*h/l)\n",
+ "rat=h1/r1 #ratio\n",
+ "a=math.sqrt((2*(d1+d2))/(h*d1*d2))\n",
+ "v=0.0316*h1*a\n",
+ "jv=6.9+20*math.log10(1.585) #knife-edge obstacle loss\n",
+ "k=8.2+12*n\n",
+ "Tmn=k*m\n",
+ "A=jv+Tmn #rounded obstacle loss\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Ratio = %f'%rat\n",
+ "print'(2) Loss J(v) = %.1f dB'%jv\n",
+ "print'(3) Loss A = %.2f dB'%A"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Ratio = 0.408248\n",
+ "(2) Loss J(v) = 10.9 dB\n",
+ "(3) Loss A = 15.07 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4, page 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=150*10**6 #frequency in Hz\n",
+ "c1=3*10**8 #speed of light\n",
+ "h11=60 #in metre\n",
+ "d11=2000 #in metre\n",
+ "d1=259.6 #in metre\n",
+ "b=2000 #in metre\n",
+ "a=250 #in metre\n",
+ "h21=80 #in metre\n",
+ "d21=7259 #in metre\n",
+ "c=7250 #in metre\n",
+ "\n",
+ "#Calculation\n",
+ "h=c1*f**-1 #wavelength\n",
+ "v1=h11*math.sqrt((2*(h*d1)**-1)+(1*d11**-1))\n",
+ "L1=6.9+20*math.log10(math.sqrt((v1-0.1)**2+1)+v1-0.1) #path diffraction loss\n",
+ "v2=h21*math.sqrt((2*(h*d11)**-1)+(1*d21**-1))\n",
+ "L2=6.9+20*math.log10(math.sqrt((v2-0.1)**2+1)+v2-0.1) #path diffraction loss\n",
+ "\n",
+ "#Results\n",
+ "print'Diffraction loss L1 = %.2f dB'%L1\n",
+ "print' L2 = %.2f dB'%L2\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diffraction loss L1 = 24.79 dB\n",
+ " L2 = 19.12 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 115
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5, page 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=450*10**6 #frequency in Hz\n",
+ "q1=1.282 #cumulative distribution value\n",
+ "q2=1.645 #cumulative distribution value\n",
+ "\n",
+ "#Calculation\n",
+ "sg=3.8+1.6*math.log10(450) #standard deviation\n",
+ "fm1=q1*sg #fade margin\n",
+ "fm2=q2*sg #fade margin\n",
+ "fm=fm2-fm1 #gain\n",
+ "#Results\n",
+ "print'Antenna gain = %.2f dB'%fm"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Antenna gain = 2.92 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6, page 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "q90=1.282 #cumulative distribution value of 90%\n",
+ "sl=8 #standard deviation\n",
+ "q97=1.881 #cumulative distribution value of 97%\n",
+ "pt=5 #transmitter power\n",
+ "\n",
+ "#Calculation\n",
+ "fm=q90*sl #fade margin\n",
+ "fm1=q97*sl #fade margin\n",
+ "p=fm1-fm #power in dB\n",
+ "p1=pt*10**(p/10) #power in watt\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Fade margin for received signal = %.3f dB'%fm\n",
+ "print'(2) New transmitter power = %d W'%p1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Fade margin for received signal = 10.256 dB\n",
+ "(2) New transmitter power = 15 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7, page 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "d= 50*10**3 #distance in m\n",
+ "\n",
+ "#Calculation\n",
+ "sl1=5.3 #location standard deviation\n",
+ "st1=3 #time standard deviation\n",
+ "sl2=6.2 #location standard deviation\n",
+ "st2=2 #time standard deviation\n",
+ "sv=math.sqrt(sl1**2+st1**2) #total standard deviation of VHF\n",
+ "su=math.sqrt(sl2**2+st2**2) #total standard deviation of UHF\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'(1)for VHF, sigmaL = %.1f dB '%sl1\n",
+ "print' sigmaT = %.1f dB '%st1\n",
+ "print' for UHF, sigmaL = %.1f dB '%sl2\n",
+ "print' sigmaT = %.1f dB '%st2\n",
+ "print'(3) Standard deviation values, sigmaVHF = %.1f dB'%sv\n",
+ "print' sigmaUHF = %.1f dB'%su"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1)for VHF, sigmaL = 5.3 dB \n",
+ " sigmaT = 3.0 dB \n",
+ " for UHF, sigmaL = 6.2 dB \n",
+ " sigmaT = 2.0 dB \n",
+ "(3) Standard deviation values, sigmaVHF = 6.1 dB\n",
+ " sigmaUHF = 6.5 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.9, page 245"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "d=5 #in dB\n",
+ "h=20 #Transmitter initial height\n",
+ "\n",
+ "#Calculation\n",
+ "ht=h*10**(0.25) #Transmitter ultimate antenna height\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Antenna Height = %.2f m'%round(ht)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Antenna Height = 36.00 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.10, page 246"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=1800*10**6 #frequency in Hz\n",
+ "c=3*10**8 #speed of light\n",
+ "\n",
+ "#Calculation\n",
+ "h=c*f**-1 #wavelength\n",
+ "hv=20*h #in metre\n",
+ "dh=10*h #in metre\n",
+ "\n",
+ "#Results\n",
+ "print'hv = %.2f m '%hv\n",
+ "print'dh = %.2f m '%dh"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "hv = 3.33 m \n",
+ "dh = 1.67 m \n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.11, page 262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "p1=20 #transmitter power\n",
+ "g=6 #gain\n",
+ "h1=20 #height in metre\n",
+ "\n",
+ "#Calculation\n",
+ "ct=p1/10 #Power gain\n",
+ "ch=(h1*30**-1)**2 #height gain\n",
+ "cg=g*4**-1 #antenna gain\n",
+ "co=10*math.log10(ct*ch*cg) #Total effects\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Power gain, Ct = %.f'%ct\n",
+ "print' Height gain = %.2f'%ch\n",
+ "print' Antenna gain = %.1f'%cg\n",
+ "print'(2) Total effects = %.2f dB'%co"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Power gain, Ct = 2\n",
+ " Height gain = 0.44\n",
+ " Antenna gain = 1.5\n",
+ "(2) Total effects = 1.25 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.12, page 262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "g1=10 #transmitter gain\n",
+ "ct=15 #power in watt\n",
+ " \n",
+ "\n",
+ "#Calculation\n",
+ "g2=g1-2.2 #gain in dBd\n",
+ "cg=g2-6 #Antenna gain\n",
+ "ct1=ct*10**-1\n",
+ "ct2=10*math.log10(ct1) #Power gain\n",
+ "ch=(ct*30**-1)**2 \n",
+ "ch1=10*math.log10(ch) #Height gain\n",
+ "ct3=ct1*0.5\n",
+ "ct4=10*math.log10(ct3)\n",
+ "co=ct4+cg+ch1 #Total effects\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Power gain, Ct = %.2f'%ct2\n",
+ "print' Height gain = %.2f'%ch1\n",
+ "print' Antenna gain = %.1f'%cg\n",
+ "print'(2) Total effects = %.2f dB'%co\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Power gain, Ct = 1.76\n",
+ " Height gain = -6.02\n",
+ " Antenna gain = 1.8\n",
+ "(2) Total effects = -5.47 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.13, page 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "sr=-106 #Receiver sensitivity\n",
+ "f=8 #Fade margin\n",
+ "cl=6 #Coupler loss\n",
+ "dl=1 #Duplexer Loss\n",
+ "bf=6.5 #BTS feeder loss\n",
+ "ba=12 #BTS antenna gain\n",
+ "pl=138 #Path loss\n",
+ "pg=15 #Pathlength in km\n",
+ "ta=2 #Terminal antenna gain\n",
+ "tf=0.5 #Terminal feeder loss\n",
+ "\n",
+ "#Calculation\n",
+ "prm=sr+f #minimum received power\n",
+ "ptb=prm+cl+dl+bf-ba+pl-ta+tf #BTS transmitter power in dbBm\n",
+ "pw=10**((ptb-30)/10)\n",
+ "\n",
+ "#Results\n",
+ "print'BTS transmitter power = %.2f dBm'%ptb\n",
+ "print' = %d W'%pw\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "BTS transmitter power = 40.00 dBm\n",
+ " = 10 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.14, page 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "pm=2 #transmitter power\n",
+ "ld=1 #Duplexer losses\n",
+ "lp=138 #Path loss\n",
+ "lfm=0.5 #terminal feeder losses\n",
+ "lfb=6.5 #transmitter feeder losses\n",
+ "gt=12 #BTS transmitter antenna gain\n",
+ "gr=2 #BTS receiver antenna gain\n",
+ "i=3\n",
+ "bs=-110 #BTS receiver sensitivity\n",
+ "\n",
+ "#Calculation\n",
+ "ptm=10*math.log10(pm*10**3)\n",
+ "prb=ptm-ld-lp-lfm-lfb+gt+gr\n",
+ "pr=prb+i #BTS received power\n",
+ "fm=pr-bs #fade margin\n",
+ "\n",
+ "#Results\n",
+ "print'BTS received power = %.1f dBm'%pr\n",
+ "print'Fade margin = %.1f dB'%fm"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "BTS received power = -96.0 dBm\n",
+ "Fade margin = 14.0 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.15, page 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "t1=25 #terminal transmitter power \n",
+ "t2=2 #terminal transmitter power \n",
+ "gd=3 #correction factor of receiver antennas\n",
+ "lc=5 #coupler loss\n",
+ "prm=-105 #receiver sensitivity\n",
+ "prb=-110 #receiver sensitivity\n",
+ "\n",
+ "#Calculation\n",
+ "ptb=10*math.log10(t1*10**3)\n",
+ "ptm=10*math.log10(t2*10**3)\n",
+ "p=ptb-ptm #Transmitting gain in downlink\n",
+ "ga=prm-prb #Receiving gain in uplink\n",
+ "tg=gd+ga+lc #total gain on the uplink \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'Transmitting gain in downlink = %.1f dBm'%p\n",
+ "print'Receiving gain in uplink = %.1f dBm'%ga\n",
+ "print'total gain on the uplink = %.1f dBm'%tg"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Transmitting gain in downlink = 11.0 dBm\n",
+ "Receiving gain in uplink = 5.0 dBm\n",
+ "total gain on the uplink = 13.0 dBm\n"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.16, page 269"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=450 #frequency in MHz\n",
+ "d=25 #distance in m\n",
+ "hb=30\n",
+ "hm=5\n",
+ "\n",
+ "#Calculation\n",
+ "fsl=32.4+(20*math.log10(f))+(20*math.log10(d)) #free space loss\n",
+ "lp=120+(40*math.log10(d))-(20*math.log10(hb))-(20*math.log10(hm)) #path loss\n",
+ "lm=76.3-10*math.log10(hm)\n",
+ "l=(40*math.log10(25))+(20*math.log10(f))-(20*math.log10(hb))+lm #path loss based on the clutter factor model\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Free space loss = %.1f dB'%fsl\n",
+ "print'(2) Loss = %.1f dB'%lp\n",
+ "print'(3) Loss based on clutter factor = %.1f dB'%l\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Free space loss = 113.4 dB\n",
+ "(2) Loss = 132.4 dB\n",
+ "(3) Loss based on clutter factor = 148.7 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.17, page 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "pt=30 #transmitter power in watt\n",
+ "d=15 #distance in km\n",
+ "gt=3 #transmitter gain\n",
+ "ht=30 #transmitter height in m\n",
+ "hr=4 #receiver height in m\n",
+ "no=3.77*10**14\n",
+ "\n",
+ "#Calculation\n",
+ "gt1=10**(gt*10**-1)\n",
+ "pt1=gt1*pt\n",
+ "e=88*math.sqrt(pt1)*pt*hr/(2*d**2) #Field strength\n",
+ "pr1=(e**2)/(2*no) #Recieved power\n",
+ "\n",
+ "#Results\n",
+ "print'Field strength = %f V/m'%e\n",
+ "print'Recieved power = %.2f pW'%(pr1*10**12)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Field strength = 181.556596 V/m\n",
+ "Recieved power = 43.72 pW\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.18, page 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=420 #frequency in Hz\n",
+ "h1=40 #height in m\n",
+ "h2=5 #height in m\n",
+ "d=15 #distance in km\n",
+ "\n",
+ "#Calculation\n",
+ "A=69.55+26.16*math.log10(f)-13.82*math.log10(h1) #Hata parameters\n",
+ "B=44.9-6.55*math.log10(h1)\n",
+ "C=2*(math.log10(f*28**-1))**2+5.4\n",
+ "D=4.78*(math.log10(420))**2-18.33*math.log10(f)+40.94\n",
+ "E1=3.2*(math.log10(11.75*h2))**2-4.97\n",
+ "E2=(((1.1*math.log10(f))-0.7)*h2)-((1.56*math.log10(f))-0.8)\n",
+ "L3=A+B*math.log10(d)-D #in open area;\n",
+ "L2=A+B*math.log10(d)-C #in suburban area;\n",
+ "L1=A+B*math.log10(d)-E1 #in large cities;\n",
+ "L11=A+B*math.log10(d)-E2 #in small cities;\n",
+ "\n",
+ "#Results\n",
+ "print'In large cities L1 = %.2f dB'%L1\n",
+ "print'In small cities L1 = %.2f dB'%L11\n",
+ "print'In suburban area L2 = %.2f dB'%L2\n",
+ "print'In open area L2 = %.2f dB'%L3"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In large cities L1 = 151.45 dB\n",
+ "In small cities L1 = 148.86 dB\n",
+ "In suburban area L2 = 148.33 dB\n",
+ "In open area L2 = 130.75 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 76
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.19, page 275"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=1800 #frequency in MHz\n",
+ "d=10 #distance in m\n",
+ "hb=40\n",
+ "hm=3\n",
+ "A=132.57 #Hata model data\n",
+ "B=34.4 #Hata model data\n",
+ "\n",
+ "#Calculation\n",
+ "E2=(((1.1*math.log10(f))-0.7)*hm)-((1.56*math.log10(f))-0.8)\n",
+ "lp=46.3+33.9*math.log10(f)-13.82*math.log10(hb)+(44.9-6.55*math.log10(hb)-E2+hm)\n",
+ "L=A+B+-E2\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'Path loss based on COST\u2013Hata model,'\n",
+ "print' Lp = %.2f dB'%lp\n",
+ "print'Path loss based on Hata model,'\n",
+ "print' Lp = %.2f dB'%L"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Path loss based on COST\u2013Hata model,\n",
+ " Lp = 167.56 dB\n",
+ "Path loss based on Hata model,\n",
+ " Lp = 162.61 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.20, page 277"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "pt=20 #transmitter power in watt\n",
+ "Hb=30 #in metre\n",
+ "Hm=3 #in metre\n",
+ "gt=14.2 #trasmitter gain in dB\n",
+ "gr=0.2 #receiver gain in dB\n",
+ "f=450 #frequency in MHz\n",
+ "gm=-2 #in dBd\n",
+ "gr2=-2.2 #in dBi\n",
+ "r1=10 \n",
+ "n=20\n",
+ "hb=10\n",
+ "hm=10\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "gt1=gt+gr2\n",
+ "pr1=-62-38*math.log10(r1)-20*math.log10(f*900**-1)+7 #received signal level in suburban\n",
+ "pr2=-64-43*math.log10(r1)-20*math.log10(f*900**-1)+7 #received signal level in urban\n",
+ "ao=10*math.log10(2)+(gr2-6) #in dB (wrong value calculated in textbook)\n",
+ "pr11=-62-38*math.log10(r1)-20*math.log10(f*900**-1)+ao #received signal level in rural\n",
+ "pr22=-64-43*math.log10(r1)-20*math.log10(f*900**-1)+ao #received signal level in cities\n",
+ "ptd=10*math.log10(pt*10**3) #in dBm\n",
+ "lp1=ptd-pr11 #Path loss in rural area\n",
+ "lp2=ptd-pr22 #Path loss in cities area\n",
+ "\n",
+ "#Results\n",
+ "print'(2) In the suburban area, Pr = %.1f dBm'%pr1\n",
+ "print' In the urban area, Pr = %.1f dBm'%pr2\n",
+ "print'(3) Path loss in rural area Lp = %.1f dB'%lp1 #(wrong value calculated in textbook)\n",
+ "print' Path loss in cities area Lp = %.1f dB'%lp2 #(wrong value calculated in textbook)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(2) In the suburban area, Pr = -87.0 dBm\n",
+ " In the urban area, Pr = -94.0 dBm\n",
+ "(3) Path loss in rural area Lp = 142.2 dB\n",
+ " Path loss in cities area Lp = 149.2 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter7_1.ipynb b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter7_1.ipynb
new file mode 100755
index 00000000..87872c97
--- /dev/null
+++ b/Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi/Chapter7_1.ipynb
@@ -0,0 +1,750 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:15fa6e92d67920db2584677dc6c97feec6c8d014491d8cba470fcffb410d752b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7: Line of Sight Propagation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1, page 293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "h=200 #height in m\n",
+ "d=30*10**3 #distance in km\n",
+ "R=40*10**-6 #height in km\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "phi=math.atan(h*d**-1) # in radian\n",
+ "phi1=phi*180/math.pi # in degree\n",
+ "n=math.cos(phi1)\n",
+ "r=round(n)/R #radius\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print'Radius = %.1f km'%r\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Radius = 25000.0 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2, page 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "h=500 #height in m\n",
+ "a=0.000315\n",
+ "b=0.0001361\n",
+ "Re=6370000 #radius of earth in m\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "n=1+(a*math.exp(-b*h)) \n",
+ "n1=(n-1)*10**6 #Refraction index\n",
+ "c=(a*b*math.exp(-b*h))\n",
+ "R=1/c #Radius of path curvature in km\n",
+ "d=1-(Re/R)\n",
+ "K=1/d #K-factor\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Refraction index = %d '%n1\n",
+ "print'(2) Radius of path curvature = %d kM'%(R/10**3)\n",
+ "print'(3) K-factor = %.3f'%K "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Refraction index = 294 \n",
+ "(2) Radius of path curvature = 24968 kM\n",
+ "(3) K-factor = 1.343\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3, page 299"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "k1=1.3 #K-factor\n",
+ "k2=0.7 #K-factor\n",
+ "H1=1200 #sea level in m\n",
+ "H2=1400 #sea level in m\n",
+ "re=6370*10**3 #radius of earth in m\n",
+ "f=15*10**9 #frequency in Hz\n",
+ "a1=0.6\n",
+ "d1=15*10**3 #distance in m\n",
+ "d2=20*10**3 #distance in m\n",
+ "c=3*10**8 #speed of light\n",
+ "d=30*10**3 #distance in m\n",
+ "h2=25.24 \n",
+ "r2=11.55\n",
+ "a2=0.3\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "h1=500*d1*d2/(k1*re)\n",
+ "h=c*f**-1\n",
+ "r1=math.sqrt((d1*d2*h)/d)\n",
+ "H11=H1+h1+a1*r1 #in meter\n",
+ "H22=H2+h2+a2*r2 #in meter\n",
+ "\n",
+ "#Results\n",
+ "print'(1) H1 = %d m'%H11 #wrong calculation in textbook\n",
+ "print'(2) H2 = %d m'%H22\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) H1 = 19322 m\n",
+ "(2) H2 = 1428 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4, page 302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "hr=-1 #obstacle height and fresnel radius ratio\n",
+ "\n",
+ "#Calculation\n",
+ "Ad=-20*hr+10 #Diffraction loss in dB\n",
+ "Ad2=16 #from fig 7.8\n",
+ "Ad3=43\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Obstacle loss = %.1f dB'%Ad\n",
+ "print'(2) Knife edge obstacle = %.1f dB'%Ad2\n",
+ "print'(3) Rounded obstacle = %.1f dB'%Ad3\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Obstacle loss = 30.0 dB\n",
+ "(2) Knife edge obstacle = 16.0 dB\n",
+ "(3) Rounded obstacle = 43.0 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5, page 306"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "d1=10 #distance in km\n",
+ "d2=25 #distance in km\n",
+ "re=6370 #earth radius in km \n",
+ "k=0.5 #climatic factor\n",
+ "f=4*10**9 #frequency in Hz\n",
+ "c=3*10**8 #speed of light\n",
+ "d=35 #distance in km\n",
+ "h3=400 #height in m\n",
+ "\n",
+ "#Calculation\n",
+ "ho=(500*d1*d2)/(k*re) #Earth buldge in m\n",
+ "h=c*f**-1 #wavelength in m\n",
+ "r1=math.sqrt(d1*10**3*d2*10**3*h*(d*10**3)**-1) #fresnel radius\n",
+ "amsl=h3+ho+13.9 #AMSL\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Earth buldge = %.2f m'%ho\n",
+ "print'(2) Fresnel radius = %.1f m'%r1\n",
+ "print'(3) AMSL = %.1f m '%amsl"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Earth buldge = 39.25 m\n",
+ "(2) Fresnel radius = 23.1 m\n",
+ "(3) AMSL = 453.1 m \n"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6, page 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "pt=500 #Transmitter power in mW\n",
+ "gt=42 #transmitter antenna gain in dB\n",
+ "gr=44 #receiver antenna gain in dB\n",
+ "lbt=2.6 #transmitter branching loss in dB\n",
+ "lbr=3 #receiver branching loss in dB\n",
+ "flt=45 #transmitter feeder length\n",
+ "flr=35 #receiver feeder length\n",
+ "fls=6.5 #feeder loss\n",
+ "prx=-72 #Receiver sensitivity\n",
+ "d=30 #path distance in km\n",
+ "f=8.4 #frequency in ghz\n",
+ "\n",
+ "#Calculation\n",
+ "ptx=10*math.log10(pt) #transmitter threshold level\n",
+ "lft=flt*fls/100\n",
+ "lfr=flr*fls/100\n",
+ "eirp=ptx+gt-lbt-lft #Transmitter effective power\n",
+ "sg=ptx-prx\n",
+ "fsl=92.4+20*math.log10(f)+20*math.log10(d)\n",
+ "rsl=ptx+gt+gr-fsl-lft-lfr-lbt-lbr\n",
+ "fm=rsl-prx\n",
+ "\n",
+ "#Results\n",
+ "print'EIRP = %.2f dBm'%eirp\n",
+ "print'SG = %.2f dBm'%sg\n",
+ "print'FSL = %.2f dB'%fsl\n",
+ "print'RSL = %.2f dBm'%rsl\n",
+ "print'FM = %.2f dB'%fm"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "EIRP = 63.46 dBm\n",
+ "SG = 98.99 dBm\n",
+ "FSL = 140.43 dB\n",
+ "RSL = -38.24 dBm\n",
+ "FM = 33.76 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7, page 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "f=15 #frequency in GHz\n",
+ "f1=18 #frequency in GHz\n",
+ "R=50 #rain intensity\n",
+ "ah=1.154\n",
+ "kh=0.0367\n",
+ "d=20 #distance in kM\n",
+ "\n",
+ "#Calculation\n",
+ "yr=kh*R**ah\n",
+ "do=35*math.exp(-0.015*R) #distance in kM\n",
+ "de=d/(1+(d/do)) #distance in kM\n",
+ "Ao=yr*de #Rain Loss in dB\n",
+ "phi=(f**2)/(1+10**-4*f**2)\n",
+ "phi1=(f1**2)/(1+10**-4*f1**2)\n",
+ "H=1.12*10**-3*((phi1/phi)**0.5)*(phi*Ao)**0.55\n",
+ "Ah=Ao*(phi1/phi)**(1-H)\n",
+ "Av=(300*Ah)/(335+Ah) #Rain Loss in dB\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Rain Loss, A = %.2f dB'%Ao\n",
+ "print'(2) rain loss for vertical polarization, Av = %.2f dB'%Av\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Rain Loss, A = 30.34 dB\n",
+ "(2) rain loss for vertical polarization, Av = 32.53 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.8, page 322"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "A=99.8 #in percent\n",
+ "l=1250 #radio link in km\n",
+ "C=155*10**6 #in bps\n",
+ "T=24*60*60 #Total measurement time\n",
+ "\n",
+ "#Calculation\n",
+ "U=100-A\n",
+ "u=U/100\n",
+ "ue=u*l/2500\n",
+ "uep=ue*0.3 #propagation unavailability value\n",
+ "M=C*uep*T*10**-3 #number of errored bits due to propagation\n",
+ "\n",
+ "#Results\n",
+ "print'Maximum delay bit error per day = %d bits per day'%M\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum delay bit error per day = 4017600 bits per day\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.9, page 324"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "h=24 #hours\n",
+ "m=60 #minutes\n",
+ "s=60 #seconds\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "dm=0.004*h*m*(1250*2500**-1) #Maximum degraded minutes\n",
+ "ses=0.00054*h*m*s*(1250*2500**-1) #Severely errored seconds\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Maximum degraded minutes per day = %.2f min'%dm\n",
+ "print'(2) Severely errored seconds per day = %.2f s'%ses"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Maximum degraded minutes per day = 2.88 min\n",
+ "(2) Severely errored seconds per day = 23.33 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.10, page 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "Aa=15 #Transmitter antenna discrimination\n",
+ "Ab=25 #Receiver antenna discrimination\n",
+ "AD=110 #path in km \n",
+ "s=35 #fading in dB\n",
+ "\n",
+ "#Calculation\n",
+ "Ad=20*math.log10(AD*CD**-1) #Distance discrimination\n",
+ "CD=30 #path in km \n",
+ "si=Aa+Ab+Ad #in dB\n",
+ "si2=si-s #in dB\n",
+ "\n",
+ "#Results\n",
+ "print'(1) S/I = %.1f dB'%si\n",
+ "print'(2) S/I = %.1f dB'%si2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) S/I = 51.3 dB\n",
+ "(2) S/I = 16.3 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.11, page 333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "kq=2.6*10**-6 #geoclimatic coefficient\n",
+ "f=6 #frequency in GHz\n",
+ "d=45 #distance in Km\n",
+ "gc=0.098 #GC factor\n",
+ "ab=0.25 #geoclimatic factor\n",
+ "\n",
+ "#Calculation\n",
+ "po=kq*f*gc*d**3 #In country\n",
+ "po1=0.3*ab*(f*4**-1)*(d*50**-1)**3 #In mountainous area\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'Fading occurrence probability'\n",
+ "print'(1) In country = %.2f'%po\n",
+ "print'(2) In mountainous area = %.3f'%po1\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Fading occurrence probability\n",
+ "(1) In country = 0.14\n",
+ "(2) In mountainous area = 0.082\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.12, page 340"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "dn=70 #dN = 70\n",
+ "d1=1000 #height from sea level in m\n",
+ "d2=1400 #height from sea level in m\n",
+ "d=45 #radio link distance in km\n",
+ "\n",
+ "#Calculation\n",
+ "K=10**(-4.2-0.0029*-dn) #Climate factor\n",
+ "ep=(d2-d1)/d #magnitude of the path inclination\n",
+ "po=K*d**3*(1+ep)**(-1.2)*10**(0.033*6-1) #Fading occurrence probability\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Climate factor K = %.4f = 10^-4'%K\n",
+ "print'(2) Fading occurrence probability Po = %.2f percent'%po\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Climate factor K = 0.0001 = 10^-4\n",
+ "(2) Fading occurrence probability Po = 0.10 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.13, page 342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "fm=35 #fade margin\n",
+ "po=0.092 #fading occurrence probability\n",
+ "\n",
+ "#Calculation\n",
+ "pw=po*10**(-fm*10**-1) #deep fading occurrence \n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print'Deep fading occurrence probability, Pw = %.1f x 10^-5'%(pw*10**5)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Deep fading occurrence probability, Pw = 2.9 x 10^-5\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.14, page 343"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "d=20 #distance in kM\n",
+ "po=0.02 #fading occurrence probability at 20 Km\n",
+ "d1=25 #distance in kM\n",
+ "d2=40 #distance in kM\n",
+ "fm1=30 #link in kM\n",
+ "fm2=35 #link in kM\n",
+ "fm3=40 #link in kM\n",
+ "tr=30*24*60 \n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "po1=po*(d1*d**-1)**3 #fading occurrence probability at 25 Km\n",
+ "po2=po*(d2/d)**3 #fading occurrence probability at 40 Km\n",
+ "pw=po*10**(-fm1*10**-1) #fade margin at 30\n",
+ "pw1=po1*10**(-fm2*10**-1) #fade margin at 35\n",
+ "pw2=po2*10**(-fm3/10) #fade margin at 40\n",
+ "u=pw+pw1+pw2 #total fade margin\n",
+ "to=u*tr #network outage time\n",
+ "\n",
+ "#Results\n",
+ "print'(1) Fading occurrence probability at 20 = %.2f'%po\n",
+ "print' Fading occurrence probability at 25 = %.3f'%po1\n",
+ "print' Fading occurrence probability at 40 = %.2f'%po2\n",
+ "print'(2) Fade margin at 30 = %.1f x 10^-5'%(pw*10**5)\n",
+ "print' Fade margin at 35 = %.2f x 10^-5'%(pw1*10**5)\n",
+ "print' Fade margin at 40 = %.2f x 10^-5'%(pw2*10**5)\n",
+ "print' Total fade margin = %.2f x 10**-5'%(u*10**5)\n",
+ "print'(3) Network outage time , To = %.3f min per month'%(to)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(1) Fading occurrence probability at 20 = 0.02\n",
+ " Fading occurrence probability at 25 = 0.039\n",
+ " Fading occurrence probability at 40 = 0.16\n",
+ "(2) Fade margin at 30 = 2.0 x 10^-5\n",
+ " Fade margin at 35 = 1.24 x 10^-5\n",
+ " Fade margin at 40 = 1.60 x 10^-5\n",
+ " Total fade margin = 4.84 x 10**-5\n",
+ "(3) Network outage time , To = 2.089 min per month\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.15, page 344"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation\n",
+ "ur=0.001 #unavailability budget for hypothetical circuit\n",
+ "d=50 #path-length in km\n",
+ "A=0.25 #area conditions\n",
+ "B=1 #area conditions\n",
+ "f=8 #frequency in GHz\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "pw=ur*(d*(d*d)**-1) #deep fading occurrence probability\n",
+ "po=6*10**-7*A*B*f*(d**3) #fading occurrence probability of desirable link\n",
+ "FM=-math.log10(pw/po)*10 #fade margin\n",
+ "\n",
+ "#Results\n",
+ "print'Fade margin = %.1f dB'%FM"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Fade margin = 38.8 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file