diff options
Diffstat (limited to 'Satellite_Communication_by_Anil_K.maini_Varsha_Agrawal/chapter_6.ipynb')
-rwxr-xr-x | Satellite_Communication_by_Anil_K.maini_Varsha_Agrawal/chapter_6.ipynb | 352 |
1 files changed, 352 insertions, 0 deletions
diff --git a/Satellite_Communication_by_Anil_K.maini_Varsha_Agrawal/chapter_6.ipynb b/Satellite_Communication_by_Anil_K.maini_Varsha_Agrawal/chapter_6.ipynb new file mode 100755 index 00000000..22f229fb --- /dev/null +++ b/Satellite_Communication_by_Anil_K.maini_Varsha_Agrawal/chapter_6.ipynb @@ -0,0 +1,352 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "chapter 6: Multiple Access Techniques"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.1, page no-230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "t=20 #TDMA frame length in ms\n",
+ "lc=352 #length of carrier and clock recovery frequency in bits\n",
+ "lu1=48 #length of unique word in bits\n",
+ "lo=510 #length of order wire channel in bits\n",
+ "lm= 256 #length of management channel in bits\n",
+ "lt=320 # length of transmit timming channel in bits\n",
+ "ls1=24 # length of service channel in bits\n",
+ "gt=64 # Guard time in bits\n",
+ "rb=2 # reference burst\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "lr=lc+lu1+lo+lm+lt\n",
+ "tb=lc+lu1+lo+ls1\n",
+ "tob=(lr*rb)+(tb*t)+((t+rb)*gt)\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\nThe length of reference burst(from given data) is %d bits\\n\\n(b)\\nThe length of traffic burst premable(from given data)is %d bits\\n\\n(c)\\nTotal number of overhead bits is %d bits\"%(lr,tb,tob))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ "The length of reference burst(from given data) is 1486 bits\n",
+ "\n",
+ "(b)\n",
+ "The length of traffic burst premable(from given data)is 934 bits\n",
+ "\n",
+ "(c)\n",
+ "Total number of overhead bits is 23060 bits\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.2, page no-230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "t=20 # TDMA frame length in ms\n",
+ "lc=352 # length of carrier and clock recovery frequency in bits\n",
+ "lu1=48 # length of unique word in bits\n",
+ "lo=510 # length of order wire channel in bits\n",
+ "lm=256 # length of management channel in bits\n",
+ "lt=320 # length of transmit timming channel in bits\n",
+ "ls1=24 # length of service channel in bits\n",
+ "gt=64 # Guard time in bits\n",
+ "rb=2 # reference burst\n",
+ "br=90.0*10**6 # burst bit rate 90Mbps\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "bfr=br*t*10**-3\n",
+ "lr=lc+lu1+lo+lm+lt\n",
+ "tb=lc+lu1+lo+ls1\n",
+ "tob=(lr*rb)+(tb*t)+((t+rb)*gt)\n",
+ "feff=(bfr-tob)*100/bfr\n",
+ "feff=math.ceil(feff*100)/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"Frame efficiency = %.2f%%\"%feff)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frame efficiency = 98.72%\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.3, page no-231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "t=20 # TDMA frame length in ms\n",
+ "lc=352 # length of carrier and clock recovery frequency in bits\n",
+ "lu1=48 # length of unique word in bits\n",
+ "lo=510 # length of order wire channel in bits\n",
+ "lm= 256 # length of management channel in bits\n",
+ "lt=320 # length of transmit timming channel in bits\n",
+ "ls1=24 # length of service channel in bits\n",
+ "gt=64 # Guard time in bits\n",
+ "rb=2 # reference burst\n",
+ "br=90.0*10**6 # burst bit rate 90Mbps\n",
+ "dr= 64.0*10**3 #data rate 64 kbps\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "bfr=br*t*10**-3\n",
+ "lr=lc+lu1+lo+lm+lt\n",
+ "tb=lc+lu1+lo+ls1\n",
+ "tob=(lr*rb)+(tb*t)+((t+rb)*gt)\n",
+ "feff=(bfr-tob)*100/bfr\n",
+ "feff=math.ceil(feff*100)/100\n",
+ "vsb=dr*t*10**-3\n",
+ "x=bfr*feff/100\n",
+ "\n",
+ "#Result\n",
+ "print(\"The number of bits in a frame for a voice sub-burst is %d\\n\\nThe total no of bits available in a frame for carrying traffic is %d\\n\\nMaximum no of PCM voice channels in a frame is %d channels\"%(vsb,x,x/vsb))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The number of bits in a frame for a voice sub-burst is 1280\n",
+ "\n",
+ "The total no of bits available in a frame for carrying traffic is 1776960\n",
+ "\n",
+ "Maximum no of PCM voice channels in a frame is 1388 channels\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.4, page no-231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "R=42150.0 # orbital radius of satellite\n",
+ "oi=0.25/100.0 # orbit inclination\n",
+ "acc=0.3 # error of 0.3 degree\n",
+ "c=3.0*10**8 # speed of light\n",
+ "x=oi*R\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "x=math.ceil(x*10)/10\n",
+ "y=R*2*math.pi*acc/360.0\n",
+ "y=math.ceil(y*10)/10\n",
+ "z=math.sqrt(x**2+y**2)\n",
+ "z=math.ceil(z*10)/10\n",
+ "delay=z*10**6/c\n",
+ "delay=math.floor(delay*1000)/1000\n",
+ "pd=2*delay\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"variation in altitude caused by orbit inclination = %.1fkm\\n variation due to station-keeping error of 0.3\u00b0 = %.1fkm\"%(x,y))\n",
+ "print(\"\\n Both these errors will introduce a maximum range variation of %.1fkm\\n This cause a one-way propagation delay of %.3fms\\n Round trip propagation delay =%.2fms\\n Dopler Shift = %.2f ms in 8h=56.25 ns/s\"%(z,delay,delay*2,pd))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "variation in altitude caused by orbit inclination = 105.4km\n",
+ " variation due to station-keeping error of 0.3\u00b0 = 220.7km\n",
+ "\n",
+ " Both these errors will introduce a maximum range variation of 244.6km\n",
+ " This cause a one-way propagation delay of 0.815ms\n",
+ " Round trip propagation delay =1.63ms\n",
+ " Dopler Shift = 1.63 ms in 8h=56.25 ns/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.5, page no-238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "de=40.0 # Doppler effect variation due to station-keeping errors in ns/s\n",
+ "d=280.0 # Sttelite round trip delay in ms\n",
+ "c=20.0/100.0 # DS-CDMA signals should not exceed 20% of the chip duration\n",
+ "\n",
+ "#Calculation\n",
+ "te=de*10**-9*d*10**-3\n",
+ "tc=te/c\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Chip Duration, Tc = %.0f ns \\n This gives maximum chip rate as (1/56)Gbps = 1000/56 Mbps = %.3f Mbps\"%(tc*10**9,1000.0/56.0))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Chip Duration, Tc = 56 ns \n",
+ " This gives maximum chip rate as (1/56)Gbps = 1000/56 Mbps = 17.857 Mbps\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.6, page no-238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration \n",
+ "cr=25.0 #Chip rate is 25 Mbps\n",
+ "c=20.0/100.0 # DS-CDMA signals should not exceed 20% of the chip duration\n",
+ "d=1000/cr #chip duration in ns\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "tr=c*d\n",
+ "x=tr/(280.0*10**-3)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum allowable timing error per satellite round trip is %.0f ns\\n This %.0f ns error is to occur in 280 ms.\\n Therefore, maximum permissible Dopler effect variation is %.2f ns/s\"%(tr,tr,x))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable timing error per satellite round trip is 8 ns\n",
+ " This 8 ns error is to occur in 280 ms.\n",
+ " Therefore, maximum permissible Dopler effect variation is 28.57 ns/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.7, page no-238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "cr=20.0*10**6 #chip rate in Mbps\n",
+ "ir= 20.0*10**3 #information bit rate\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "g=10*math.log10((cr)/(ir))\n",
+ "\n",
+ "#Result\n",
+ "print(\"Noise reduction achhievable = Processing gain = %.0f dB\"%g)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Noise reduction achhievable = Processing gain = 30 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |