summaryrefslogtreecommitdiff
path: root/Digital_Communications_by_S._Haykin/Chapter6.ipynb
blob: 976b94b3ce40d2128401f2a78e2edc321a0ccc8d (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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 6 Baseband Shaping For Data Transmission"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 6.1(a) page 235"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n/6xNghwp9/1KAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc3cc0e5790>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from __future__ import division\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,grid,title,show\n",
    "\n",
    "#Figure 6.1(c):Discrete PAM Signals Generation\n",
    "# [3].BiPolar NRZ\n",
    "#page 235\n",
    "x = [0, 1, 1, 0, 0, 1 ,0 ,0 ,1 ,1]\n",
    "binary_negative = [-1, -1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1, -1]\n",
    "binary_zero = [0 ,0 ,0 ,0 ,0, 0 ,0 ,0 ,0 ,0]\n",
    "binary_positive = [1, 1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1]\n",
    "L = len(x)\n",
    "L1 = len(binary_negative)\n",
    "total_duration = L*L1\n",
    "#plotting\n",
    "for i  in range(0,L):\n",
    "  if(x[i]==0):\n",
    "    plot(range(i*L-L,i*L),binary_zero)\n",
    "    \n",
    "  elif((x[i]==1) and (x[i-1]!=1)):\n",
    "    plot(range(i*L-L,i*L),binary_positive)\n",
    "    \n",
    "  else:\n",
    "    plot(range(i*L-L,i*L),binary_negative)\n",
    "    \n",
    "grid()\n",
    "title('BiPolar NRZ')\n",
    "show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example6.2 Page 241"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Precoder output in binary form:\n",
      "1 \t1 \t0 \t0 \t1 \t0 \t0 \t\n",
      "\n",
      "Precoder output in volts:\n",
      "1 \t1 \t-1 \t-1 \t1 \t-1 \t-1 \t\n",
      "\n",
      "Duobinary coder output in volts:\n",
      "2 \t2 \t0 \t-2 \t0 \t0 \t-2 \t\n",
      "\n",
      "Recovered original sequence at detector oupupt:\n",
      "0 \t0 \t1 \t0 \t1 \t1 \t0 \t"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "b = [0,0,1,0,1,1,0]##input binary sequence:precoder input\n",
    "a = [1^b[0]]\n",
    "if(a[0]==1):\n",
    "  a_volts=[1]\n",
    "\n",
    "for k in range(1,len(b)):\n",
    "  a.append(a[(k-1)]^b[(k)])\n",
    "  if(a[(k)]==1):\n",
    "    a_volts.append(1)\n",
    "  else:\n",
    "    a_volts.append(-1)\n",
    "  \n",
    "print 'Precoder output in binary form:'\n",
    "for aa in a:\n",
    "    print aa,'\\t', \n",
    "print '\\n'\n",
    "print 'Precoder output in volts:'\n",
    "for bb in a_volts:\n",
    "    print bb,'\\t',\n",
    "print '\\n'\n",
    "#Duobinary coder output in volts\n",
    "c= [1+ a_volts[0]]\n",
    "for k in range(1,len(a)):\n",
    "  c.append(a_volts[(k-1)]+a_volts[(k)])\n",
    "print 'Duobinary coder output in volts:'\n",
    "for cc in c:\n",
    "    print cc,'\\t',\n",
    "print '\\n'    \n",
    "#Duobinary decoder output  by applying decision rule\n",
    "b_r=[]\n",
    "for k in range(0,len(c)):\n",
    "  if(abs(c[(k)])>1):\n",
    "    b_r.append(0)\n",
    "  else:\n",
    "    b_r.append(1)\n",
    "print 'Recovered original sequence at detector oupupt:'\n",
    "for brr in b_r:\n",
    "    print brr,'\\t',"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example6.3 page 246 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Modulo-2 adder output:\n",
      "1 \t1 \t0 \t1 \t1 \t0 \t0 \t0 \t0 \t1 \t0 \t\n",
      "Delay element output:\n",
      "1 \t1 \t0 \t1 \t1 \t0 \t0 \t0 \t0 \t1 \t\n",
      "differential encoder bipolar output in volts:\n",
      "1 \t1 \t0 \t1 \t1 \t0 \t0 \t0 \t0 \t1 \t"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "#for generating bipolar format\n",
    "#Refer Table 6.4\n",
    "\n",
    "x = [0,1,1,0,1,0,0,0,1,1]##input binary sequence:precoder input\n",
    "y= [1]\n",
    "for k in range(1,len(x)+1):\n",
    "  y.append(x[(k-1)]^y[(k-1)])\n",
    "\n",
    "y_delay = y[0:-1]\n",
    "print 'Modulo-2 adder output:'\n",
    "for yy in y:\n",
    "    print yy,'\\t',\n",
    "print ''    \n",
    "print 'Delay element output:'\n",
    "for yyy in y_delay:\n",
    "    print yyy,'\\t',\n",
    "print ''   \n",
    "z=[]\n",
    "for k in range(0,len(y_delay)):\n",
    "  z.append(y_delay[k])\n",
    "print 'differential encoder bipolar output in volts:'\n",
    "for zz in z:\n",
    "    print zz,'\\t',"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 6.4 Page 247"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nLJaQ+D+L1IOnq28nhgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f2eb08bd5d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from numpy import arange,sinc,sin,pi\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,grid,title,show,xlabel,ylabel\n",
    "\n",
    "\n",
    "\n",
    "#Different Line Coding Techniques\n",
    "#[1].NRZ Polar Format [2].NRZ Bipolar format\n",
    "#[3].NRZ Unipolar format [4]. Manchester format\n",
    "\n",
    "#[1]. NRZ Polar format\n",
    "a = 1 # The Amplitude value\n",
    "fb = 1 # The bit rate\n",
    "Tb = 1/fb#  #bit duration\n",
    "f = arange(0,1/(100*Tb)+2/Tb,1/(100*Tb))\n",
    "Sxxf_NRZ_P=[]\n",
    "Sxxf_NRZ_BP=[]\n",
    "Sxxf_NRZ_UP=[]\n",
    "Sxxf_Manch=[]\n",
    "for i in range(0,len(f)):\n",
    "  Sxxf_NRZ_P.append((a**2)*Tb*(sinc(f[i]*Tb)**2))\n",
    "  Sxxf_NRZ_BP.append((a**2)*Tb*((sinc(f[i]*Tb))**2)*((sin(pi*f[i]*Tb))**2))\n",
    "  if (i==0):\n",
    "    Sxxf_NRZ_UP.append((a**2)*(Tb/4)*((sinc(f[i]*Tb))**2)+(a**2)/4)\n",
    "  else:\n",
    "    Sxxf_NRZ_UP.append((a**2)*(Tb/4)*((sinc(f[i]*Tb))**2))\n",
    " \n",
    "  Sxxf_Manch.append((a**2)*Tb*(sinc(f[i]*Tb/2)**2)*(sin(pi*f[i]*Tb/2)**2))\n",
    "\n",
    "    \n",
    "\n",
    "#Plotting\n",
    "plot(f,Sxxf_NRZ_P)\n",
    "plot(f,Sxxf_NRZ_BP)\n",
    "plot(f,Sxxf_NRZ_UP)\n",
    "plot(f,Sxxf_Manch)\n",
    "xlabel('f*Tb------->')\n",
    "ylabel('Sxx(f)------->')\n",
    "title('Power Spectral Densities of Different Line Codinig Techniques')\n",
    "grid()\n",
    "show()\n",
    "#Result\n",
    "#Enter the Amplitude value:1\n",
    "#Enter the bit rate:1 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 6.6 page 249"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nXII4JV2CMMk2dSo0bgw72aDrvDruOBg61HcUJgq8JQlVXQVcALwCTAeGqOqMYF6oXsFu1wAbAg+K\nyFQRKchFFisuF5Ootra98AJ06xbfO4Djeu66dXN1iZUra94vru3LVNLblwmfNQlUdTQwuspjD1f6\n/9nA2fmOy0THCy/Ao4/6jqLwtG7t7sAeP96NdDKFy1tNIkxWk0imirmEFiyAtXx2jBao225z63Y8\n/HDt+5p4inpNwpgavfACdO1qCcKX446DF1+E1at9R2J8sj+/GEhyv2hNbauoR8RZnM/d1lvD5pu7\n+1TSiXP7MpH09mXCkoSJpM8/d91NBx/sO5LCZqOcjNUksvDTT/DRR27xm++/dyNuiorclBG77ALr\nrpvzEArG7bfDrFlWtPZtxgw47DD44gvr9gtLebn7APT55+69ZMUKaNoUNt4YdtjBzS6Qr591JjUJ\nr6Obom7VKkil4OWXYcwYtxjLn/8MrVq55ACwdCnMn+/+mLbayq3qddxxsOee8R22GQVDhsDNN/uO\nwuy4IzRr5ubN2mcf39HE19Kl7ops6FCYOBE23NB157Vo4e4DWr4clixxH4x+/NHdzNixIxx/PGy6\nqefgVTX2X64Z4Vm0SPW661RbtVLde2/Vvn1Vy8pUV65M/5wVK1QnTVK9/HLVbbZR3XNP1UGDan5O\npsaPH1//g0RUdW2bO1d1003D+dn5loRzd801qn//e/XfS0L7alLf9n36qerZZ6s2a6barZvqkCGq\nX31V83OWLHHvHaecorrBBqrHHKP6+uuq5eX1CqVawXtnje+vdgFZyZIlcMkl7mph0SI3FcR778EV\nV8Buu0HDGq67GjWCdu3gpptg9my45hp44AG3BkK2i8sXumefdVdjNf28Tf706OGu7GyUU+a++w7O\nPde9J7RsCZ9+CsOGwQknuKuHmmyyiZuJ98knXS/FkUe6Y+2/P4wdm5/4/6C2LBKHL+p5JbFyperd\nd6s2b656/vmqCxfW63C/Ky9XHTZMdautVLt3V/3223COm3S77aaaSvmOwlS2++7u06ypWXm56sCB\nqi1aqF5wger334dz3FWrVAcPdr0UXbqozpkTznGxK4navfsu7LGHqzu89Rbcf78b9hcGETeE85NP\n3KeJ3Xazq4razJrlrug6dPAdiamsRw8YNMh3FNH2009wyilwyy2uF+K++9bULuurQQPo3t29l+y7\n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\n10128cW+IzFhO+YYWLrUzTwaJ4MHw4gRbv6wtezdsFpWk4gpVTev/bJlrh81Dneav/aaWy9i+vT4\n9l2b9B57DJ59Fl55xXckmZkxw92r8+qrsHuNU4cml9UkEkzEjU+fPRvuu893NLVTheuvh6uvtgSR\nVKec4u5/+eAD35HU7qef3JX4LbcUboLIlCWJGEjXL9q0qatP9O0Lb7+d35iyNX48LF4MJ574x8eT\n3udbSO1be23XlXjjjf7iyUTFVfj++7t/a5L085cJSxIxt/XW7jK/e3f3JhxV11/vFoNq6PXOHJNr\n557rhjdPmuQ7kvTuvhs+/RTuv993JPFgNYmEuPpqN23H2LHReyN+7TXo3dv1AUctNhO+Rx5xtYnX\nXvMdyf966y033cakSVBc7Dsa/6wmUUCuu87dJXrllb4j+aPVq10XxM03W4IoFGecAZ9/7pYPjpJF\ni1x354ABliCyYUkiBjLpF23QwC0mMnhwHZcozJEBA2D99dPP9Jr0Pt9CbF+jRq4uceml7kNCFFTc\nMNerV+brKEDyz18mLEkkSPPm7k7sXr3cqCfffv7ZdYPdeWc8huia8Jxwgluz/bHHfEfiCtXnnQcb\nbeTqYiY7VpNIoIcecsNj33nHfYr35YorXLfD00/7i8H4M20aHH64GxbbvLm/OO68EwYOdDW79dbz\nF0cUZVKTsCSRQKruamLBAnj5ZT+1gA8/hEMPdW8ULVvm//VNNPTpA7/+6orZPowY4f4WJk5008GY\nP7LCdUJk2y9acaNdxWV2vvPn6tVuJb2+fWtPEEnv8y309t1wA4wc6We6jmnT3JolFfOF1UXSz18m\nLEkkVKNGbhji5MluZFE+3XILrLNO7TcqmeTbYAN49FEoLXXriOTLnDlw5JFufYh99snf6yaRdTcl\n3JdfQocObmruCy/M/eu9+y507erWGGjdOvevZ+KhVy83z9jAgbkfxLBggfudv/pq+6BSG+tuMmy+\nuVvJ7o474MEHc/taX38NPXq4wrklCFPZnXdCWZn73cilr76Cww6DCy6wBBEWb0lCRDYSkbEiMltE\nXhWRomr22UJExovIJyLysYhc5CNW3+rbL1pc7BLFzTfDww/XunudrFjh7oU46STo1i3z5yW9z9fa\n56y7rrt/59pr3V3PufDFF25W15NOcutbhCHp5y8TPq8kLgPGqup2wLhgu6qVwN9VdSegPXC+iOyY\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc324486a10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from numpy import arange,sinc,sin,pi\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,grid,title,show,xlabel,ylabel\n",
    "\n",
    "\n",
    "#Figure 6.6(b): Ideal Solution for Intersymbol Interference\n",
    "rb = 1 # The bit rate\n",
    "Bo = rb/2#\n",
    "t =arange(-3,1/100+3,1/100)\n",
    "x = sinc(2*Bo*t)\n",
    "plot(t,x)\n",
    "xlabel('t------>')#\n",
    "ylabel('p(t)------->')#\n",
    "title('SINC Pulse for zero ISI')\n",
    "grid()\n",
    "show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 6.7 page 250"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc30d2b9150>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from numpy import arange,sinc,sin,pi\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,grid,title,show,xlabel,ylabel,legend\n",
    "\n",
    "#Figure6.7(b):Practical Solution for Intersymbol Interference\n",
    "#Raised Cosine Spectrum\n",
    "\n",
    "rb = 1 # The bit rate\n",
    "Tb =1/rb#\n",
    "t =arange(-3,1/100+3,1/100)\n",
    "Bo = rb/2#\n",
    "Alpha =0#      #Intialized to zero\n",
    "x =t/Tb#\n",
    "p=zeros([3,len(t)])\n",
    "for j in range(0,3):\n",
    "  for i in range(0,len(t)):\n",
    "    if((j==2) and ((t[i]==0.5) or (t[i]==-0.5))):\n",
    "        p[j,i] = sinc(2*Bo*t[i])\n",
    "    else:\n",
    "        num =  sinc(2*Bo*t[i])*cos(2*pi*Alpha*Bo*t[i])\n",
    "        den =   1-16*(Alpha**2)*(Bo**2)*(t[i]**2)+0.01\n",
    "        p[j,i]= num/den\n",
    "    \n",
    "  \n",
    "  Alpha = Alpha+0.5#\n",
    "\n",
    "    \n",
    "plot(t,p[0,:])\n",
    "plot(t,p[1,:])\n",
    "plot(t,p[2,:])\n",
    "xlabel('t/Tb------>')\n",
    "ylabel('p(t)------->')\n",
    "title('RAISED COSINE SPECTRUM - Practical Solution for ISI')\n",
    "legend(['ROlloff Factor =0','ROlloff Factor =0.5','ROlloff Factor =1'])\n",
    "grid()\n",
    "show()\n",
    "#Result\n",
    "#Enter the bit rate:1\n",
    "        "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 6.9 Page 254"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\njuM4qfw/WG7FB0YOBAAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc30d372dd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from numpy import arange,sinc,sin,pi\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,grid,title,show,xlabel,ylabel\n",
    "\n",
    "\n",
    "#Caption:Frequency response of duobinary conversion filter\n",
    "#Figure6.9:Frequency Response of Duobinary Conversion filter\n",
    "#(a)Amplitude Response\n",
    "#(b)Phase Response\n",
    "rb =  8 # the bit rate\n",
    "Tb =1/rb#  #Bit duration\n",
    "f = arange(-rb/2,1/100+rb/2,1/100)\n",
    "Amplitude_Response = [abs(2*cos(pi*ff*Tb)) for ff in f]\n",
    "Phase_Response = [-(pi*ff*Tb) for ff in f]\n",
    "subplot(3,1,1)\n",
    "plot(f,Amplitude_Response)\n",
    "xlabel('Frequency f---->')\n",
    "ylabel('|H(f)| ----->')\n",
    "title('Amplitude Repsonse of Duobinary Singaling')\n",
    "subplot(3,1,3)\n",
    "plot(f,Phase_Response)\n",
    "xlabel('                                           Frequency f---->')\n",
    "ylabel('                                            <H(f) ----->')\n",
    "title('Phase Repsonse of Duobinary Singaling')\n",
    "show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 6.15 page 259"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc1e165f590>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from __future__ import division\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,grid,title,xlabel,ylabel,show,legend,subplot\n",
    "from numpy import arange,cos,pi,sinc,sin\n",
    "\n",
    "\n",
    "#Caption:Frequency response of modified duobinary conversion filter\n",
    "#Figure 6.15: Frequency Response of Modified duobinary conversion filter\n",
    "#(a)Amplitude Response\n",
    "#(b)Phase Response\n",
    "rb =  8# the bit rate\n",
    "Tb =1/rb#  #Bit duration\n",
    "f = arange(-rb/2,1/100+rb/2,1/100)\n",
    "Amplitude_Response = [abs(2*sin(2*pi*ff*Tb)) for ff in f]\n",
    "Phase_Response = [-(2*pi*ff*Tb) for ff in f]\n",
    "subplot(3,1,1)\n",
    "plot(f,Amplitude_Response)\n",
    "xlabel('Frequency f---->')\n",
    "ylabel('|H(f)| ----->')\n",
    "title('Amplitude Repsonse of Modified Duobinary Singaling')\n",
    "grid()\n",
    "subplot(3,1,3)\n",
    "plot(f,Phase_Response)\n",
    "xlabel('                                           Frequency f---->')\n",
    "ylabel('                                            <H(f) ----->')\n",
    "title('Phase Repsonse of Modified Duobinary Singaling')\n",
    "grid()\n",
    "show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}