diff options
Diffstat (limited to 'Wireless_Communications_and_Networking_by_V._Garg/ch2.ipynb')
-rwxr-xr-x | Wireless_Communications_and_Networking_by_V._Garg/ch2.ipynb | 533 |
1 files changed, 533 insertions, 0 deletions
diff --git a/Wireless_Communications_and_Networking_by_V._Garg/ch2.ipynb b/Wireless_Communications_and_Networking_by_V._Garg/ch2.ipynb new file mode 100755 index 00000000..b82f7950 --- /dev/null +++ b/Wireless_Communications_and_Networking_by_V._Garg/ch2.ipynb @@ -0,0 +1,533 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:dd4432cc2f7e790571ec64d7a8254cb368aab6a22204c8b382ba85e3c1b5a734" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 2: Teletraffic Engineering" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.1, Page 25" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "LC=10.; #Lost calls\n", + "CC=380; #Carried calls\n", + "\n", + "#Calculations\n", + "OC=LC+CC; #Total offered calls\n", + "#Gos=Blocking probability=(number of Lost calls/Total number of offered calls)\n", + "Gos=LC/OC;\n", + "\n", + "#Result\n", + "print 'The Gos during busy hour is %f \\n '%Gos" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Gos during busy hour is 0.025641 \n", + " \n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.2, Page 26" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "Ht=5; #Average holding time in seconds\n", + "PC=450; # Peg count for one hour period\n", + "OC=0; # Overflow count\n", + "\n", + "#Calculations&Results\n", + "# usage(Erlangs)=(peg count- overflow count)*Average holding time(in hrs)\n", + "U=(PC-OC)*(5./3600); \n", + "print 'Usage = %.3f Erlangs'%U\n", + "\n", + "# IN CCS\n", + "Uccs=U*36; # usage in CCS\n", + "print '%.1f CCS'%Uccs\n", + "\n", + "Ucs=Uccs *100; #usage in call-seconds\n", + "print '%d call-seconds'%Ucs" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Usage = 0.625 Erlangs\n", + "22.5 CCS\n", + "2250 call-seconds\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.3, Page 27" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "B=0.05; #Blocking(5%)\n", + "CL=3000.; #Carried Load in CCS\n", + "\n", + "#Calculations\n", + "#Offered Load=Carried Load/(1-Blocking);\n", + "OL=CL/(1-B); #Offered Load in CCS\n", + "\n", + "#Result\n", + "print 'Offered load is %d CCS'%OL\n", + "print 'Overflow is %d CCS'%((OL-CL))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Offered load is 3157 CCS\n", + "Overflow is 157 CCS\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.4, Page 27" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "Ht=120; #Holding time in seconds\n", + "CR=2.; #call rate per hour\n", + "\n", + "#Calculations\n", + "#Traffic Intensity(Erlangs) = call rate * Holding time(in hrs));\n", + "I=CR*Ht/3600; #Traffic Intensity\n", + "\n", + "#Result\n", + "print 'Traffic Intensity is %.4f Erlangs = %.1f CCS \\n'%(I,I*36);\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Traffic Intensity is 0.0667 Erlangs = 2.4 CCS \n", + "\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.5, Page 27" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "time=90.; #in minutes\n", + "calls=10.; #no of calls in 90mins\n", + "\n", + "#Calculations\n", + "CR=calls/(time/60); #call arrival rate in calls/hour\n", + "tavg=(60.+74+80+90+92+70+96+48+64+126)/10; #average call holding time in sec per call\n", + "I= CR*(tavg/3600); #traffic intensity in Erlangs\n", + "\n", + "#Result\n", + "print 'Traffic Intensity is %.3f Erlangs = %.2f CCS \\n '%(I,I*36)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Traffic Intensity is 0.148 Erlangs = 5.33 CCS \n", + " \n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.6, Page 28" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "time=8.; #in hours\n", + "calls=11.; #no of calls in 90mins period\n", + "\n", + "#Calculations&Results\n", + "CR=calls/time; #call arrival rate in calls/hour\n", + "tavg=(3+10.+7+10+5+5+1+5+15+34+5)/11; #average call holding time in mins per call\n", + "I= CR*(tavg/60); #traffic intensity in Erlangs\n", + "print 'Traffic Intensity during eight hour period is %.3f Erlangs = %.1f CCS \\n'%(I,I*36);\n", + "\n", + "#For Busy Hour i.e between 4:00PM and 5:00PM\n", + "CRB=2; #call arrival rate during busy hour in calls/hour(from table 2.2)\n", + "tavgB=(34+5.)/2; #average holding time during Busy Hour in mins/call (from table 2.2)\n", + "IB=CRB*(tavgB/60); #Traffic Intensity during Busy Hour\n", + "print 'Traffic Intensity during busy hour is %.2f Erlangs = %.1f CCS'%(IB,IB*36);" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Traffic Intensity during eight hour period is 0.208 Erlangs = 7.5 CCS \n", + "\n", + "Traffic Intensity during busy hour is 0.65 Erlangs = 23.4 CCS\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.7, Page 29" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "minutes=500.; #No of minutes used per month per user\n", + "Twork=0.9; #Traffic During Work day\n", + "TBH=0.1; #Traffic during busy hour\n", + "Days=20; #No of workdays in a month\n", + "\n", + "#Calculations\n", + "#Avg BH usage per subscriber (in minutes) = minutes*Twork(TBH/Days);\n", + "Traffic=minutes*Twork*(TBH/Days);\n", + "\n", + "#Result\n", + "print 'Traffic per user per BH is %.4f Erlangs \\n'%(Traffic/60);" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Traffic per user per BH is 0.0375 Erlangs \n", + "\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.8, Page 29" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "minutes=500.; #No of minutes used per month per user\n", + "Twork=0.9; #Traffic During Work day\n", + "TBH=0.1; #Traffic during busy hour\n", + "Days=20; #No of workdays in a month\n", + "MeanHT=100; #Mean holding time(in secs)\n", + "\n", + "#Calculations\n", + "#Avg BH usage per subscriber (in minutes) = minutes*Twork(TBH/Days);\n", + "#BHCAs=traf\ufb01c (in Erlangs) *3600/(meanHT)\n", + "\n", + "Traffic=minutes*Twork*(TBH/Days);\n", + "BHCAs=(Traffic/60)*(3600/MeanHT);\n", + "\n", + "#Result\n", + "print 'Average Busy Hour call attempts are %.2f'%BHCAs" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Average Busy Hour call attempts are 1.35\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.9, Page 35" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "Tpopu=200000;#Total population\n", + "SP=0.25; #subscriber penetration\n", + "HT1=100.; #holding time for Mobile to Land line and vicecersa\n", + "c1=3; #Avg calls/hr for Mobile to Land line and vicecersa\n", + "HT2=80.; #For mobile to mobile\n", + "c2=4; #For mobile to mobile\n", + "TMSC=1800; #traffic one msc can hold\n", + "TrafDist=0.9 #Traffic distribution for Mobile to Land line and vicecersa\n", + "\n", + "#Calculations\n", + "aM_L=c1*HT1/3600; #Traffic Generated by Subscriber (M-L and L-M).\n", + "aM_M=c2*HT2/3600; #Traffic Generated by Subscriber (M-M).\n", + "WlessSub=SP*Tpopu; #total wireless subscribers\n", + "TotalTraffic=WlessSub*TrafDist*aM_L+WlessSub*(1-TrafDist)*aM_M;\n", + "MSCreqd=TotalTraffic/TMSC;\n", + "if(MSCreqd-int(MSCreqd)>0):#for rounding of to next integer ef 2.33 to 3\n", + " MSCreqd=MSCreqd+1;\n", + " \n", + "\n", + "#Result\n", + "print 'Total Traffic is %.1f Erlangs'%TotalTraffic;\n", + "print 'NO of MSCs Required are %d'%(int(MSCreqd))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total Traffic is 4194.4 Erlangs\n", + "NO of MSCs Required are 3\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.10, Page 37" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "Rlines=15000.;#Residential lines\n", + "Blines=80000.;#Business lines\n", + "PWElines=5000;#PBX, WATS, and Foreign Exchange (FX) lines\n", + "CR_R=2.;#Call rates for Rlines\n", + "CR_B=3.;# call rates for Blines\n", + "CR_PWE=10.;#call rates for PWElines\n", + "HT_R=140.;#average holding time for Rlines(sec)\n", + "HT_B=160.;#average holding time for Blines(sec)\n", + "HT_PWE=200.;#average holding time for PWE lines(sec)\n", + "Slines=100000.;# no of lines carried by switch\n", + "HD_ABS=1.5;# HD/ABS for the switch\n", + "\n", + "#Calculations\n", + "percentR_lines=Rlines/Slines;\n", + "percentB_lines=Blines/Slines;\n", + "percentPWE_lines=PWElines/Slines;\n", + "CCSR=CR_R*HT_R/100;\n", + "CCSB=CR_B*HT_B/100;\n", + "CCSPWE=CR_PWE*HT_PWE/100;\n", + "\n", + "CR=CR_R*percentR_lines+CR_B*percentB_lines+CR_PWE*percentPWE_lines;\n", + "print 'The call rate is %.1f calls per line \\n '%CR\n", + "CCS=CCSR*percentR_lines+CCSB*percentB_lines+CCSPWE*percentPWE_lines;\n", + "AvgHTperline=CCS*100/CR;\n", + "ABS_BH_calls=CR*Slines;\n", + "ABS_BH_usage=CCS/36*Slines;\n", + "print 'Design cell capacity based on HD is %d calls \\n'%(HD_ABS*ABS_BH_calls);\n", + "print 'DESIGN Erlangs based on HD is %d \\n'%(round(HD_ABS*ABS_BH_usage)); " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The call rate is 3.2 calls per line \n", + " \n", + "Design cell capacity based on HD is 480000 calls \n", + "\n", + "DESIGN Erlangs based on HD is 21917 \n", + "\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.11, Page 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "maxcalls_hour=4000.;#maximum call per hour\n", + "avgHT=160.;#average holding time in sec\n", + "Gos=0.02;\n", + "\n", + "#Calculations&Results\n", + "A=maxcalls_hour*avgHT/3600; #offered load\n", + "print 'Offered load A = %.2f Erlangs \\n'%A\n", + "#Refering Appendix A i.e Erlang B table \n", + "print \"For calculated Offered load and referring Erlang B table we get Service channels as 182 giving 168.3 Erlangs at 2% blocking\"\n", + "#Incorrect answer in textbook" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Offered load A = 177.78 Erlangs \n", + "\n", + "For calculated Offered load and referring Erlang B table we get Service channels as 182 giving 168.3 Erlangs at 2% blocking\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.12, Page 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Variable declaration\n", + "channels=50;\n", + "blocking=0.02;\n", + "HT=120;#average holding time inm sec\n", + "BHcall=1.2;# in calls per hour\n", + "\n", + "#Calculations\n", + "#Refering Erlang B table in appendix A, For 50 channels at 2% blocking, the offered load=40.26 Erlangs.\n", + "A=40.26;\n", + "B=A*(1-0.02); #carried load\n", + "Avgtraffic_user=BHcall*HT/3600;\n", + "No_users=B/Avgtraffic_user;\n", + "\n", + "#Result\n", + "print 'NO of mobile subscribers supported are %d \\n'%(round(No_users))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "NO of mobile subscribers supported are 986 \n", + "\n" + ] + } + ], + "prompt_number": 29 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |