{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter12 Digital Communications" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 12.4.1,Pg.no.419" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a= 1.0\n", "b= 6.33 *10**-5\n", "The bit error probability 3.17 *10**-5\n" ] } ], "source": [ "import math\n", "from math import sqrt,erf,erfc\n", "Vs_Vn=4 #SNVR \n", "a=erf(4/sqrt(2))\n", "b=erfc(4/sqrt(2))*10**5\n", "Pbe=(0.5)*(b) #bit error probability\n", "a=round(a,2)\n", "b=round(b,2)\n", "print 'a=',a\n", "print 'b=',b,'*10**-5'\n", "Pbe=round(Pbe,2)\n", "print 'The bit error probability',Pbe,'*10**-5'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 12.4.2,Pg.no.420" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The bit error probability 0.309\n" ] } ], "source": [ "import math\n", "A=4 #max value of received signal voltage\n", "Vn=0.5 #rms noise voltage\n", "Vth=2 #Threshold voltage for the comparator\n", "b=erfc(Vn/sqrt(2))\n", "Pbe=(0.5) * b #bit error probability\n", "Pbe=round(Pbe,3)\n", "print 'The bit error probability',Pbe " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 12.4.3,Pg.no.421" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Bit Probabilty,Pbe1= 0.0024\n", "Bit Probability,Pbe2= 0.0232\n" ] } ], "source": [ "import math\n", "from math import erfc\n", "SNR=9.0 #SNR in dB\n", "#conversion of dB to power ratio\n", "p=10**(9/10) #for Polar\n", "Pbe1=0.5*erfc(sqrt(7.94/2))\n", "Pbe1=round(Pbe1,4)\n", "print 'Bit Probabilty,Pbe1=',Pbe1\n", "#for Unipolar\n", "Pbe2=0.5* erfc(sqrt(7.94)/2)\n", "Pbe2=round(Pbe2,4)\n", "print 'Bit Probability,Pbe2=',Pbe2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 12.5.1,Pg.no.423" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The bit error probability 3.5 *10**-5\n" ] } ], "source": [ "import math\n", "Pavg=6.0*10**-12 #in W\n", "d=0.02*10**-6 #pulse duration in sec\n", "T=550.0 #equivalent noise temp in K\n", "Eb=Pavg*d #avg energy per pulse\n", "No=1.38*10**-23*T\n", "r=Eb/No #Bit error probability is\n", "Pbe=0.5*erfc(sqrt(r/2))*10**5\n", "Pbe=round(Pbe,1)\n", "print 'The bit error probability',Pbe,'*10**-5' " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 12.9.1,Pg.no.435" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a)The bit error probability 0.00078\n", "b)The bit error probability 0.00337\n" ] } ], "source": [ "import math\n", "from math import exp\n", "ENR=10.0 #energy to noise density ratio\n", "Pbe1=0.5* erfc(sqrt(ENR/2))\n", "Pbe1=round(Pbe1,5)\n", "print 'a)The bit error probability',Pbe1\n", "Pbe2=(0.5)*exp(-(ENR/2))\n", "Pbe2=round(Pbe2,5)\n", "print 'b)The bit error probability',Pbe2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 12.13.1,Pg.no.451" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The probability of a received codeword 5.33 *10**5\n", "P_in= 5.6 *10**5\n" ] } ], "source": [ "import math\n", "Pbec=0.01\n", "n=8.0\n", "i=3.0\n", "Pi=(Pbec**i)*((1-(Pbec))**(n-i))\n", "Cin=(math.factorial(n))/(math.factorial(i)*math.factorial(n-i))\n", "Pin=Cin*Pi*10**5\n", "P_in=Cin*Pbec**i*10**5\n", "Pin=round(Pin,2)\n", "P_in=round(P_in,2)\n", "print 'The probability of a received codeword',Pin,'*10**5'\n", "print 'P_in=',P_in,'*10**5'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 12.13.3,Pg.no.454" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a)The bit error probability 0.079\n", "b)The bit error probability 2.25\n" ] } ], "source": [ "import math\n", "from math import sqrt,erf\n", "SN_dB=9\n", "SNR=10**(SN_dB/10)\n", "PbeU=0.5 * (1-erf(sqrt(SNR)))\n", "BERu=PbeU\n", "BERu=round(BERu,3)\n", "print 'a)The bit error probability',BERu\n", "n=10\n", "k=n-1\n", "r=k/n\n", "SNR1=r*SNR\n", "PbeC=0.5 *(1-erf(sqrt(SNR1)))\n", "BERc=(n-1)*PbeC**2\n", "print 'b)The bit error probability',BERc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 12.13.4,Pg.no.457" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a)The bit−error rate is 0.079\n", "b)The new bit error rate is 3.5\n" ] } ], "source": [ "import math\n", "from math import sqrt\n", "SN_dB=8\n", "SNR=10**(SN_dB/10) #a) Determination of bit error rate\n", "PbeU=0.5*(1-erf(sqrt(SNR)))\n", "BER_U=PbeU\n", "BER_U=round(BER_U,3)\n", "print 'a)The bit−error rate is',BER_U\n", "#b)new bit error rate\n", "n=15\n", "k=11\n", "t=1\n", "r=k/n\n", "SNR_n=r*SNR\n", "PbeC=0.5*(1-erf(sqrt(SNR_n)))\n", "BER_C=((math.factorial(n-1))*PbeC**(t+1))/((math.factorial(t)) *(math.factorial(n-t-1)))\n", "print 'b)The new bit error rate is',BER_C " ] } ], "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.10" } }, "nbformat": 4, "nbformat_minor": 0 }