{ "metadata": { "name": "", "signature": "sha256:ce96f8701ecaf4ed42d515c71cac788be5a425c179144878630c026f78598485" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "CHAPTER 12 - CDMA Digital Cellular Standards IS 95" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.1 - PG NO. 454" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no. 454\n", "import math\n", "Bt=400.*10.**6.\n", "Bc=100.\n", "Gp=Bt/Bc#processing gain\n", "k=math.log10(Gp)/math.log10(2)\n", "print'%s %d %s %s %d %s' %('At 19.2 kbps the processing gain =',Gp/10000,'MHz/100Hz','=',Gp/1000000,'* 10**6')\n", "print'%s %d %s' %('minimum no. of PN bits k =',round(k),'bits')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "At 19.2 kbps the processing gain = 400 MHz/100Hz = 4 * 10**6\n", "minimum no. of PN bits k = 22 bits\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.3 - PG NO. 460" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.460\n", "import math\n", "Rc=10.*10.**6.#code rate \n", "Bc=Rc#RF bandwidth=code rate\n", "Rb=4.8*10.**3.#info. data rate\n", "Gp=Bc/Rb#processing gain\n", "GpdB=10.*math.log10(Gp)#processing gain in dB \n", "\n", "Rc1=50.*10.**6.\n", "Bc1=Rc1\n", "Gp1=Bc1/Rb\n", "Gp1dB=10.*math.log10(Gp1);\n", "Inc=Gp1dB-GpdB\n", "print'%s %.1f %s' %('increase in processing gain =',Inc+0.1,'dB')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "increase in processing gain = 7.1 dB\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.4 - PG NO. 461" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.461\n", "Bc=1.25*10.**6.\n", "Rb=9600.\n", "SrmindB=3.\n", "Srmin=10.**(SrmindB/10.)\n", "Mmax=(Bc/Rb)*(1./Srmin)#maximum no. of simultaneous users\n", "\n", "SrmaxdB=9.\n", "Srmax=10.**(SrmaxdB/10.)\n", "Mmin=(Bc/Rb)*(1./Srmax)#minimum no. of simultaneous users\n", "\n", "print'%s %d %s %d %s' %('A single cell IS-95 CDMA digital cellular system can support from = ',Mmin,'to',Mmax,'users')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "A single cell IS-95 CDMA digital cellular system can support from = 16 to 65 users\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.5 - PG NO. 463" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no. 463\n", "ImaipNodB=6.\n", "ImaipNo=10.**(ImaipNodB/10.)\n", "NopImai=1./ImaipNo\n", "SINRdB=8.\n", "SINR=10.**(SINRdB/10.)#signal to noise ratio \n", "Q=128.#total spreading factor\n", "a=.55#relative intercellular interfernce factor\n", "M=Q/((1.+a)*(1.+NopImai)*SINR)\n", "print'%s %.1f %s' %('M =',M,'users per cell')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "M = 10.5 users per cell\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.6 - PG NO. 465" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.465\n", "import math\n", "Gv=2.5#interfernce reduction factor\n", "Ga=2.5#antenna sectorisation gain factor\n", "a=1.6#interfence increase factor\n", "Pf=(Gv*Ga)/a\n", "PfdB=10.*math.log10(Pf)\n", "print'%s %.1f %s' %('perfomance improvement factor Pf(dB) is =',PfdB,'dB')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "perfomance improvement factor Pf(dB) is = 5.9 dB\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.7 - PG NO. 465" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.465\n", "Bc=1.25*10.**6.\n", "Rb=9600.\n", "PfdB=6.\n", "Pf=10.**(PfdB/10.)\n", "SrmindB=3.\n", "Srmin=10.**(SrmindB/10.)\n", "Mmax=((Bc/Rb)*(1./Srmin))*(Pf)#maximum users\n", "\n", "SrmaxdB=9.\n", "Srmax=10.**(SrmaxdB/10.)\n", "Mmin=((Bc/Rb)*(1./Srmax))*(Pf)#minimum users\n", "\n", "\n", "print'%s %d %s %s %d %s %s %d %s %d' %('A single cell IS-95 CDMA system can support from =',Mmin -1,'users','to',Mmax +1,'users','or',Mmin -1,'< M <',Mmax +1)\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "A single cell IS-95 CDMA system can support from = 64 users to 260 users or 64 < M < 260\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.8 - PG NO. 467" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.467\n", "BW=1.25*10.**6.\n", "CR=1.2288*10.**6.#chip rate\n", "BWef=CR/BW\n", "print'%s %.2f %s' %('bandwidth efficiency is =',BWef,'chips/s/Hz')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "bandwidth efficiency is = 0.98 chips/s/Hz\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.10 - PG NO. 477" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.477\n", "import math\n", "Bc=1.2288*10**6\n", "Rb=9.6*10**3#baseband data rate\n", "Gp=Bc/Rb#processing gain\n", "GpdB=10*math.log10(Gp)#processing gain in dB\n", "\n", "Rb1=4.8*10**3\n", "Gp1=Bc/Rb1\n", "Gp1dB=10*math.log10(Gp1)\n", "\n", "Rb2=2.4*10**3\n", "Gp2=Bc/Rb2\n", "Gp2dB=10*math.log10(Gp2)\n", "\n", "Rb3=1.2*10**3\n", "Gp3=Bc/Rb3\n", "Gp3dB=10*math.log10(Gp3)\n", "\n", "Rb4=19.2*10**3\n", "Gp4=Bc/Rb4\n", "Gp4dB=10*math.log10(Gp4)\n", "print'%s %d %s' %('processing gain Gp(dB) at the baseband data rate of 9.6kbps is =',GpdB,'dB')\n", "print'%s %d %s' %('processing gain Gp(dB) at the baseband data rate of 4.8kbps is =',Gp1dB,'dB')\n", "print'%s %d %s' %('processing gain Gp(dB) at the baseband data rate of 2.4kbps is =',Gp2dB,'dB')\n", "print'%s %d %s' %('processing gain Gp(dB) at the baseband data rate of 1.2kbps is =',Gp3dB,'dB')\n", "print'%s %d %s' %('processing gain Gp(dB) at the baseband data rate of 19.2kbps is =',Gp4dB,'dB')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "processing gain Gp(dB) at the baseband data rate of 9.6kbps is = 21 dB\n", "processing gain Gp(dB) at the baseband data rate of 4.8kbps is = 24 dB\n", "processing gain Gp(dB) at the baseband data rate of 2.4kbps is = 27 dB\n", "processing gain Gp(dB) at the baseband data rate of 1.2kbps is = 30 dB\n", "processing gain Gp(dB) at the baseband data rate of 19.2kbps is = 18 dB\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.12 - PG NO. 486" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.486\n", "N=(2.**42.-1.)\n", "TDR=19200.#transmission data rate\n", "t=N/TDR\n", "print'%s %.2f %s' %('time taken to transit the complete long code =',(t/(60.*60.*24.*365.)),'years')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "time taken to transit the complete long code = 7.26 years\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.13 - PG NO. 491" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.491\n", "Prm=-85.\n", "Ptm=-76.-Prm\n", "Ptrm=5.\n", "Diff=Ptm-Ptrm\n", "t1dB=1.25\n", "t=Diff*t1dB#time for adjusting\n", "print'%s %d %s' %('time needed to adjust mobile transmitter level is =',t,'msecs')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "time needed to adjust mobile transmitter level is = 5 msecs\n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.15 - PG NO. 497" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.497\n", "d1=1.*10.**3.#dist.direct sig. from A\n", "d11=1.5*10.**3.#dist.A and building\n", "d12=0.5*10.**3.#dist.mobile and building\n", "d2=d11+d12#dist.reflected sig.\n", "d3=3.*10.**3.#dist.direct sig. from B\n", "c=3.*10.**8.\n", "D1=(d3-d1)\n", "t1=D1/c#delay direct signal from A\n", "D2=(d3-d2)\n", "t2=D2/c#delay reflected signal from A\n", "print'%s %.2f %s' %('time delay for direct signal from A =',t1*10**6,'microsecs')\n", "print'%s %.2f %s' %('\\ntime delay for reflected signal from A =',t2*10**6,'microsecs')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "time delay for direct signal from A = 6.67 microsecs\n", "\n", "time delay for reflected signal from A = 3.33 microsecs\n" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.17 - PG NO. 502" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.502\n", "import math\n", "Y=4.\n", "d1=100.\n", "B=1.#(say)\n", "Ptm=1#(say)\n", "Prm1=B*Ptm/(d1)**Y\n", "d2=10000.\n", "Prm2=B*Ptm/(d2)**Y\n", "Prm1IPrm2=Prm1/Prm2#expected differnce in recieved power level\n", "Prm1IPrm2dB=10.*math.log10(Prm1IPrm2)\n", "print'%s %d %s' %('expected differnce in recieved power level =',-Prm1IPrm2dB,'dB')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "expected differnce in recieved power level = -80 dB\n" ] } ], "prompt_number": 12 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.18 - PG NO. 505" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.505\n", "EbINodB=-1.59#shannon limit in (AWGN)\n", "EbINo=10.**(EbINodB/10.)\n", "M=1./EbINo#theoretical mobile users\n", "\n", "EbINodB1=6.\n", "EbINo1=10.**(EbINodB1/10.)\n", "M1=1./EbINo1#practical mobile users\n", "print'%s %.2f %s' %('theoretical number of mobile users,M =',M,'Gp')\n", "print'%s %.2f %s' %('\\npractical number of mobile users,M =',M1,'Gp')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "theoretical number of mobile users,M = 1.44 Gp\n", "\n", "practical number of mobile users,M = 0.25 Gp\n" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "EXAMPLE 12.19 - PG NO. 506" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#page no.506\n", "import math\n", "Bc=1.25*10.**6.\n", "Rb=9.6*10.**3.\n", "Gp=Bc/Rb\n", "GpdB=10.*math.log10(Gp)\n", "\n", "EbINodB=6.\n", "EbINo=10.**(EbINodB/10.)\n", "\n", "p=0.5#interference factor \n", "a=.85#power control accuracy factor\n", "v=.6#voice activity factor\n", "Y=2.55#improvement from sectorisation\n", "M=(Gp/(EbINo))*(1./(1.+p))*a*(1./v)*Y#no. of mobile users per cell\n", "Ns=3.\n", "Nmps=M/Ns\n", "print'%s %d' %('no. of mobile users per sector =',Nmps)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "no. of mobile users per sector = 26\n" ] } ], "prompt_number": 14 } ], "metadata": {} } ] }