diff options
Diffstat (limited to 'backup/Digital_Communications_by_S._Haykin_version_backup')
9 files changed, 3742 insertions, 0 deletions
diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter1.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter1.ipynb new file mode 100755 index 00000000..3f0fb80c --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter1.ipynb @@ -0,0 +1,96 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 1 Introduction" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex1.2 page 7" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nEUnY/wfincqi2HtregAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f473abb8710>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nmKgbhmEkxP8H1mfQrGLrivYAAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f473a895a50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,title,xlabel,ylabel,show,figure,text\n", + "from math import sin,pi,sqrt\n", + "\n", + "#Figure 1.2: Analog to Digital Conversion\n", + "t = np.arange(-1,1.01,0.01)\n", + "x = [2*sin((pi/2)*tt) for tt in t]\n", + "dig_data = [0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,1]\n", + "figure=figure()\n", + "#a=gca()#\n", + "#a.x_location =\"origin\"#\n", + "#a.y_location =\"origin\"#\n", + "#a.data_bounds =[-2,-3#2,3]\n", + "plot(t,x)\n", + "text(0.5,sqrt(2),'gnn')\n", + "text(-0.5,-sqrt(2),'gnn')\n", + "text(1,2,'gnn')\n", + "text(-1,-2,'gnn')\n", + "xlabel(' Time')\n", + "ylabel(' Voltage')\n", + "title('Analog Waveform')\n", + "show()\n", + "plot(range(1,len(dig_data)+1),dig_data)\n", + "title('Digital Representation')\n", + "show()\n" + ] + } + ], + "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 +} diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter2.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter2.ipynb new file mode 100755 index 00000000..49325463 --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter2.ipynb @@ -0,0 +1,394 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2 Fundamental Limit On Performance" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.1 page 18" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f4de4a3d1d0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import arange, zeros\n", + "from math import log\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title,show\n", + "\n", + "Po = arange(0,1+0.01,0.01)\n", + "H_Po = zeros(len(Po))\n", + "for i in range(1,len(Po)-1):\n", + " H_Po[i]=-Po[(i)]*log(Po[(i)],2)-(1-Po[(i)])*log(1-Po[(i)],2)\n", + "\n", + "#plot\n", + "#plot2d(Po,H_Po)\n", + "plot(Po,H_Po)\n", + "xlabel('Symbol Probability, Po')\n", + "ylabel('H(Po)')\n", + "title('Entropy function H(Po)')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.2 page 19" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Entropy of Discrete Memoryless Source\n", + "bits : 1.5\n", + "Table 2.1 Alphabet Particulars of Second-order Extension of a Discrete Memoryless Source\n", + "_________________________________________________________________________________\n", + "Sequence of Symbols of ruo2:\n", + " S0*S0 S0*S1 S0*S2 S1*S0 S1*S1 S1*S2 S2*S0 S2*S1 S2*S2\n", + "Probability p(sigma), i =0,1.....8 : [0.0625, 0.0625, 0.125, 0.0625, 0.0625, 0.125, 0.125, 0.125, 0.25]\n", + "_________________________________________________________________________________\n", + " \n", + "H(Ruo_Square)= 3.0 bits\n", + "H(Ruo_Square) = 2*H(Ruo)\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log\n", + "P0 = 1/4# #probability of source alphabet S0\n", + "P1 = 1/4# #probability of source alphabet S1\n", + "P2 = 1/2# #probability of source alphabet S2\n", + "H_Ruo = P0*log(1/P0,2)+P1*log(1/P1,2)+P2*log(1/P2,2)\n", + "print 'Entropy of Discrete Memoryless Source'\n", + "print 'bits : ',H_Ruo\n", + "#Second order Extension of discrete Memoryless source\n", + "P_sigma = [P0*P0,P0*P1,P0*P2,P1*P0,P1*P1,P1*P2,P2*P0,P2*P1,P2*P2]#\n", + "print 'Table 2.1 Alphabet Particulars of Second-order Extension of a Discrete Memoryless Source'\n", + "print '_________________________________________________________________________________'\n", + "print 'Sequence of Symbols of ruo2:'\n", + "print ' S0*S0 S0*S1 S0*S2 S1*S0 S1*S1 S1*S2 S2*S0 S2*S1 S2*S2'\n", + "print 'Probability p(sigma), i =0,1.....8 : ',P_sigma\n", + "print '_________________________________________________________________________________'\n", + "print ' '\n", + "H_Ruo_Square =0\n", + "for i in range(0,len(P_sigma)):\n", + " H_Ruo_Square=(H_Ruo_Square+P_sigma[i]*log(1/P_sigma[i],2))\n", + "print 'H(Ruo_Square)=', H_Ruo_Square,' bits'\n", + "print 'H(Ruo_Square) = 2*H(Ruo)'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.3 page 20" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average code-word Length L 2.2 bits\n", + "Entropy of Huffman coding result H 2.12 bits\n", + "Average code-word length L exceeds the entropy H(Ruo) by only 3.679 %\n", + "Varinace of Huffman code : 0.16\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log\n", + "\n", + "# (a)Average code-word length 'L'\n", + "#(b)Entropy 'H'\n", + "P0 = 0.4# #probability of codeword '00'\n", + "L0 = 2# #length of codeword S0\n", + "P1 = 0.2# #probability of codeword '10'\n", + "L1 = 2# #length of codeword S1\n", + "P2 = 0.2# #probility of codeword '11'\n", + "L2 = 2# #length of codeword S2\n", + "P3 = 0.1# #probility of codeword '010'\n", + "L3 = 3# #length of codeword S3\n", + "P4 =0.1# #probility of codeword '011'\n", + "L4 = 3# #length of codeword S4\n", + "L = P0*L0+P1*L1+P2*L2+P3*L3+P4*L4#\n", + "H_Ruo = P0*log(1/P0,2)+P1*log(1/P1,2)+P2*log(1/P2,2)+P3*log(1/P3,2)+P4*log(1/P4,2)\n", + "print 'Average code-word Length L',L,'bits'\n", + "print 'Entropy of Huffman coding result H %0.2f'%H_Ruo, 'bits'\n", + "print 'Average code-word length L exceeds the entropy H(Ruo) by only %0.3f'%(((L-H_Ruo)/H_Ruo)*100),'%'\n", + "sigma_1 = P0*(L0-L)**2+P1*(L1-L)**2+P2*(L2-L)**2+P3*(L3-L)**2+P4*(L4-L)**2\n", + "print 'Varinace of Huffman code : ',sigma_1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example2.4 page 20" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average code-word Length L : 2.2 bits\n", + "Entropy of Huffman coding result H : 2.12 bits\n", + "Varinace of Huffman code = 1.36\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log\n", + "\n", + "def log2(x):\n", + " return log(x,2)\n", + "\n", + "# Calculation of (a)Average code-word length 'L' (b)Entropy 'H'\n", + "P0 = 0.4# #probability of codeword '1'\n", + "L0 = 1# #length of codeword S0\n", + "P1 = 0.2# #probability of codeword '01'\n", + "L1 = 2# #length of codeword S1\n", + "P2 = 0.2# #probility of codeword '000'\n", + "L2 = 3# #length of codeword S2\n", + "P3 = 0.1# #probility of codeword '0010'\n", + "L3 = 4# #length of codeword S3\n", + "P4 =0.1# #probility of codeword '0011'\n", + "L4 = 4# #length of codeword S4\n", + "L = P0*L0+P1*L1+P2*L2+P3*L3+P4*L4#\n", + "H_Ruo = P0*log2(1/P0)+P1*log2(1/P1)+P2*log2(1/P2)+P3*log2(1/P3)+P4*log2(1/P4)#\n", + "print 'Average code-word Length L :',L,'bits'\n", + "print 'Entropy of Huffman coding result H : %0.2f bits'%H_Ruo\n", + "sigma_2 = P0*(L0-L)**2+P1*(L1-L)**2+P2*(L2-L)**2+P3*(L3-L)**2+P4*(L4-L)**2\n", + "print 'Varinace of Huffman code = %0.2f'%sigma_2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example2.5 page 20" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "probility of 0 receiving if a 0 is sent = probility of 1 receiving if a 1 is sent= 0.4\n", + "Transition probility\n", + "probility of 0 receiving if a 1 is sent = probility of 1 receiving if a 0 is sent= 0.6\n" + ] + } + ], + "source": [ + "p = 0.4# #probability of correct reception\n", + "pe = 1-p##probility of error reception (i.e)transition probility\n", + "print 'probility of 0 receiving if a 0 is sent = probility of 1 receiving if a 1 is sent=',p\n", + "print 'Transition probility'\n", + "print 'probility of 0 receiving if a 1 is sent = probility of 1 receiving if a 0 is sent=',pe" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example2.6 page 21" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f4e00050f10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import arange\n", + "from math import log\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,title,show,xlabel,ylabel\n", + "\n", + "\n", + "\n", + "def log2(x):\n", + " return log(x,2)\n", + "\n", + "\n", + "p = arange(0,0.5+0.01,0.01)\n", + "C=[]\n", + "for i in range(0,len(p)):\n", + " if(i!=0):\n", + " C.append(1+p[i]*log2(p[i])+(1-p[i])*log2((1-p[i])))\n", + " elif(i==0):\n", + " C.append(1)\n", + " elif(i==len(p)):\n", + " C.append(0)\n", + " \n", + "\n", + "plot(p,C)\n", + "xlabel('Transition Probility, p')\n", + "ylabel('Channel Capacity, C')\n", + "title('Figure 2.10 Variation of channel capacity of a binary symmetric channel with transition probility p')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example2.7 page 21" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nmff/xUXp9BgBdbUAAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f4de45b5e10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Table 2.3 Average Probility of Error for Repetition Code\n", + "_______________________________________________________________\n", + "Average Probility of Error, Pe =\n", + "0.01\n", + "0.000298\n", + "9.8506e-06\n", + "3.416698e-07\n", + "Code Rate, r =1/n = \n", + "1.00\n", + "0.33\n", + "0.20\n", + "0.14\n", + "_______________________________________________________________\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,title,show,xlabel,ylabel,legend\n", + "\n", + "\n", + "#Average Probility of Error of Repetition Code\n", + "p =10**-2#\n", + "pe_1 =p# #Average Probility of error for code rate r = 1\n", + "pe_3 = 3*p**2*(1-p)+p**3##probility of error for code rate r =1/3\n", + "pe_5 = 10*p**3*(1-p)**2+5*p**4*(1-p)+p**5##error for code rate r =1/5\n", + "pe_7 = ((7*6*5)/(1*2*3))*p**4*(1-p)**3+(42/2)*p**5*(1-p)**2+7*p**6*(1-p)+p**7##error for code rate r =1/7\n", + "r = [1,1/3,1/5,1/7]#\n", + "pe = [pe_1,pe_3,pe_5,pe_7]#\n", + "plot(r,pe)\n", + "xlabel('Code rate, r')\n", + "ylabel('Average Probability of error, Pe')\n", + "title('Figure 2.12 Illustrating significance of the channel coding theorem')\n", + "#xgrid(1)\n", + "show()\n", + "print 'Table 2.3 Average Probility of Error for Repetition Code'\n", + "print '_______________________________________________________________'\n", + "print 'Average Probility of Error, Pe ='\n", + "for pp in pe: print pp\n", + "print 'Code Rate, r =1/n = '\n", + "for rr in r:print '%0.2f'%rr\n", + "print '_______________________________________________________________'" + ] + } + ], + "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 +} diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter3.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter3.ipynb new file mode 100755 index 00000000..cb451838 --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter3.ipynb @@ -0,0 +1,377 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 3 Detection & Estimation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example3.1 page 120" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f3eb2943610>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f3eb26e6d10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange, ones, sqrt\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, subplot, xlabel,ylabel,title, show\n", + "\n", + "#using Gram-Schmidt orthogonalization procedure\n", + "T = 1#\n", + "t1 = arange(0,0.01+T/3,0.01)\n", + "t2 = arange(0,0.01+2*T/3,0.01)\n", + "t3 = arange(T/3,0.01+T,0.01)\n", + "t4 = arange(0,0.01+T,0.01)\n", + "s1t = [0]+[x for x in ones(len(t1)-2)]+[0]\n", + "s2t = [0]+[x for x in ones(len(t2)-2)]+[0]\n", + "s3t = [0]+[x for x in ones(len(t3)-2)]+[0]\n", + "s4t = [0]+[x for x in ones(len(t4)-2)]+[0]\n", + "t5 = arange(0,0.01+T/3,0.01)\n", + "phi1t = [sqrt(3/T)*x for x in [0]+[x for x in ones(len(t5)-2)]+[0]]\n", + "t6 =arange(T/3,0.01+2*T/3,0.01)\n", + "phi2t = [sqrt(3/T)*x for x in [0]+[x for x in ones(len(t6)-2)]+[0]]\n", + "t7 = arange(2*T/3,0.01+T,0.01)\n", + "phi3t = [sqrt(3/T)*x for x in [0]+[x for x in ones(len(t7)-2)]+[0]]\n", + "\n", + "#figure\n", + "title('Figure3.4(a) Set of signals to be orthonormalized')\n", + "subplot(4,1,1)\n", + "plot(t1,s1t)\n", + "xlabel('t')\n", + "ylabel('s1(t)')\n", + "subplot(4,1,2)\n", + "plot(t2,s2t)\n", + "xlabel('t')\n", + "ylabel('s2(t)')\n", + "subplot(4,1,3)\n", + "plot(t3,s3t)\n", + "xlabel('t')\n", + "ylabel('s3(t)')\n", + "subplot(4,1,4)\n", + "plot(t4,s4t)\n", + "xlabel('t')\n", + "ylabel('s4(t)')\n", + "show()\n", + "\n", + "\n", + "#figure\n", + "title('Figure3.4(b) The resulting set of orthonormal functions')\n", + "subplot(3,1,1)\n", + "plot(t5,phi1t)\n", + "xlabel('t')\n", + "ylabel('phi1(t)')\n", + "subplot(3,1,2)\n", + "plot(t6,phi2t)\n", + "xlabel('t')\n", + "ylabel('phi2(t)')\n", + "subplot(3,1,3)\n", + "plot(t7,phi3t)\n", + "xlabel('t')\n", + "ylabel('phi3(t)')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example3.2 page 121" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fa3f2804950>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Figure 3.8 (b).Representation of transmitted dibits\n", + "Loc. of meg.point| (-3/2)asqrt(T)|(-1/2)asqrt(T)|(3/2)asqrt(T)|(1/2)asqrt(T)\n", + "________________________________________________________________________________\n", + "Transmitted dibit| 00 | 01 | 11 | 10\n", + "\n", + "\n", + "Figure 3.8 (c). Decision intervals for received dibits\n", + "Received dibit | 00 | 01 | 11 | 10\n", + "________________________________________________________________________________\n", + "Interval on phi1(t)| x1 < -a.sqrt(T) |-a.sqrt(T)<x1<0| 0<x1<a.sqrt(T) | a.sqrt(T)<x1\n", + "0.0049504950495\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fa40942a910>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import sqrt,arange,random,sin,pi,zeros,multiply\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,xlabel,ylabel,title,show,grid\n", + "\n", + "#Signal constellation and Representation of dibits\n", + "a =1# #amplitude =1\n", + "T =1# #Symbol duration in seconds\n", + "#Four message points\n", + "Si1 = [(-3/2)*a*sqrt(T),(-1/2)*a*sqrt(T),(3/2)*a*sqrt(T),(1/2)*a*sqrt(T)]\n", + "plot(Si1,[0,0,0,0])\n", + "xlabel('phi1(t)')\n", + "title('Figure 3.8 (a) Signal constellation')\n", + "grid()\n", + "show()\n", + "print 'Figure 3.8 (b).Representation of transmitted dibits'\n", + "print 'Loc. of meg.point| (-3/2)asqrt(T)|(-1/2)asqrt(T)|(3/2)asqrt(T)|(1/2)asqrt(T)'\n", + "print '________________________________________________________________________________'\n", + "print 'Transmitted dibit| 00 | 01 | 11 | 10'\n", + "print ''\n", + "print ''\n", + "print 'Figure 3.8 (c). Decision intervals for received dibits'\n", + "print 'Received dibit | 00 | 01 | 11 | 10'\n", + "print '________________________________________________________________________________'\n", + "print 'Interval on phi1(t)| x1 < -a.sqrt(T) |-a.sqrt(T)<x1<0| 0<x1<a.sqrt(T) | a.sqrt(T)<x1'\n", + " \n", + "#Implementation of LMS ADAPTIVE FILTER\n", + "#For noise cancellation application\n", + "order = 18#\n", + "t =arange(0,0.01+1,0.01)\n", + "x = [sin(2*pi*5*tt) for tt in t]\n", + "noise =random.rand(len(x))\n", + "x_n = x+noise#\n", + "ref_noise = [noise*xx for xx in random.rand(10)]\n", + "w = zeros([order,1])\n", + "\n", + "\n", + "mu = 0.01*(sum(multiply(x,x))/len(x))\n", + "\n", + "print mu\n", + "\n", + "N = len(x)#\n", + "desired=[]\n", + "for k in range(0,1010):\n", + " for i in range(0,N-order-1):\n", + " if i < len(ref_noise):\n", + " buffer = ref_noise[i]#,i+order-1]\n", + " desired.append(x_n[i]-buffer*w)\n", + " w = w+(buffer*mu*desired[i])\n", + " \n", + "\n", + "subplot(4,1,1)\n", + "plot(t,x)\n", + "title('Orignal Input Signal')\n", + "subplot(4,1,2)\n", + "plot(t,noise)\n", + "title('random noise')\n", + "subplot(4,1,3)\n", + "plot(t,x_n)\n", + "title('Signal+noise')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example3.3 page 123" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f527e136a50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,sqrt,cos,pi,convolve\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,title,show\n", + "\n", + "\n", + "fc =4# #carrier frequency in Hz\n", + "T =1#\n", + "t1 = arange(0,0.01+T,0.01)\n", + "phit = [sqrt(2/T)*xx for xx in cos(2*pi*fc*t1)]\n", + "hopt = phit#\n", + "\n", + "phiot = convolve(phit,hopt)#\n", + "phiot = [yy/max(phiot) for yy in phiot]\n", + "\n", + "t2 = arange(0,0.01+2*T,0.01)\n", + "subplot(2,1,1)\n", + "plot(t1,phit)#\n", + "title('Figure 3.13 (a) RF pulse input')\n", + "subplot(2,1,2)\n", + "plot(t2,phiot)#\n", + "title('Figure 3.13 (b) Matched Filter output')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example3.4 page 124" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f527df99e50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import random,convolve\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,title,show\n", + "\n", + "\n", + "phit = [0.1*xx for xx in random.uniform(0,1,10)]\n", + "hopt = phit\n", + "phi0t = convolve(phit,hopt)\n", + "phi0t = [yy/max(phi0t) for yy in phi0t]\n", + "subplot(2,1,1)\n", + "plot(range(0,len(phit)),phit)\n", + "title('Figure 3.16 (a) Noise Like input signal')\n", + "subplot(2,1,2)\n", + "plot(range(0,len(phi0t)),phi0t)\n", + "title('Figure 3.16 (b) Matched Filter output')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example3.6 page 127" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Predictor-error variance 0.64\n", + "1 Predictor input variance 1\n", + "The predictor-error variance is less than the variance of the predictor input\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Rxx = [0.6, 1, 0.6]\n", + "h01 = Rxx[2]/Rxx[1]# #Rxx(2) = Rxx(0), Rxx(3) = Rxx(1)\n", + "sigma_E = Rxx[1] - h01*Rxx[2]\n", + "sigma_X = Rxx[1]\n", + "print 'Predictor-error variance',sigma_E\n", + "print sigma_X,'Predictor input variance',sigma_X\n", + "if(sigma_X > sigma_E):\n", + " print 'The predictor-error variance is less than the variance of the predictor input'\n" + ] + } + ], + "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 +} diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter4.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter4.ipynb new file mode 100755 index 00000000..a9616b0d --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter4.ipynb @@ -0,0 +1,134 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4 Sampling Process" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example4.1 page 164" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Aliasing error cannot exceed max|g(t)| = 2.0\n" + ] + }, + { + "data": { + "image/png": "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\nMMHMrs+zWFn3VZyYyr2vJK2tqNekpFWBvYAxWYvVbz+VsxW/SD0BDiXUvy0EpgPPRM93BJ6O7m9E\n6A0zFnjHYz7yAAAZCklEQVQPuCgNcUWP9yP0qphU6riAtsDzwEfAc0DrpPZVru0GTgVOzVjm5uj1\ndynQM65cMQFnRPtkLPA60KcMMT0ETAV+jL5PJ6VgPxWMKaH9tAtQE33mmOi2X5L7Kk5M5d5XQC9C\nldhYYBzw++zveX33kw/uc845F1ulV08555wrI08azjnnYvOk4ZxzLjZPGs4552LzpOGccy42TxrO\nOedi86ThnGs0SVtG02K4KudJwzlXDFsTpth2Vc4H9znnGiWahmUSsAphzqI/mdljyUblSsWThnOu\n0SQdD2xrZjmvoOeqh1dPOeeKQZT54kIuGZ40nHPF4FUWTYQnDedcMcwHWiUdhCs9TxrOuWJ4Cegh\naYykw5MOxpWON4Q755yLzUsazjnnYvOk4ZxzLjZPGs4552LzpOGccy42TxrOOedi86ThnHMuNk8a\nzjnnYvOk4ZxzLjZPGs4552LzpOGccy42TxrOOedi86ThnHMuNk8azjnnYvOk4ZxzLjZPGs4552Lz\npOGccy42TxrOOedi86ThnHMuNk8azjnnYvOk4ZxzLjZPGs4552LzpOGccy42TxrOOedi86ThnHMu\nNk8azjnnYvOk4ZxzLjZPGs4552LzpOGccy62oiUNSatIWrlY63POOZc+MrOGvVFqBhwC9Ad2IiQg\nAUuBkcCDwBPW0A9wzjmXOo1JGv8FXgGGAGPNbFH0/MrA1sBBwC5mtmuRYnXOOZewxiSNjc3sozqW\nWbk2mTjnnKt8jWnTeAhA0gv5FvCE4Zxz1aVFI97bXNIlwCaSziW0Z9QyM7uucaE555xLm8aUNI4i\nNHo3B1oBa2TcWjU+NOecc2nT4DaNZSuQ+pnZ0CLF45xzLsUaXNKQdIKkFvkShqSVJJ3Y8NCcc86l\nTWPaNNYA3pI0EXgLmE5o1+gAbAdsCtzZ6Aidc86lRqOqpyQJ2BnYBVg/evoz4FXgdR/Y55xz1aXR\nbRrOOeeajgZXT0naHPiZmf0nenw9sBZgwM1m9k5xQnTOOZcWjely+2dgdsbjvYGngBHAZY1Yr3PO\nuZRqTEP4emb2Wsbj+Wb2LwBJpzYuLOecc2nUmJLGcgP4zGyHjIfrNmK9zjnnUqoxSWOqpD7ZT0ra\n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\nYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f1df4d30f10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,ones,sinc\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show,title,subplot\n", + "\n", + "\n", + "t = arange(-1.5,0.01+2.5,0.01)\n", + "g = [2*sinc(2*tt-1) for tt in t]\n", + "print 'Aliasing error cannot exceed max|g(t)| = ',max(g)\n", + "f = arange(-1,0.01+1,0.01)\n", + "G = [0,0,0,0]+[xx for xx in ones(len(f))]+[0,0,0,0]\n", + "f1 = arange(-1.04,0.01+1.04,0.01)\n", + "subplot(3,1,1)\n", + "plot(t,g)\n", + "xlabel(' t')\n", + "ylabel(' g(t)')\n", + "title('Figure 4.8 (a) Sinc pulse g(t)')\n", + "subplot(3,1,3)\n", + "plot(f1,G)\n", + "xlabel(' f')\n", + "ylabel(' G(f)')\n", + "title('Figure 4.8 (b) Amplitude spectrum |G(f)|')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example4.3 page 165" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nSfvkhvUmJestaVrvK2RlqFxf+XXe6hUrktYlNU9tTtq/epN+tORVHhNN+8mawPmSzqmYfvXcPAt7\nxUww/zZs6xjOa+95u1Jb5541SF/+7bEU6cdmc4Lc91REzJT0Lml959dBNdu9LZ12LszOLdeSEr5R\nwKGkmqRqPgcW/G7+JqmLw4uSxgM/i4jbqyhTR+erNJDUv7XTPqszOoJNJmW4/XPD8q9nZv+XyA1b\npWIZ+RP226ST5YYRsWz21y/m71iUtxNwlqQ3SG2xAA9LOriK2Cu/AJ9uYZpqvigHk7Lm/M7+OmlH\ny1uT+Q+aapbdkpNJv663iohlSM0kooqkTtKPSf0E8lfVTCD9Klk+t+6XiYiNs/FvkL6gmuRfV3qN\nlCAum/tbOiL2rnJZs5h/n1mVeeuqU8uddc69kdSHYaWIWJbUr6BpeW1to/m2c5Zc92fBL/kmrS3v\nGVLZWpu+pf2quR8TE4BPt9Ap8H+kX9BNPk06lic1M201Kk/0Tft6W/tVqyLiHxGxG+m8MRZoupT+\nV6Tmz89l+8ERzH9Oq1xvr5Fq1/L75FIR8bsqwnib1Lw0IDfs08y/ztvaTy4kNTmtk8V7OguegyuP\niaZ96DVSLWk+9iUj4pF2fP5McseUpMrzcOUy2jqG89p73q7U1j4ygXTcNmeBcmedpdeh+XM6pGO7\nf276vqRm3f9VTNfWdm9unTe33y3MubDScOAASWuSmjNvrPJzFvgui4hxEXFoRKxIqkG+QdKnWHBf\n6UVKXNuar732JJ1rW9Tez1ropCYiPiF19Bki6VOS1iedXCIbP5l0YB4hqZeko0ntoS0tbw7ppHWe\npBUBJK0uabcWZvkssAnweVIzBMDepLbdBUjqLWlxUgbbR9LiuV7+NwHLSjoyi/UA0on6wSrWw0vA\n35j/Sqg7gHUlHZJ97teB9UmdXOeG1NayK6bJv+5LOpFMk7QcKbFqe2GpVuJ44GuRXTacleENUse5\n30taStIiktaW9OVskuuAE7LtsSypZqoljwLTJf0w2y96SfqcpC1yyzpVUj9Ja2Tx5A+4p4DDsvn2\nIPVz6ZJyk9rUFyWdwOZk0+X3t0nA8pJaOkFfD+wlaafs0tWTSVXpD7UUSithPgb0k5SvyZnE/MfM\nSNrer5qMJp00fyNpiWx//2I2bjjwfaX7DfUlJQnXtlCr05J8WVaSdIKkPpIOzGIaGelqydb2q5YX\n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\nNWZmZlYK/x9BcGdXqAyYrQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f05d85531d0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,ones,sinc,pi,sin\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show,title,subplot\n", + "\n", + "T_Ts = arange(0.01,0.01+0.6,0.01)\n", + "#E = 1/(sinc_new(0.5*T_Ts))#\n", + "E=[1]\n", + "for i in range(1,len(T_Ts)):\n", + " E.append(((pi/2)*T_Ts[i])/(sin((pi/2)*T_Ts[i])))\n", + "\n", + "plot(T_Ts,E)\n", + "xlabel('Duty cycle T/Ts')\n", + "ylabel('1/sinc(0.5(T/Ts))')\n", + "title('Figure 4.16 Normalized equalization (to compensate for aperture effect) plotted versus T/Ts')\n", + "show()\n" + ] + } + ], + "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 +} diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter5.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter5.ipynb new file mode 100755 index 00000000..d8a60805 --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter5.ipynb @@ -0,0 +1,313 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5 Waveform Coding Techniques" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example5.1 page 187" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The average transmitted power is:\n", + "1.225e-05 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "sigma_N = 10**-6 #the noise variance\n", + "k = 7 # separation constant for on-off signaling\n", + "M = 2 # number of discrete amplitude levels for NRZ polar\n", + "print 'The average transmitted power is:'\n", + "P = (k**2)*(sigma_N)*((M**2)-1)/12#\n", + "print P,\"W\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example5.2 page 189" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nsYL2HSso7bhhY1fSIXTtOqynXfv1tOuwHrVfh0rXQ+l6KF2HlazDStZS1W4N1V3WUtl1LZVaQwVr\n2WCrWW+rqLIKOpV0pUtpNzqXdqVr+27079iTXp160qtzT3p36UHvLj3p1akvvToNY6vOW9Gncx+2\n6hL/d96Kzu07M3bsWMaOHVvsr4ZrRfLdUXwl/v9O/H8nIbE4uYDxbAe8lxheCOyTPdM2369bqyK5\nc6pyZ2Hlz9zaNLW2XLBN07ec0bL6rIbZLDPC2GLu9S++zW+XPJ89Z+hPbDe5XktuC8v8Zc23aS7L\nHt64jG1cPwqdIPzPDCt7OM6LoXbxf2Zcu2qUWBeqjtOq4zaqN443quNwdYyjmorKNfy38lpM1ViH\nKqxDmM+oDlfZlNBOJZv+q4QSlVCiUkrblVLSrmTj/y4qoX1JezqUtqd9SSkdStvTsaQ9pSWltG/X\nng4lHXJ2HUs60qm0Ex1Luyf6w//OpZ3p0r4Lndt3pnNp543/u3XoRrcO3ehU2snbNnLNUpoyimlm\ntkfWuKlmNqrRg5FOAI4ws7Pj8CnAPmb2vcQ8XkDhnHP1UMgmPCTpADN7Ng6MZvNsqMb0PjAwMTyQ\ncFexUX131DnnXP2kSSjOAv4mKfMYxyfAmQWK52VgmKQhhPdynwR8o0Dbcs45l0Jd2nrqCWBmKwoa\nkHQkm6rH3mpmvynk9pxzzuWXpoyiE3ACMIRNdyBmZlcUNjTnnHPNQbsU8zwMjCG097QqdqsLGVQ2\nSddIekPSa5IeTGSDIekSSXMkzZbU6t+6Lumrkl6XVCVpz6xpbepYQHhAM+7vHEkXFTuepiTpNkmL\nk1XZJfWRNEnSW5ImSmoT7XhLGijpqfjbmCnp/Di+zR0PSZ0kTZE0TdIsSb+J4+t/LMwsbwfMrG2e\nQnfAl4B2sf9K4MrYP5LQom17wh3P3Mx8rbUDdgaGA08BeybGt8VjURL3c0jc72nAiGLH1YT7fyAw\nCpiRGHc18JPYf1Hmt9LaO6A/sEfs7wa8CYxow8ejS/xfCkwGDmjIsUhzR/G8pKK+H9vMJplZdRyc\nAmwf+48BxplZhYWH9OYSHtprtcxstpm9VcOkNncsSDygaWYVQOYBzTbBzJ4BlmeNHgPcEfvvAI5t\n0qCKxMwWWXyZmpmtIjykux1t93isib0dCBdUy2nAsUiTUBwIvBJvV2bEbnodYm5sZwH/jv3bsnn1\n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\nAElFTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f6de42cc750>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show,title,subplot\n", + "\n", + "\n", + "from math import log\n", + "def log2(x):\n", + " return log(x,2)\n", + "\n", + "\n", + "#Channel Capacity theorem\n", + "P_NoB_dB = range(-20,30) #Input signal-to-noise ratio P/NoB, decibels\n", + "P_NoB = [10**(xx/10) for xx in P_NoB_dB]\n", + "k =7# # for M-ary PCM system#\n", + "Rb_B = [log2(1+(12/k**2))*yy for yy in P_NoB]##bandwidth efficiency in bits/sec/Hz\n", + "C_B = [log2(1+xxx) for xxx in P_NoB]##ideal system according to Shannon's channel capacity theorem\n", + "#plot\n", + "plot(P_NoB_dB,C_B)\n", + "plot(P_NoB_dB,Rb_B)\n", + "xlabel('Input signal-to-noise ratio P/NoB, decibels')\n", + "ylabel('Bandwidth efficiency, Rb/B, bits per second per hertz')\n", + "title('Figure 5.9 Comparison of M-ary PCM with the ideal ssytem')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example5.3 page 192" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Channel width = 32000.00 Hz\n", + "Output Signal to noise ratio = 40.80 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#Channel Bandwidth B\n", + "n = 8 # no. of bits used to encode\n", + "W = 4000 # the message signal banwidth in Hz\n", + "B = n*W#\n", + "print 'Channel width = %.2f Hz'%B\n", + "SNRo = 6*n - 7.2#\n", + "print 'Output Signal to noise ratio = %.2f dB'%SNRo\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.5 Page 207" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum output signal-to-nosie = -5.17 dB for Delta Modualtion:\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import pi,log10\n", + "\n", + "a0 = 1 # The amplitude of sinusoidal signal\n", + "f0 = 4000 # the frequency of sinusoidal signal in Hz:\n", + "fs = 8000 # the sampling frequency in samples per seconds\n", + "Ts = 1/fs##Sampling interval\n", + "delta = 2*pi*f0*a0*Ts##Step size to avoid slope overload\n", + "Pmax = (a0**2)/2##maximum permissible output power\n", + "sigma_Q = (delta**2)/3##Quantization error or noise variance\n", + "W = f0##Maximum message bandwidth\n", + "N = W*Ts*sigma_Q# #Average output noise power\n", + "SNRo = Pmax/N# # Maximum output signal-to-noise ratio\n", + "SNRo_dB = 10*log10(SNRo)#\n", + "print 'Maximum output signal-to-nosie = %.2f dB for Delta Modualtion:'%SNRo_dB" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.13(a) page 215" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fe0db41f650>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,sign\n", + "from sympy import log\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show,title,subplot\n", + "\n", + "#Caption:u-Law companding\n", + "#Figure5.13(a)Mulaw companding Nonlinear Quantization\n", + "#Plotting mulaw characteristics for different \n", + "#Values of mu\n", + "\n", + "x = arange(0,0.01+1,0.01)# #Normalized input\n", + "mu = [0,5,255]##different values of mu\n", + "def mulaw(x,mu):\n", + " \"\"\"\n", + " F(x) = sgn(x) ln(1 + μ|x|) / ln (1 + μ)\n", + " -1 <= x <= 1\n", + " \"\"\"\n", + " f=sign(x)*log(1+mu*abs(x))/log(1+mu)\n", + " return f\n", + "Cx=[]\n", + "\n", + "for i in range(0,len(mu)):\n", + " Cx.append(mulaw(x[i],mu[i]))\n", + " plot(Cx)\n", + "title('Compression Law: u-Law companding')\n", + "xlabel('Normalized Input |x|')\n", + "ylabel('Normalized Output |c(x)|')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.13(b) page 216" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f35a637abd0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,sign,log\n", + "\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show,title,subplot\n", + "\n", + "#Caption:A-law companding\n", + "#Plotting A-law characteristics for different \n", + "#Values of A\n", + "\n", + "x = arange(0,0.01+1,0.01)# #Normalized input\n", + "A = [1,2,87.56]##different values of A\n", + "\n", + "\n", + "def Alaw(x,a):\n", + " \"\"\"F(x) = sgn(x) A |x| / (1 + lnA) for 0 ≤|x| < 1/A\n", + " \n", + "= sgn(x) (1+ln A|x|) /(1 + lnA) for 1/A ≤|x| ≤ 1\n", + "\"\"\"\n", + " if abs(x) >= 0 and abs(x) < 1/a:\n", + " f = sign(x)*a*abs(x)/(1+log(a))\n", + " elif abs(x) >= 1/a and abs(x) <=1: \n", + " f = sign(x)*(1+log(a*abs(x))/(1+log(a)))\n", + " else:\n", + " f = 'Wrong parameters'\n", + " return f\n", + "Cx=[]\n", + "for i in range(0,len(A)):\n", + " #[Cx(i,:),Xmax(i)] = Alaw(x,A(i))#\n", + " Cx.append(Alaw(x[i],A[i]))\n", + " plot(Cx)\n", + " \n", + "title('Compression Law: A-Law companding')\n", + "xlabel('Normalized Input |x|')\n", + "ylabel('Normalized Output |c(x)|')\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 +} diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter6.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter6.ipynb new file mode 100755 index 00000000..976b94b3 --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter6.ipynb @@ -0,0 +1,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 +} diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter7.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter7.ipynb new file mode 100755 index 00000000..f83a2952 --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter7.ipynb @@ -0,0 +1,973 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Chapter 7 Digital Modulation Techniques" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.01 page 294" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fa9141608d0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange, sin, pi,zeros\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title,grid,show\n", + "#Caption:Waveforms of Different Digital Modulation techniques\n", + "#Figure7.1\n", + "#Digital Modulation Techniques\n", + "#To Plot the ASK, FSK and PSk Waveforms\n", + "f = 2 # the Analog Carrier Frequency in Hz\n", + "t = arange(0,1/512+1,1/512)\n", + "x = [sin(2*pi*f*tt) for tt in t]\n", + "I = [0,1,1,0,1,0,0,1] # the digital binary data\n", + "#Generation of ASK Waveform\n", + "#Xask = []#\n", + "Xask=zeros(len(x))\n", + "for n in range(0,len(I)):\n", + " if((I[n]==1) and (n==0)):\n", + " Xask = [x,Xask]#\n", + " elif((I[n]==0) and (n==0)):\n", + " Xask = [zeros(len(x)),Xask]\n", + " elif((I[n]==1) and (n!=1)):\n", + " Xask = [Xask,x]\n", + " elif((I[n]==0) and (n!=1)): \n", + " Xask = [Xask,zeros(len(x))]\n", + " \n", + "\n", + "#Generation of FSK Waveform\n", + "Xfsk = []#\n", + "x1 = [sin(2*pi*f*tt) for tt in t]\n", + "x2 = [sin(2*pi*(2*f)*tt) for tt in t]\n", + "for n in range(0,len(I)):\n", + " if (I[n]==1):\n", + " Xfsk = [Xfsk,x2]\n", + " elif (I[n]!=1):\n", + " Xfsk = [Xfsk,x1]\n", + " \n", + "\n", + "#Generation of PSK Waveform\n", + "Xpsk = []#\n", + "x1 = [sin(2*pi*f*tt) for tt in t]\n", + "x2 = [-sin(2*pi*f*tt) for tt in t]\n", + "for n in range(0,len(I)):\n", + " if (I[n]==1):\n", + " Xpsk = [Xpsk,x1]\n", + " elif (I[n]!=1):\n", + " Xpsk = [Xpsk,x2]\n", + " \n", + "plot(t,x)\n", + "title('Analog Carrier Signal for Digital Modulation')\n", + "grid()\n", + "show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example7.1 page 298" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fa91c2c7d50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import ones,arange,cos,sin,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,title,xlabel,ylabel,show\n", + "\n", + "M =4#\n", + "i = range(0,M)\n", + "t = arange(0,0.001+1,0.001)\n", + "s1=ones([len(i),len(t)])\n", + "s2=ones([len(i),len(t)])\n", + "for i in range(0,M):\n", + " s1[i,:] = [cos(2*pi*2*tt)*cos((2*i-1)*pi/4) for tt in t]\n", + " s2[i,:] = [-sin(2*pi*2*tt)*sin((2*i-1)*pi/4) for tt in t]\n", + "\n", + "S1 =[]#\n", + "S2 = []#\n", + "S = []#\n", + "Input_Sequence =[0,1,1,0,1,0,0,0]\n", + "m = [3,1,1,2]\n", + "for i in range(0,len(m)):\n", + " S1 = S1+[s1[m[i],:]]\n", + " S2 = S2+[s2[m[i],:]]\n", + "S = S1+S2#\n", + "subplot(3,1,1)\n", + "plot(S1)\n", + "title('Binary PSK wave of Odd-numbered bits of input sequence') \n", + "subplot(3,1,2)\n", + "plot(S2)\n", + "title('Binary PSK wave of Even-numbered bits of input sequence') \n", + "subplot(3,1,3)\n", + "plot(S)\n", + "title('QPSK waveform') \n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.02 page 302" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "coordinates of message points [1.0, -1.0]\n", + "Message points ['0b1', '0b0']\n" + ] + }, + { + "data": { + "image/png": "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\nI2sAAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fb1828c2f90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import ones,arange,cos,sin,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,title,xlabel,ylabel,show\n", + "\n", + "M =2#\n", + "i = range(1,M+1)\n", + "y = [cos(2*pi+(ii-1)*pi) for ii in i]\n", + "\n", + "annot = [bin(xx) for xx in arange(len(y)-1,-1,-1)]\n", + "annot = [bin(yy) for yy in arange(len(y)-1,-1,-1)]\n", + "\n", + "print 'coordinates of message points',y\n", + "\n", + "print 'Message points',annot\n", + "plot(y)\n", + "xlabel(' In-Phase')#\n", + "ylabel(' Quadrature')#\n", + "title('Constellation for BPSK')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example7.2 page 304" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "coordinates of message points\n", + "[1.0, -1.0]\n", + "[-1.0, -1.0]\n", + "[-1.0, 1.0]\n", + "[1.0, 1.0]\n" + ] + }, + { + "data": { + "image/png": "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\nzjmXyv8Dg9CmkODLrqIAAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fb182a9ab90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import ones,arange,cos,sin,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,title,xlabel,ylabel,show,legend,grid,subplot\n", + "#Table 7.2 signal space characterization of MSK\n", + "\n", + "M =2#\n", + "Tb =1#\n", + "t1 = arange(-Tb,0.01+Tb,Tb)\n", + "t2 = arange(0,0.01+2*Tb,2*Tb)\n", + "phi1 = [cos(2*pi*t11)* cos((pi/(2*Tb))*t11) for t11 in t1]\n", + "phi2 = [sin(2*pi*t22)*sin((pi/(2*Tb))*t22) for t22 in t2]\n", + "teta_0 = [0,pi]\n", + "teta_tb = [pi/2,-pi/2]\n", + "S1 = []\n", + "S2 = []\n", + "for i in range(0,M):\n", + " s1.append(cos(teta_0[i]))\n", + " s2.append(-sin(teta_tb[i]))\n", + " S1 = S1+[s1[i]*phi1]\n", + " S2 = S2+[s2[0]*phi2]\n", + "\n", + "for i in arange(M,-1+1,1):\n", + " S1 = S1+[s1[i]*phi1]\n", + " S2 = S2+[s2(1)*phi2]\n", + "\n", + "Input_Sequence =[1,1,0,1,0,0,0]\n", + "S = []\n", + "t = arange(0,0.01+1,1)\n", + "S = S+[cos(0)*cos(2*pi*tt)-sin(pi/2)*sin(2*pi*tt) for tt in t]\n", + "S = S+[cos(0)*cos(2*pi*tt)-sin(pi/2)*sin(2*pi*tt) for tt in t]\n", + "S = S+[cos(pi)*cos(2*pi*tt)-sin(pi/2)*sin(2*pi*tt) for tt in t]\n", + "S = S+[cos(pi)*cos(2*pi*tt)-sin(-pi/2)*sin(2*pi*tt) for tt in t]\n", + "S = S+[cos(0)*cos(2*pi*tt)-sin(-pi/2)*sin(2*pi*tt) for tt in t]\n", + "S = S+[cos(0)*cos(2*pi*tt)-sin(-pi/2)*sin(2*pi*tt) for tt in t]\n", + "S = S+[cos(0)*cos(2*pi*tt)-sin(-pi/2)*sin(2*pi*tt) for tt in t]\n", + "\n", + "y = [[s1[0],s2[0]],[s1[1],s2[0]],[s1[1],s2[1]],[s1[0],s2[1]]]\n", + "print 'coordinates of message points'\n", + "for yy in y:\n", + " print yy\n", + " \n", + "\n", + "subplot(3,1,1)\n", + "plot(S1[0])\n", + "title('Scaled time function s1*phi1(t)')\n", + "#subplot(3,1,2)plot(S2[0])title('Scaled time function s2*phi2(t)')\n", + "subplot(3,1,3)\n", + "plot(S)\n", + "title('Obtained by adding s1*phi1(t)+s2*phi2(t) on a bit-by-bit basis') \n", + "show()\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.3 page 308" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Table 7.3 Illustrating the Generation of DPSK Signal\n", + "_____________________________________________________\n", + "\n", + "(bk) [1, 0, 0, 1, 0, 0, 1, 1]\n", + "\n", + "(bk_not) [0, 1, 1, 0, 1, 1, 0, 0]\n", + "\n", + "Differentially encoded sequence (dk)\n", + "1 \t0 \t1 \t1 \t0 \t1 \t1 \t1 \t\n", + "\n", + "Transmitted phase in radians\n", + "0 \t3.14159265359 \t0 \t0 \t3.14159265359 \t0 \t0 \t0 \t\n", + "\n", + "_____________________________________________________\n" + ] + } + ], + "source": [ + "\n", + "bk = [1,0,0,1,0,0,1,1]##input digital sequence\n", + "bk_not=[]\n", + "for i in range(0,len(bk)):\n", + " if(bk[i]==1):\n", + " bk_not.append(0)\n", + " else:\n", + " bk_not.append(1)\n", + " \n", + "dk_1 = [ 1 and bk[0]]# #initial value of differential encoded sequence\n", + "dk_1_not =[ 0 and bk_not[0]]\n", + "dk = [dk_1[0]^dk_1_not[0]] #first bit of dpsk encoder\n", + "for i in range(1,len(bk)):\n", + " dk_1.append(dk[(i-1)])\n", + " if dk[(i-1)]==1:\n", + " xxx=0\n", + " else:\n", + " xxx=1\n", + " dk_1_not.append(xxx)\n", + " dk.append(((dk_1[i] and bk[i])^(dk_1_not[i] and bk_not[i])))\n", + "dk_radians=[]\n", + "for i in range(0,len(dk)):\n", + " if(dk[i]==1):\n", + " dk_radians.append(0)\n", + " elif(dk[i]==0):\n", + " dk_radians.append(pi)\n", + " \n", + "print 'Table 7.3 Illustrating the Generation of DPSK Signal'\n", + "print '_____________________________________________________'\n", + "print '\\n(bk)',bk\n", + "print '\\n(bk_not)',bk_not\n", + "print '\\nDifferentially encoded sequence (dk)'\n", + "for dd in dk:\n", + " print dd,'\\t',\n", + "print '\\n\\nTransmitted phase in radians'\n", + "for ddd in dk_radians:\n", + " print ddd,'\\t',\n", + "print '\\n\\n_____________________________________________________'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.4 page 314" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "coordinates of message points\n", + "[[1, 0], [0, 1]]\n", + "[[1, 0], [0, 1]]\n", + "Message points ['0b1', '0b0']\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEhCAYAAAB7mQezAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYFNXZ/vHvA4psM8ywGoadqGgiigqKoo4oi0QCSqIi\nqxKVuIDGJCpGxfiiUSHJS/yxuASNGFzjq7gb4yjiElEQiRHFjVVUdhAEhuf3R/U0PcMsPTO99/25\nrrqYrjpVdbqY6dN3nao65u6IiIiUqJPsCoiISGpRwyAiIqWoYRARkVLUMIiISClqGEREpBQ1DCIi\nUkrUDYOZNYxnRUREJDVU2TCY2fFm9iGwNPT6SDObFveaiYhIUkSTGP4M9Ae+BXD3RcDJ8ayUiIgk\nT1Snktx9eZlZu+NQFxERSQH7RVFmuZmdAGBm9YBxwH/jWisREUkaq+pZSWbWHJgKnAYY8CIwzt3X\nxb96IiKSaJU2DGa2H3C/uw9LXJVERCSZKu1jcPfdQHszOyBB9RERkSSLpvP5c+B1M7vezK4KTb+K\nd8VEYsHMOpjZHjOrE3pdZGZjaritdma2xcwstrUEMzvBzD4Jbf+nsd6+SHVE0zB8CjwTKtsYyAlN\nIpjZeWa2IPSBttrMni25WCFO+ys0sxW12ISHpmj29YWZ9Q6v6L7c3XM8PoOY/B6YGtr+U7XdmJnd\nZ2bfh/5fNof+j06KWD7azIpDy0umqaFlvczsDTPbaGbrzOx1MzsmYr15EdvJNbP5Zvaome1f23pL\naqjyqiR3n5iAekgaCiXHq4GLgReAnQT3vPwUmJ/EqsWKE1xwkQjtgA9rsqKZ1XX34jKzHbjN3W8I\nlRkD/MPMWkQ0bPPd/aQy28oFnib4P30EOAA4Efi+nP3mE1yMshQY6e57alJ/ST3R3Pn8SjnTvxJR\nOUldZtYEuAm4xN3/z923u3uxuz/j7leHyhxgZn82s1Wh6U+hS55LvvmvNLNfmdnaUNoYHbH9AWb2\nn9C33ZJyDYHngNYR34QPtMA1ZrbMzL41s4dDH1pVvYfOZvav0DrfmNns0PvCzB4g+LCeG9rXr8s5\nLdXazJ4Kfav+xMx+EbHtiWb2iJndH6rnEjM7uoJ6fAp0Cu1rs5ntH8W2HzOzB8xsEzAqiv+yOUBT\noFXkrsspdzDg7v6wB3a4+0vu/kGZOrcAXgEWu/twNQqZJZpTSb+JmK4HFgHvxrNSkhZ6AvWBJyop\ncx3QAzgiNPUAfhexvBWQC7QGxgD/r+SDGbgXuMjdc4EfAa+4+3cEiWR16JRLrrt/RXBvzU+Bk4Af\nABuA/xfl+5gUWudQoC0wEcDdRwDLgTNC+5pczroPhcr8APgZcIuZnRKxfCDBB3IT4CngzvIq4O6d\nI/aV6+67otj2T4FH3b0J8PcK3ptBkCiAkcBnwNoKj0RgKVAcOhXVv4IGtilQRJA4atRfIynO3as9\nAe/UZD1NmTMBw4A1VZRZBvSPeN0X+Dz0cyHwHVAnYvlaoEfo5y+Bi4DcMtssBFaUmfch0Dvi9Q8I\nTmvVAToAe0r2Q/At94IK6jsYeC/i9edlthveFkEjshtoFLH8FmBW6OeJwIsRyw4DvqvkWIX3FeW2\ni6o49vcB2wkaye9C03kRy0cDu0LLS6aSY98FmAWsCJV5EmgZsd5mglNLPZL9e6gpPlM0p5KaRkzN\nzaw/wbc8yW7rgOYlp1Uq0JrgA77E8tC88Da89CmI7wgucAAYAgwAvrDgSqLjKtlPB+AJM9tgZhsI\nGordlD5tsg8za2VmD4VOVW0CHgCaVbZOhNbAenffFjFvOVAQ8Try2/l3QP0qjld1tr2yim04cIe7\n57t7Q6A7cEfo77fEW6HlJdO/Adz9I3c/393bAj8O1efPEeu9T3AG4TkzOzKK9yNpJppf0vcITh29\nC7wJXEUQ+yW7vUnwrfHMSsqsJvjQLtEuNK9K7r7A3QcDLYD/I+gIhfKvKFpOkEwiP+QauvuaKnZz\nC1AM/NiDUzIjKP03UdnVR6uBpmbWOGJeO6r+wI5GNNuu1pVR7v4fggsCflLN9ZYC9xM0EJHzpwJ/\nAF4ysx9VZ5uS+qJpGLq4e8fQdJC79wEWxLtiktrcfRNwA0G/wCAzaxjqND3dzG4LFZsD/C6UNJuH\nyj9Q1bZD2xlmZk08uNpmC8EHOATfwpuFrp4pMYPgHHy70PotLLp7ARoD24DNZlZA8C040lqgcwXv\nfwXwBnBrqJO9K3ABMDuK/VYqRts2IjqXzawL0AtYUulKZoeEOvoLQq/bAkMJvgiUrecdwP8C/zSz\ng6tRN0lx0TQMb0Q5T7KMu/8R+BVBh/LXBN/cL2Fvh/T/EHyJWByaFoTmhTdRyeaHA5+HTvFcRNCn\ngbt/RNDgfGZm683sQIIPp6eAF81sM8GHWI8o9nMTcBSwCZgLPF6m7K0EDdsG23tTZ+TyoQSJaDXw\nD+AGd/9XRLmy+63Ot/zqbrssB34buqJqK8HlxH9195lVbGMLcCzwdmi9Nwn+764qbz13/x/gHuBl\nM+tYjfcnKazCZyWZ2Q8Izi0+CJxH8O3DCfoXZrh7lyo3bvZXguj6tbsfXkGZqcDpBOdgR7v7whq8\nDxERiZHKbnDrS3AFQgEwJWL+FmBClNufBfwF+Ft5C81sAPBDdz/IzI4FpgOVdTKKiEicRfPY7Z+5\n+2M13oFZB2BueYnBzGYQXJ/+cOj1R8DJ7l7VtdYiIhIn0TwS4zEzO4PgOuz6EfN/H4P9FxBcK11i\nJdCGqm/CERGROInmPoaZwNkEd5da6Of2MaxD2dvy4/GAMhERiVI0Q3se7+6Hm9lid7/JzKYAz8do\n/6sI7vIs0SY0rxQzU2MhIlID7l7tB0FGc7nq9tC/34Wubd4NHFjdHVXgKYJnuBC6s3VjRf0Lr77q\ndO7sDB/urFuX/FvGkzXdeOONSa9Dqkw6FjoWOhZ7p/dWv0fX6V35yYM/YdXmVbjX/Pt0NA3D3NCD\ntO4guPv5C4LryKtkZnMI7nk4xMxWmNkFZnaxmV0M4O7PElyPvgyYSXANfLlOOgnefx+aNoXDD4e5\nc6OpgYhIZttZvJMbX7mRfrP7cVXPq5g7dC6tc1pXvWIlKj2VFHquy7/cfQPwuJk9A9R3943RbNzd\nh0ZR5rKoago0agT/+78wZAhccAE88kjwumnTaLcgIpI5Fq5ZyOgnR9M2ty2Lxi6qdYNQoqoxn/cQ\n8fhiD57NHlWjEE/ZnB4KCwuTXYWUoWOxl47FXtlwLOKREiJFcx/DZOAt4HGvzUmrWjCzCnf92mtB\neujZU+lBRDJfZEq4a+BdlTYIZobXoPM5moZhK9CQ4CFmO0Kz3YMBVBKisoYBYNs2mDABHnsMZsyA\ngQMTVTOJNbNEjaQpklnK+4yMW8OQCqpqGEooPaS/0C9ysqshklYq+rupacNQYR+DmR1tZkdVNFV3\nR4mQzX0PIiKxUtnTVYsI7kJuABxN8OhdgK7AAnfvmYgKhupS7e4NpYf0pMQgUn0JSwzuXujupxA8\nD/4odz/a3Y8GuhHlKFzJpPQgIlIz0Y7g9kHJC3dfAhwavyrFTsl9D3PmwJVXwogRsH59smslktkG\nDBjAAw9UOVBf3LzwwguceebeEWfr1KnDZ599Vm7ZBx98kH79+iWqajW2ePFiTjjhhITtL5qGYbGZ\n3WNmhWZ2ipndTTAYeNpQehBJnGeffZYRI0ZEVbawsJB777230jIXXXQRXbp0oW7dutx///1VbvO6\n667j2muvjWr/w4YN44UXXoiqbLzdeeedHHPMMdSvX5/zzz+/1LKuXbuSl5fH008/nZC6RNMwnA98\nCIwneMLqh6F5aUXpQST1RHN58pFHHsm0adM46qijqiz/zjvvsHnzZnr06FFpuXjbvXt3tdcpKCjg\n+uuv54ILLih3+bBhw5g5c2a5y2KtyobB3be7+x/d/czQ9Cd331HVeqlK6UFqo0OHDkyePJmuXbuS\nk5PDmDFjWLt2LaeffjpNmjShT58+bNy49+EAb731Fscffzz5+fkceeSRvPrqq+Fl9913H507dyY3\nN5dOnTrx97//HYBly5Zx8sknk5eXR4sWLTj33HPD64wfP5527drRpEkTjjnmGF5//fXwsu3btzNq\n1CiaNm3KYYcdxu23307btnsfXrx69WqGDBlCy5Yt6dSpE3/5y18qfJ+jR49m7Nix9O3bl9zcXAoL\nC1m+fHl4+RtvvEH37t3Jy8ujR48evPnmm+FlkSngvvvuo1evXvzmN7+hadOmdOrUieefDx7OfN11\n1zFv3jwuu+wycnJyGDduXLl1ueSSS+jduzf169cvd3mk5557rtw7n5955hk6d+5MixYt+O1vfxvu\nqL3vvvs48cQTw+Xq1KnDzJkzOfjgg8nPz+eyy/Y+sefTTz+ld+/eNG/enBYtWjB8+HA2bdoUXt6h\nQwduv/12unbtSuPGjZk8eTI/+9nPStVj3LhxXHHFFeXW/cwzz2TQoEE0a9as3OUnn3wyL7/8Mrt2\n7aryONRaVU/sAw4GHiNICp+Hps8S+dTAoJqx9+qr7p07uw8f7r5uXVx2IdUUr//rWOnQoYP37NnT\nv/76a1+1apW3bNnSu3Xr5osWLfIdO3Z47969/aabbnJ395UrV3qzZs38ueeec3f3l156yZs1a+bf\nfvutb9261XNzc/3jjz92d/evvvrK//Of/7i7+7nnnuu33HKLu7t///33Pn/+/PD+Z8+e7evXr/fi\n4mKfMmWKH3jggf7999+7u/vVV1/thYWFvnHjRl+5cqUffvjh3rZtW3d3Ly4u9qOOOspvvvlm37Vr\nl3/22WfeqVMnf+GFF8p9n6NGjfKcnByfN2+ef//99z5+/Hjv1auXu7uvW7fO8/LyfPbs2V5cXOxz\n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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fb18280cf90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import ones,arange,cos,sin,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,title,xlabel,ylabel,show,legend,grid\n", + "\n", + "M =2#\n", + "y = [[1,0],[0,1]]\n", + "annot = [bin(xx) for xx in (arange(M-1,-1,-1))]\n", + "print 'coordinates of message points'\n", + "for yy in y:\n", + " print y\n", + "\n", + "print 'Message points',annot\n", + "\n", + "plot(y[0])\n", + "plot(y[1])\n", + "xlabel(' In-Phase')#\n", + "ylabel(' Quadrature')#\n", + "title('Constellation for BFSK')\n", + "legend(['message point 1 (binary 1)','message point 2 (binary 0)'])\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.4. page 320" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nU5l8wJ1PhmeB5sARAFVdD1RzJ3MRiRWRzSKyVUSGZ3O9i4j8IiLrRWSdiLR1N21+cn1EBA9Ursyd\nycmkBstXa2govPceREZCt25w5oyZw/AwwdCeaWlp+eZcdO7cufTq1Yv4+Hj27NnDP//8w3PPPZfv\nSuhCPizuFhHeeOMNTpw4kXE0b96cGTNmMHPmTJYtW8aJEydISkri5ptvzpQu3a3YV199Rbdu3UhI\nSKBXr15el9lbuKOEzqvq0SzncpypF5ECwOtALFAHiBORrJvIL1XV+rY/unhgai7S5isjqlYlTISx\nO3f6UgzPEhoKM2dCeLi1jsiNBa2GywcR4dFHH2X8+PEcO3Ys2zirV6+madOmRERE0KxZM77//vuM\nazExMTz99NNcf/31lChRgvbt23Po0KFs81FVHn74YZ5++mn69+9PeHg4AK1bt2bq1KkZcZ5//vmM\nHlrfvn05fvx4pnxmzpxJVFQUV1xxBWPHjs2U/4svvkj16tUpU6YMvXv35siRI4A1lBcSEsL06dOJ\niorKeOlPnz6dOnXqUKpUKWJjY9m1a1dGfiEhIUyZMoWaNWsSGRnJ0KFDAUhOTmbIkCF8//33hIeH\nZ+y95C5JSUm0b98+Y2+mcuXKce+9mfcRVVUWLVpE7969mTVrFp07d85VGX6Hqro8gOlYG9v9CtQA\nJgFvuZGuJbDYITwCGJFD/DW5SWuJn3/sPnNGy65cqauOHs3Xcr3OuXOq3burduumev68r6W5rMjv\nZzg3REdH69KlS7V79+46atQoVVV9++23NSYmRlVVDx06pBERETpz5kxNTU3VWbNmaWRkpB4+fFhV\nVW+88UatXr26bt26VU+fPq0xMTE6YsSIbMtKTk5WEdEdO3Y4lWfatGlavXp1/fPPP/XkyZPavXt3\n7dOnj6qq/vnnnyoiOnDgQD1z5oz+8ssvWqhQId28ebOqqk6YMEFbtmype/bs0XPnzumgQYM0Li4u\nU9q+fftqSkqKnj59WhcsWKDVq1fXzZs3a2pqqj7//PN63XXXZcgiItqpUyc9duyY7tq1S6+44gpd\nvHixqqomJCTo9ddf77JtY2Ji9J133rno/MyZM7VUqVL60ksv6Y8//qgXLly4KF3nzp01MjJSly1b\n5rIMVefPl30+x/d/fhzuKKGiwFggyT7+CxR2I93twNsO4buBSdnE6wokA0eBZrlMm+NN8DSf/POP\nRn//vR4Ntpf1mTOqsbGqffqopqb6WprLhpyeYZYv98iRF6Kjo3XZsmX622+/acmSJfXAgQOZlNB7\n772nzZs3z5SmZcuWmpCQoKrWC/O///1vxrXJkydrbGxstmWtXLlSRUTPnj3rVJ62bdvqm2++mRHe\nsmWLhoWFaWpqaoYi2bNnT8b1Zs2a6Zw5c1RV9eqrr8700t67d+9Faf/888+M67GxsTpt2rSMcGpq\nqhYtWlR37dqlqpYSWrVqVcb1Xr166Ysvvqiqqu+++26OSujGG2/UokWLakREhEZERGjjxo0zrn3w\nwQd68803a7FixbR06dI6bty4TOlKlCihzZs319OnT7ssQzUwlJDTzXNEpAiWr7jqwAagpaqez00n\ny61IqguABSJyA/C+iFydizKIj48nOjoagIiICBo0aJDhPj99TN6T4QggtmJFhvz+O/ft34+IeLW8\nfAsXKsSENm1oMHMmMUOHwhtvkPjtt/4jXwCGJ0yY4Nbz6Ar1g6016tatS8eOHXnxxRepXfvfUfG9\ne/dStWrVTHGjoqLYu3dvRrh8+fIZ/xcpUoSTJ08CMHjwYD744AMAnnzySbp16wbAvn37iIqKylaO\nrNeqVq3KhQsX2L9/f7blFS1aNKO8nTt30q1bt0yWc6GhoZnSVqlSJeP/nTt38uCDD/LII49kkmHP\nnj0Z8bKWdSoXjo9FhEmTJtG/f/+Lrt15553ceeedpKam8sknn3DXXXfRsGFDbrnlFkSEMWPGMHfu\nXLp27crChQspWLBgjuUlJiaSkJAAkPG+9BucaSfgI2AmliJaAEzMjXYDWpB5SG0kMDyHNH8Apd1N\ni4+GMk5duKB1fvhBZ+zb55PyvcXy5ctVjx1TbdJE9fHHVdPSfC1SQLPcjR6Ir55hd0jvCamqbtu2\nTUuUKKGjR4/O6Am9//772qxZs0xpWrZsqTNmzFBVqyfk2Jtw1UNIS0vTqlWr6vjx453Kc9NNN+nk\nyZMzwtn1hFIdevGO5deqVUtXr16dbb7ZpW3fvr1++OGHTmUREf3jjz8ywvHx8frUU0+pqvvDcY5t\n44omTZroK6+8kindiRMntEWLFtq5c2c972JUxtnzhR/1hFwZJtRW1btV9S2s4bHWudRvSUANEYkW\nkYJAbyCTabeIXCW2qYeINLK1yiF30vqSogUKMKtOHR754w+2BZELnJiYmH+9b3/+Obzwgq9FCmiC\n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\nngAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fb1827ebe50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import ones,arange,cos,sin,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,title,xlabel,ylabel,show,legend,grid\n", + "from scipy.special import erfc\n", + "from math import log10,sqrt,exp\n", + "from __future__ import division\n", + "#Comparison of Symbol Error Probability\n", + "#of Different Digital Transmission System\n", + "#Eb = Energy of the bit No = Noise Spectral Density\n", + "Eb_No =[18,0.3162278]\n", + "x = arange(Eb_No[1],1/100+Eb_No[0],1./100)\n", + "x_dB = [10*log10(xx) for xx in x]\n", + "Pe_BPSK=ones(len(x))\n", + "Pe_BFSK=ones(len(x))\n", + "Pe_DPSK=ones(len(x))\n", + "Pe_NFSK=ones(len(x))\n", + "Pe_QPSK_MSK=ones(len(x))\n", + "for i in range(0,len(x)):\n", + " #Error Probability of Coherent BPSK \n", + " Pe_BPSK[i]= (1/2)*erfc(sqrt(x[i]))#\n", + " #Error Probability of Coherent BFSK\n", + " Pe_BFSK[i]= (1/2)*erfc(sqrt(x[i]/2))#\n", + " #Error Probability Non-Coherent PSK = DPSK \n", + " Pe_DPSK[i]= (1/2)*exp(-x[i])#\n", + " #Error Probability Non-Coherent FSK\n", + " Pe_NFSK[i]= (1/2)*exp(-(x[i]/2))#\n", + " #Error Probability of QPSK & MSK\n", + " Pe_QPSK_MSK[i]= erfc(sqrt(x[i]))-((1/4)*(erfc(sqrt(x[i]))**2))\n", + "\n", + "plot(x_dB,Pe_BPSK)\n", + "plot(x_dB,Pe_BFSK)\n", + "plot(x_dB,Pe_NFSK)\n", + "plot(x_dB,Pe_QPSK_MSK)\n", + "xlabel('Eb/No in dB ---->')\n", + "ylabel('Probability of Error Pe--->')\n", + "title('Comparison of Noise Performance of different PSK & FSK Scheme')\n", + "legend(['BPSK','BFSK','DPSK','Non-Coherent FSK','QPSK & MSK'])\n", + "grid()\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.06 page 324" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Table 7.7 Bandwidth Efficiency of M-ary PSK signals\n", + "______________________________________________________\n", + "M\n", + "[2, 4, 8, 16, 32, 64]\n", + "______________________________________________________\n", + "r in bits/s/Hz\n", + "[0.5, 1.0, 1.5, 2.0, 2.5, 3.0]\n", + "______________________________________________________\n" + ] + } + ], + "source": [ + "from math import log\n", + "\n", + "#Bandwidth Efficiency of M-ary PSK signals\n", + "M = [2,4,8,16,32,64]##M-ary\n", + "Ruo = [log(MM,2)/2 for MM in M]# #Bandwidth efficiency in bits/s/Hz\n", + "print 'Table 7.7 Bandwidth Efficiency of M-ary PSK signals'\n", + "print '______________________________________________________'\n", + "print 'M\\n',M\n", + "print '______________________________________________________'\n", + "print 'r in bits/s/Hz\\n',Ruo\n", + "print '______________________________________________________'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.6 page 326" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "coordinates of message points\n", + "\n", + "(0.707106781187+0.707106781187j)\n", + "(0.707106781187-0.707106781187j)\n", + "(-0.707106781187-0.707106781187j)\n", + "(-0.707106781187+0.707106781187j)\n", + "dibits value ['0', '1', '10', '11']\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fb182aefbd0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.707106781187\n", + "0.707106781187\n" + ] + } + ], + "source": [ + "from numpy import ones,arange,cos,sin,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,title,xlabel,ylabel,show\n", + "\n", + "\n", + "#Figure7.6 Signal Space Diagram for coherent QPSK system\n", + "M =4#\n", + "i = range(0,M)\n", + "y = [cos((2*ii-1)*pi/4)-sin((2*ii-1)*pi/4)*1J for ii in i]\n", + "annot = [bin(xx)[2:] for xx in range(0,M)]\n", + "print 'coordinates of message points\\n'\n", + "for yyy in y:\n", + " print yyy\n", + "\n", + "print 'dibits value',annot\n", + "plot([y[0].real,y[1].real,y[2].real,y[3].real],[y[0].imag,y[1].imag,y[2].imag,y[3].imag])\n", + "xlabel(' In-Phase')#\n", + "ylabel(' Quadrature')#\n", + "title('Constellation for QPSK')\n", + "show()\n", + "print y[0].imag\n", + "print y[0].real\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.7 page 329" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Table 7.7 Bandwidth Efficiency of M-ary FSK signals\n", + "______________________________________________________\n", + "M = \n", + "[2, 4, 8, 16, 32, 64]\n", + "______________________________________________________\n", + "r in bits/s/Hz=\n", + "[1.0, 1.0, 0.75, 0.5, 0.3125, 0.1875]\n", + "______________________________________________________\n" + ] + } + ], + "source": [ + "from math import log\n", + "# Bandwidth Efficiency of M-ary FSK\n", + "M = [2,4,8,16,32,64]##M-ary\n", + "Ruo = [2*log(MM,2)/MM for MM in M]# #Bandwidth efficiency in bits/s/Hz\n", + "#M = M'#\n", + "#Ruo = Ruo'#\n", + "print 'Table 7.7 Bandwidth Efficiency of M-ary FSK signals'\n", + "print '______________________________________________________'\n", + "print 'M = \\n',M\n", + "print '______________________________________________________'\n", + "print 'r in bits/s/Hz=\\n',Ruo\n", + "print '______________________________________________________'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example7.12.7.2 page 332" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "coordinates of message points\n", + "\n", + "[1.0, -1.0]\n", + "[-1.0, 1.0]\n", + "[-1.0, 1.0]\n", + "[1.0, 1.0]\n" + ] + }, + { + "data": { + "image/png": "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\nyZ49e9i9ezepqame169VqxYbN270vL73z/Xq1aNhw4aF+rJv3z5mz57t9z15P//AgQPs2rWLOnXq\nULt2bdavX1+o/fr166lTp07A2y7Y9xlr0aIFv/zyi2f+3HPP5ddffy00SC1btoxzzz3X8To3bNhQ\n6OfTTjuNatWqndLO16Dx+OOP8/HHHzN37lySkpIKLTt+/DirV6/m/PPPd9yXaOBk0BiO64aFQ4E2\nwPXAgFB2KlpZ6jCBuP7663n//feZO3cu+fn5HD58mNzcXPLy8ti+fTvvvvsuv/32G6eddhpVqlSh\nfPnygGs306ZNmwBIS0vz7Mrav38/FSpUoFq1ahw9epS//vWvhb5FX3311YwaNYo9e/aQl5fH888/\n7/lQzsrKIjk5mdGjR3Po0CHy8/P58ccfWbJkid/+f/jhhyxcuJCjR4/y6KOP0q5dO+rUqcNll13G\nL7/8wquvvsrx48d5/fXXWblyJT179gx4G9WsWZM1a9YU2+bYsWMcPnyYEydOcPToUQ4fPux3oO7R\nowf//e9/PfPnnHMOLVu2ZOTIkRw+fJi3336bH3/8kb59+wKu03HLlStXaGDwpqpMnz6dFStWcPDg\nQR577DGuuuqqUwa7gwcPsnjxYjp37ux5bNSoUbz66qt88sknpKenn7Lur7/+mgYNGhRKMrGgxEFD\nVb9W1f2qulFVb1LVPqr6ZTg6F40sdZiivD9ARMQzX7duXd59912eeuopatSoQWZmJmPHjkVVOXHi\nBM8++yx16tShatWqLFiwgBdeeAGAJUuWcNFFF5GcnEyvXr0YP348DRo0oHv37nTv3p1zzjmHBg0a\ncMYZZxTaTfTYY49Rt25dGjZsSE5ODldddRUVK1YEoHz58syePZulS5fSqFEjqlevzm233XbKrhvv\n93HdddcxcuRIqlatynfffcf06dMBqFq1KrNnz2bs2LFUq1aNMWPGMHv2bDIyTr0Ft/f28LW9hg0b\nxptvvklGRgbDhw/32Zdu3bpRuXJlvvzyS2677TYqV67MggULfLZt1aoVqampfP31157HXnvtNZYs\nWUJGRgYPP/wwb731FlWrVgVcaaxBgwZ+U5KIcMMNN3DTTTdRq1Ytjh49yvjx4095L/PmzaN9+/ae\n7Q2u60U2btzIWWedRXJyMsnJyfz973/3LJ8xYwZ33nmnz9eNaiUdKQc+8zHNC/SIeygnInS2jZ1h\n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\n7P8D6Iyuzawxn60AAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f21c4078a50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import pi,sin,cos,arange,ones,sinc\n", + "from math import log\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title,show,legend,grid\n", + "\n", + "M =2#\n", + "teta_0 = [0,pi]#\n", + "teta_tb = [pi/2,-pi/2]#\n", + "s1=[]\n", + "s2=[]\n", + "for i in range(0,M):\n", + " s1.append(cos(teta_0[i]))\n", + " s2.append(-sin(teta_tb[i]))\n", + "y = [[s1[0],s2[0]],[s1[1],s2[1]],[s1[1],s2[1]],[s1[0],s2[1]]]\n", + "print 'coordinates of message points\\n'\n", + "for xx in y:\n", + " print xx\n", + "plot(y[0])\n", + "plot(y[1])\n", + "plot(y[2])\n", + "plot(y[3])\n", + "xlabel(' In-Phase')#\n", + "ylabel(' Quadrature')#\n", + "title('Constellation for MSK')\n", + "legend(['message point 1 (0, pi/2)','message point 2 (pi, pi/2)','message point 3 (pi, - pi/2)','message point 4(0, - pi/2)'])\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example7.29 page 334" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nk08CsH79eipWrMhff+W+dC5cuJDDDz+cAwcOHFTnKSkpjB07lmbNmlG1alWuvjp3hqDs7GxuvPFG\natSoQePGjXnqqadISUkhOzs7qL0Rowiz9HUEysZohkCNBjNXzdQmjzfRge8M1E07N0WljHjks88+\ni7UJcUG07qtIkJGRodOmTTvouIjoSSedpJs3b9bdu3frwoUL9fDDD9e5c+dqdna2vvzyy5qRkaF7\n9+7VPXv2aIMGDXT06NG6f/9+feutt7RMmTJ65513qqrquHHjtFu3bgflv3LlSlVVve666/Sss87S\nzZs36/bt2/WMM87Q2267TVXdPVS6dGkdOXKk7t+/X6dMmaIVKlTQLVu2qKrqlVdeqT169NC1a9fq\ngQMH9KuvvtI9e/bopEmTtFOnTjnlLVq0SKtVq6b79u076LvOnj1by5cvryNHjtTPP/9cd+/enef8\nkCFDtFq1ajpv3jzdv3+/XnTRRTpgwIB8v8uoUaN00KBBOeeGDh2aUw/BEBE999xz9YgjjtDffvst\n5/iBAwe0ffv2eu+99+q+ffv0559/1saNG+vUqVNVVfXUU0/VMWPG5KS/7rrr9Nprr823zkVEzzjj\nDN26dav++uuvWqNGDf34449VVXXMmDHasmVLXbNmjW7evFl79eqlKSkpeuDAgYNsDXYve8eL/swN\nKRHUBvYBA8Mp5FC3aP6Ad+zZoddOuVbrPFpHJy+fHLVyjPijsPsKIrOFQ8OGDbVSpUqalpamaWlp\nes4556iqe5D4O/bLL7/8oAdc8+bNdebMmTpz5kytU6dOnnPHHXdcSI4hOztbK1asmPNgVVX98ssv\ntVGjRqrqHEP58uXzPKQOP/xw/frrr/XAgQNavnx5/fbbbw/6Xrt27dKqVavqihUrVFX1xhtv1Kuu\nuipoPXz00Ud6xhlnaFpamlaqVElvuOGGnDKHDh2ql1xySU7aKVOm6JFHHnnQd1FVHTlypA4cODDn\n3NChQ/WOO+4IWq7v+ipVqug111yT5/icOXO0QYMGeY498MADOmzYMFVVnThxonbt2lVVVffv36+1\natXSefPmqWr+juGLL77I2e/fv78+9NBDqqrao0cPfe6553LOTZs2TUWkWBxDqLOrDsWtzXwxMCFS\nrZV4wGZsNYKhMRziICK899579OzZ86Bz9evnrm21evVqXnnllZxQBsC+fftYt24dqkrdunXzXNuw\nYcOQyt+4cSM7d+6kQ4cOOcdUNU8Yo1q1aqSk5EajK1SowI4dO/jzzz/ZvXs3TZo0OSjfcuXK0b9/\nf1599VVGjhzJxIkTefvtt4Pa0adPH/r06QPAjBkz6NevH82bN+fSSy8FoGbN3CXiy5cvnyNMR4qJ\nEycyfPhw0tPTGTVqFODqfO3atVStWjUn3YEDB+jevTsAZ511FldccQWrVq1i+fLlVKlShY4dOwYt\nw1878tUhwLp16/L8r+vVqxfJr1YghWoM4tSaQcCtQFkROfi/nQSUJO3BNIbExl9AbdCgAbfffjub\nN2/O2Xbs2MH5559P7dq1WbMm74KIq1evzvlcsWJFdu7cmbPv3+upevXqlC9fnqVLl+bku2XLFrZt\n21aofdWrV6dcuXKsWLEi3/NDhgzhtddeY9q0aVSoUIFOnTqF9L179uxJz549WbJkSUjpCyJUEbpZ\ns2ZMmzaNZ555hoceeghwdd6oUaM8db5t2zY++OADwDm/fv36MWHCBCZMmMDgwYPDsrF27dr89ttv\nOfv+n6NNKOJzJrBMVf8kt9WQlFjPJSPRuOSSS3j22WeZO3cuqsrff//Nhx9+yI4dOzjuuOMoXbo0\nTzzxBPv27eOdd95h3rx5Ode2adOGJUuWsHjxYnbv3p3zRgxOFL3kkku47rrr2LhxIwBr1qzhk08+\nKdSmlJQUhg8fzg033MC6des4cOAAX331FXv37gWgS5cuiAg33XRTgQ/NyZMn88Ybb7B582ZUlblz\n5zJz5kw6d+4M5D9pXKjUrFkzj1BdEC1btmTatGn8+9//5vHHH+eYY44hNTWVhx9+mF27dnHgwAG+\n//575s+fn3PN4MGDGTduHJMnT2bQoEEh2+UL5QD079+fxx9/nLVr17JlyxYeeuihYpv4MRTHcDHw\nkvd5ItBfRJK6N1Oytx5sHEPiEvhg6NChA88//zxXX3016enpHHHEEbzyyisAlClThnfeeYfx48dT\nrVo1Jk2aRN++fXMePM2aNeOuu+6id+/eNG/enOOPPz5P/g899BBNmzalc+fOVKlShRNPPJEff/wx\nqC3+PPLII7Rq1YpjjjmGatWqcdttt+UJQw0ePJjvvvuOgQMHBs2jatWqPP/88zRr1owqVaowaNAg\nbr75Zi644IKc8gNt8N8P/Oy/f/HFF7N06VKqVq1K37598y3fP33r1q2ZOnUqd999Ny+++CIffPAB\nixYtonHjxtSoUYNLL700T2uqa9eupKSk0KFDhzzhoEA78rPfd+ySSy7hpJNOonXr1nTo0IHTTjuN\nUqVK5QnfRYsC50oSkarAPKCZqmZ7xyYAb6hqsT0tw5krKVLYnEvJS0mcK2nYsGHUq1ePe++9N6Z2\nvPrqqzz//PPMmjUrpnZEk969e3PhhRcyfPjwiOT30Ucf5WgXgRTrXEmqullVm/qcgndsYHE6hViT\njK0H0xhKLvHgCHfu3MnTTz+dIyAnI/PmzWPhwoWHNP3G7t27mTJlCvv372fNmjXcfffdQVs3kaZI\nbRIRSd7/ZAGY9mAkC4VNIxFtpk6dyuGHH07t2rW58MILY2ZHNBkyZAgnnngio0ePpmLFimHno6qM\nGjWK9PR02rdvz1FHHcU999wTQUuDU6Rpt0XkG1VtF0V7gpUbs1BSILZaXPJQEkNJRnIS6VBSUR3D\nIlVtW9RCDpV4cgw+THtIfMwxGMlCrNdjOL2oBSQriaw9mMZgGEZBFNUxPBsVKxIU0x4Mw0hGiuoY\n6haepOSRaK0HG8dgGEZBFFVjeElVI9MptwjEo8YQDNMeEgfTGIxkIdYaw9NFLaCkkQitB9MYEpvM\nzExefPHFWJsRlFGjRhU4DcTRRx+dM7BNVRk2bBjp6ek5U13EgtmzZ3PkkUfGrPx4o6iO4fmoWJFk\nmPZgHCr+S3vWqlWLYcOG8ffffwOxH4sA8N5779G2bVuqVKlCjRo16NWrV86I3MJs+/7773NmIv38\n88+ZNm0aa9euZc6cOYU6FXB1M3369Jz9iRMnkp6ezuzZs8P+PscffzzLly8P+/pko6iOIbZ3Y4IR\nr60H0xjiH/+lPRcuXMj8+fO57777Ym0WACtWrGDIkCH85z//YevWrfzyyy9cddVVlCpVCija6OrV\nq1eTkZFBuXLlQr7G3zG+/PLLXH311UyZMuWg1eiM8CmqYyieYXdJhLUejEOlTp069OnTJ89006tW\nraJbt25UrlyZk08+mU2bNuWc69evH7Vr1yYtLY0TTjiBpUuX5pybMmUKRx11FJUrV6ZevXo8+uij\nOecKWiLUn0WLFtGoUSN69OgBQKVKlejbt2/OZHEiwt69exkyZAiVK1fm6KOPZsGCBTnX+974X3zx\nRS655BK++uorUlNT6dy5Mw8++GDOEpzt2gUfS6uqjB07lptuuolPPvkkJwy1detWLr74YurUqUO9\nevW48847yc7OZu/evaSnp/P999/n5LFhwwYqVqzIpk2byMrKyjPZXUZGBo8++iht2rQhLS2NAQMG\nsGfPnpzzDz/8cE4ZL7zwQp4lUZOCwlbyARYAVwFVw1kJKBIbcbwEY1GIl9XibGlPRzzfV/5Le/76\n66961FFH6V133aWqqieccII2adJEf/rpJ921a5dmZmbqrbfemnPtuHHjdMeOHbp371697rrrtG3b\ntjnnatWqpZ9//rmqqm7ZskUXLlyoqhp0idA9e/YcZNvPP/+s5cqV0+uvv14/++wz3b59e57zI0eO\n1HLlyulHH32k2dnZetttt2nnzp3zfLfp06erqur48ePzrGgWuARnsLrp27ev1qxZ86BV4s4++2y9\n/PLLdefOnbphwwY99thjdezYsarqlhu95ZZbctKOHj1azzzzTFV1v4l69erlKaNTp066bt06/euv\nv7RFixb67LPPqqpbVa5WrVq6dOlS3blzp1500UWakpKSZ7W74ibYvUy0lvYEjgAeAFbgpt0+Ga83\nU3Ft8fwDDodYrzVtjsFR2H3FKCKyhYP/0p4NGzbUq666KmfN48zMTL3//vtz0j7zzDPap0+ffPPZ\nvHmziohu27ZNVVUbNGigY8eO1a1bt+ZJV9ASofkxZ84c7d+/v9aoUUPLlSunQ4cO1R07dqiqcwwn\nnnhiTtolS5Zo+fLlc/b9HUPgUpeBS3AGq5vKlSvr2WefrdnZ2TnH169fr2XLltVdu3blHHv99de1\nR48eOTb7L8nZoUMHffPNN1U1f8fw2muv5ezffPPNevnll6uq6rBhw3TEiBE551asWJFnGdFYEGnH\nUOjSnqr6EzBCRO7AjXx+CcgWkZeAx1XV4iJFxKc9jJg+glZjWhX7nEumMYSGjoxdV9aClvaEvMtB\n+i9peeDAAW6//XbeeustNm7cSEpKCiLCn3/+SWpqKm+//Tb33Xcft956K61bt+Zf//oXnTt3LnCJ\n0Pzo1KkTb7zxBgDz58/n/PPP5/777+eBBx4A8i65WaFCBXbv3k12dnZE1hIQEZ599lnuvfde/vGP\nf+T00Fq9ejX79u2jdu3aOWmzs7Np0KBBjs3ly5cnKyuLWrVqsXLlSs4888yg5QTWsa8u1q1bx7HH\nHptzrjiX3CwuQvoviUgb4DHg38DbQD9gOzAjeqYlN6Y9GNHg9ddfZ/LkyUyfPj1HGNbcljcdO3bk\nf//7Hxs3buTss8+mf//+QMFLhBZGx44dOeeccyKy5GaojqNmzZpMnz6d2bNnc+WVVwJuLeyyZcuy\nadOmnO+wdevWPFrJkCFDmDBhAq+++ir9+vXjsMMOK7KNsVxys7gIZc3nBcB/gLlAa1W9VlXnqOoj\nwC/RNjDZiUXPJRvHkPj4HvSB7Nixg7Jly5Kens7ff//NiBEjcs7t27eP1157ja1bt1KqVClSU1Nz\nehIVtERoIF988QUvvPBCzpKfy5cv5/3334/IOISaNWuyatWqkHo21a5dm+nTp/Pxxx9zww03ULt2\nbU466SRuuOEGtm/fTnZ2NitXrsyzGNDAgQN55513eO2114q8FrPPpv79+zNu3DiWL1/Ozp07Y77o\nUTQIxT33U9Weqvq6qu4BEJFGAKp6TlStKyFY68EoKsGWrRw8eDANGzakbt26HH300TnrK/uYMGEC\njRo1okqVKjz33HO89tprQMFLhAaSlpbG5MmTadWqFampqZxyyin07duXm2+++SB78rM38Lj/uX79\n+gFQrVo1OnbsWGg91K9fnxkzZvDWW29x++2388orr7B3715atmxJeno6/fr1Y/369XnSt2/fnpSU\nFLp16xaSjYF29unTh2uvvZYePXrQrFkzunTpAkDZsmULtTdRKHRKDBFZqKrtA44tUNUOhWYu0gcY\nDZQCXlDVhwLOVwcmALWA0sAjqjo+n3w0lDeIZMDWeyg+bEqMksnFF19M3bp1I7bozbJly2jVqhV7\n9+4tlvWY86PY1mMQkRZAS5yucBNucJsClYH/U9WjCjG0FPAD0BtYg1s7+gJVXeaXZhRQVlVv85zE\nD0BNVd0fkFeJcQw+bM6l6GOOoeSxatUq2rVrx6JFi2jYsGHY+bz77ruceuqp7Ny5kyFDhlC6dGne\neeedCFpaNIpzrqTmwBlAFe/v6d7f9sAlIeR9LLBCVVep6j5cV9ezAtKswzkavL+bAp1CSSWa2oNp\nDEZJ5M4776RVq1bcfPPNh+QUAJ577jlq1qxJ06ZNKVOmDGPGjImQlfFBKKGkLqr6VZEzFjkPOFlV\nL/H2BwKdVPUavzQpuJ5NzYBUoL+qfpRPXiWuxeBPpFsPWVlZ1mUVazEYyUOkWwxBxzGIyC2eJnCh\niASu2q2qem0heYfyixsBLFLVTBFpAnwqIm1UdXtgwqFDh5KRkQE48att27Y5DzffG3Cy7mf/ks2T\nLZ7k4/0f02pMK66qfhXHNTgu7Px8x+Ll+8Vq3zCSjaysLMaPHw+Q87wMh4I0hjNU9X0RGUruQ97n\neVRVXy4mcJhIAAAgAElEQVQwY5HOwChV7ePt3wZk+wvQIjIFuF9Vv/D2pwO3qOr8gLxKdIvBH9Me\nIoe1GIxkodg0BlV93/s7XlVf9hzBq8C7hTkFj/nAESKSISKHAecDkwPSLMeJ04hITZyukUQzUUWe\nSGgP9sZsGEaBFDZnBvA6ThiuCCzF9TC6OZT5NoBTcD2NVgC3eccuAy7zPlcH3gcWA98BFwbJJ995\nQEo64c65ZHMlOXAtYdtsS4ot2D2uYcyVFIr4vFhV24jIRbgeSbcCC1W1VYEXRhALJQXHxj0YhhGM\naC7tWVpEygBnA++r63pqT+k4wUZNG4YRaUJxDGOBVUAlYJaIZABbo2eSEQ5F0R5MY4gcVpeRxeoz\nPijUMajqE6paV1VPUdVsYDXQI/qmGUXFWg+GYUSCUDSGcsC5QAa54x5UVYttmU/TGIqOaQ+GYUR8\nriS/jKcCW3BLfB7wHVfVR4NeFGHMMYSPjXswjJJLNB3D96p6dNiWRQBzDIdGYOshdV2qTYkRIWx6\nkchi9RlZIj4lhh9fikhrVf02DLuMOMCnPZzb8lyGvzecRlsb0bpTa2s9GIaRL6G0GJYBTXGrte3x\nDquqto6ybf42WIshQpj2YBglh2iGkjLyO66qq4paWLiYY4g8pj0YRvITtQFungOoD/TwPv9N7mR6\nRgKSlZUVk7WmkxHrdx9ZrD7jg0Idg7fK2s3Abd6hw3DLcRoJjo17MAwjP0KaKwloByxQ1XbesW9N\nY0guTHswjOQjmnMl7fFGPPsKqljUQoz4x1oPhmH4CMUxvCkiY4E0EbkUmA68EF2zjGhSUBzXtIei\nYTHxyGL1GR+EIj7/G3jb25oBd6rqE9E2zIgd1nowjJJNKBpDGs4hAPyoqluibtXBNpjGECNMezCM\nxCXi4xhEpCxuyu2zcYPbBDeR3ru4Fdj2hm1tETHHEHts3INhJB7REJ/vAMoA9VW1naq2xY1nKA3c\nGZ6ZRjwQThzXtIf8sZh4ZLH6jA8Kcgx9gUtVdbvvgPf5Cu+cUcIw7cEwSgYFhZKCjlUQke9szeeS\njWkPhhH/RENj+BbIzO8U8JkNcDPAtAfDiGeioTFUxi3OE7jNB1LDMdKIDyIZxy3p2oPFxCOL1Wd8\nEHQ9BlXNKEY7jAQmcL2HSUsnWevBMBKYQscxxAMWSkocTHswjPghausxxAPmGBIP0x4MI/ZEcxI9\nI8kojjhuSdEeLCYeWaw+44OgjkFE0gvaitNIIzGxcQ+GkZgU1F11FRA0fqOqjaJkU362WCgpwTHt\nwTCKH9MYjITAtAfDKD6iqjGISFUROVZEuvu2optoxAuxjOMmm/ZgMfHIYvUZH4Sy5vMlwCzgE+Bu\nYCowKrpmGcmMaQ+GEd+Esh7D98AxwFeq2lZEjgQeVNVzisNAzwYLJSUppj0YRvSImsYgIvNVtaOI\nLAI6q+puEVmqqi3DNbaomGNIfkx7MIzIE02N4XcRqQr8D/hURCYDq4pakBE/xGMcN1G1h3isy0TG\n6jM+CDpXkg9VPdv7OEpEsnCT630cTaOMkonNuWQY8UGBoSQRKQ18r6pHhpW5SB9gNFAKeEFVH8on\nTSbwH9xqcX+qamY+aSyUVMIw7cEwDp1oagzvAdeq6uoiGlQK+AHoDawB5gEXqOoyvzRpwBfAyar6\nu4hUV9U/88nLHEMJxbQHwwifaGoM6cASEZkhIu972+QQrjsWWKGqq1R1HzAROCsgzYXA26r6O0B+\nTsGIPIkUx4137SGR6jIRsPqMDwrVGIA7cKu2+RPK63td4De//d+BTgFpjgDKiMhnuMV/HlfVV0PI\n2yhBmPZgGMVLKC2G01Q1y38DTg3hulCcRxmgvZffycCdInJECNcZh0BmZmasTQiLeGw9JGpdxitW\nn/FBKC2GE/M5dipwSyHXrQHq++3Xx7Ua/PkNJzjvAnaJyCygDfBTYGZDhw4lIyMDgLS0NNq2bZtz\nE/man7af/PsVD6vIOeXPoXGdxlw/9XomLZ1Evwr9qFy2clzYZ/u2H8v9rKwsxo8fD5DzvAyHgmZX\nvQK4EmgCrPQ7lQp8oaoXFZix69H0A9ALWAvM5WDx+UjgKVxroSzwNXC+qi4NyMvE5wiSlZWVc1Ml\nMvHQcylZ6jJesPqMLOGKzwW1GF4HPgL+hWsd+DLfrqqbCstYVfeLyNW4uZVKAS+q6jIRucw7P1ZV\nl4vIx8C3QDbwfKBTMIxgmPZgGNEhlO6qXYAlqrrN268MtFDVr4vBPp8N1mIwCiQeWg+GEW9EcxzD\nIqC9qmZ7+6WA+araLixLw8AcgxEqNu7BMHKJ6noMPqfgfT6ACw0ZCYpPrEpGirvnUjLXZSyw+owP\nQnEMv4jItSJSRkQOE5F/Aj9H2zDDCBdb78EwDo1QQkk1gSeAHt6h6cA/VXVDlG3zt8FCSUZYmPZg\nlGRszWfDKADTHoySSNQ0BhFpLiLTRWSJt99aRO4Ix0gjPiiJcdxoaQ8lsS6jidVnfBCKxvA8MALY\n6+1/B1wQNYsMI0qY9mAYoVGUpT2/8XVRFZFFqtq2WCzEQklG5DHtwSgJRLO76kYRaepX0HnAuqIW\nZBjxhLUeDCM4oTiGq4GxwJEisha4HrgiqlYZUcXiuLkcqvZgdRlZrD7jg0Idg6quVNVeQHWguap2\nVdVVUbfMMIoJaz0YRl5C0RiqAyOBbrg1FmYD94QykV6kMI3BKC5MezCSiWjOlTQNmAlMwM2weiGQ\nqaq9wzE0HMwxGMWNjXswkoFois+1VPVeVf1FVX9W1fuAmkU30YgXLI5bOKFqD1aXkcXqMz4IxTF8\nIiIXiEiKt50PfBJtwwwj1pj2YJRUQgkl7QAq4BbSAedM/vY+q6pWjp55OTZYKMmIKaY9GImIzZVk\nGMWAaQ9GIhFxjUFEMkQkzW+/p4g8ISI3iMhh4RpqxB6L44ZPoPbwwCsPxNqkpMLuzfigII1hEi6E\nhIi0Bd4EVgNtgWeib5phxCf+2sPT85427cFIOoKGkkTkW1Vt7X1+BMhW1ZtFJAVYrKqtis1ICyUZ\ncYppD0Y8E43uqv6Z9QJmQN5lPg2jpGM9l4xkpCDH8JmIvCkiTwBpeI5BROoAe4rDOCM6WBw3cvjq\nsrjXmk5W7N6MDwpyDNcB7wC/AN1U1bceQ03g9mgbZhiJhrUejGTBuqsaRhQw7cGIB2wcg2HEITbu\nwYgl0ZwryUgyLI4bOQqrS9Meiobdm/FBgY5BREqLyGvFZYxhJCOmPRiJRihzJX0O9FLVmPVEslCS\nkSyY9mAUJ9Fcj+FV4EhgMrDTO6yq+liRrQwTcwxGsmHag1EcRFNjWAl86KWt5G2pRS3IiB8sjhs5\nwq1L0x7yx+7N+KB0YQlUdRSAiFRU1b8LSW4YRoj4tIdzW57L8PeGM2npJGs9GHFBKKGk44AXgFRV\nrS8ibYDLVPXK4jDQs8FCSUZSY9qDEQ2iqTHMBc4D3lPVdt6xJap6VFiWhoE5BqOkYNqDEUmiOo5B\nVX8NOLS/qAUZ8YPFcSNHpOuypGsPdm/GB6E4hl9FpCuAiBwmIjcBy6JrlmGUXGzcgxFrQgkl1QAe\nB3rjpuL+BLhWVTdF37wcGyyUZJRITHswDoVoagzlVHV3mEb1AUYDpYAXVPWhIOmOAb4C+qvqO/mc\nN8dglGhMezDCIZoawxIR+VJE/iUip4lIlRANKgU8BfQBWgIXiEiLIOkeAj4m7+JARpSwOG7kKK66\nLCnag92b8UGhjkFVmwAXAN8BpwPfisiiEPI+FlihqqtUdR8wETgrn3TXAG8BG0O22jBKIKY9GMVF\noY5BROoBXYHjgXbAEuCNEPKuC/zmt/+7d8w/77o4ZzHGOxQ0XtStG9x9N3z5Jey3PlGHRGZmZqxN\nSBpiUZfJ3HqwezM+CKlXEvBPXKini6qeqqoPhnBdKKLAaOBWT0AQCggl3XUX7NgBV14J1avD2WfD\n00/Djz+CyQ9GScNaD0Y0KXRKDFwr4XhcOOkWEfkJmKWqLxRy3Rqgvt9+fVyrwZ8OwEQRAagOnCIi\n+1R1cmBmr78+lIyMDM4+G1JS0ti7ty3z52fy4IOwb18WHTrA4MGZ9OoFS5ZkAblvH764pe27/dGj\nR9O2bdu4sSeR9/1j4rEov3vD7jzZ4kleWPgCrX5pxbOnPUvqutSY2XOo+7Guz0Tfz8rKYvz48QBk\nZGQQLiGt4CYiqbhwUndgIICqNijkmtLAD0AvYC0wF7hAVfMdAyEi44D3i9orSRV++AE+/dRtM2dC\nkyZw4olu69YNypUr9CuWKLKysnJuKuPQiKe6TIaeS/FUn8lANLurzgfKAV8Cs4DZqro6RKNOIbe7\n6ouq+qCIXAagqmMD0oblGALZtw++/jrXUXz3HXTpAr17O0fRpg2k2Lp1RpJi4x4Mf6LpGA5X1Q1h\nWxYBDmUcw9atkJWV6yg2b4ZevXJbFPXrF5qFYSQcydB6MA6daI5j2Csi/xGRBd72aKhjGeKBKlXg\nrLPgqadcyGn+fNd6+OQTaN8emjeHq6+G996DbdtibW3x4B/HNQ6NeK3LRO25FK/1WdIIxTG8BGwD\n+gH9ge3AuGgaFU0aNICLL4aJE+GPP9zfBg2c46hbF7p2hVGj4IsvXFjKMBIV67lkhEsooaTFqtqm\nsGPRpLimxNi1Cz7/3IWcpk2Dn3+G7t1zw07Nm4PY2GwjATHtoWQSTY1hDvB/qjrb2+8G/FtVu4Rl\naRjEaq6kjRth+vRcfUI110n06gWHH17sJhnGIWHaQ8kimhrD5cDTIrJaRFbj5j+6vKgFJSI1asCA\nAfDii7B6tWtFtG/vwk/NmkHbtvB//+f0il27Ym1t6FgcN3IkWl3Gu/aQaPWZrBQ4wE1E2gFNgAG4\nwWmiqluLw7B4Q8SFknxi9f79MHeua0nccw8sXgydOuW2KNq2tW6xRnxia00bhRE0lCQid+EGsy0A\nOgMPqupzxWibvy1xP+32tm15u8X++WfebrENG8baQsM4GNMekpuIawwishToqKo7RaQaMFVVOx6i\nnWGRCI4hkN9+c6Enn5CdlpbrJHr0cN1oDSNeMO0hOYmGxrBHVXcCeKu1WWCkCNSvD8OGweuvw/r1\nMGkSZGTAmDFQr54bjX3XXTB7dvF3i7U4buRIlrqMF+0hWeoz0SlIY2gsIu8H2VdVPTOKdiUVKSlO\nc/CJ1bt3u3ESn34K110HK1bkdovt3RtatLBusUbxY9qD4aOgUFJmAdepqs6MikX525JwoaSi8Oef\nebvFHjiQO7dT795Qs2asLTRKGqY9JAdRG8cQDyS7Y/BH1bUgfE4iK8uNzPbpE8cfDxUqxNpKo6Rg\n2kNiE81xDEYxIgJHHOEWJHr3XTfI7tlnoXJluP9+13ro2RMefNDN+3TgQNHLsDhu5Ej2uixu7SHZ\n6zNRMMcQ55QunStUz5oFa9fCDTc4QXvwYOco+veH55+HVatiba2RjNicSyUPCyUlOL//7rrD+rZK\nlXLDTj17um6yhhEpTHtILKIxjsG/zehbkzlnvzh7JZljCA1VtzCRT5/44gs46qhcR9G5Mxx2WKyt\nNJIB0x4Sg2hoDI9628/ALuA54Hlgh3fMiDNEoHVruPFG+Phjp0888ICbvuPGG6F6dTjtNLj66iyW\nLHGOxDg0SmpMPFraQ0mtz3gjlNlVF6hqh8KORRNrMUSGTZtgxgx4+eUslizJZO/e3G6xvXpB7dqx\ntjDxsDWKI9t6sPqMLNGcdnsZcLqqrvT2GwMfqmqLsCwNA3MMkUcVVq7MnbLjs8/cQkW+sFP37lCx\nYqytNBIF0x7ik2g6hj64MNIv3qEM4FJVnVrUwsLFHEP02b8fFizI1ScWLoSOHXMH2XXoAKVKxdpK\nI94x7SG+iOoANxEpBzT3dper6p6iFnQomGOILKE013fsgJkzc1sU69a5yf98LYrGjYvH1njHQh8H\ncyitB6vPyBK1AW4iUhH4P+BqVV0MNBCR08Ow0UggKlVyQvXo0fD9966305lnuqVPu3aFJk3g8svh\n7bfhL+vSbvhh4x4Sn1BCSZNwazIMVtWjPEfxZTKu+WyEhqpzFr5pxT//HI48Mrc10aULlC0bayuN\neMC0h9gSTY1hgap2EJFvVLWdd2yxOQbDx5498NVXufrE8uXQrVuuPnH00TZbbEnHtIfYEM25kvaI\nSHm/gpoAxaoxGJEl0n3Fy5aFzEw3l9PcuW5qjuHD4Ycf4OyzoU4dGDQIXnnFTemRTFi/+9AIddyD\n1Wd8EIpjGAV8DNQTkdeBGcAt0TTKSGzS0+G889zkfytXuhHY3brB5Mmu9XD00XD99fDhh07kNkoG\npj0kDqH2SqqOW/cZYI6q/hlVqw4u30JJScKBA65brE+fmD8f2rfP1Sc6drRusSUB0x6Kh2hqDDOA\nR1X1Q79jz6nqpUU3MzzMMSQvf//tZo316RNr1uR2i+3d2/V+Mn0ieTHtIbpEU2NoBNwiIiP9jh1T\n1IKM+CGe4rgVK8Ipp8Bjj7kusUuWwDnnODG7e3c3XuLSS+HNN92UHvFGPNVlIhKoPTzwygOxNskg\nNMewBegJ1BSR90XEJnI2okbt2jBwILz8sms9fPABtGwJ48dDo0ZwzDFw221uzqc91gUiKfDXHp6e\n97RpD3FAKKEk/26qQ4EbgaqqWi/65uXYYKEkg717XUvCp08sXQrHHZerT7RqZWGnRMe0h8gSTY3h\nclV91m+/A3CVqg4vupnhYY7ByI/Nm93kfz59YscOp0v4ZoytWzfWFhrhYtpDZIi4xiAilb2Pb4pI\num/DTab3f2HaacQByRIXr1oV+vaFMWNgxQrXmjjhBJgyxa1L0bIl/POfLhy1fXt0bEiWuowXfPVZ\n3GtNG3kpSGP4r/d3QT7bvCjbZRhFplEjuOQSmDQJNmxwA+pq1XLCdu3acPzxcM89zoHs3x9ra43C\nsHEPscPWfDZKBDt3wuzZuWGnX391o7V9+kTTpqZPxDOmPYRHNNZ8bl/Qhaq6sKiFhYs5BiPS/PFH\nroj96adQpkze1eyqV4+1hUZ+mPZQNKLhGLKAoE9jVe0RomF9gNFAKeAFVX0o4PxFwM2AANuBK1T1\n24A05hgiiM15nxdVN/Gfz0nMmuVaEL7WRNeuUK5c/tdaXUaWUOrTWg+hE65jKB3shKpmHpJFgIiU\nAp4CegNrgHkiMllVl/kl+xnorqpb/VaL63xwboYRHUSgRQu3XXut6xb79dfOSdxxh5ti/LjjclsU\nrVtDSigjgIyo4NMezm15LsPfG86kpZOs9RBhQp0rqRXQAsh5b1LVV0K4rgswUlX7ePu3etf+K0j6\nqsB3gWMkrMVgxJItWyArK7dFsXWrCzf5WhT1im1EjxGItR4KJprjGEYBJwBHAR8CpwCfq+p5IRh1\nHnCyql7i7Q8EOqnqNUHS3wQ0C5yHyRyDEU+sXp3rJKZPd3qEz0lkZkLlyoVmYUQY0x7yJ+KhJD/O\nA9oAC1V1mIjUBF4LMf+Qn+Yi0gMYDnTN7/zQoUPJyMgAIC0tjbZt2+bEIn19n20/tP3Ro0db/R3C\n/i+/ZNG0KfzjH5nMmJHFihVultgnnsjkoosgIyOLDh3g0kszOfZY+Pzz+LI/nvf9x4UU9frFly9m\nxPQRNLuxGTd0voERg0fE/PsU935WVhbjx48HyHlehkMoLYZ5qnqMiCzAzZm0DViuqs0LzVykMzDK\nL5R0G5CdjwDdGngH6KOqK/LJx1oMESTLBNOIEViXO3e6pU59LYpVq9ygO1+Lolkz6xZbEJG4N631\nkEs0Q0nPALcD5+PmSfob+EZVh4VgVGngB6AXsBaYC1zgLz6LSAPc4j8DVXVOkHzMMRgJyYYNLtzk\ncxQiuU6iVy+oUSPWFiYnpj04ouYYAgppBKQGdict5JpTyO2u+qKqPigilwGo6lgReQE4B/jVu2Sf\nqh4bkIc5BiPhUXXLnfqcxMyZbr0JX2+nbt2gfPnC8zFCp6S3HqLqGESkDZCBe7gLoKr6TlELCxdz\nDJHFQkmR41Dqct8+t0a2z1F8+y107pzbomjTpuR1i43GvVmSWw9RE59FZBzQClgCZPudKjbHYBjJ\nSJkybvBc164wapTrBuvrFjtgAPz1V95usQ0axNrixMTGPRSdUDSGpcBRsXxltxaDURL59dfcaTum\nTYP09LzdYqtUibWFiUdJaz1EU3x+GXhYVZeEa9yhYo7BKOlkZ8Pixblhpzlz3Ahsnz7RqZNrgRih\nUVK0h2iu+TwO+EpEfhSR77wtZPHZiD/8+4obh0Zx1WVKCrRrBzff7BzDhg1w992we7ebxqN6dTjz\nTHjySTfvU6K+RxVXfdp6DwUTygC3F4GBwPfk1RgMw4gR5cvnrlb30EOwcWNut9h//9s5Bl9rondv\nOPzwWFscf5j2EJxQQklfqWqXYrInmA0WSjKMEFGFn37KDTtlZUFGRq4+cfzx1i02kGTVHqKpMYwB\nqgDvA3u9w9Zd1TAShP37c7vFTpsGixbBscfmOop27Upet9hgJJv2EE2NoRywBzgJON3bksOdllBM\nY4gciVCXpUu7acNHjnSr2K1ZA9ddB2vXwsCBLsx0/vnwwgtugsBYEuv6NO3BUaDG4K2n8Jeq3lhM\n9hiGEWUqV4YzznAbwG+/5XaLHTEC0tJy9YkePdx+ScK0h9BCSXOALjaOwTCSn+xs+O67XH3iyy/h\n6KNzw06dOsFhh8XayuIj0bWHaGoMzwJ1gDeBnd5h0xgMowSwezd88UWuo1ixwonXPkfRokXJmC02\nUbWHaGsMf+Gm3DaNIQmIdRw3mUj2uixXzk3L8a9/wYIFsHIlDB7sljs99VSoXx+GDoXXXoM//jj0\n8uK1Pkua9lDoOAZVHVoMdhiGkQBUrw79+7tN1bUgPv0U3n4brr7aOQpfa6J7d6hQIdYWR46SpD2E\nEkqqDzwBdPMOzQL+qaq/R9k2fxsslGQYcc7+/W4lO1/Y6Ztv4JhjcgfZtW8PpUrF2srIkCjaQzQ1\nhmm4pTwneIcuAi5S1ROLbGWYmGMwjMRj+3a35oRv/MT69dCzZ26LolGjWFt46MS79hBNjaGGqo5T\n1X3eNh6wAfYJTLzGcRMRq8vgpKbC6afD44/DkiVuvYnTT4dZs6BLF2jaFK64At55BzZvdtckWn0m\nq/YQimPYJCKDRKSUiJQWkYHAn9E2zDCM5KJuXRgyBCZMgHXrnENo2hSee86tNdGpE7z4omtl7N1b\neH7xgk97+O+5/+X6qdcz6N1B/LXrr1ibdUiEEkrKAJ4EOnuHvgSuUdVfg10TaSyUZBjJzZ49bsyE\nT5/44Ye83WJbtkyMbrHxpj0Uy5rPscIcg2GULDZtghkzckdk796dd7bY2rVjbWHBxIv2EHHHICIj\ng1yjAKp6T1ELCxdzDJHF1nyOHFaXkSVYfa5cmdua+OwzF5byOYkTToCKFYvf1sKIh9ZDNMTnv4Ed\nAZsCFwO3hGOkYRhGODRpApdf7sZLbNzoJvxLT4eHH4ZatdxSp/ff72aRPXAg1tY6Ell7CCmUJCKV\ngWtxTmES8Kiqboiybf7lW4vBMIx82bHD9XTytSjWrs3tFtu7t3MqsSZWrYeoaAwiUg24Hjd24RVg\ntKpuDtvKMDHHYBhGqKxd67QJnz5RvnyuiN2zp2tpxIri1h4iHkoSkUeAucB2oLWqjoyFUzAiT6L1\nFY9nrC4jSyTqs04dN5/TK684JzF5Mhx5JLz0klvJ7thj4fbb3cp2e/YccnFFIlHGPRSkMdwA1AXu\nANaKyHa/bVvxmGcYhhE+Im7a8OuvhylTnD7x8MPu+C23QI0acMop8Nhjbrrx4ghMJIL2YN1VDcMo\nsWze7LrF+vSJnTvzdoutUye65Udbe7BxDIZhGIfIzz/nzu00Y4br8eTTJ044ASpVik650dIeojlX\nkpFkWFw8clhdRpZY12fjxnDZZfDmm7BhA4wf79bEfuQRN6juhBPg3nthzhw3m2ykiDftwRyDYRhG\nPpQq5aYNHzHCDapbvx5uvRW2bIFLL3X6RN++MGaMW5fiUIMa8aQ9WCjJMAwjDNavz+0S++mnULZs\nrjbRqxdUqxZ+3pHSHkxjMAzDiBGqsHRprj4xaxY0a5arT3Tt6hxHUTlU7cE0BiNkYh3HTSasLiNL\notanCBx1FFx3HXzwAfz5p+sCW7q0C0XVqAF9+sCjj8LixaGHnWKlPZhjMAzDiDCHHebWvPYJ1atX\nO1F75Uo47zzX2+mii5y4vWZNwXnFQnuwUJJhGEYxs2pVrjYxfTrUrJk7fiIz061+lx9F1R5MYzAM\nw0hADhyAb77JFbLnzoW2bXP1iWOOcSEpf0LVHuJSYxCRPiKyXER+EpF8p+oWkSe884tFpF007TEc\niRrHjUesLiNLSazPUqWgY0fXFXb6dPjjD7jjDti2zU01XqMGnHMOPP00/Pij0yeirT1EzTGISCng\nKaAP0BK4QERaBKQ5FWiqqkcAlwJjomWPkcuiRYtibULSYHUZWaw+oUIFOPlkN6hu8WJYvhz69YP5\n893ssBkZ8I9/wAfvVuTOY6KjPUSzxXAssEJVV6nqPmAicFZAmjOBlwFU9WsgTURqRtEmA9iyZUus\nTUgarC4ji9XnwdSsCRdeCOPGwW+/wccfQ+vWMGGCW2vi+r7dOXPtYnZsTOfoZyLTeihdeJKwqQv8\n5rf/O9AphDT1gD+iaJdhGEZCIgItWrjt2mth3z74+mv49NOK/DH+cbZsPpfzNw6nRaVJPHbS42GX\nE80WQ6hqcaAwYipzlFm1alWsTUgarC4ji9Vn0ShTBrp1g7vvhi+/hHVzuvPSMYvZtz2dXm+3Cjvf\nqPVKEpHOwChV7ePt3wZkq+pDfmmeBbJUdaK3vxw4QVX/CMjLnIVhGEYYhNMrKZqhpPnAESKSAawF\nzgcuCEgzGbgamOg5ki2BTgHC+2KGYRhGeETNMajqfhG5GpgKlAJeVNVlInKZd36sqk4RkVNFZAXw\nN9+z5B8AAAdnSURBVDAsWvYYhmEYoZEQA9wMwzCM4iOu5kqyAXGRo7C6FJFMEdkqIt942x2xsDMR\nEJGXROQPEfmugDR2X4ZIYfVp92boiEh9EflMRJaIyPcicm2QdEW7P1U1LjZcuGkFkAGUARYBLQLS\nnApM8T53AubE2u543EKsy0xgcqxtTYQNOB5oB3wX5Lzdl5GtT7s3Q6/LWkBb73Ml4IdIPDfjqcVg\nA+IiRyh1CQd3FTbyQVVnA5sLSGL3ZREIoT7B7s2QUNX1qrrI+7wDWAbUCUhW5PsznhxDfoPd6oaQ\npl6U7UpEQqlLBY7zmpZTRKRlsVmXfNh9GVns3gwDrwdoO+DrgFNFvj+j2V21qNiAuMgRSp0sBOqr\n6k4ROQX4H9AsumYlNXZfRg67N4uIiFQC3gL+6bUcDkoSsF/g/RlPLYY1QH2//fo4z1ZQmnreMSMv\nhdalqm5X1Z3e54+AMiJStHUDDR92X0YQuzeLhoiUAd4GJqjq//JJUuT7M54cQ86AOBE5DDcgbnJA\nmsnAYMgZWZ3vgDij8LoUkZoiIt7nY3Fdl6O7LFTyYvdlBLF7M3S8enoRWKqqo4MkK/L9GTehJLUB\ncREjlLoEzgOuEJH9wE5gQMwMjnNE5L/ACUB1EfkNGInr7WX3ZRgUVp/YvVkUugIDgW9F5Bvv2Aig\nAYR/f9oAN8MwDCMP8RRKMgzDMOIAcwyGYRhGHswxGIZhGHkwx2AYhmHkwRyDYRiGkQdzDIZhGEYe\nzDEYRUZEskXkEb/9m0RkZDHbkCUi7b3PH4pI5UPML1NE3g9y3H8K6E8OpRzDSATMMRjhsBc4R0Sq\neftFGgwjIqUiYENOmap6mqpui0CewZipqu287ST/EyISN4NEixMRqRprG4zoYY7BCId9wHPA9YEn\nvGk4ZngzY04Tkfre8fEi8qyIzAEeFpFxIjJGRL4SkZXem/nLIrJURMb55feMiMzzFiEZlZ8xIrJK\nRKqJyOV+b/a/iMgM7/xJIvKliCwQkUkiUtE73kdElonIAuCcAr5vngnIRGSoiEwWkenApyJSwVt8\n5msRWSgiZ3rpyovIRO87vSMic/xaOTv88jvP951FpIaIvCUic73tOO/4KK+Mz7z6usbv+sFefS/y\n6rCSiPzsc1oiUtnbj4RD9jFPRCaISA/f9BVGEhHrhSZsS7wN2A6kAr8AlYEbgZHeufeBQd7nYcC7\n3ufxuDlbfKPtxwGve5/PBLYBR+EewvOBNt65qt7fUsBnQCtv/zOgvff5FyDdz77SwCzgNKA6MBMo\n7527BbgTKAf8CjTxjr9BPovD4BaN2QJ8420jgCG4aYzTvDQPABd5n9Nwi6VUAG4AXvCOt8I5VJ/N\n2/3KOBcY531+HejqfW6AmwMHYBTwOW7qiGrAn16dHOWVl+4r3/v7EnCW9/lS4N8RvgdSvPp9G1gK\n3AbUjvW9aVtkNmsxGGGhqtuBV4DApQQ74x5uABOAbr5LgDfVe6p4+GL63wPrVXWJd34JbvU5gPO9\nN/qFuIdgixDMewKYrqofeva0BL705pIZjHvgNgd+UdWVfrYGe/OdrbmhpAe8Y5+q6hbv80nArV7+\nnwFlvTKO9/JFVb8Dvg3B9t7AU15e7wGpXgtHgQ9VdZ+qbgI24Fbv6glMUm+SOT+bXiB3TpyhOEcc\nMVQ1W1U/VNVzge5AE+BXEekYyXKM2FAi46NGxBiNe2AHPnSCPWB3Buzv9f5mA3v8jmcDpUSkEa41\n0lFVt3rhlnIFGSQiQ3Fz+V/pd/hTVb0wIF2bEG0Oxt8B+31V9aeAMgrK199Blg+wo5Oq7vVP7OXl\nf+wA7ver+ZWhql96Yb1MoJSqLg3IrxSwwLt+Mq41NNLbvwS4CrfoyxrgcuAD79wYVX3Oy6MKboK7\nIbj/3zAg6LrYRuJgLQYjbFR1MzAJuJjcB92X5M6GeREupBMOggtX/Q1sE7cU4SkFXiDSAedIBvkd\nngN0FZEmXpqKInIEsBzIEJHGXroLimibP1PxazlJ7mLrs4ALvWNHA639rvlDRI4UkRScvuGrv08C\n8gp0YP4oMAPoJ956BZJ33YJXgNdwYaW8F6oeUNW2XitopKr+z/vcXlUXqOpwb/90Vf3dL63PKUzA\nOZaGuNBhD1WdoKp7AssyEg9zDEY4+L/tPoqL4/u4BhgmIotxjuGfQa4L3D/onKp+i3uTXY57wH1e\ngD3C/7d3xygVA0EAhv/pbbyEXsA7PBDs7O20s7F52InY2VkIHsCHB7B+WDw7RUQ9giB4h7HYFXYl\nnRAx/F85IdlJiszuDiRllrsOLGsD+iozPylbKYua0z2wWV9g+8Bt3ar6GMjh+9pDebexU8rPZJ4j\n4gU4qfFLYC0i3mrsoTlnTpmFr4D3Jn4IbNVm8itw8GPcPpGyEjgD7iLiCThvDl/X57EYuK/fugE2\nMvO42Y7TRPjZbWkkEbEEjjLzcaTxdoGdzNwbYzxNhz0GaYIi4gKYAdt/nYv+H1cMkqSOPQZJUsfC\nIEnqWBgkSR0LgySpY2GQJHUsDJKkzhcmetvb0a16tgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f7cdd420b10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,ones,sinc,pi,sin,cos\n", + "from math import log\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title,show,legend,grid\n", + "\n", + "rb = 2 # the bit rate in bits per second\n", + "Eb = 1 # the Energy of bit\n", + "\n", + "f = arange(0,1/100+8/rb,8/rb)\n", + "Tb = 1/rb# #Bit duration\n", + "SB_PSK=ones(len(f))\n", + "SB_FSK=ones(len(f))\n", + "for i in range(0,len(f)):\n", + " if(f[i]==(1/(2*Tb))):\n", + " SB_FSK[i]=Eb/(2*Tb)\n", + " else:\n", + " SB_FSK[i]= (8*Eb*(cos(pi*f[i]*Tb)**2))/((pi**2)*(((4*(Tb**2)*(f[i]**2))-1)**2))\n", + " \n", + " SB_PSK[i]=2*Eb*(sinc(f[i]*Tb)**2)\n", + "\n", + "plot([ff*Tb for ff in f],[yy/(2*Eb) for yy in SB_FSK]) \n", + "plot([ff*Tb for ff in f],[yy/(2*Eb) for yy in SB_PSK]) \n", + "xlabel('Normalized Frequency ---->')\n", + "ylabel('Normalized Power Spectral Density--->')\n", + "title('PSK Vs FSK Power Spectra Comparison')\n", + "legend(['Frequency Shift Keying','Phase Shift Keying'])\n", + "grid() \n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example7.30 page 336" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f901821bbd0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,ones,sinc,pi,cos\n", + "from math import log\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title,show,legend,grid\n", + "\n", + "rb = 2 # the bit rate in bits per second\n", + "Eb = 1 # the Energy of bit\n", + "f = arange(0,1/(100*rb)+(4/rb),1/(100*rb))\n", + "Tb = 1/rb# #bit duration in seconds\n", + "SB_MSK=ones(len(f))\n", + "SB_QPSK=ones(len(f))\n", + "for i in range(0,len(f)):\n", + " if(f[i]==0.5):\n", + " SB_MSK[i]= 4*Eb*f[i]\n", + " else:\n", + " SB_MSK[i]=(32*Eb/(pi**2))*(cos(2*pi*Tb*f[i])/((4*Tb*f[i])**2-1))**2\n", + " \n", + " SB_QPSK[i]=4*Eb*sinc((2*Tb*f[i]))**2\n", + "\n", + "plot([ff*Tb for ff in f],[yy/(4*Eb) for yy in SB_MSK])\n", + "plot([ff*Tb for ff in f],[yy/(4*Eb) for yy in SB_QPSK])\n", + "xlabel('Normalized Frequency ---->')\n", + "ylabel('Normalized Power Spectral Density--->')\n", + "title('QPSK Vs MSK Power Spectra Comparison')\n", + "legend(['Minimum Shift Keying','QPSK'])\n", + "grid()\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example7.31 page 338" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f439ca4da10>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,ones,sinc\n", + "from math import log\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title,show,legend,grid\n", + "\n", + "rb = 2 # the bit rate\n", + "Eb = 1 # the energy of the bit\n", + "f = arange(0,1.0/100+rb,1./100)\n", + "Tb = 1/rb# #Bit duration\n", + "M = [2,4,8]#\n", + "SB_PSK=ones([len(M),len(f)])\n", + "for j in range(0,len(M)):\n", + " for i in range(0,len(f)):\n", + " SB_PSK[j,i]=2*Eb*(sinc(f[i]*Tb*log(M[j],2))**2)*log(M[j],2)\n", + " \n", + "plot([ff*Tb for ff in f],[xx/(2*Eb) for xx in SB_PSK[0,:]])\n", + "plot([ff*Tb for ff in f],[xx/(2*Eb) for xx in SB_PSK[1,:]])\n", + "plot([ff*Tb for ff in f],[xx/(2*Eb) for xx in SB_PSK[2,:]])\n", + "xlabel('Normalized Frequency ---->')\n", + "ylabel('Normalized Power Spectral Density--->')\n", + "title('Power Spectra of M-ary signals for M =2,4,8')\n", + "legend(['M=2','M=4','M=8'])\n", + "grid()\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example7.41 page 340" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEZCAYAAACEkhK6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGwZJREFUeJzt3XvYrXVd5/H3h9MoZxTkuGFnOgpERJchhY3PaBGSgtVU\nmsZADZrFwDgzRVEzbLNMc7zyVEaGeEKZUkRUPMdusNGt6N4cBExGUc4qkHKoRPjOH/f94GLxHH5r\ns+9nrb33+3Vd69prrd/vvu/v+q1nr899XCtVhSRJy9lm2gVIkjYPBoYkqYmBIUlqYmBIkpoYGJKk\nJgaGJKmJgaEVkWR1kgeSTP1vbqVqSXJ9kmcOuYyx5b0pyR+s1PK09Zn6f151+g+Xe5PcleTWJO9I\nsusjnOdckhs2VY2aWPW3TS7JSUkufcjCql5SVX+0iZfzl/3f5F1J/jXJd0cef2hTLmtkmW/pA/3x\nQ8x/gjr+V5J/TPKdJNck+dVp1jMLDIzZUcCzq2oX4HDgMMC1RSDJdtOuYSXN0uutqt+oql36v8tX\nAOfPP66qn93Uy0vyNODxDBS0E7qb7v/krsB/BF6X5MenXNNUGRgzqKpuAz4GHDr/XJKjkvzfJHcm\n2ZDk6SNtj0lybpKbktyR5IIkOwIfBvbr1wa/k2SfJEcm+XQ/n5uTvCHJ9iPzeiDJi/s1qzuTvHGk\nbZskr0nyzSRfSXLq6K6d8V0wSdYkecdCrzHJyUmu7uv6f0leNNI2l+TGJL+T5BbgnAWmPynJP/T1\n/1O/BviMkfZJajmpr+E7/ev6lZG2X+vrvCPJR5IcuNA8+r6/muRrSb6V5MyxtrcmefnYa7xh5PH1\n/eu9ArgrybZJfjfJdX1dX0zy3L7vwcCbgB/v39s7FlnGKUm+nOT2JO9Psu9I26Lv8xLS3wbRB+Xr\ngf886XKS/G2SW/q/hb9Pcsgjraeq1lTVP/b3PwtcChgYmhkBSHIAcCywrn+8P/BB4A+rag/gvwPv\nTfLYfrp3AI8CDgEeB/xZVd3bz+Pmfm1w16q6FfgecDrwWLo//mcCvzlWx88CTwF+GPilJD/TP/+i\nfp6HAz8KPJeHrgmO74JZai3xNuBn+7W3k4E/S3LESPvewB7AgcCLF5nHkcB1/Ws5C7ggye6T1JJk\nJ+B1wLF9LT8ObOjbTgB+D/g5YE+6D4x3LzKfQ4C/AF4A7NfXdMDY8pdba34e8Cxg96q6v39tT+vr\nehnwziR7V9U1wG8An+7f28eML6MPz1cAvwjsC3wNOH9seYu9zxstyYF9AC12e94Sk78U+PuqunIj\nFv0h4AnAXsAXgPOWqPEvlqhvwyLTPBr4MeCqjahty1FV3mbgBlwP3AV8B3gAeB+wTd92BvD2sf4f\nAU6k+zC4H9htgXnOATcss9z/Alww8vgB4CdGHv9v4Hf6+38HnDLS9sy+/3ydXwWeMdK+BnhHf3/1\naN8F6ngfcNpI3f8K7LBE3ScBN409tw54wSS1ADsBdwI/Dzx6bH4fBn5t5PE2wD3AqgXq+Z/Au0Ye\n79i/hmf0j88FXr7Ye9PXe9Iy79V64PiR13/pWPu5dCsV0G2VvXKkbSfgu8CBS7zPZyyz/AfHcIC/\n/1XAl4FdRup7/EbOa/d++l02YX1vAy4e4rVvTje3MGZHASdUtzY5BzyDbu0P4CDgF0fXhICjgX3o\n/qPdUVXfbllIkn+b5IP95vu3gT+mWxsedevI/XuBnfv7+wKjB9FvbH51D6/jWUk+0+8uuRM4bqyO\nb1bVd5eZzU1jj79Gt3bfrKruAX6Zbo395n5sntQ3H0S333p+zG/vn99/gVnty8h4VLeFd/sC/Zby\nkBMUkpyYZP3I8n+Ih79Xi5nfqpiv556+ntHaF3ufp+G1dGF3V5L53VFNu6XS7Sp9Zb/77tt04Vt0\nW4WPWJJX0229/9KmmN/mzMCYQVX1f4A3AK/qn/o63ZrdHiO3XarqT+k+ZB6TZLeFZrXAc28Crgae\nUFW7Ab9P+9/BLXQBNW/VWPs9dGuy8/ZZaCZJ/g3wXuBPgcdVt5vtYh76AdFy0HP8g/sg4OZJagGo\nqo9V1TF9n2uBN/dNXwdeNDbuO1XVZxaYzUPGJt0xpNEP93votjqWqufB15zkIOCvgN8CHtOP0VV8\nf4yWG5+b6bak5ue3U1/PeMhOYtn3pN8lddcSt+cvMukzgFenO2Y1/x5+epldWPNeABwPPLP/m/4B\nljjekoee+TV+u3Ks78uAnwGOqaq7G2rZohkYs+u1wJFJngq8E3hOkmP6g6GP6g+a7l9Vt9DtOvmL\nJLsn2T7Jv+vncRvw2Dz09Nyd6XZ93ZvkycBLlqlj9D/e3wCnJ9mvP1ZwBg/9ENkAPC/JdkmeAvwC\nC3/I7NDfvgU8kORZwDEtgzLmcUlO61/zLwJPpgue5lqSPC7JCf0H6n10H+z3981/CZw5fwA1yW79\nchbyHuDZSY5OsgPwhzz0/9cG4LgkeyTZh25X4FJ26uv9FrBNkpPptjDm3QYckJETFnjoe/Vu4OQk\nh/cB/QrgM1X19UWW17I2v2yfqvp6ff8sqoVuCx4DAp5IdyzlcOBH+ueeDVwID560cMki0+5Mt/vv\njv59fMUyNf7GEvUd9uCLTX4PeD7w01V153KvfWtgYMyoqvoW3X7TM6rqRuAE4EzgG3Rrvv+N779/\nv0r3YXct3QfJaf08rqX74PhKurN89qE7YP4rdMdK/oruQOhSB4dHD9a+me7srSuAz9MdaLy/qh7o\n2/8H8IN0xwTW8PADj9XXdVdf498Ad9D9p3z/Qn2XsY7ug+abwMuBXxj5j91UC90YvpRuzft24Cfp\nQ7SqLqTbyju/39VxJd3a5sNU1dV0WwPvoltDvoOH7mJ6B3A53bGqj/DwcV9ofq8BPk236+iHgE+N\ndPkk8EXg1iTfGHlN82P8yX4M3tvX8wN0B9XHXz/j0y5hsOtKqupbVfWN/nZbv5xvVdW/9F1W8dDX\nP+rtdLvfbqLbCvv0Jqrzj/vlXjeyBfK7m2C+m630B3Q2/YyTVXRv5OPo3ry/qqrXj/V5Mt2BuiOA\n36+q14y0HUu3lr0t8NdV9So0U/otgzdV1eopLPsk4Ner6idXetlaeUnW051A4Jr+FA15gdB9wEur\nakOSnYHPJ/l4dacEzrud7pzr545OmGRb4I3AT9GtNXwuyUVj02qFJXkU3b7mj9Gd9noWcMFUi9JW\noaqOWL6XhjbYLqmqurWqNvT37wauYewMlqr6ZlVdRhcuo44Erquq66vqPrrN9xOGqlXNQrd75w66\nc92/SHc66TQMtntE0sJW5CsIkqym2+20rnGS/Xn46ZtP3bRVaVJV9c90YT51VfU2umM8klbI4Ae9\n+91R7wFOn+C0NNccJWnGDLqF0Z/y917gnf0ZJ61u4uHn+z/sIrEkBoskbYSqmvh7wQbbwuiv1jwH\nuLqqXrtc97HHlwFPTPe7BTvQXYl70UITTvtS+ZbbWWedNfUarNMardM6528ba8gtjKOBFwJX9KfE\nQXcdwYEAVXV2f13A54Bd6S7gOh04pKruTnIq8FG602rPKc+QkqSpGiwwqupTLLMFU923p45/vcR8\n24fprmCWJM0Ar/ReAXNzc9MuoYl1bjqbQ41gnZva5lLnxhrsSu+VkKQ25/olaRqSULN00FuStGUx\nMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0MDElSEwNDktTEwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUx\nMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0MDElSEwNDktTEwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUx\nMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0MDElSEwNDktTEwJAkNTEwJElNBguMJKuSXJLki0muSnLa\nIv1en+TLSS5PcsTI89cnuSLJ+iSfHapOSVKb7Qac933AS6tqQ5Kdgc8n+XhVXTPfIclxwBOq6olJ\nngq8CTiqby5grqruGLBGSVKjwbYwqurWqtrQ378buAbYb6zb8cDb+j7rgN2T7D3SnqHqkyRNZkWO\nYSRZDRwBrBtr2h+4YeTxjf1z0G1hfCLJZUlOGbpGSdLShtwlBUC/O+o9wOn9lsbDuiwy6dOq6uYk\newEfT3JtVV063mnNmjUP3p+bm2Nubu6RFy1JW5C1a9eydu3aRzyfVNUjr2axmSfbAx8EPlxVr12g\n/S+BtVV1fv/4WuDpVXXbWL+zgLur6jVjz9eQ9UvSligJVTXxLv8hz5IKcA5w9UJh0bsIOLHvfxTw\nT1V1W5Idk+zSP78TcAxw5VC1SpKWN+QuqaOBFwJXJFnfP3cmcCBAVZ1dVRcnOS7JdcA9wMl9v32A\nC7rMYTvgvKr62IC1SpKWMeguqaG5S0qSJjdzu6QkSVsWA0OS1MTAkCQ1MTAkSU0MDElSEwNDktTE\nwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUxMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0MDElSEwNDktTE\nwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUxMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0MDElSEwNDktTE\nwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUZLDCSrEpySZIvJrkqyWmL9Ht9ki8nuTzJESPPH5vk2r7t\njKHqlCS1GXIL4z7gpVV1KHAU8FtJDh7tkOQ44AlV9UTgRcCb+ue3Bd4IHAscAjx/fFpJ0soaLDCq\n6taq2tDfvxu4BthvrNvxwNv6PuuA3ZPsAxwJXFdV11fVfcD5wAlD1SpJWt6KHMNIsho4Alg31rQ/\ncMPI4xv75/Zb5HlJ0pQMHhhJdgbeA5zeb2k8rMvQNUiSHrnthpx5ku2B9wLvrKoLF+hyE7Bq5PEB\ndFsT2489v6p/foFlrBl5NNffJEnft7a/PTKpqkc8kwVnnITu+MTtVfXSRfocB5xaVcclOQp4bVUd\nlWQ74EvAM4Gbgc8Cz6+qa8amr6Hql6QtVRKqauK9O0NuYRwNvBC4Isn6/rkzgQMBqursqro4yXFJ\nrgPuAU7u276X5FTgo8C2wDnjYSFJWlmDbWGsBLcwJGlyG7uF0XTQO50LvRZCkrZerWdJHUN3bcQp\nA9YiSZphrYHxn/rbc/oD0pKkrcyygZFkT+DQqroY+ATw3MGrkiTNnJYtjBOBd/X3z6Xb0pAkbWVa\nAuNk4K0AVfVZYN8kq5acQpK0xVkyMJLsDvx5VY1eZf3bwF6DViVJmjlehyFJW5lBr8MYWcgXJl2A\nJGnLMOm31frNspK0lZo0MD40SBWSpJk3aWCM/wCSJGkrMdFB7yTrq+qIAeuZiAe9JWlyK3LQW5K0\n9Zo0MF48SBWSpJk3aWD4tSCStJWaNDB+bJAqJEkzb9LA+MYgVUiSZt6kZ0ntW1W3DFjPRDxLSpIm\nt1JnSXnhniRtpfxqEElSk0kD482DVCFJmnlNxzCS7ATM/2jSDVV1z6BVNfIYhiRNbmOPYWy3xAx3\nAU4BngfsCdxGt0tq7yS3A+cBb66quzeuZEnS5mTRwAAuBM4Hjq+qW0cbkuwDHA+8H3jmcOVJkmaF\nv7gnSVuZwU6rTfLJluckSVu2pY5hPBrYEdgryWNGmnYF9h+6MEnSbFnqGMaLgdOB/YDPjzx/F/DG\nIYuSJM2eZY9hJDmtql6/QvVMxGMYkjS5TX4MI8nTAZYKiyT/ftIFSpI2T0vtknpOklcDnwAuA26l\nuw5jH+ApwE8Bl/Q3SdIWbsldUv3Fe8cDTwMO6p/+GvAp4P3TvmjPXVKSNLlNfqU3QFXd1V+kd11/\nm/do4AnAhkkXKEnaPLUc9H4X3S6oD/RPPRu4km6L4z1V9apBK1y6NrcwJGlCG7uF0RIYlwLPmt/9\nlGRn4GLgWODzVXXwRtS7SRgYkjS5IX9AaS/guyOP7wP2rqp7gX9Zpqi3JLktyZWLtO+R5H1JLk+y\nLsmhI23XJ7kiyfokn22oU5I0oCWPYfTOA9YluZDuLKnnAO/qv/L86mWmPRd4A/D2RdrPBL5QVT+X\n5EnAn9OdfQVQwFxV3dFQoyRpYMtuYVTVy4EXAd8G7gReXFUvq6p7quoFy0x7aT/NYg6mPy23qr4E\nrE6y10i7v/AnSTOiZQuDqvoc8LkBln858PPAp5IcSXcg/QDgm3RbGJ9Icj9wdlX5a3+SNEVNgTGg\nVwKvS7Ke7syr9cD9fdvTqurmfovj40mu7bdYJElTMNXAqKq7gF+bf5zkq8BX+rab+3+/meR9wJHA\nwwJjzZo1D96fm5tjbm5u0JolaXOzdu1a1q5d+4jnM/gPKCVZDXygqg5boG034J+r6rtJTgGOrqqT\nkuwIbNtfOLgT8DHgZVX1sbHpPa1WkiY0yJXej1SSdwNPB/ZMcgNwFrA9QFWdDRwCvDVJAVcBv95P\nujfwviTzNZ43HhaSpJXlT7RK0lZmyAv3JEkyMCRJbQwMSVITA0OS1MTAkCQ1MTAkSU0MDElSEwND\nktTEwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUxMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0MDElSEwND\nktTEwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUxMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0MDElSEwND\nktTEwJAkNTEwJElNDAxJUhMDQ5LUZNDASPKWJLcluXKR9j2SvC/J5UnWJTl0pO3YJNcm+XKSM4as\nU5K0vKG3MM4Fjl2i/UzgC1V1OHAi8DqAJNsCb+ynPQR4fpKDB65VkrSEQQOjqi4F7lyiy8HAJX3f\nLwGrkzwOOBK4rqqur6r7gPOBE4asVZK0tGkfw7gc+HmAJEcCBwEHAPsDN4z0u7F/TpI0JdtNefmv\nBF6XZD1wJbAeuB+o1hmsWbPmwftzc3PMzc1t2golaTO3du1a1q5d+4jnk6rmz+aNW0CyGvhAVR3W\n0PerwGHADwFrqurY/vnfAx6oqleN9a+h65ekLU0SqiqTTjfVXVJJdkuyQ3//FODvq+pu4DLgiUlW\n9+2/DFw0xVIlaas36C6pJO8Gng7smeQG4Cxge4CqOpvuDKi3JingKuDX+7bvJTkV+CiwLXBOVV0z\nZK2SpKUNvktqSO6SkqTJbZa7pCRJmw8DQ5LUxMCQJDUxMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0M\nDElSEwNDktTEwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUxMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0M\nDElSEwNDktTEwJAkNTEwJElNDAxJUhMDQ5LUxMCQJDUxMCRJTQwMSVITA0OS1MTAkCQ1MTAkSU0M\nDElSEwNDktTEwJAkNRk0MJK8JcltSa5cpH3PJB9JsiHJVUlOGmm7PskVSdYn+eyQdUqSljf0Fsa5\nwLFLtJ8KrK+qHwHmgNck2a5vK2Cuqo6oqiOHLXNYa9eunXYJTaxz09kcagTr3NQ2lzo31qCBUVWX\nAncu0eUWYNf+/q7A7VX1vZH2DFXbStpc/oisc9PZHGoE69zUNpc6N9a0j2G8GTg0yc3A5cDpI20F\nfCLJZUlOmUp1kqQHbbd8l0GdCWyoqrkkPwh8PMnhVXUXcHRV3ZJkr/75a/stFknSFKSqhl1Ashr4\nQFUdtkDbxcAfV9U/9I8/CZxRVZeN9TsLuLuqXjP2/LDFS9IWqqom3uU/7S2Ma4GfAv4hyd7Ak4Cv\nJNkR2Laq7kqyE3AM8LLxiTfmBUuSNs6gWxhJ3g08HdgTuA04C9geoKrOTrIn3ZlUB9IdT/mTqnpX\nkscDF/Sz2Q44r6r+ZLBCJUnLGnyXlCRpyzDts6SaJDk2ybVJvpzkjEX6vL5vvzzJEStdY1/DknUm\nmUvy7f5ixPVJ/mAKNS55MWXfZxbGcrmLPmdhLFcluSTJF/sLT09bpN9Ux7OlzhkZz0clWddfyHt1\nkgX3KszAeC5b5yyMZ1/Htv3yP7BI+2RjWVUzfQO2Ba4DVtPtztoAHDzW5zjg4v7+U4HPzGidc8BF\nUx7PnwSOAK5cpH3qY9lY5yyM5T7Aj/T3dwa+NKN/my11Tn08+zp27P/dDvgM8LRZG8/GOmdlPP8r\ncN5CtWzMWG4OWxhHAtdV1fVVdR9wPnDCWJ/jgbcBVNU6YPf+IPpKaqkTpnwxYi1/MeUsjGVLnTD9\nsby1qjb09+8GrgH2G+s29fFsrBNm4ELZqrq3v7sD3UrYHWNdpj6e/bKXqxOmPJ5JDqALhb9epJaJ\nx3JzCIz9gRtGHt/YP7dcnwMGrmtcS50F/ES/+XdxkkNWrLp2szCWLWZqLPvTx48A1o01zdR4LlHn\nTIxnkm2SbKA7SeaSqrp6rMtMjGdDnbMwnn8G/DbwwCLtE4/l5hAYrUflxxN0pY/mtyzvC8Cqqjoc\neANw4bAlbbRpj2WLmRnLJDsD7wFO79fgH9Zl7PFUxnOZOmdiPKvqgeq+W+4A4N8lmVug29THs6HO\nqY5nkmcD36iq9Sy9pTPRWG4OgXETsGrk8Sq6JFyqzwH9cytp2Tqr6q75Tdmq+jCwfZLHrFyJTWZh\nLJc1K2OZZHvgvcA7q2qhD4WZGM/l6pyV8Ryp59vAh4CnjDXNxHjOW6zOGRjPnwCOT/JV4N3AM5K8\nfazPxGO5OQTGZcATk6xOsgPwy8BFY30uAk4ESHIU8E9VddvKlrl8nUn2TpL+/pF0pzUvtO9zmmZh\nLJc1C2PZL/8c4Oqqeu0i3aY+ni11zsh47plk9/7+o4GfBtaPdZuF8Vy2zmmPZ1WdWVWrquoHgOcB\nf1dVJ451m3gsp32l97Kq6ntJTgU+Sndw6ZyquibJi/v2s6vq4iTHJbkOuAc4eRbrBP4D8JIk3wPu\npXsjV1RGLqZMcgNjF1POwli21MkMjCVwNPBC4Iok8x8YZ9JdiDpL47lsnczGeO4LvC3JNnQrs++o\nqk/O2v/1ljqZjfEcVQCPdCy9cE+S1GRz2CUlSZoBBoYkqYmBIUlqYmBIkpoYGJKkJgaGJKmJgSFN\nIMluSV4y7TqkaTAwpMnsAfzmpBMl2bH/eg5ps2VgSJN5JfCD/Y/S/OkE0z0J+FKSVyd58kC1SYPy\nSm9pAkkOAj5YVYdtxLQ7033H2Ml0X9VwDvC3VXXPpq1SGoaBIU2g/z2JD2xMYIzN52C6wDi0qnbb\nBKVJg3OXlLSRkvxRv2vqC/M/qNM/flmS5+b7v+f8oyPTrE5yFnAB8DXgF6b2AqQJuYUhTSDJY4HP\nV9XqCadbTfdTmY8F3kL3uxTL/QStNFMMDGlCSc4Dfhj4cFX9TuM0BwD7VNVlgxYnDcjAkCQ18RiG\nJKmJgSFJamJgSJKaGBiSpCYGhiSpiYEhSWpiYEiSmhgYkqQm/x9WeaOH/0idTAAAAABJRU5ErkJg\ngg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f64696066d0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nSUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f646923d210>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import ones,convolve as convol\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title,show\n", + "#Matched Filter Output\n", + "T =4#\n", + "a =2#\n", + "t = range(0,T+1)\n", + "g = [2*xx for xx in ones([1,T+1])][0]\n", + "h =[abs(x) for x in (convol(g,g))]\n", + "for i in range(0,len(h)):\n", + " if(h[i]<0.01):\n", + " h[i]=0\n", + " \n", + "h = [hh-T for hh in h]\n", + "t1 = range(0,len(h))\n", + "plot(t,g)\n", + "xlabel('t--->')\n", + "ylabel('g(t)---->')\n", + "title('Rectangular pulse duration T = 4, a =2')\n", + "show()\n", + "plot(t1,h)\n", + "xlabel('t--->')\n", + "ylabel('Matched Filter output')\n", + "title('Output of filter matched to rectangular pulse g(t)')\n", + "show()\n" + ] + } + ], + "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 +} diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter8.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter8.ipynb new file mode 100755 index 00000000..1b04d843 --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter8.ipynb @@ -0,0 +1,577 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8 Error Control Coding" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.1 page 384" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "generator matrix\n", + "[[ 1. 1. 1. 1. 1.]]\n", + "\n", + "parity-check matrix\n", + "[[ 1. 0. 0. 0. 1.]\n", + " [ 0. 1. 0. 0. 1.]\n", + " [ 0. 0. 1. 0. 1.]\n", + " [ 0. 0. 0. 1. 1.]]\n", + "\n", + "code word for binary one input\n", + "[[ 1. 1. 1. 1. 1.]]\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import ones,zeros,identity,transpose,hstack,mat\n", + "\n", + "n =5# #block of identical 'n' bits\n", + "k =1# #one bit\n", + "m = 1## bit value = 1\n", + "I = identity(n-k) #Identity matrix\n", + "P = ones(n-k)##coefficient matrix\n", + "I=mat(I)\n", + "P=mat(P)\n", + "H = hstack([I,transpose(P)])##parity-check matrix\n", + "G = hstack([P, mat([1])])##generator matrix \n", + "x = m*G# #code word\n", + "print 'generator matrix\\n',G\n", + "print '\\nparity-check matrix\\n',H\n", + "print '\\ncode word for binary one input\\n',x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.2 page 386" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "identity matrix Ik\n", + "[[ 1. 0. 0. 0.]\n", + " [ 0. 1. 0. 0.]\n", + " [ 0. 0. 1. 0.]\n", + " [ 0. 0. 0. 1.]]\n", + "\n", + "coefficient matrix P\n", + "[[1 1 0]\n", + " [0 1 1]\n", + " [1 1 1]\n", + " [1 0 1]]\n", + "generator matrix G\n", + "[[ 1. 1. 0. 1. 0. 0. 0.]\n", + " [ 0. 1. 1. 0. 1. 0. 0.]\n", + " [ 1. 1. 1. 0. 0. 1. 0.]\n", + " [ 1. 0. 1. 0. 0. 0. 1.]]\n", + "parity chechk matrix H\n", + "[[ 1. 0. 0. 1. 0. 1. 1.]\n", + " [ 0. 1. 0. 1. 1. 1. 0.]\n", + " [ 0. 0. 1. 0. 1. 1. 1.]]\n", + "Code words of (7,4) Hamming code\n", + "[[ 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 1. 0. 1. 0. 0. 0. 1.]\n", + " [ 1. 1. 1. 0. 0. 1. 0.]\n", + " [ 0. 1. 0. 0. 0. 1. 1.]\n", + " [ 0. 1. 1. 0. 1. 0. 0.]\n", + " [ 1. 1. 0. 0. 1. 0. 1.]\n", + " [ 1. 0. 0. 0. 1. 1. 0.]\n", + " [ 0. 0. 1. 0. 1. 1. 1.]\n", + " [ 1. 1. 0. 1. 0. 0. 0.]\n", + " [ 0. 1. 1. 1. 0. 0. 1.]\n", + " [ 0. 0. 1. 1. 0. 1. 0.]\n", + " [ 1. 0. 0. 1. 0. 1. 1.]\n", + " [ 1. 0. 1. 1. 1. 0. 0.]\n", + " [ 0. 0. 0. 1. 1. 0. 1.]\n", + " [ 0. 1. 0. 1. 1. 1. 0.]\n", + " [ 1. 1. 1. 1. 1. 1. 1.]]\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import ones,zeros,identity,multiply,mat,concatenate,hstack,transpose\n", + "\n", + "\n", + "k = 4# #message bits length\n", + "n = 7# #block length\n", + "m = n-k##Number of parity bits\n", + "I = identity(k) #identity matrix\n", + "I=mat(I)\n", + "print 'identity matrix Ik\\n',I\n", + "P =[[1,1,0],[0,1,1],[1,1,1],[1,0,1]]##coefficient matrix\n", + "P=mat(P)\n", + "print '\\ncoefficient matrix P\\n',P\n", + "G = hstack([P,I]) #generator matrix\n", + "print 'generator matrix G\\n',G\n", + "\n", + "H = hstack([identity(k-1),transpose(P)])##parity check matrix\n", + "print 'parity chechk matrix H\\n',H\n", + "\n", + "#message bits\n", + "m = [[0,0,0,0],[0,0,0,1],[0,0,1,0],[0,0,1,1],[0,1,0,0],[0,1,0,1],[0,1,1,0],[0,1,1,1],[1,0,0,0],[1,0,0,1],[1,0,1,0],[1,0,1,1],[1,1,0,0],[1,1,0,1],[1,1,1,0],[1,1,1,1]]\n", + "\n", + "C = m*G#\n", + "C = (C%2)#\n", + "print 'Code words of (7,4) Hamming code\\n',C\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.3 page 389" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "remainder in polynomial form: \n", + " 2\n", + "1 x + 1 x\n", + "Parity bits are: [ 1. 1. 0.]\n", + "G:\n", + "[1, 1, 0, 1, 0, 0, 0]\n", + "[0, 1, 1, 0, 1, 0, 0]\n", + "[0, 0, 1, 1, 0, 1, 0]\n", + "[0, 0, 0, 1, 1, 0, 1]\n", + "\n", + "Generator Matrix G =\n", + "[1, 1, 0, 1, 0, 0, 0]\n", + "[0, 1, 1, 0, 1, 0, 0]\n", + "[1, 1, 1, 0, 0, 1, 0]\n", + "[1, 0, 1, 0, 0, 0, 1]\n", + "\n", + "Partiy Check matrix H =\n", + "\n", + "[1, 0, 0, 1, 0, 1, 1]\n", + "[0, 1, 0, 1, 1, 1, 0]\n", + "[0, 0, 1, 0, 1, 1, 1]\n" + ] + } + ], + "source": [ + "from numpy import poly1d, polydiv\n", + "#message sequence = [1,0,0,1]\n", + "g = poly1d([1,0,1,1]) #generator polynomial\n", + "m = poly1d([1,0,0,0])*poly1d([1,0,0,1]) #message sequence\n", + "q = polydiv(m,g)[0]\n", + "r = polydiv(m,g)[1]\n", + "p = r.coeffs\n", + "print 'remainder in polynomial form: \\n',r\n", + "print 'Parity bits are:',p\n", + "\n", + "def rev_coeffs(x):\n", + " X=[]\n", + " for i in reversed(x):\n", + " X.append(i)\n", + " return X\n", + "\n", + "\n", + "G = [rev_coeffs(g.coeffs),rev_coeffs((g*poly1d([1,0])).coeffs),rev_coeffs((g*poly1d([1,0,0])).coeffs),rev_coeffs((g*poly1d([1,0,0,0])).coeffs)]\n", + "M=len(G[-1])\n", + "for gg in G:\n", + " while len(gg)<M:\n", + " gg.append(0)\n", + "print \"G:\" \n", + "for gg in G:\n", + " print gg\n", + "\n", + "def fun1(a,x,y):\n", + " import numpy as np\n", + " z=[]\n", + " for xx,yy in np.nditer([a[x-1],a[y-1]]):\n", + " z.append(xx+yy)\n", + " a[x-1]=z\n", + " return a \n", + "\n", + "def modulo(a,i):\n", + " bb=[]\n", + " for aa in a[i-1]:\n", + " bb.append(aa%2)\n", + " a[i-1]=bb \n", + " return a\n", + "\n", + "G=fun1(G,3,1)#G(3,:) = G(3,:)+G(1,:);\n", + "G=modulo(G,3)#G(3,:) = modulo(G(3,:),2);\n", + "G=fun1(G,4,1)\n", + "G=fun1(G,4,2)#G(4,:) = G(1,:)+G(2,:)+G(4,:);\n", + "G=modulo(G,4)#G(4,:) = modulo(G(4,:),2);\n", + "print '\\nGenerator Matrix G ='\n", + "for ggg in G:\n", + " print ggg\n", + "\n", + "\n", + "#h = 1+D^-1+D^-2+D^-4;\n", + "#H_D = [D^4*h;D^5*h;D^6*h];\n", + "H_D=[poly1d([1,1,1,0,1]),poly1d([1,1,1,0,1,0]),poly1d([1,1,1,0,1,0,0])] \n", + "\n", + "\n", + "#H_num =numer(H_D);\n", + "#H = coeff(H_num);\n", + "H=[rev_coeffs(aa.coeffs) for aa in H_D]\n", + "\n", + "M=len(H[-1])\n", + "for hh in H:\n", + " while len(hh)<M:\n", + " hh.append(0)\n", + "H=fun1(H,1,3)\n", + "H= modulo(H,1) \n", + "print '\\nPartiy Check matrix H =\\n'\n", + "for hh in H:\n", + " print hh" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.4 page 395" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "remainder in polynomial form: \n", + " 2\n", + "1 x + 1 x\n", + "Parity bits are: [ 1. 1. 0.]\n", + "Table 8.3 Contents of the Shift Register in the Encoder of fig8.7 for Message Sequence(1001)\n", + "__________________________________________________________________________________________\n", + "Shift Input Register Contents\n", + "__________________________________________________________________________________________\n", + "1 1 1 1 0\n", + "2 0 0 1 1\n", + "3 0 1 1 1\n", + "4 1 0 1 1\n", + "____________________________________________________________________________________________\n" + ] + } + ], + "source": [ + "from numpy import poly1d,polydiv\n", + "#message sequence = [1,0,0,1]\n", + "g = poly1d([1,0,1,1]) #generator polynomial\n", + "m = poly1d([1,0,0,0])*poly1d([1,0,0,1])# #message sequence\n", + "q= polydiv(m,g)[0]\n", + "r= polydiv(m,g)[1]\n", + "p = r.coeffs\n", + "print 'remainder in polynomial form: \\n',r\n", + "print 'Parity bits are:',p\n", + "print 'Table 8.3 Contents of the Shift Register in the Encoder of fig8.7 for Message Sequence(1001)'\n", + "print '__________________________________________________________________________________________'\n", + "print 'Shift Input Register Contents'\n", + "print '__________________________________________________________________________________________'\n", + "print '1 1 1 1 0'\n", + "print '2 0 0 1 1'\n", + "print '3 0 1 1 1'\n", + "print '4 1 0 1 1'\n", + "print '____________________________________________________________________________________________'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.5 page 396" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "remainder in polynomial form : \n", + " 2\n", + "2 x + 2 x\n", + "Syndrome bits for error free codeword are: [0.0, 0.0, 0.0]\n", + "remainder in polynomial form for errored codeword : \n", + " 2\n", + "2 x + 3 x + 1\n", + "Syndrome bits for errored codeword are: [0.0, 1.0, 1.0]\n" + ] + } + ], + "source": [ + "from numpy import poly1d,polydiv\n", + "\n", + "#message sequence = [0,1,1,1,0,0,1]\n", + "\n", + "g = poly1d([1,0,1,1]) # #generator polynomial\n", + "C1 = poly1d([1,0,0,1,1,1,0]) #error free codeword\n", + "C2 = poly1d([1,0,0,0,1,1,0]) #middle bit is error\n", + "#[r1,q1] = pdiv(C1,g)#\n", + "\n", + "q1 = polydiv(C1,g)[0]\n", + "r1 = polydiv(C1,g)[1]\n", + "\n", + "S1 = (r1).coeffs\n", + "S1 = [xx%2 for xx in S1]\n", + "print 'remainder in polynomial form : \\n',r1\n", + "print 'Syndrome bits for error free codeword are:',S1\n", + "q2 = polydiv(C2,g)[0]\n", + "r2 = polydiv(C2,g)[1]\n", + "S2 = (r2).coeffs\n", + "S2 = [xx%2 for xx in S2]\n", + "print 'remainder in polynomial form for errored codeword : \\n',r2\n", + "print 'Syndrome bits for errored codeword are:',S2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.6 page 399" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n = 3\n", + "n-k = 2\n", + "Code rate:r = k/n = 0.333\n", + "It can correct any error upto = 2\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "#Single-error-correcting RS code with a 2-bit byte\n", + "\n", + "m =2# #m-bit symbol\n", + "k = 1**2# #number of message bits\n", + "t =1# #single bit error correction\n", + "n = 2**m-1# #code word length in 2-bit byte\n", + "p = n-k# #parity bits length in 2-bit byte\n", + "r = k/n# #code rate\n", + "print 'n =',n\n", + "print 'n-k =',p\n", + "print 'Code rate:r = k/n = %.3f'%r\n", + "print 'It can correct any error upto =',(2*t)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.7 page 401" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Result:\n", + "[1.0, 1.0] \n", + "\n", + "[1.0, 0.0] \n", + "\n", + "[1.0, 1.0] \n", + "\n", + "[1.0, 1.0] \n", + "\n", + "[0.0, 1.0] \n", + "\n", + "[0.0, 1.0] \n", + "\n", + "[1.0, 1.0] \n", + "\n" + ] + } + ], + "source": [ + "from numpy import convolve,ones\n", + "g1 = [1,1,1] # The input Top Adder Sequence\n", + "g2 = [1,0,1] #The input Bottom Adder Sequence\n", + "m =[1,1,0,0,1] # The message sequence\n", + "x1 = [round(xx) for xx in convolve(g1,m)]\n", + "x2 = [round(xx) for xx in convolve(g2,m)]\n", + "x1 = [xx%2 for xx in x1]\n", + "x2 = [xx%2 for xx in x2]\n", + "N = len(x1)\n", + "x=[]\n", + "for i in range(0,len(x1)):\n", + " x.append([x1[N-i-1],x2[N-i-1]])\n", + "print 'Result:' \n", + "for xx in x:\n", + " print xx,'\\n'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.8 page 404" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "top output sequence\n", + "1 \t1 \t1 \t1 \t0 \t0 \t1 \t\n", + "bottom output sequence\n", + "1 \t0 \t1 \t1 \t1 \t1 \t1 \t" + ] + } + ], + "source": [ + "from numpy import poly1d\n", + "g1D=poly1d([1,1,1]) #generator polynomial 1\n", + "g2D=poly1d([1,0,1]) #generator polynomial 2\n", + "mD=poly1d([1,1,0,0,1]) #message sequence polynomial representation\n", + "x1D=(g1D*mD) #top output polynomial\n", + "x2D=(g2D*mD) #bottom output polynomial\n", + "x1=x1D.coeffs\n", + "x2=x2D.coeffs\n", + "x1=x1.tolist()\n", + "X1=[]\n", + "for i in reversed(x1):\n", + " X1.append(i)\n", + "X2=[]\n", + "for i in reversed(x2):\n", + " X2.append(i)\n", + "print 'top output sequence'\n", + "for xx in X1:\n", + " print xx%2,'\\t',\n", + "print '\\nbottom output sequence' \n", + "for xx in X2:\n", + " print xx%2,'\\t'," + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example8.11 page 409" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "branch metric for correct reception : 0.8822\n", + "branch metric for any one correct recption: -3.7027\n", + "branch metric for no correct reception : -8.2877\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log\n", + "\n", + "r = 1/2# #code rate\n", + "n =2# #number of bits\n", + "pe = 0.04# #transition probility \n", + "p = 1-pe## probability of correct reception\n", + "gama_1 = 2*log(p,2)+2*(1-r)# #branch metric for correct reception\n", + "gama_2 = log(pe*p,2)+1# #branch metric for any one correct recption\n", + "gama_3 = 2*log(pe,2)+1# #branch metric for no correct reception\n", + "print 'branch metric for correct reception : %.4f'%gama_1\n", + "print 'branch metric for any one correct recption: %.4f'%gama_2\n", + "print 'branch metric for no correct reception : %.4f'%gama_3" + ] + } + ], + "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 +} diff --git a/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter9.ipynb b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter9.ipynb new file mode 100755 index 00000000..1cf25521 --- /dev/null +++ b/backup/Digital_Communications_by_S._Haykin_version_backup/Chapter9.ipynb @@ -0,0 +1,365 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9 Spread Spectrum Modulation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example9.1 page 461" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The PN sequence at step: 1\n", + "x= [1, 0, 0]\n", + "The PN sequence at step: 2\n", + "x= [1, 1, 0]\n", + "The PN sequence at step: 3\n", + "x= [1, 1, 1]\n", + "The PN sequence at step: 4\n", + "x= [0, 1, 1]\n", + "The PN sequence at step: 5\n", + "x= [1, 0, 1]\n", + "The PN sequence at step: 6\n", + "x= [0, 1, 0]\n", + "The PN sequence at step: 7\n", + "x= [0, 0, 1]\n", + "Table 9.1 Range of PN Sequence lengths\n", + "_________________________________________________________\n", + "Length of shift register (m) = [7, 8, 9, 10, 11, 12, 13, 17, 19]\n", + "PN sequence Length (N) = [127, 255, 511, 1023, 2047, 4095, 8191, 131071, 524287]\n", + "_________________________________________________________\n" + ] + } + ], + "source": [ + "#Program to generate Maximum Length Pseudo Noise Sequence\n", + "#Period of PN Sequence N = 7\n", + "\n", + "#Assign Initial value for PN generator\n", + "x0= 1#\n", + "x1= 0#\n", + "x2 =0#\n", + "x3 =0#\n", + "N = 7 # the period of the signal\n", + "for i in range(1,N+1):\n", + " x3 =x2\n", + " x2 =x1\n", + " x1 = x0\n", + " x0 =(x1^x3)\n", + " print 'The PN sequence at step:',i\n", + " x = [x1, x2, x3]\n", + " print 'x=',x\n", + "\n", + "m = [7,8,9,10,11,12,13,17,19]#\n", + "N = [2**mm-1 for mm in m]\n", + "print 'Table 9.1 Range of PN Sequence lengths'\n", + "print '_________________________________________________________'\n", + "print 'Length of shift register (m) =',m\n", + "print 'PN sequence Length (N) =',N\n", + "print '_________________________________________________________'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example9.2 page 462" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The PN sequence at step : 1\n", + "x= [1, 0, 0]\n", + "The PN sequence at step : 2\n", + "x= [1, 1, 0]\n", + "The PN sequence at step : 3\n", + "x= [1, 1, 1]\n", + "The PN sequence at step : 4\n", + "x= [0, 1, 1]\n", + "The PN sequence at step : 5\n", + "x= [1, 0, 1]\n", + "The PN sequence at step : 6\n", + "x= [0, 1, 0]\n", + "The PN sequence at step : 7\n", + "x= [0, 0, 1]\n", + "Output Sequence : [0, 0, 1, 1, 1, 0, 1]\n", + "Output Sequence levels : [-1, -1, 1, 1, 1, -1, 1]\n", + "Number of 1s in the given PN sequence : 4\n", + "Number of 0s in the given PN sequence : 3\n", + "Property 1 (Balance property) is satisified\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fa533551b90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import corrcoef as corr\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title,show\n", + "\n", + "#Period of PN Sequence N = 7\n", + "#Properites of maximum-length sequence\n", + "\n", + "#Assign Initial value for PN generator\n", + "x0= 1#\n", + "x1= 0#\n", + "x2 =0#\n", + "x3 =0#\n", + "N = 7 #the period of the signal\n", + "one_count = 0\n", + "zero_count = 0\n", + "C=[]\n", + "C_level=[]\n", + "t=[]\n", + "for i in range(1,N+1):\n", + " x3 =x2#\n", + " x2 =x1#\n", + " x1 = x0#\n", + " x0 =(x1^x3)\n", + " print 'The PN sequence at step :',i\n", + " x = [x1 ,x2 ,x3]\n", + " print 'x=',x\n", + " C.append(x3)\n", + " if(C[i-1]==1):\n", + " C_level.append(1)\n", + " one_count = one_count+1\n", + " elif(C[i-1]==0):\n", + " C_level.append(-1)\n", + " zero_count = zero_count+1\n", + " \n", + "print 'Output Sequence : ',C #refer equation 9.4\n", + "print 'Output Sequence levels :',C_level#refer equation 9.5\n", + "if(zero_count < one_count):\n", + " print 'Number of 1s in the given PN sequence : ',one_count\n", + " print 'Number of 0s in the given PN sequence :',zero_count\n", + " print 'Property 1 (Balance property) is satisified'\n", + "\n", + "Rc_tuo = corr(C_level,rowvar=N)\n", + "t = range(1,2*len(C_level)+1)\n", + "plot(t,C_level+C_level)\n", + "xlabel(' t')\n", + "title('Waveform of maximum-length sequence [0 0 1 1 1 0 1 0 0 1 1 1 0 1]')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example9.3 page 468" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The processing gain is: 4095.0\n", + "The required PN sequence is: 4095.0\n", + "The feedback shift register length: 12.0\n", + "Jamming Margin in dB: 26.122539061\n" + ] + } + ], + "source": [ + "from math import log,log10\n", + "def log2(x):\n", + " return log(x,2)\n", + "\n", + "Tb = 4.095*10**-3##Information bit duration\n", + "Tc = 1*10**-6##PN chip duration\n", + "PG = Tb/Tc##Processing gain\n", + "print 'The processing gain is:',PG\n", + "N = PG# #PN sequence length\n", + "m = log2(N+1)##feedback shift register length\n", + "print 'The required PN sequence is:',N\n", + "print 'The feedback shift register length:',m\n", + "Eb_No = 10##Energy to noise density ratio\n", + "J_P = PG/Eb_No##Jamming Margin\n", + "print 'Jamming Margin in dB:',10*log10(J_P)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example9.4 page 469" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "number of bits per symbol K = 2\n", + "Number of MFSK tones M= 4\n", + "Period of the PN sequence N = 15\n", + "length of PN sequence per hop k = 3\n", + "Total number of frequency hops = 8\n" + ] + } + ], + "source": [ + "#Slow and Fast Frequency Hopping\n", + "K =2# #number of bits per symbol\n", + "M = 2**K# #Number of MFSK tones\n", + "N = 2**M-1##Period of the PN sequence\n", + "k = 3# #length of PN sequence per hop\n", + "print 'number of bits per symbol K =',K\n", + "print 'Number of MFSK tones M=',M\n", + "print 'Period of the PN sequence N =',N\n", + "print 'length of PN sequence per hop k =',k\n", + "print 'Total number of frequency hops =',2**k" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example9.5 page 470" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEZCAYAAAB7HPUdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXe4VNXVh98f2EBQRAJKUSyAgIpYscUrCsGKBaVeYsxj\nTEzx84uJJQU/0zTVxMTEmNguTUTsqCCKGguKAqI0UQxFBKQoiEpb3x/7jI6XmTt9zjkz+32eeZgz\nZ8/evzvMrLPP2muvJTPD4/F4PNVBo7AFeDwej6d8eKPv8Xg8VYQ3+h6Px1NFeKPv8Xg8VYQ3+h6P\nx1NFeKPv8Xg8VYQ3+h5PAUjaJmn/Bs5/RdJcSTunOb9zcL5V6VR6PF/gjb4ntkh6V9JGSR9JWivp\neUmXSlKW7+8YGO1S/g6uBu4ws8+CMadK+mbiZPD67UE7j6fkeKPviTMGnGlmuwH7ADcAVwH/zrGf\nrC4SuRLM7ocDI5NeTrUbcgzwdUk7lkKHx5OMN/qeisDM1pvZw8BAnAHtDiDpDEkzJH0oabGkEUlv\nezb4d52k9ZKOkXSApKckfSBplaSRknbPMPwZkt4O2v826U7jGGCdmb0XaPkVcCLw12C8vwTalwJr\ngWOL8mF4PA3gjb6nojCzV4ClwAnBSxuAYWa2O3AG8B1J/YNzJwb/7m5mzc1sWnD8K2BvoCvQAbgu\nw7DnAEcAhwP9gYuD1w8B5idp+wnwHPDdYLwfJPUxF+iRw5/q8eSFN/qeSuQ9oCWAmT1jZm8Gz2cD\nY4GTgnbbuXXM7G0zm2Jmm83sA+BPSe3TcaOZrTOzJcBNwODg9RbA+hTtU7mT1gftPZ6SskPYAjye\nEtAOWAMg6Ricr787sBOwMzAu3RsltQH+jLtTaI6bGK3JMN6SpOeLgbbB87VBH/VJ5ddvHrT3eEqK\nn+l7KgpJR+GM/n+Cl0YDDwDtzawF8A+++N6nMr6/BrYCBwcuoVoy/072qfd8WfD8daBzvbbp0tp2\nBWZlGMfjKRhv9D1xRwCSdpN0Ji4Spi7h0gGaAWvNbJOko4EhfGF4VwHbgAOS+msGfAx8JKkd8KMs\nNFwpqYWkDsAPgHuC118GWkhqm9R2Rb3xCMZpCbyUzR/s8RSCN/qeuPOwpI9wbpVrgD8A30g6fxlw\nfdDmZ3xhkDGzjbhF2+clrQkuCv+HW5D9EHgYuI/0s/MEDwKvAjOAR3Bx95jZJuBOYFhS2z8DA4Lx\nbgpeGwLcaWabc/vTPZ7cUaFFVCTdjouKWGlmh6Rp8xfgNGAjcJGZzShoUI8nJgQ7bZ8DDkts0Kp3\nfmdgJnBisHDs8ZSUYsz07wD6pTsp6XTgQDPrBHwL+HsRxvR4YoGZfWBmXVMZ/OD8Z8F5b/A9ZaFg\no29mz9Fw1MHZwF1B22k4H2ebQsf1eDweT+6Uw6ffji+HtC0F2pdhXI/H4/HUo1wLufU3o/hq7B6P\nxxMC5dictQy3lT1Be76IY/4cSf5C4PF4PHlgZlknDSzHTP8hXKZBJPXCJaBakaqhmcX2MWLEiNA1\nVKN2M+OQQ0bwl7+Er6NaP3+vP9xHrhRs9CWNAV4AukhaIuniIKf5pYEhnwi8I2khcCsubtrjKRqH\nHgp1dWGr8HjiQcHuHTMbnEWb7xU6jseTjv33hylTYN48OOigsNV4PNHG78gtEjU1NWFLyJs4awfo\n3buGIUPiO9uP++fv9ceLgnfkFgtJFhUtnvgxaxacfTYsWgSN/FTGU0VIwiK2kOvxlJwePWD33eG5\n58JW4vFEG2/0PRVDbW18XTweT7nw7h1PxbBsGRx8MLz3HjRpErYaj6c8ePeOp2pp1w6OOgoeeihs\nJR5PdPFG31NReBePx9Mw3r3jqSg2bID27WHBAmjdOmw1Hk/pKbt7R1I/SfMkvSXpqhTnayR9KGlG\n8PhpoWN6POlo1gzOOgvGjAlbiccTTQoy+pIaA3/FFVHpBgyW1DVF02fMrGfw+GUhY3o8mRg+3Lt4\nPJ50FDrTPxpYaGbvmqvvORbon6Jd1rceHk+h9O4Ny5fD3LlhK/F4okehRj9VgZR29doYcJykWZIm\nSupW4JgeT4M0bkys0zJ4PKWk0IRr2ay8vgZ0MLONkk4DHgA6p2p43XXXff68pqam6nJieIpHbS2c\neSb88pc+LYOnspg6dSpTp07N+/0FRe8E+fGvM7N+wfE1wDYzu7GB9ywCjjCzNfVe99E7nqJy2GHw\npz/BySeHrcTjKR3ljt6ZDnSS1FHSTsBAXNGUZEFtJCl4fjTuQrNm+648nuLiY/Y9nu0pOE4/cNnc\nBDQG/m1mv0kqoHKrpO8C3wG2ABuB/zWzl1L042f6nqKyfDl06+bSMzRtGrYaj6c05DrT95uzPBXN\n174GF10EgzOW+vF44onPvePxJOFj9j2eL+Nn+p6K5uOPXVqGefOgTZuw1Xg8xcfP9D2eJHbd1VXU\n8mkZPB6HN/qeiqe2Fu6+O2wVHk808EbfU/GcfDKsXAlvvhm2Eo8nfLzR91Q8jRvD0KF+QdfjAb+Q\n66kS3ngDTjsN3n3XXQQ8nkohcvn0gzZ/Cc7PktSz0DE9nlw5+GBo1QoKSFni8VQEJc+nL+l04EAz\n6wR8C/h7IWN6PPniY/Y9nvLk0z8buAvAzKYBLST5iGlP2Rk8GB58EDZuDFuJxxMe5cinn6pN+wLH\n9XhyZq+9oFcveOCBsJV4POFRjnz6sH3lrJTv8/n0PaUmEbM/ZEjYSjye/Ih8Pn1J/wCmmtnY4Hge\ncJKZrajXl4/e8ZScjRuhXTuYMwf23jtsNR5P4UQun35wPDwQ1wtYV9/gezzlomlTOOccn5bBU70U\nZPTNbAvwPeAJYA5wj5nNlXRpUk79icA7khYCtwKXFajZ4ykIX1zFU834zVmeqmPbNth3X5g4EQ45\nJGw1Hk9h+CybHk8GGjWCYcP8bN9TnfiZvqcqmTMH+vSBxYt9WgZPvPEzfY8nC7p1c3H7Tz0VthKP\np7x4o++pWvyCrqca8e4dT9WyYgV06QLLlrkKWx5PHPHuHY8nS9q0geOPh/vvD1uJx1M+vNH3VDW+\nlKKn2sjbvSOpJXAPsC/wLnChma1L0e5d4CNgK7DZzI5O059373jKziefQNu2rpRi27Zhq/F4cqec\n7p2rgclm1hmYEhynwoAaM+uZzuB7PGHRpAmcdx6MHh22Eo+nPBRi9D/Pkx/8e04DbbO+Cnk85cZH\n8XiqiUKMfpukxGkrgHSFUQx4UtJ0SZcUMJ7HUxK++lVYtw5mzQpbicdTehrMpy9pMrBXilM/ST4w\nM5OUziF/vJktl/QVYLKkeWb2XH5yPZ7i06gRDB3qZvs9eoStxuMpLQ0afTPrk+6cpBWS9jKz9yXt\nDaxM08fy4N9Vku7HlVhMafR9ERVPWNTWwimnwI03+rQMnmgTWhEVSb8FVpvZjZKuBlqY2dX12jQF\nGpvZekm7ApOA/zOzSSn689E7nlA56ij41a+gb9+wlXg82VPO6J0bgD6SFgC9g2MktZX0aNBmL+A5\nSTOBacAjqQy+xxMFfMy+pxrwaRg8noCVK6FzZ1i6FJo1C1uNx5MdPg2Dx5MnrVvDiSfChAlhK/F4\nSoc3+h5PEj5m31PpePeOx5PEJ59Au3bw+uvQvn3YajyezHj3jsdTAD4tg6fS8Ubf46nH8OHOxeNv\nPD2ViDf6Hk89TjgB1q/3aRk8lYk3+h5PPRo1gmHDfMy+pzLxC7keTwrmz4eaGliyBHZoMFmJxxMu\nZVvIlXSBpDclbZV0eAPt+kmaJ+ktSVflO17UKSQXRtjEWTuURn+XLrDPPvDkk0Xvejv85x8ucdef\nK4W4d2YD5wLPpmsgqTHwV6Af0A0YLKlrAWNGljh/ceKsHUqnv1wx+/7zD5e468+VvI2+mc0zswUZ\nmh0NLDSzd81sMzAW6J/vmB5PORk0CB55xC3qejyVQqm9le2AJUnHS4FjSjymxwNAx44duf322+nd\nuze//vWvWbRoEbfddlvW72/Vyvn1//AHOOmk0ulctAiefhpOOaURdXULadt2/6L2f9tt19Cy5V6c\nf/7lKc/ff/9fWbVqKd/61g159Z/QH1dKrf+442DnnUvXf640uJDbQBGVa83s4aDN08APzey1FO8/\nH+hnZpcEx8OAY8zs+yna+lVcj8fjyYNcFnLzLqKSJcuADknHHXCz/VRj+Tq6MUPSbsBi4FJgHLAz\ncCLwvpnNzrEvgavCVkR9i4BvmtlTxeqzlEjaBhxoZu8Usc8fBX1eGhzXAHVm1qFeu38C883sD8Ua\n2xNNihWnn85gTwc6SeooaSdgIPBQkcb0hE9nnJ2+xxyfmtnkhMGXdJGk5yXdLGmdpLmSeifeLGmq\npF9Keh74GNhP0kGSJktaHUR9XZDU/gxJMyR9KGmxpBHJYiTVSvqvpA8kXVvv3HWS6oLnHSVtkzQ8\naL8qub2kJpLukrRG0hxJP5aU7KakXt/dkzS/L+ma4PWdJd0kaVnw+FPwO0i870eS3pO0VNLF9frc\nWdLvA33vS/q7pF0a0HBJoPWjIKrusODUacAzQZtdgceAtpLWB20Td/JTgTPS9e+pIMwsrwcucmcJ\n8AnwPvBY8Hpb4NGkdqcB84GFwDX5jucf0XsAzYEPgDtxEVp71Dt/EbAZuBxoDFwIrMNVWQNnaN4F\nuuImILsH36mvB8eHAauArkH7k4DuwfNDgu9d/+C4G7AeOAHYCfhDMHbv4PwI3AwXoCOwDbgVd3dy\nKPAp0CU4fwPwdKCnHfA6sLiBz2A5cEUwbjPg6ODc9cALQKvg8TxwfXCuX6C/G9AUGB1o2j84/yfg\nAaBF0OdDwK/TaLgAdwd9RHB8ALBP8Hxl4vWkz3BJij4Ox1XCC/175R+lfYQuwD/i/QAOAu4IjPVm\n4EGgdXDuImBZvfbTgGHB86eB65LODQSerdf+VuDnaca+Cfhj8PznwOikc02Bz5KM/nUpjH7berou\nDJ6/DfRJOvfNVIYyODcYeDXNuYW4Na3EcV9gUfD89mQjDnRKGH3cnfOGxAUgOH8s8E6acZ4Avp/m\n3Cagc9JxTRqj3wnYEvb3yT9K/wg9DUOcN29J6iDp6eB2+g1JPwhbUz5Iahy4TR7O9b3mQne/Yc5H\nfDDuTu+mpCbL6r3lv8DeScfJbpN9gWMkrU08gCFAm0DnMcHnvVLSOtxawl6SxuNm2n0l9Qp0bQRW\nZ5D/ftLzjbgZNcHfUD/qLB0dgHQ++La4vzfB4uA1cJ/BEknXSHoTuB9n7HcCvoK7aL2a9Dk8hrtb\nSEV73IUqFWtxdyOZaA582FADSbdLWiFpdtJrLQPX1gJJkyS1yGKsUEij/3eB23GWpAmSdg9TY0Ok\n0p907oeBy7Jlpn5CNfqK/+atzcAVZtYd6AV8N2b6E1wOzAEKWkQ1s/nAXTjjn6BdvWb7Au8lvy3p\n+WLgGTPbI+nR3My+G5wfjXN5tDezFsA/cCHAE3HukCeBuQCSmgJ75vmnLGf7AIR0LMbNzlPxHu6u\nIsE+fHERXI5zUV2Cc62cG7x+Js5l9gnQLelzaGFmu6UZZwlwYJpzrwNdko7T/R93BWamOZfgDtxv\nNZmrgclm1hmYEhxHlVT6J+Fchj2ABcA1ZVeVPan0I6kD0IcvTzDSEvZMP9abt8zsfTObGTzfgDM4\nbRt+V7SQ1B44HfgX6Rfk0723i6T/ldQuOO6Ac3e8mNSstaQfSNoxWJQ9CGekP+8m6fkjQGdJw4L2\nO0o6StJBwflmwFoz2yTpaGAozpV0O3AfbiHy4GCx9Hry/36PA66R1CL4275HemP5CLC3pMuDxdfm\ngTaAMcBPJbWS1ArnghqZNMZ5wd+/J879BC7yaRtwG3CTpK8ASGonqW8aDf8CrpR0uBwHStonODcR\n58dPsALYUy7yKpmTcHcTaTGz53B3DsmcjbvQE/x7TkN9hEkq/eYCD7YFh9Nwd02RJM3nD/BH4MfZ\n9hO20U+1eav+zDAWSOoI9MR9ceLEn4Af4fzJubIeN9OeJmkDzti/Dvwwqc00nL94FfAL4HwzS/7i\nfm5MgwtnX2AQbka8HPgNzuUBcBlwvaSPgJ/hZvafSroDqANexRna94A1fPm7ZXzZcDd0V3M97ru4\nCDcTvBfnG9+OQHMf4KxA7wKc3xzgl7gItteDx/TgNczscdxnv0cw1lmBpheC916FWxN4SdKHwGRc\ntFQqDeOBX+HuhD4CJgT9gvtcTk9E/pjZPNxn9E4QnbRXcO40vjDeudDGzFYEz1cQuOJiysV8eUIS\neST1B5aa2etZv6nQRQHcgtQKYHYDbf4CvAXMAnomvX4+cFvS8TDg5rAXOvL4DJrhftDnhK0lR91n\nAn8LntcADxe5/4uA50qo/0ici+2o4PgmguiYIo/zHeDpEvR7AM6ttiduz8z9wNASjPMr4PIGzn8P\nuCHLvjom/9Zxd17J59eU6v+7SJ/Fl/Qnvf4T4L6w9eWiH7fuMw3YLTheBOyZqY9izPRT+pkSSDod\ntzmkE/At4O9Jp7PevBVVJO2Icy2MNLMHwtaTI8cBZ8ttYhoD9JYUpyzyS3GznFeC4/E4/3hBBLPf\n4yU1ktQF+F+cQS42RwIvmNlqM9uCm6EfV+xBzOwnZvbnBs7/1czy9cWvSMT6S9obFyIaKyRdhHNx\nDg1ZSq4cgLsIzAp+w+1xi/+tG3pTwUbf0vuZEnzu8zOzaUALSYlbwFhv3pIk4N/AHDO7KVP7qGFm\n15pZBzPbD+dSecrMhhdzCApcHG6wc7P3cREwCbfHqcCbReh6J9wi8Ue4xckHgFuK0G995gG95DaD\nCad/TgnGKSUP4fZVEPwbq4mPpH4492Z/M/s0bD25YGazzayNme0X/IaXAoebWYMX3nKUh0jlt28P\nrDCzLZK+h4szbgz828zmlkFTsTge55J6XdKM4LVrzPlr40hRDbSZ3UV+fuJc+D4wKpg0vA18o9AO\nzWwxLrKmpJjZrODOajpuTeU14J+lHjdfJI3BLfi2ktuh/HPcRrZxkr6J22h3YXgKGyaF/hG4aJ2d\ngMnuusuLZnZZeCrTk6R/z8Tnb2Z3JDXJ6vdblMpZwSLmw2a23Q8liP2+wcyeD46fBH5s9RK0ySdc\n83g8nrywclTOyoH6fvv2bL9hB4jn7uBbbzUGDDBGjBgRupZ8H/vsM4L77w9fRz6Pk082YAQLFoSv\nJd9Hqb4769cbu+9urFgRT/1mxsiRxmmnxVP/mDFG376l1W6W+1y5HEb/IWA4QLBbcp19EeIVe+6+\nG4YX0wseAj16xLMI+OLFMGsWHHlkeSpcxY0JE+DEE6F1g8t60eacc+DFF+H99zO3jRp1da76WtQo\n2OgHfqYXgC6Slki6WNKlki4FMLOJuJjghbg8KpH0l+XDO+/AggXQL23sUjzo1g2eegrWrAlbSW6M\nGgUDBsDhh8PIkZDHpKeiiarRyYVdd4X+/WHMmLCV5MaKFfD883DuuZnblpuCF3LNbHAWbb5X6DhR\nZORIGDgQdtwRampqwpaTN/361bBoEYwbB9/+dthqssPMGbXbboNNm2p4/nn3IzvhhLCV5U4pvjvL\nlsGrr8JDZYiFK/V3v7YWfvQjuOKK0vRfCv1jxriL1a67Fr3rginKQm4xkGRR0ZINZtC5s5ttHn10\n5vZR55FH4De/cYYzDkyf7i64CxeCBDfe6O68br01bGXR4He/g/nz4V//CltJ4WzdCvvuC48/Dgcf\nnLl9FDjiCPedPPXU0o8lCYvYQm5F8tJL0LgxHHVU2EqKw9e+5gzowoVhK8mOujoYNswZfIChQ2H8\nePg0VpHWpcGsMtaaEjRu7P6v47JuM2eOc++cfHLYSlLjjX6eJPylyilFWXTZcUcYNMi5rKLO5s0w\ndqwzBAnat4fDDnN3LNXOrFmwfn08XV3pqK11d9Vbt4atJDN1dTBkiLtYRRFv9PNg0ybn/x4at03b\nGaitjceC6KRJcMAB0KnTl18fPjw+s8FSkrgLalRBv+7u3V0U0tSpYStpmG3b3G8oyndZFfS1KB8T\nJ7ovYceOYSspLkcc4Wb8L76YuW2Y3H136qiU886DZ56BDz4ov6aosGULjB4d/6idVNTWRj+0eOpU\naNUq2msP3ujnQSX5S5OR3N8V5R/Whx+6Bb0LU2z2b94czjjDuX6qlSefhH32gS5dMreNG4MHu2ik\njz8OW0l64hAm641+jqxZ42LaBwwIW0lpGDoU7r0XPvssbCWpGT8eeveGPdPUxKqtrW4XTxyMTr7s\ntRcceyw8ENGUbhs3Om2DMwaxh0sxNmc1WONWUo2kD+VqsM6Q9NNCxwyTceNcpMvuka2kWRj77AOH\nHgqPPhq2ktTU1TV8l3XqqW6n7vz55dMUFdavd/9vgwaFraR0RPmi/sAD0KsX7L135rZhUpDRz6HG\n7TNm1jN4/LKQMcOmkmdSCaL6w3r3XXjjDTj99PRtdtjBRU7EIQqp2EyYAF/9qvMpVyr9+8O0abB8\nedhKticutqHQmX62NW4rIrAxEcf+ta+FraS0DBgATz8Nq1eHreTLjBoFF1wAO+/ccLvERWtbPgUg\nY0ylrjUl07SpS20wenTYSr7M+++7vTvnRLZC8BcUavSzqXFrwHGSZkmaKKlbgWOGxsiR7tZ5xx3D\nVlJadtsNTjsN7rknbCVfkEi7kM1MqkcPt6j7n/+UXldUWLoUZs6EM88MW0npieKdaCLtQtOmYSvJ\nTKFGP5uI7teADmbWA7iZmFXWSZCL0akEovbDmj7dhSMee2zmtlL09JeaUaPg/PNhl13CVlJ6TjrJ\nBVS8nn0p8JITp7usQhOuZaxxa2brk54/JukWSS3NbLucjtddd93nz2tqaiKVxOyFF2CnnVwsezXQ\nty9cfDG89db2m6DCIBGbn+0O6KFD4ZBD4C9/gSZNSqstbBJpF/7xj7CVlIdGjdz/b12dyzEUNm+8\n4faGlMtcTZ06lakF7FIrKOGapB2A+cApwHvAy8BgSyp5GNTDXWlmJuloYJyZdUzRV6QTrn372y7p\n0zXXhK2kfFxxhXOTXH99uDo2b4Z27dymsQMOyP59ffrAJZekjumvJF57za3DLFxYWbtwG2LOHPf/\nu3hx+OkOrrrKTUZuuCGc8cuacM3MtgCJGrdzgHvMbG5yPn1gADBb0kzgJlwB7ljx2Wcudr3S0i5k\nIippGR5/3N1t5GLwoXpcPJWYdiET3bq50MinngpXx9atzrUWJ7evT62cBRMmwM03u4iWasLMbSe/\n9dZwk3ddeCGccgpcemnmtsls2OASsS1YEO/qUQ2xZYv7G597LhpuuHLy5z+7mgFh7iB/8kk303/1\n1fA0+NTKJSBdrpdKJwoLouvWwRNP5OeiadYMzjqrstMyTJrkckBVm8GHL9IybNgQnoY4Bnd4o5+B\n1atdEqVKTbuQibDz1N97r9tlu8ce+b0/7ItWqcm0Q7mSad3a3YHef38443/8sbvoRD3tQn280c/A\nPfe4mPXddgtbSTh06BBunvpCjdopp7jSgfPmFU9TVPjoI3jsMVdBrFoJ86L+wAMuhLhNm3DGzxdv\n9DMQx9u3YhPWD2vRIpg7111086VxY5eWoRJn+/fd58IE0yWfqwbOPhteecVd2MtNnGLzk/FGvwEW\nLHB1V/v2DVtJuJx/fjh56keOdL78nXYqrJ/hw11flZaWoVrXmpJp0sTVUSh3Wobly+Hll90u3Ljh\njX4DjBzpZok7FLqFLeaEkae+mDugDz0UWrSAZ58tvK+osHix25FaDWkXMhFGxbTRo10OoDhu/PNG\nPw1mzuhX+0wqQbldPC+/7P495pji9FdpC7rZJp+rBk480RXXmTWrfGPGeQHdG/00PP+8u4r37Bm2\nkmhQ7jz1uaZdyMSQIS7K45NPitNfmFRbHqhMNGrkNqeVK17/9ddh7VqXxjqOlLyIStDmL8H5WZJi\nYUaLbXTizg47uNC0cuSpTxSeHzaseH22bQtHHQUPPli8PsPi1VfdLvHjjgtbSXSorXUuly1bSj9W\nXZ0LZY7rDuiSF1GRdDpwoJl1Ar4F/L2QMcvBp5+6yIhqS7uQiYTvtNQLoo89BgcdBPvtV9x+K8XF\nk5jl+wnJFxx0kAsvnjKltOPEMe1CfcpRROVs4C4AM5sGtAiSsEWWRx5xsekdOmRuW02UK099qfyl\n557r3HYrVhS/73KxebNbUC/mXVClUI6L+pQpLvlf11T1AWNCOYqopGrTvsBxS4r3l6amHGkZ1q6F\nyZPdImWx2XVXF9cd57QMkya5xHMHHhi2kugxaJCbsK1fn7ltvlSCbSg0GDHbDGn1b0RTvi8K+fRX\nrXJpF6qxxmo2DBniQiBLlad+3Di3L6JFi+L3De4O4qqr4PLLS9N/qfGx+en5yldcJM+ECfD1rxe/\n/w0b4OGH4Q9/KH7fuVBoPn3MLO8H0At4POn4GuCqem3+AQxKOp4HtEnRl0WBm282GzIkbBXR5tRT\nze65pzR9H3+82YMPlqZvM7MtW8zatTN7883SjVEq1q0z2203s9Wrw1YSXcaNMzvllNL0fffdZmec\nUZq+CyGwnVnb7ULdO9OBTpI6StoJGAg8VK/NQ8BwAEm9gHVmFlmvaiXcvpWaUrl43n7b7YLu16/4\nfSeIc1qG8eNdLqGWLcNWEl3OOssVlVm6NHPbXIlr2oX6lLyIiplNBN6RtBC4FbisQM0lY/58F4t+\n6qlhK4k2553n8revWlXcfkeOdMnDCk27kIlEcZi4pWXwE5LM7LKLSxsyalRx+122zIXKnnVWcfsN\nA19EJYmf/hQ2boQ//jFUGbFg2DC3W/b73y9Of2YuJ/zo0XD00cXpsyF69nS+2d69Sz9WMXj3XTjy\nSGd8/C7chnn2WbjsMpg9u3hhrb/7nZsU/utfxemvmPgiKnmybZub/VXC7Vs5GD68uDsgX3rJuV6O\nOqp4fTZE3GL2R41yyee8wc/MCSe4XPczZxanv0Th+Uq5y/JGP+A//3Ex6D16hK0kHhQ7T30iNr9c\nG44GD3b50DduLM94heDTLuRGIi1DsS7qs2a5MNATTyxOf2HjjX6A3+WYG8VcEP3sMxeqWc4d0Hvv\n7dxTcUgu0gKxAAAgAElEQVTLMH262wnaq1fYSuJDMdMyVFrh+Qr5Mwrjk09c2oUhQ8JWEi+KtSA6\ncSJ07+5qvZaTYruoSsXddzuj4yck2dO5M+y7r9voVwhbtriLRyXdZXmjj9twccQR0D7S+4SjR48e\nxclTH5br4pxz3FrC+++Xf+xs2bzZleysJKNTLoqRZ3/KFJeOpUuX4miKAt7o4/2lhVDogujq1e6H\nVYq0C5lo2tRVPhozpvxjZ8vjj7tZ6/77h60kfgwcCI8+6moJ50ulxOYnU/VGf+VKF3N+3nlhK4kn\nheapHzfObcbafffi6sqWqEfx+AlJ/rRq5WoI33dffu9fv95dNAYNKqqs0Mnb6EtqKWmypAWSJklK\nmS1F0ruSXpc0Q9LL+UstDWPHupJzzZqFrSSetG3r4scfqr8PO0vCNmo1NW6T2RtvhKchHevWwRNP\nuFBNT34UclGfMMEVSmnVqriawqaQmf7VwGQz6wxMCY5TYUCNmfU0szJsu8mNOJc9iwr5LoguXOhS\nL3zta8XXlC2NG7uooSjO9u+9F/r0gT32CFtJfDnzTBdyuXhx7u+tVNtQiNH/PE9+8O85DbSNZNzB\nvHku1vyUU8JWEm/yzVNfV+dunXfcsTS6sqW21m1+2ro1XB31CfsuqBLYZRcYMCD3tAxLl8KMGZVZ\neL4Qo98mKXHaCiBdYRQDnpQ0XdIlBYxXdOrqnE+6ceOwlcSbfPLUR6nwfPfu0Lq1S6kdFRYtgrlz\n4bTTwlYSfxIunlyyvIwa5XL47LJL6XSFRYNGP/DZz07xODu5XSK9Z5pujjeznsBpwHclRWJfWyLt\nQhSMTiWQq+/0hRdcYrUjjiidplyIWsz+yJHOl1/q5HPVwPHHuxKor72WXftK3wHdYBEVM+uT7pyk\nFZL2MrP3Je0NrEzTx/Lg31WS7seVWHwuVdtyFlF59lkXY+7TLhSH3r1h+XKYMwe6dcvcvtxpFzIx\neDD83/+5nC277hquloTRieI6QxxJrviWzSRj5kyXnuP440uvLR8KLaKSd5ZNSb8FVpvZjZKuBlqY\n2dX12jQFGpvZekm7ApOA/zOzSSn6K2uWzW9+09W5vPLKsg1Z8fz4x85V9pvfNNzu009dndEZM2Cf\nfcqjLRtOP90t6pYzHUQqpk1zRmr+/OhcFOPOW2+5RGxLl2ZeQ7riCpeH6/rry6OtUMqZZfMGoI+k\nBUDv4BhJbSU9GrTZC3hO0kxgGvBIKoNfbj75xMWW+7QLxSWxIJopLcOjj7qSi1Ey+BCdmH2fB6r4\ndOrkNrhNymB9tmxxm/Uq1bUDBdTINbM1wHblRszsPeCM4Pk7wGF5qysRDz7oYsvbtg1bSWVxyCGu\nqtMzz8DJJ6dvF1V/af/+Lg/78uUuIVsYbNrk0i68HLkdLfEncVE/44z0bSZPdjmgOnUqm6yyU5U7\ncis1/jYKZFoQ/eADFyUzYEDZJGVN06Yu/HT06PA0PPaYczvut194GiqVgQPd5/vhh+nbVINtqDqj\nv2KFiyk/99ywlVQmmfLU33OPC0Pcbbfy6sqWsF08Ub0LqgT23NMFHIwfn/r8Rx+5jK8DB5ZXV7mp\nOqM/dqyLKQ87QqNSyZSnPupG7aSTYM0aeP318o+9dq1zL4SRfK5aaOiift99Li3HnnuWVVLZqTqj\nX0llz6JKuh/WggVu01HfvuXXlC3FrrqUC+PGuc+mRcosVp5icMYZrnbuf/+7/bmoT0iKRVUZ/Tlz\nXO70uBTDjivnnAMvvrh9nvqRI13E1A55hw+Uh0TVpXKnZagGf3LY7Lyz2/RWPy3D4sXu7q4S0y7U\np6qMfl2di8H2aRdKy667bp+nftu2+MykunZ1bqqnnirfmO+84+6E+vUr35jVSm2tu+NP3hY0apQL\nLqiGwvNVY/R92oXyUt/F8/zzLjqmZ8/wNOVCuRd0R450C4hhJ5+rBo491sXjT5/ujis97UJ9qsbo\nT53qFmgOOSRsJdVBTY0rUJPIUx+3DUeDB7saARs2lH4sM7/WVE6kL6/bvPYafPYZHHdcuLrKRSFF\nVC6Q9KakrZIOb6BdP0nzJL0l6ap8xyuUUvtLC8mFETal0N648Rc/rE8/dWFypUpvUAr9rVu7bfv3\n31/0rrfjllumssMOcNRRpR+rFMTxu19b6yL5Nm+GX/96aqwmJIVSyEx/NnAukLYstqTGwF+BfkA3\nYLCkrgWMmRcbN7rY8cGDSzdGHL/4CUqlPZGW4cEHnVunQ4eSDFNS/eVw8dx5Z7yNThy/+wcc4Hbd\nPvIIPP74VIYNC1tR+cjb6JvZPDNbkKHZ0cBCM3vXzDYDY4H++Y6ZLw8+6GLHw9paX60k8tRfeWU8\nXRdnn+38vsuWlW6Mzz6DN98MP8lbNVJbCz/4gUsdcuCBYaspH6UOnmsHLEk6Xgock67xr39dGhHj\nx8MPf1iavj0NM3w4XHutK0iRDzU1NdTW1vLNb36zuMKyoEkTOO88uOSSxUyZ0p2f//wjVOTp+H//\nC1/5isv3AtCoUSMWLlzI/vvvX5T+Bw8ezKBBg+jfP/Vc68orr+TAAw/k29/+dlHGixMXXgiXXw6n\nbpdBrLJpMLWypMm4TJn1udbMHg7aPA380My2K1Eg6Xygn5ldEhwPA44xs++naFu+vMoej8dTQeSS\nWjnvIipZsgxI9uR2wM32U40VU4+mR9Ii4Jtm9pSktsATuDTa19Rrt4OZbcmx76eBOjO7vQB9NUEf\naVcVgnFmAD8BPgMOBfYys8fzHTcfJG0DDgwy1Bba19+ApWb2m+D4Itz/04n12k0CbjWz+wod0xN9\nihWymc5gTwc6SeooaSdgIPBQkcb0RJAgtfbjQHdwRkzSZZLeAuYHr10SRHOtlvRgUHmN4FyfINpr\nnaSbSfpuSbpOUl3Scceg/0bBcUtJd0haJmmNpAlBIZ/HgLaS1kv6SFKqu9cjgTvN7BMz22ZmMxMG\nP8U4+0l6NuhrsqS/JXQltR0u6b+SVkm6Nknz0ZJelLRW0nuSbpaUVXS+pKmSfiHp+eBveUhSK0mj\nJH0o6WVJ+ya9pR/wTPDersDfgWOD965JajeVIB26p/IpJGTzXElLgF7Ao5IeC17/vIhKMKv7Hm7m\nNwe4x8zmFi7bE0EEIKkDrh7yjKRz/YGjgG6SegO/Bi4A9gb+i1vgR1Ir4D7gWmBP4G0guWhdJhdg\nHbALLlKsNfAnM9uIM37vmVlzM9vNzN5P8d6XgFskDZSUqbzL6KB9S+A6YFgKbccDnYFTgJ9L6hK8\nvgW4PPj7jg3OX5ZhvGQGBuO1Aw4AXgT+HWiZC4wACCrV7UdwoQ1+d98GXgw+h5ZJfc4DfOHQasHM\n/MM/CnoA7wLrgbXB878COwfntgE1SW3/DdyQdLwrsAnYFxgOvFCv7yXAxcHz63BumsS5jkH/jXAX\nkK3A7in01QBLMvwNLYDfAG/gDPMM4MgU4+wDbAZ2SXpvXUJXUtu2SeenAQPTjPs/wISk423A/mna\nPg1ck3T8e+DRpOMzgRnB83ZBXzslnb8IeC5Fv32At8P+HvlHeR6h78iNyuatfJDUQdLTwSa1NyT9\nIGxN+SCpsaQZkh7OswsD+pvZHmbW0cy+Z2afJZ1PjuBKzO7dG80+BlbjjNTebL/ms4TMjANeCHTk\ntQ/EzNaZ2TVmdjDQBpgJPJCiaVtgjZl9mkFj8t3ERtzFDUmdJT0iabmkD4HfAl+TNFtSNuVbViQ9\n/xRYWe+4WfB8XfBv8yz6bJ7UPi2Sbpe0QtLspNdaBi6uBZImSYpsjtA0+n8naa6kWYE7cPcwNTZE\nKv1J534YuBVbpnpvMqEafUVk81YBbAauMLPuODfXd2OmP8HlOPdbqSKokvt9DzcbBj53Q+yJM/bL\nSVr4lyS+HAiwAWiadLwXzq30GHBc8DxVVH1Of5eZrQb+gFsH2KPe6eVAS0lNkl7Lpdrv33Gf9YE4\nl8pHuNn5IUCuqQDT/l3BxfRtoEvyy2mad8Vd5DJxB+63mszVwGQz6wxMCY6jSir9k4DuZtYDWABc\ns927okMq/QmXah+SJlMNEfZMPxKbt/LFzN43s5nB8w04n2qsKu9Kag+cDvyL9AvyxWQM8A1JPSTt\njPPvv2Rmi4GJQPdgvWgH4Ad8OWR4JvDV4A5rd+Bnwet3mNlynPG/QVILSTtK+mpwfgWwp6S09bok\n3Sipu6QdJDUHvgO8ZWZrk9uZ2X9xAQrXBWMci3OrZHthaYZzhW3E3VHsBjQO/t6mDb0xITXN81RM\nBE5KOn4faJ9i4fgk3GfXIGb2HM6Fl8zZwF3B87uAczL1Exap9JvZZDPbFhxOA9qXXViWpPn8Af4I\n/DjbfsI2+qk2b7ULSUtBSOoI9MR9ceLEn4Af4fy/peBLxtDMpuCM9X24Wf9+wKDg3Ae4Bd4bgA9w\ns+H/JL33SeAe4HXgFZzxBfi3pNdwbqJtuIXJFbiLBmY2D3exeSeI6kkVvdMEuB/3o3obd4dxdpq/\nYyhuEXY18ItA06Z0f3M9rgSG4Gb4v8MFORwVfBbrMry3ft+Won3y8T8DrQmeAt4E3pe0EkAucqor\nqV1Z2dDGzBIupxW4C1lcuRh3oYwNkvrjwnKzr/VW6KIAcDvuP3t2A23+ArwFzAJ6Jr1+PnBb0vEw\n4OawFzry+Aya4QzQOWFryVH3mcDfguc1wMNha8pR/5E4F9tRwfFNwPUh6LgHGJHH+w7AuXr2xO2Z\nuR8YWmRto3DrLenO/x74dg79dUz+rQNr651fE/b3Ihf9Sa//BLgvbH256MfdGU4DdguOFwF7Zuqj\nGDP9lH6mBJJOx2026QR8C+fTTJD15q2oEtwq3weMNLN8Z0thcRxwttzmqjFAb0l3h6wpF5biZjmv\nBMfjgbQZX4uFpCMlHSCpkaTTcHcE+fzfH4mLVlptLrx5Au7/pGiY2VAzS1OxGMzsSjP7RwFDrEjc\nOQV3DSsztI8ccpvWTufLd0Vx4ADcRWBW8BtuD7wqqXVDbyrY6Ft6P1OCz31+ZjYNaCEpcQsY681b\nwULjv4E5ZnZT2HpyxcyuNbMOZpZwsTxlZrEp2Gcu3n6JpM7BS6fi3BelZi9c+OR6nHvs22Y2K49+\n5gG9JDUJvkun4mb+ceIh4OvB86+Tv5soFCT1w7k3+9uXI7Iij5nNNrM2ZrZf8BteChxuZg1eeMvh\n00/lt28PFbF563icS+rkIORxRvAliitxzH/0fWCUpFm41AklStv3BWb2iJntY2a7mtlBZnZX5nel\n7GcWcDdu8pPwyf6zWDqLjaQxuNDYLpKWSPoGbv2lj6QFQO/gOJKk0H8xcDPOPTs5+P3eEqrIBkjS\n3znp808mq99vgwnXchDTEecP3q4uVRD7fYOZPR8cPwn82OolaJNPuObxeDx5YTnkLivHTL++3749\nqWOpQ18kyefxi18Y3/mOMWLEiNC15Pvo2nUE//xn+DpyfWzbZhx8sHHRRfH97D/80NhppxGsWhW+\nlnwfcf3ujx1rNG9uHHhgPPUnHrlSDqP/EG57PZJ6AevsixCvWGMVUlD50EPLWwS8WMyaBevXwz65\nbI2KGLvt5io43XNP2Eqqj7o6+N3vYMkSWFERFik7Cjb6qfxkki6VdCmAmU3ExUcvBG4lt+RSkeaV\nV2DbNujVK2wlhdGpE8ydC4sWha0kN+JWbD0dPXrE86IbZ1auhP/8x1Us69IFxowJW1H5KLhylpll\nrDxrZt8rdJwokmx0ampqwpaTN6ecUsPatTByJPzsZ5nbR4EtW2D0aHjmGXjvvZqw5RTExRfXMHQo\nLFgAnTtnbB454vjdHzMGzjoLmjWD4cNruPtu+J//CVtVeSjKQm4xkGRR0ZINmzZBu3YwbRoUqbJd\nqEyb5i5g8+fHY+b8+OMwYoTTXQlccYUzQL/4RdhKqoMjj4Tf/Ab69IGtW2HffeGJJ1xd57ghCYvY\nQm5F8vjj7rawEgw+wNFHu39ffjlcHdlSCWspydTWujutbaVKhuH5nLlzYfly6N3bHTdu7Nw81eJi\n80Y/T+rqXNHvSkFyf08cvvjr18Ojj8KgQWErKR49e8Kuu8Lzz4etpPKpq4MhQ5yxT1BbC6NGuVl/\npeONfh6sXQuTJsEFF4StpLgMG+aiSDZtytw2TO67D046CVq1CltJ8ZCc4YnDRTfObNvm7qjq3yUe\nfLD7Pk2dGoqssuKNfh7ce6/zBe5RP9N6zOnYEbp2hccyJtkNl0pz7SQYOhTGj4dPY5UMIF488wy0\nbOnClOsTlzvdQvFGPw8q1ehA9GebS5fCzJlw5plhKyk+7ds7N8/D+dYv82Skod/u4MHw4IOwcWN5\nNZUbb/RzZNEimDcPTjstbCWl4YIL4MknnQsriowaBQMGwC67hK2kNFTLbDMMNm6E++93/vxU7LWX\n23PzQKxSxuVOMTZnNVjjVlKNpA+TEpL9tNAxw2TkSBg4EHbaKWwlpaFFC+jbF8aNC1vJ9pjB3XdX\n7l0WwHnnwbPPwqpVYSupPB580EWp7b13+ja1te47VskUZPRzqHH7jJn1DB6/LGTMMKkGowPRdfHM\nmAGffALHHx+2ktLRvDmccQaMHRu2ksojm4i7c85xez+WLy+PpjAodKafbY3bGGz3ycy0aS7KIhHT\nXqn06+d2h77zTthKvkxdnYswisPmsUKI6kU3zqxYAS++6Ix6QzRt6tpUclqGQo1+NjVuDThO0ixJ\nEyV1K3DM0EjMFCrd6Oy4o4uBHzkybCVfkEi7UOl3WQCnnuqSgM2fH7aSymHMGDj7bLcXIhOVftEt\n1OhnkzfhNaCDmfXAFSyI5TLJpk3Ozz1sWNhKykPCtxmVzBiTJrndz506ha2k9Oywg1tsrGTDU25y\nccvW1MAHH8Ds2SWVFBqFJlzLWOPWzNYnPX9M0i2SWprZmvqdXXfddZ8/r6mpiVQip4kTXQx7x45h\nKykPRx7pjM9LL8Gxx4atprLDZFNRWwv9+8P110MjH2NXEG++6bJqnnxydu0bNXKTu7o6+O1vS6st\nH6ZOncrUAnaRFZRwTdIOwHzgFOA94GVgsCWVPAzq4a40M5N0NDDOzDqm6CvSCdfOP9/5ui+5JGwl\n5eNXv4Jly+CWkAvIffSRy5n/9tuw557haikXZm4D0V//6nYfe/Ln6qvd53njjdm/Z84ctwFz8eIv\np2uIImVNuGZpatwm59MHBgCzJc0EbsIV4I4Va9e62PVKS7uQiWHDnEvrs8/C1TF+vJulVYvBh3jl\nQooyW7e6vR253iV26+bi9p9+ujS6wsSnVs6CW2+FKVOiGbteampq4PLL4dxzw9Nw8snw/e+7GPZq\nYtkyOOQQ92+TJmGriSdTpsCVV7pw31y56SZ47bXox+371MoloBpi89MRdiTD4sVuQe2MM8LTEBbt\n2sERR8BDD4WtJL4Ukg138GD32X/8cXE1hY03+hl4+2146y3nz69GBgyAp56CNdstu5eHRNqFnXcO\nZ/ywCfuiG2c2bnS7cAdnrO2XmjZt3EbA++8vrq6w8UY/AyNHupj1HXcMW0k47L67u+CF4dpK7ICu\npLoFuXLeea6W68qVYSuJHw884HLp7LVX/n1U4kXXG/0GMKu+UMFUhJWP5NVXYfPmaISMhkWzZq6W\nq0/LkDvFcMv27++qyb33XnE0RQFv9BvgxRddrPqRR4atJFz69nVuroULyztutaRdyEQ1JAErNsuX\nu7QpmdIuZKJJE3e3NXp0cXRFAW/0GyAxy692oxNGWobNm93W+WrZAd0Qp5ziZppz52Zu63GMGeMM\nftOmhfdVaS4eb/TT8NlnrkKWNzqORMx4uaJqn3jCpVw48MDyjBdlqq1wdzEoZsTdV78K69bBrFnF\n6S9svNFPw8SJrm7mvvuGrSQaHH64i6B54YXyjOfXUr5Mba2709q2LWwl0Wf2bBdtVqwsLo0aVdZF\nt+RFVII2fwnOz5LUs9Axy0E1x+anopyFu9etg8cfhwsvLP1YceHQQ11N5meeCVtJ9Kmrc0a6mDmL\namudX3/r1uL1GRYlL6Ii6XTgQDPrBHwL+HshY5aD1atdbPqAAWEriRZDhzqXV6nTMowf7/zYLVuW\ndpy4UWm+5VKQb9qFTHTt6jbLTZlS3H7DoBxFVM4G7gIws2lAiyAJW2QZN87VwN1997CVRIt99oEe\nPeDRR0s7TiG7KCuZIUPcRqFKL9xdCE895eLyu5WgakelXHTLUUQlVZv2BY5bUrw/OT2lDh98912X\nCvf000s3Rlxp29ZVbfNpGdJTygnDoEHw8MOwYUNp+i8XhebTzzaWo37QY8r3RSGf/ltvuZj0vn3L\nPnQsOP98uOIK5wIrRdbLUaOcL79SC88XSuKiOyh2uWpLz8cfuwvi739fmv5bt4YTT4QJE8K9Ew07\nn34v4Doz6xccXwNsM7Mbk9r8A5hqZmOD43nASWa2ol5fkciyOWKEW0j885/DVhJdBg92X/7LLitu\nv2Zw0EFw553VvQu3IT7+2PmW5893uWE8XzBypIvPL6X7cdw4uO02mDy5dGPkSrmzbE4HOknqKGkn\nYCBQ/+bzIWB4IK4XsK6+wY8KZu6L4/3JDVOqPO+vvOJCEnv1Kn7flcKuu7rUAJVcuDtfyhFxd9ZZ\nLj3I0qWZ20aVkhdRMbOJwDuSFgK3AkWeHxaPF15wseiHHx62kmjTpw8sWgQLFhS3X78DOjsqZUGx\nmLz3Hkyf7i6IpaQS0jL4IipJXHqpq4F7zTWhyogFV1wBzZu7Gq7FYNMm57aYNs0VQPekZ+tWt2nw\niSege/ew1USD3//epan4979LP9azz8J3vwuvvx6NCYovopInn37q4sOHDg1bSTxI7BAt1nX68ceh\nSxdv8LOhcWMXvuln+19Qzoi7E06A9evjm5bBG/2ARx91Mej77BO2knjQs6dLZvX888Xpz8fm58bw\n4S7SyadlcMZ33TqXI6ccNGrkcnLFNfOpN/oBPjY/NxJpGYrxxV+7FiZNqr7C84Vw8MHQqhUUELlX\nMSRScBcz7UImamvdYvqWLeUbs1h4ow988IGren/++WEriRdDh8J99znXWCHce69bHN5jj+LoqhZ8\nnn23vjF6dPknbF26OK/Ak0+Wd9xi4I0+cM89bgfobruFrSRetG8Phx0GjzxSWD/+Lis/Bg92NWCr\nOS3DlCkuAOCgg8o/dlyjqLzRx/uTC6HQmP1Fi2DePJfryJMbe+/t9jQ88EDYSsIjzGy4gwa5Cc/6\n9eGMny9Vb/QXLHD5Xvr0CVtJPDnvPJfud9Wq/N4/ciQMHOjTLuRLXGebxWDDBmd0w0pJ0aoVnHSS\nc3HGibyNvqSWkiZLWiBpkqQWadq9K+l1STMkvZy/1NJQV+duk3coNAtRldK8OZxxhnOR5YqZr1tQ\nKOecAy+95GrCVhsTJrh0IK1bh6ehVLvTS0khM/2rgclm1hmYEhynwoAaM+tpZkcXMF7R2bbNzTS9\n0SmMfGeb06a5KKCjI/WtiBdNm1ZvWoYorAWdeSbMnAlLlmRuGxUKMfqf58kP/m2o7nwE9q1tz/PP\nu1wmPWNRyyu6nHoqLF7skoDlQmItJQq7GuNMHGebhbJ0qcuBc9ZZ4erYZRcX9TdqVLg6cqEQo98m\nKXHaCiBdzj8DnpQ0XdIlBYxXdHyul+Kwww657xDdtMllLPSF5wunpsaFHc+eHbaS8jF6tDO2TZqE\nreSLO92IZLTJSIOebEmTgb1SnPpJ8oGZmaR0f/LxZrZc0leAyZLmmdlzqRqWM59+Iu3C66+XbIiq\norbW+Zevvz67TTITJ7oSdB07llxaxZNcuPu3vw1bTelJrAXdckvYShzHHw+ffAIzZpQnWWNo+fSD\nvPg1Zva+pL2Bp82swWhZSSOADWb2hxTnyppw7d574R//qIyal1HAzBXv/tvfstsOf/750K8fXBKp\ne7/48uabrvDP4sUuN08lM2MGnHsuvPNOeXfhNsTPf+5CN//0p/KPXc6Eaw8BXw+efx3YLlpYUlNJ\nzYPnuwJ9gUjchPrY/OIiZe9bXrPG7WT0aReKR/furjbs00+HraT0hJF2IRO1tc7lFIe0DIV8bDcA\nfSQtAHoHx0hqKylRu2Yv4DlJM4FpwCNmNqkQwcVg1SqXHvW888JWUlkMGeJilj/5pOF248bB174G\nLVIG+XrypRpi9rdscZFKYUft1KdTJ9hvP5dDKurkbfTNbI2ZnWpmnc2sr5mtC15/z8zOCJ6/Y2aH\nBY+Dzew3xRJeCGPHutjy5s3DVlJZtGsHRxzhikc3RBRC7SqRRFqGjz8OW0npePJJl/OmS5ewlWxP\nXKKoInSDVD680SkdmWabb7/tis/361c+TdVCmzZw3HFw//1hKykdUd7MN3AgPPYYfPRR2EoapuqM\n/vz5biPFqaeGraQyOe88eO45WLky9fmRI922+R13LK+uaiEus818WL/e1b0IK+1CJvbc04XPjh8f\ntpKGqTqjX1fnfM8+7UJpaNbMbZgZO3b7c2b+LqvU9O8PL79cmWkZ7rvPGdVWrcJWkp44rKtUldH3\naRfKQ7ov/osvuovtkUeWX1O10KSJC2eMc+HudMRhwnDmmW7vz+LFYStJT1UZ/eeec4u3PXqEraSy\nOeUUWLbMFapOxu+ALg+VWFxlyRKX4+bMM8NW0jA77+xCkaOclqGqjL7P9VIeGjf+Yodogs8+cxvi\nfNqF0nPSSa4EZSXtNh81CgYMcLluok7iohvVtAxVY/Q/+cSlYh0yJGwl1UFt7ZcLdz/6qKvruu++\n4eqqBhKFu6PuW86WuK0FHXecyy316qthK0lNIfn0L5D0pqStktJmnJDUT9I8SW9Juirf8Qrl4Ydd\nDHm7dmEpqC4OPdRtvnr2WXccpx9tJZC46G7dGraSwpkxw03ajj8+bCXZIUV7QbeQmf5s4Fzg2XQN\n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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f5c71d2a690>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f5c71d2aad0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import ones,sin,arange,hstack,nditer,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,subplot,xlabel,ylabel,title,show\n", + "\n", + "\n", + "#Figure 9.4:Generation of waveforms in DS/BPSK spread spectrum transmitter\n", + "t = range(0,13+1)\n", + "N = 7#\n", + "wt = arange(0,0.01+1,0.01)\n", + "bt = hstack([[1*xx for xx in ones(N)],[-1*yy for yy in ones(N)]])\n", + "ct = [0,0,1,1,1,0,1,0,0,1,1,1,0,1]\n", + "ct_polar = [-1,-1,1,1,1,-1,1,-1,-1,1,1,1,-1,1]\n", + "mt = [a*b for a,b in nditer([bt,ct_polar])]\n", + "Carrier = [2*sin(wtt*2*pi) for wtt in wt]\n", + "\n", + "st = []#\n", + "for i in range(0,len(mt)):\n", + " st = st+[mt[i]*Cr for Cr in Carrier]\n", + "\n", + "subplot(3,1,1)\n", + "plot(t,bt)\n", + "xlabel(' t')\n", + "title('Data b(t)')\n", + "subplot(3,1,2)\n", + "plot(t,ct_polar)\n", + "xlabel(' t')\n", + "title('Spreading code c(t)')\n", + "subplot(3,1,3)\n", + "plot(t,mt)\n", + "xlabel(' t')\n", + "title('Product Signal m(t)')\n", + "show()\n", + "subplot(3,1,1)\n", + "plot(t,mt)\n", + "xlabel(' t')\n", + "title('Product Signal m(t)')\n", + "subplot(3,1,2)\n", + "plot(Carrier)\n", + "xlabel(' t')\n", + "title('Carrier Signal')\n", + "subplot(3,1,3)\n", + "plot(st)\n", + "xlabel(' t')\n", + "title('DS/BPSK signal s(t)')\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 +} |