diff options
author | kinitrupti | 2017-05-12 18:53:46 +0530 |
---|---|---|
committer | kinitrupti | 2017-05-12 18:53:46 +0530 |
commit | f270f72badd9c61d48f290c3396004802841b9df (patch) | |
tree | bc8ba99d85644c62716ce397fe60177095b303db /Propagation_Engineering_in_Wireless_Communications_by_Abdollah_Ghasemi | |
parent | 64d949698432e05f2a372d9edc859c5b9df1f438 (diff) | |
download | Python-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')
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 |