summaryrefslogtreecommitdiff
path: root/Satellite_Communications/Chapter_10.ipynb
blob: 3886255a3d7106c80b2aebf8fed9dc0ee606f6fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
{
 "metadata": {
  "name": "",
  "signature": "sha256:e0d184d1729c611848b690830ee717bb5bc71942466a1adef15c51a942411c9c"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 10: Digital Signal"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 10.1, Page 272"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "\n",
      "PR=0.01  #The Average power received(watts)\n",
      "Tb=0.0001  #Bit period(seconds)\n",
      "N0=10**-7  #Noise power(joule)\n",
      "\n",
      "#Calculations\n",
      "\n",
      "\n",
      "Eb=PR*Tb  #Energy per bit received (joule)\n",
      "x=math.sqrt(Eb/N0)\n",
      "\n",
      "from scipy import integrate\n",
      "f=lambda t:math.exp(-t**2)\n",
      "erf=integrate.quad(f,0,x)\n",
      "erf1=erf[0]*(2/math.pi**0.5)\n",
      "BER=(1-erf1)*(10**6)/2\n",
      "BER=round(BER,2)\n",
      "\n",
      "print \"The Bit error rate is\", BER,\"*10^-6\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Bit error rate is 3.87 *10^-6\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "EXample 10.2, Page 274"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "Rb=61   #Transmission rate (Mb/s)\n",
      "ENR=9.5 #Required Energy to noise ratio(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "Rb=10*math.log10(61*10**6)  #Converting Transmission rate to dB\n",
      "CNR=Rb+ENR  #Carrier to noise ratio\n",
      "CNR=round(CNR,2)\n",
      "#Results\n",
      "\n",
      "print \"Required Carrier to noise ratio is\", CNR,\"dB\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Required Carrier to noise ratio is 87.35 dB\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 10.3, Page 275"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "BER=10**-5  #Maximum allowable bit error rate\n",
      "\n",
      "#Calculation\n",
      "\n",
      "import math\n",
      "from pylab import*\n",
      "%pylab inline\n",
      "x=linspace(8,10,11)  #Eb/N0 ratio represented by x\n",
      "x1=x**0.5\n",
      "for i in range(0,11):\n",
      "   x[i]=10*math.log10(x[i])  #Converting x into decibels\n",
      "\n",
      "\n",
      "erf=linspace(0,0,11)  #Initialization for erf function\n",
      "Pe=linspace(0,0,11)   #Initialization for Probablity of error\n",
      "\n",
      "from scipy import integrate\n",
      "f=lambda t:math.exp(-t**2)\n",
      "for i in range(0,10):\n",
      "   k=integrate.quad(f,0,x1[i])\n",
      "   erf[i]=k[0]*(2/math.pi**0.5)    \n",
      "   Pe[i]=(1-erf[i])/2       #Probability of error\n",
      "\n",
      "y=linspace(9,9.59,5)\n",
      "z=linspace(BER,BER,5)\n",
      "a=linspace(9.59,9.59,5)\n",
      "b=linspace(0,BER,5)\n",
      "plot(x,Pe)\n",
      "plot(y,z)\n",
      "plot(a,b)\n",
      "xlabel('xdB')\n",
      "ylabel('Pe(x)')\n",
      "show() \n",
      "x=9.6   #The Eb/N0 ratio for Maximum BER(dB) from the graph\n",
      "EbN0=x+2 #Eb/N0 ratio with implementation margin\n",
      "#Results\n",
      "\n",
      "print \"The Eb/N0 ratio with allowable BER of 10^-5 and implementation margin of 2dB is\",EbN0,\"dB\"\n",
      "\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stderr",
       "text": [
        "WARNING: pylab import has clobbered these variables: ['linalg', 'draw_if_interactive', 'random', 'power', 'info', 'fft']\n",
        "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x3733c90>"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Eb/N0 ratio with allowable BER of 10^-5 and implementation margin of 2dB is 11.6 dB\n"
       ]
      }
     ],
     "prompt_number": 1
    }
   ],
   "metadata": {}
  }
 ]
}