summaryrefslogtreecommitdiff
path: root/Optical_Fiber_Communication/Chapter10.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Optical_Fiber_Communication/Chapter10.ipynb')
-rwxr-xr-xOptical_Fiber_Communication/Chapter10.ipynb487
1 files changed, 0 insertions, 487 deletions
diff --git a/Optical_Fiber_Communication/Chapter10.ipynb b/Optical_Fiber_Communication/Chapter10.ipynb
deleted file mode 100755
index 22b4a658..00000000
--- a/Optical_Fiber_Communication/Chapter10.ipynb
+++ /dev/null
@@ -1,487 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:cf07634df992def504a143e6666719b95350cb053657de1ded2573417a8b0796"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 10 : Optical Fiber System-II"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 1: PgNo-505"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "# Variable initialisation\n",
- "r=30.8*math.pow(10,-12) # electro optice coefficient in m/V\n",
- "L=3*math.pow(10,-2) # length in m\n",
- "y=1.3*math.pow(10,-6) # wavelength in m\n",
- "n=2.1\n",
- "d=30*math.pow(10,-6) # distance between the electrodes in m\n",
- "V=(y*d)/(math.pow(n,3)*r*L) # voltage required to have a pi radian phase change in volt\n",
- "\n",
- "# Results\n",
- "print ('%s %.3f %s' %(\" The voltage required to have a pi radian phase change = \",V,\"volt\"))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The voltage required to have a pi radian phase change = 4.558 volt\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 2: PgNo-511"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable initialisation\n",
- "a_fc=4 #fider cable loss in dB/km\n",
- "aj=0.7 #splice loss in db/km\n",
- "L=5 # length in km\n",
- "a_cr1=4 # connector losses\n",
- "a_cr2=3.5 # connector losses\n",
- "CL=(a_fc+aj)*L+(a_cr1+a_cr2) # total channel loss in dB\n",
- "\n",
- "# Results\n",
- "print ('%s %.f %s' %(\" The total channel loss = \",CL,\"dB\"))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The total channel loss = 31 dB\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 3: PgNo-517"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "# variable initialisation\n",
- "p=0.5*math.pow(10,-9) # pulse broadening in s/km\n",
- "L=12 # length in km\n",
- "\n",
- "# calculations\n",
- "Pt=p*math.sqrt(L) # with mode coupling, the total rms broadening in s\n",
- "BT=20*math.pow(10,6)\n",
- "DL=2*pow((2*Pt*BT*math.sqrt(2)),4) # dispersion equalization penalty in dB\n",
- "Pt1=p*L # without mode coupling, the total rms broadening in s\n",
- "DL1=2*math.pow((2*Pt1*BT*math.sqrt(2)),4) # without mode coupling, equalization penalty in dB\n",
- "DL2=2*math.pow((2*Pt1*150*math.pow(10,6)*math.sqrt(2)),4) # without mode coupling,dispersion equalization penalty with 125 Mb/s\n",
- "DL3=2*math.pow((2*Pt*125*math.pow(10,6)*math.sqrt(2)),4) # with mode coupling,dispersion equalization penalty with 125 Mb/s\n",
- "\n",
- "# Results\n",
- "print ('%s %.2f %s' %(\" With mode coupling, the total rms broadening = \",Pt*pow(10,9),\"ns\"))\n",
- "print ('%s %.2f %s' %(\"\\n The dispersion equalization penalty = \",DL*pow(10,4),\"dB\"))\n",
- "print ('%s %.f %s' %(\"\\n without mode coupling, the total rms broadening = \",Pt1*pow(10,9),\"dB\"))\n",
- "print ('%s %.3f %s' %(\"\\n without mode coupling, equalization penalty = \",DL1,\"dB\"))\n",
- "print ('%s %.2f %s' %(\"\\n without mode coupling,dispersion equalization penalty with 125 Mb/s = \",DL2,\"dB\"))\n",
- "print ('%s %.2f %s' %(\"\\n with mode coupling,dispersion equalization penalty with 125 Mb/s = \",DL3,\"dB\"))\n",
- "print (\"\\n The answer is wrong in the textbook\")"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " With mode coupling, the total rms broadening = 1.73 ns\n",
- "\n",
- " The dispersion equalization penalty = 1.84 dB\n",
- "\n",
- " without mode coupling, the total rms broadening = 6 dB\n",
- "\n",
- " without mode coupling, equalization penalty = 0.027 dB\n",
- "\n",
- " without mode coupling,dispersion equalization penalty with 125 Mb/s = 83.98 dB\n",
- "\n",
- " with mode coupling,dispersion equalization penalty with 125 Mb/s = 0.28 dB\n",
- "\n",
- " The answer is wrong in the textbook\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Example 4: PgNo-522"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "# Variable initialisation\n",
- "Pi=-2.5 # mean optical power launched into the fiber in dBm\n",
- "Po=-45 # mean output optical power available at the receiver in dBm\n",
- "a_fc=0.35 # fider cable loss in dB/km\n",
- "aj=0.1 # splice loss in db/km\n",
- "a_cr=1 # connector losses\n",
- "Ma=6 # safety margin in dB\n",
- "L=(Pi-Po-a_cr-Ma)/(a_fc+aj) # length in km when system operating at 25 Mbps\n",
- "Po1=-35 # mean output optical power available at the receiver in dBm\n",
- "L1=(Pi-Po1-a_cr-Ma)/(a_fc+aj) # length in km when system operating at 350 Mbps\n",
- "\n",
- "# Results\n",
- "print ('%s %.2f %s' %(\" The length when system operating at 25 Mbps = \",L,\"km\"))\n",
- "print ('%s %.2f %s' %(\"\\n The length when system operating at 350 Mbps = \",L1,\"km\"))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The length when system operating at 25 Mbps = 78.89 km\n",
- "\n",
- " The length when system operating at 350 Mbps = 56.67 km\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5: PgNo-526"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "# variable initialisation\n",
- "Tx=-80 # transmitter output in dBm\n",
- "Rx=-40 # receiver sensitivity in dBm\n",
- "sm=32 # system margin in dB\n",
- "L=10 # in km\n",
- "fl=2*L # fider loss in dB\n",
- "cl=1 # detector coupling loss in dB\n",
- "tl=0.4*8 # total splicing loss in dB\n",
- "ae=5 # angle effects & future splice in dB\n",
- "ta=29.2 # total attenuation in dB\n",
- "Ep=2.8 # excess power margin in dB\n",
- "\n",
- "# Results\n",
- "print ('%s %.1f %s' %(\" The fider loss = \",fl,\"dB\"))\n",
- "print ('%s %.2f %s' %(\"\\n The total splicing loss = \",tl,\"dB\"))\n",
- "print ('%s %.1f %s' %(\"\\n The fangle effects & future splice = \",ae,\"dB\"))\n",
- "print ('%s %.2f %s' %(\"\\n The total attenuation = \",ta,\"dB\"))\n",
- "print ('%s %.1f %s' %(\"\\n The excess power margin = \",Ep,\"dB\"))\n",
- "print (\"\\n Hence the system can operate with small excess power margin \")"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The fider loss = 20.0 dB\n",
- "\n",
- " The total splicing loss = 3.20 dB\n",
- "\n",
- " The fangle effects & future splice = 5.0 dB\n",
- "\n",
- " The total attenuation = 29.20 dB\n",
- "\n",
- " The excess power margin = 2.8 dB\n",
- "\n",
- " Hence the system can operate with small excess power margin \n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6: PgNo-529"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "# variable initialisation\n",
- "Lc=1 # connector loss in db\n",
- "Ls=5 # star coupler insertion loss in dB\n",
- "af=2 # fider loss in dB\n",
- "Ps=-14 # transmitted power in dBm\n",
- "Pr=-49 # receiver sensitivity in dBm\n",
- "sm=6 # system margin in dB\n",
- "N=16.0\n",
- "L=(Ps-Pr-Ls-4*Lc-(10*math.log(N))/math.log(10)-sm)/(2*af) # max transmission length in km when transmission star coupler is used\n",
- "N1=32\n",
- "L1=(Ps-Pr-Ls-4*Lc-(10*math.log(N1))/math.log(10)-sm)/(2*af) # max transmission length in km when reflection star coupler is used\n",
- "\n",
- "# Results\n",
- "print ('%s %.2f %s' %(\" The max transmission length when transmission star coupler is used = \",L,\"km\"))\n",
- "print ('%s %.2f %s' %(\"\\n The max transmission length when reflection star coupler is used = \",L1,\"km\"))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The max transmission length when transmission star coupler is used = 1.99 km\n",
- "\n",
- " The max transmission length when reflection star coupler is used = 1.24 km\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7: PgNo-531"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "# variable declaration\n",
- "y=860*math.pow(10,-9) # wavelength in m\n",
- "L=5000 # length in m\n",
- "X=0.024\n",
- "dy=20*math.pow(10,-9) # spectral width in m\n",
- "dts=6*math.pow(10,-9) # silica optical link rise time in s\n",
- "dtr=8*math.pow(10,-9) # detector rise in s\n",
- "c=3*math.pow(10,8)# speed of light in m/s\n",
- "dtm=-(L*dy*X)/(c*y) # material dispersion delay time in s\n",
- "id=2.5*math.pow(10,-12) # intermodel dispersion in s/m\n",
- "dti=id*L # intermodel dispersion delay time\n",
- "dtsy=math.sqrt(math.pow(dts,2)+math.pow(dtr,2)+math.pow(dtm,2)+math.pow(dti,2)) # system rise time in s\n",
- "Br_max=0.7/dtsy # max bit rate for NRZ coding in bit/s\n",
- "Br_max1=0.35/dtsy # max bit rate for RZ coding in bit/s\n",
- "\n",
- "# Results\n",
- "print ('%s %.2f %s' %(\" The system rise time = \",dtsy*pow(10,9),\"ns\"))\n",
- "print ('%s %.2f %s' %(\"\\n The max bit rate for NRZ coding = \",Br_max/pow(10,6),\"Mbit/s\"))\n",
- "print ('%s %.2f %s' %(\"\\n The max bit rate for RZ coding = \",Br_max1/pow(10,6),\"Mbit/s\"))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The system rise time = 18.51 ns\n",
- "\n",
- " The max bit rate for NRZ coding = 37.81 Mbit/s\n",
- "\n",
- " The max bit rate for RZ coding = 18.90 Mbit/s\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 8: PgNo-533"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#variable declaration\n",
- "Br=50*math.pow(10,6) # data rate in b/s\n",
- "c=3*math.pow(10,8) # speed of light in m/s\n",
- "n1=1.47\n",
- "dl=0.02\n",
- "n12=n1*dl # the difference b/w n1 and n2\n",
- "L_si=(0.35*c)/(n12*Br) # transmission distance for Si fiber\n",
- "L_GI=(2.8*c*math.pow(n1,2))/(2*n1*n12*Br) # transmission distance for GRIN fiber\n",
- "\n",
- "# Results\n",
- "print ('%s %.3f %s' %(\" The transmission distance for Si fiber = \",L_si,\"m\"))\n",
- "print ('%s %.f %s' %(\"\\n The transmission distance for GRIN fiber = \",L_GI,\"m\"))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The transmission distance for Si fiber = 71.429 m\n",
- "\n",
- " The transmission distance for GRIN fiber = 420 m\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 9: PgNo-537"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "# Initialisation of variables\n",
- "Br=20*math.pow(10,6) # data rate in b/s\n",
- "c=3*math.pow(10,8)# speed of light in m/s\n",
- "y=86*math.pow(10,-9)# wavelength in m\n",
- "dy=30*math.pow(10,-9) # spectral width in m\n",
- "X=0.024\n",
- "Tb=1/Br\n",
- "Lmax=(0.35*Tb*c*y)/(dy*X)# material dispersion limited transmission distance for RZ coding in m\n",
- "\n",
- "# Results\n",
- "print ('%s %.3f %s' %(\" The material dispersion limited transmission distance = \",Lmax,\"m\"))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The material dispersion limited transmission distance = 627.083 m\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10: PgNo-543"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "# variable declaration\n",
- "y=860*math.pow(10,-9) # wavelength in m\n",
- "c=3*math.pow(10,8) # speed of light in m/s\n",
- "n1=1.47 \n",
- "dl=0.02 \n",
- "n12=n1*dl # the difference b/w n1 and n2\n",
- "La=1/1000.0 # loss a in dB/m\n",
- "Pr=-65 # receiver power in dB\n",
- "Pt=-5 #transmitted power in dB\n",
- "dy=30*math.pow(10,-9) # line width in m\n",
- "X=0.024\n",
- "Lmax=(0.35*c*y)/(dy*X) # material dispersion limited distance for RZ coding in m\n",
- "L_GI=(1.4*c*n1)/(n12)# model dispersion limited distance for RZ coding in m\n",
- "L_At=(Pt-Pr)/(La) # attenuation limited distance for RZ coding in m\n",
- "\n",
- "# Results\n",
- "print ('%s %.2f %s' %(\" The material dispersion limited distance = \",Lmax/pow(10,10),\"*10^10*1/Br m\"))\n",
- "print ('%s %.1f %s' %(\"\\n The model dispersion limited distance = \",L_GI/pow(10,10),\"*10^10*1/Br m\"))\n",
- "print ('%s %.f %s' %(\"\\n The attenuation limited distance = \",L_At/pow(10,3),\"-20log(Br) km\"))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The material dispersion limited distance = 12.54 *10^10*1/Br m\n",
- "\n",
- " The model dispersion limited distance = 2.1 *10^10*1/Br m\n",
- "\n",
- " The attenuation limited distance = 60 -20log(Br) km\n"
- ]
- }
- ],
- "prompt_number": 10
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file