summaryrefslogtreecommitdiff
path: root/Satellite_Communications/Chapter_10.ipynb
blob: 6cac838d194118b6be3d7d996da69652e3a8d426 (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
{
 "metadata": {
  "name": "",
  "signature": "sha256:4511273484a972ccf0b24ae5024cbc7b477d6e76c179ec40d21b095c8ccf0c0e"
 },
 "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",
      "%matplotlib 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": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nY+azLY4fPx4aGBhY4ufnd37evHkFfMfMV1t899134xYuXJirVCrP+Pn5nX/zzTcf5TvmvtpWrFix\nZ8KECSZ/f/9zln0NDQ3u99xzz7GOOg7W29GjRyO9vb0r5HK5Ljk5Oam7c/H+YZ1hO3funL+/v/+5\nGzduDG9raxt6zz33HNPr9TLrMtnZ2YuioqJyGGPQarUqlUql5Ttuvtriiy++mN3c3DyWMe4/3GBu\nC8YY2trahs6fP//je++994ODBw/G8B03X23R1NTk5uvrW1ZdXS1hjPuS5jtuvtri5Zdf3vj8889v\ntbSDu7t7Q2trqwvfsffF9sknn8z98ssvg6wTVGJi4qspKSnPMcaQnJyclJSUlGxbr62tbahMJtMb\nDAap2WwWKpXKM+Xl5VO7OhdNdQSgoqLCR6VSFQ4fPvzm0KFDf5g3b96J999//wHrMh09s2UZ4j6Q\n9KQtZs+efXLs2LGXAa4trAehDCQ9aQsA+Otf/7p26dKlB8ePH/8dH3E6Qk/a4p133lkeExNzyDII\nady4cd/zE6199aQtPDw86q5cuTIGAK5cuTLmjjvuaHBxcWnjJ+K+NXfu3E9vv/32Jut9nT2faq0n\nz8baogQFwN/f//ynn346t7Gx0f369esjs7Oz77X90u3oma2B+MXck7awtnv37pWLFi3KcWSMjtLT\n/xeZmZlLLLOg2PuxB770pC10Op2isbHRff78+cdnzpx5et++fQ/zFa899aQtHn/88X+WlZX5TZo0\nqVapVJZu3759HV/xOkJnz6da6+y5166OS0u+A/Dx8alISkpKiYiIyLvtttuuBQUFlQwZMqTdthyz\neSZqIH4Z9bQtAOD48ePz9+zZ89jnn3/+K0fH6Qg9aYtnnnnm9eTk5OcFAgFjjAls/48MFD1pi9bW\nVuGXX345PT8/P+z69esjZ8+efTIkJESrUCh0fMVtDz1piy1btrwQGBh4pqCgIPTrr7+WhYeHHyst\nLVWOHj36Kl9xO0pnz6feyvcl9aB+9Nhjj+05ffr0zBMnTsxzc3Nr9vb2rrR+v6tnswaa7toCAM6e\nPRvw+OOP/zMrK0tt290fSLpri+Li4hlxcXEZU6ZMMRw6dCjmqaee+ltWVpaar3jtqbu28PT0rI6I\niMgbMWLEjTvuuKPh7rvv/qS0tFTJV7z21F1bfPHFF3OWLVv2HgDIZLKvp0yZYqisrPTmJ1r76+z5\nVGs9eTb2f/B9w81ZNpPJNIExhosXL0728fH56vLly2Os37ceJHHy5MmQgTowoCdtcfHixckymUx/\n8uTJEL5j5bstrLdHH330zYE8iq+7tvjqq698wsLCPmpraxt67dq1kf7+/ufKysp8+Y6bj7Z49tln\n/7Jx48aXGWOor68XicXimoaGBne+4+6rzWAwSG0HSVhG5W3duvX5jgZJtLa2utx1111fGwwGaUtL\ni2tPBknw/kGdZZs7d+4nvr6+ZUql8szHH388n7GeP7M10Lbu2mLlypX/cnd3bwgMDCwJDAwsmTVr\nVhHfMfP5/8KyDfQE1ZO2eO2119b7+vqW+fv7n9u+fXsC3zHz1RbffffduPvuu+9IQEBAqb+//7m3\n3357Od8x99UWFxe338PDo1YoFJolEkn1nj17VnT2fKrRaJy0aNGibEvdzp5v7WwTMDbgbqMQQggZ\nAOgeFCGEEKdECYoQQohTogRFCCHEKVGCIoQQ4pQoQRHSjz366KN7Dx06FAMAoaGhBT4+PhVBQUEl\nvr6+5f/85z8f5zs+QnqDZpIgpB+zfmpfIBCwd955Z/n06dO/bGpqul0mk329YsWKNwfKHHBk8KEe\nFCFO6tSpU7OUSmVpS0vLsGvXrt3m7+9//vz58/5PP/30Th8fn4rw8PBj33777QTrOuzHqZauXLky\nZtSoUf8ZOnToD/xET0jvUQ+KECc1a9asU2q1OuvFF1/8040bN0Y8/PDD+y5cuOB14cIFr6+++mpq\nfX39RF9f3/KVK1fuBrjk9OCDD749bNiwFp1Op9i+ffu6gThfJBk8KEER4sReeumlV2bOnHl65MiR\n13fs2JHwu9/97i/Lly9/RyAQMA8Pj7oFCxZ8bClrfYnv+++/HzdnzpwvFi5c+OHkyZMv8fkZCLlV\ndImPECf2/fffj7t27dptV69eHX3z5s3hllnTu6s3bty476dPn/5lYWGhyhFxEmIPlKAIcWKrVq36\nx5/+9KcXly9f/k5SUlLK3Xff/cmBAwdi29vbh9TV1XkcP358vnV5S/K6fv36yJKSkiC5XK7nJ3JC\neo8u8RHipNLT0x8ZNmxYS1xcXEZ7e/uQOXPmfHH//ff/W6FQ6Hx9fcsnT558ac6cOV9Y13nwwQff\nHjFixI2WlpZhK1aseDMoKKiEr/gJ6S2aLJYQQohTokt8hBBCnBIlKEIIIU6JEhQhhBCnRAmKEEKI\nU6IERQghxClRgiKEEOKU/j9XO1m8HYmiTgAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x38eaa90>"
       ]
      },
      {
       "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": 2
    }
   ],
   "metadata": {}
  }
 ]
}