diff options
Diffstat (limited to 'Antennas_and_Wave_Propagation/chapter21.ipynb')
-rw-r--r-- | Antennas_and_Wave_Propagation/chapter21.ipynb | 343 |
1 files changed, 343 insertions, 0 deletions
diff --git a/Antennas_and_Wave_Propagation/chapter21.ipynb b/Antennas_and_Wave_Propagation/chapter21.ipynb new file mode 100644 index 00000000..270e96e9 --- /dev/null +++ b/Antennas_and_Wave_Propagation/chapter21.ipynb @@ -0,0 +1,343 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h1>Chapter 21: Antenna Measurements<h1>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3>Example 21-2.1, Page number: 720<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import pi\n", + "\n", + "#Variable declaration\n", + "f = 900e6 #Frequency (Hz)\n", + "length = 25e-3 #Length of antenna (m)\n", + "len_cell = 110e-3 #Length of handset chassis (m)\n", + "c = 3e8 #Speed of light (m/s)\n", + "del_L = 0.5 #Peak to Peak measurement uncertainty (dB)\n", + "\n", + "#Calculations\n", + "Dm = length + len_cell #Maximum Dimension of antenna (m)\n", + "wave_lt = c/f #Wavelength (m)\n", + "r_rnf = (wave_lt/(2*pi)) #Outer boundary of reactive near field (m)\n", + "\n", + "r_ff = 2*(Dm**2)/wave_lt #Fraunhofer region (m)\n", + "\n", + "r2_ff = r_rnf/(10**(del_L/40)-1) \n", + " #Minimum distance where effect of near field is small (m)\n", + "\n", + "r3_ff = 2*Dm/(10**(del_L/10)-1)\n", + " #Minimum distance where effect of rotation of AUT is small (m)\n", + "\n", + "#Result\n", + "print \"The Outer boundary of reactive near field is at a distance\", round(r_rnf,3),\"m\"\n", + "print \"The Fraunhofer region starts at a distance\", round(r_ff,3),\"m\"\n", + "print \"The Minimum distance where effect of near field is small enough is\",\\\n", + " round(r2_ff,1),\"m\"\n", + "print \"The Minimum distance where effect of rotation of AUT is small enough \\\n", + "is\", round(r3_ff,1),\"m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Outer boundary of reactive near field is at a distance 0.053 m\n", + "The Fraunhofer region starts at a distance 0.109 m\n", + "The Minimum distance where effect of near field is small enough is 1.8 m\n", + "The Minimum distance where effect of rotation of AUT is small enough is 2.2 m\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3>Example 21-2.2, Page number: 720<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import pi\n", + "\n", + "#Variable declaration\n", + "horn_len = 350e-3 #Length of horn (m)\n", + "ap_wid = 200e-3 #Aperture width (m)\n", + "ap_hei = 150e-3 #Aperture height (m)\n", + "del_L = 0.2 #Peak to peak uncertainty (dB)\n", + "f = 10e9 #Frequency (Hz)\n", + "c = 3e8 #Speed of light (m/s)\n", + "\n", + "#Calculations\n", + "wave_lt = c/f #Wavelength (m)\n", + "r_rnf = wave_lt/(2*pi) ##Outer boundary of reactive near field (m)\n", + "\n", + "r_ff = 2*(ap_wid**2)/wave_lt #Fraunhofer region (m)\n", + "\n", + "r2_ff = r_rnf/(10**(del_L/40)-1) \n", + " #Minimum distance where effect of near field is small (m)\n", + "\n", + "r3_ff = 2*horn_len/(10**(del_L/10)-1)\n", + " #Minimum distance where effect of rotation of AUT is small (m)\n", + "\n", + "#Result\n", + "print \"The Outer boundary of reactive near field is at a distance\", round(r_rnf,4),\"m\"\n", + "print \"The Fraunhofer region starts at a distance\", round(r_ff,1),\"m\"\n", + "print \"The Minimum distance where effect of near field is small enough is\",\\\n", + " round(r2_ff,2),\"m\"\n", + "print \"The Minimum distance where effect of rotation of AUT is small enough \\\n", + "is\", round(r3_ff,1),\"m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Outer boundary of reactive near field is at a distance 0.0048 m\n", + "The Fraunhofer region starts at a distance 2.7 m\n", + "The Minimum distance where effect of near field is small enough is 0.41 m\n", + "The Minimum distance where effect of rotation of AUT is small enough is 14.9 m\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3>Example 21-2.3, Page number: 721<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "D = 0.5 #Antenna diameter (m)\n", + "f = 300e9 #Frequency (Hz)\n", + "c = 3e8 #Speed of light (m/s)\n", + "\n", + "#Calculations\n", + "wave_lt = c/f #Wavelength (m)\n", + "r_ff = 2*(D**2)/wave_lt #Fraunhofer region (m)\n", + "\n", + "#Result\n", + "print \"The Fraunhofer region starts at a distance\", r_ff,\"m\"\n", + "print \"At 300 GHz the attenuation of the atmosphere is around 10dB/km making\\\n", + " the measurement difficult in full-size ranges\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Fraunhofer region starts at a distance 500.0 m\n", + "At 300 GHz the attenuation of the atmosphere is around 10dB/km making the measurement difficult in full-size ranges\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3>Example 21-4.1, Page number: 726<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import pi\n", + "\n", + "#Variable declaration\n", + "D = 1 #Diameter of antenna (m)\n", + "f = 10e9 #Frequency (Hz)\n", + "c = 3e8 #Speed of light (m/s)\n", + "\n", + "#Calculations\n", + "wave_lt = c/f #Wavelength (m)\n", + "hpbw = 70*wave_lt/D #Half power beamwidth (degrees)\n", + "mea_dist = 2*(D**2)/wave_lt #Measurement distance (m)\n", + "trav_dist = hpbw*pi*mea_dist/180 #Traverse distance (m)\n", + "taper = ((0.5/(trav_dist/2))**2)*(-3) #Amplitude taper (dB)\n", + "\n", + "#Result\n", + "print \"The amplitude taper is\", round(taper,1), \"dB\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The amplitude taper is -0.5 dB\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3>Example 21-4.2, Page number: 735<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log10\n", + "\n", + "#Variable declaration\n", + "pat_lev1 = -22.3 #Pattern level maximum (dB)\n", + "pat_lev2 = -23.7 #Pattern level minimum (dB)\n", + "\n", + "#Calculations\n", + "S = abs(pat_lev2-pat_lev1) #Amplitude ripple (dB)\n", + "a = (pat_lev1+pat_lev2)/2 #Pattern level (dB)\n", + "\n", + "R = a + 20*log10((10**(S/20) - 1)/(10**(S/20) + 1))\n", + " #Reflectivity (dB)\n", + "\n", + "#Result\n", + "print \"The reflectivity is\", round(R),\"dB\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The reflectivity is -45.0 dB\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3>Example 21-5.1, Page number: 739<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import pi, sin, cos, log10\n", + "\n", + "#Variable declaration\n", + "En = 1 #Field illuminating the AUT (unitless)\n", + "tilt_diff = 88 #Difference in tilt angles (degrees)\n", + "\n", + "#Calculations\n", + "En_pol = En*sin(tilt_diff*pi/180) #Co-polar component of field (unitless)\n", + "En_crosspol = En*cos(tilt_diff*pi/180)\n", + " #Cross-polar component of field (unitless)\n", + "meas_cross = 20*log10(En_crosspol)\n", + "\n", + "#Result\n", + "print \"The measure cross-polar level is\", round(meas_cross), \"dB\\\n", + " relative to the co-polar field\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The measure cross-polar level is -29.0 dB relative to the co-polar field\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3>Example 21-5.2, Page number: 743<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import pi, log10\n", + "\n", + "#Variable declaration\n", + "f = 1.4e9 #Frequency (Hz)\n", + "Tant = 687 #Increase in antenna temperature (K)\n", + "phy_ap = 2210 #Physical aperture (m^2)\n", + "S = 1590 #Flux density of Cygnus A (Jy)\n", + "k = 1.38e-23 #Boltzmann's constant (J/k)\n", + "c = 3e8 #Speed of light (m/s)\n", + "\n", + "#Calculations\n", + "wave_lt = c/f #Wavelength (m)\n", + "gain = (8*pi*k*Tant)/(S*(10**-26)*wave_lt**2) #Gain(unitless)\n", + "gain_db = 10*log10(gain) #Gain (dBi)\n", + "\n", + "Ae = gain*wave_lt**2/(4*pi) #Effective area (m^2)\n", + "\n", + "eff_ap = Ae/phy_ap #Aperture efficiency (unitless)\n", + "\n", + "#Result\n", + "print \"The gain of the antenna is\", round(gain_db), \"dBi\"\n", + "print \"The aperture efficiency is\", round(eff_ap,2),\"or\",round(eff_ap*100),\"percent\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The gain of the antenna is 55.0 dBi\n", + "The aperture efficiency is 0.54 or 54.0 percent\n" + ] + } + ], + "prompt_number": 10 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |