summaryrefslogtreecommitdiff
path: root/Optical_Communication_by_Anasuya_Kalavar/chapter4.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Optical_Communication_by_Anasuya_Kalavar/chapter4.ipynb')
-rwxr-xr-xOptical_Communication_by_Anasuya_Kalavar/chapter4.ipynb413
1 files changed, 413 insertions, 0 deletions
diff --git a/Optical_Communication_by_Anasuya_Kalavar/chapter4.ipynb b/Optical_Communication_by_Anasuya_Kalavar/chapter4.ipynb
new file mode 100755
index 00000000..408746a4
--- /dev/null
+++ b/Optical_Communication_by_Anasuya_Kalavar/chapter4.ipynb
@@ -0,0 +1,413 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:c80be9ee73d5adb979ad6bf2343ea3cff1243505e35fc82560bd445f960931b7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter4 - Signal Degradation in fibers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3.1, page 4-4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from numpy import sqrt, pi, log10\n",
+ "L=10 #fiber length in km\n",
+ "Pin=150*10**-6 #input power\n",
+ "Pout=5*10**-6 #output power\n",
+ "ln=20 #length of optical link\n",
+ "interval=1 #splices after interval of 1 km\n",
+ "l=1.2 #loss due to 1 splice\n",
+ "attenuation=10*log10(Pin/Pout) \n",
+ "alpha=attenuation/L \n",
+ "attenuation_loss=alpha*20 \n",
+ "splices_loss=(ln-interval)*l \n",
+ "total_loss=attenuation_loss+splices_loss \n",
+ "power_ratio=10**(total_loss/10) \n",
+ "print \"Signal attenuation is %.2f dBs.\\nSignal attenuation is %.3f dB/Km.\\nTotal loss in 20 Km fiber is %.2f dbs.\\nTotal attenuation is %.2f dBs.\\ninput/output ratio is %0.e.\" %(attenuation,alpha,attenuation_loss,total_loss,power_ratio) \n",
+ "# Answer wrong for last part."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Signal attenuation is 14.77 dBs.\n",
+ "Signal attenuation is 1.477 dB/Km.\n",
+ "Total loss in 20 Km fiber is 29.54 dbs.\n",
+ "Total attenuation is 52.34 dBs.\n",
+ "input/output ratio is 2e+05.\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6.1, page 4-12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import exp\n",
+ "beta_c=8*10**-11 #isothermal compressibility\n",
+ "n=1.46 #refractive index\n",
+ "P=0.286 #photoelastic constat\n",
+ "k=1.38*10**-23 #Boltzmnn constant\n",
+ "T=1500 #temperature\n",
+ "L=1000 #length\n",
+ "lamda=1000*10**-9 #wavelength\n",
+ "gamma_r = 8*(3.14**3)*(P**2)*(n**8)*beta_c*k*T/(3*(lamda**4)) #computing coefficient\n",
+ "attenuation=exp(-gamma_r*L) #computing attenuation\n",
+ "print \"Attenuation due to Rayleigh scattering is %.3f.\" %(attenuation) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Attenuation due to Rayleigh scattering is 0.794.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6.2, page 4-12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "beta_c=7*10**-11 #isothermal compressibility\n",
+ "n=1.46 #refractive index\n",
+ "P=0.29 #photoelastic constat\n",
+ "k=1.38*10**-23 #Boltzmnn constant\n",
+ "T=1400 #temperature\n",
+ "L=1000 #length\n",
+ "lamda=0.7*10**-6 #wavelength\n",
+ "gamma_r = 8*(3.14**3)*(P**2)*(n**8)*beta_c*k*T/(3*(lamda**4)) #computing coefficient\n",
+ "attenuation=exp(-gamma_r*L) #computing attenuation\n",
+ "gamma_r=gamma_r\n",
+ "print \"Raleigh Scattering corfficient is %.3e per meter\" %(gamma_r) \n",
+ "#Attenuation is not calcualted in textbook\"\n",
+ "print \"Attenuation due to Rayleigh scattering is %.3f\" %(attenuation) \n",
+ "#answer for Raleigh Scattering corfficient in the book is given as 0.804d-3, deviation of 0.003d-3"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Raleigh Scattering corfficient is 8.074e-04 per meter\n",
+ "Attenuation due to Rayleigh scattering is 0.446\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7.1, page 4-17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "d=5 #core diameter\n",
+ "alpha=0.4 #attenuation\n",
+ "B=0.5 #Bandwidth\n",
+ "lamda=1.4 #wavelength\n",
+ "PB=4.4*10**-3*d**2*lamda**2*alpha*B #computing threshold power for SBS\n",
+ "PR=5.9*10**-2*d**2*lamda*alpha #computing threshold power for SRS\n",
+ "PB=PB*10**3 \n",
+ "PR=PR*10**3 \n",
+ "print \"Threshold power for SBS is %.1f mW.\\nThreshold power for SRS is %.3f mW.\" %(PB,PR) \n",
+ "#NOTE - Calculation error in the book while calculating threshold for SBS.\n",
+ "#Also, while calculating SRS, formula is taken incorrectly, \n",
+ "#Bandwidth is multiplied in second step, which is not in the formula.\") "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Threshold power for SBS is 43.1 mW.\n",
+ "Threshold power for SRS is 826.000 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8.1, page 4-18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "n1=1.5 #refractive index of core\n",
+ "delta=0.03/100 #relative refractive index\n",
+ "lamda=0.82*10**-6 #wavelength\n",
+ "n2=sqrt(n1**2-2*delta*n1**2) #computing cladding refractive index\n",
+ "Rc=(3*n1**2*lamda)/(4*3.14*(n1**2-n2**2)**1.5) #computing critical radius\n",
+ "Rc=Rc*10**3 \n",
+ "print \"Critical radius is %.f micrometer.\" %(Rc) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Critical radius is 9 micrometer.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8.2, page 4-20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "n1=1.45 #refractive index of core\n",
+ "delta=3.0/100 #relative refractive index\n",
+ "lamda=1.5*10**-6 #wavelength\n",
+ "a=5*10**-6 #core radius\n",
+ "n2=sqrt(n1**2-2*delta*n1**2) #computing cladding refractive index\n",
+ "Rc=(3*n1**2*lamda)/(4*3.14*(n1**2-n2**2)**0.5) #computing critical radius for single mode\n",
+ "Rc=Rc*10**6 \n",
+ "print \"Critical radius is %.2f micrometer\" %(Rc) \n",
+ "lamda_cut_off= 2*3.14*a*n1*sqrt(2*delta)/2.405 \n",
+ "RcSM= (20*lamda/(n1-n2)**1.5)*(2.748-0.996*lamda/lamda_cut_off)**-3 #computing critical radius for single mode\n",
+ "RcSM=RcSM*10**6 \n",
+ "print \"Critical radius for single mode fiber is %.2f micrometer.\" %(RcSM) \n",
+ "#Calculation error in the book.(2.748-0.996*lamda/lamda_cut_off)**-3 in this term raised to -3 is not taken in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Critical radius is 2.12 micrometer\n",
+ "Critical radius for single mode fiber is 226.37 micrometer.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.13.1, page 4-28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "lamda=1550*10**-9 \n",
+ "lamda0=1.3*10**-6 \n",
+ "s0=0.095 \n",
+ "Dt=lamda*s0/4*(1-(lamda0/lamda)**4) #computing material dispersion\n",
+ "Dt=Dt*10**9 \n",
+ "print \"Material dispersion at 1550 nm is %.1f ps/nm/km\" %Dt\n",
+ "#answer in the book is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Material dispersion at 1550 nm is 18.6 ps/nm/km\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.14.1, page 4-33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "tau=0.1*10**-6 #pulse broadning\n",
+ "dist=20*10**3 #distance\n",
+ "Bopt=1/(2*tau) #computing optical bandwidth\n",
+ "Bopt=Bopt*10**-6 \n",
+ "dispertion=tau/dist #computing dispersion\n",
+ "dispertion=dispertion*10**12 \n",
+ "BLP=Bopt*dist #computing Bandwidth length product\n",
+ "BLP=BLP*10**-3 \n",
+ "print \"optical bandwidth is %d MHz.\\nDispersion per unit length is %d ns/km.\\nBandwidth length product is %d MHz.km.\" %(Bopt,dispertion,BLP) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "optical bandwidth is 5 MHz.\n",
+ "Dispersion per unit length is 5 ns/km.\n",
+ "Bandwidth length product is 100 MHz.km.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.15.1, page 4-34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "RSW=0.0012 #relative spectral width\n",
+ "lamda=0.90*10**-6 #wavelength\n",
+ "L=1 #distance in km (assumed)\n",
+ "P=0.025 #material dispersion parameter\n",
+ "c=3*10**5 #speed of light in km/s\n",
+ "M=10**3*P/(c*lamda) #computing material dispersion\n",
+ "sigma_lamda=RSW*lamda \n",
+ "sigmaM=sigma_lamda*L*M*10**7 #computing RMS pulse broadning\n",
+ "sigmaB=25*L*M*10**-3 \n",
+ "print \"Material dispersion parameter is %.2f ps/nm/km.\\nRMS pulsr broadning when sigma_lamda is 25 is %.1f ns/km.\\nRMS pulse broadning is %.2f ns/km.\" %(M,sigmaB,sigmaM) \n",
+ "#answer in the book for RMS pulse broadning is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Material dispersion parameter is 92.59 ps/nm/km.\n",
+ "RMS pulsr broadning when sigma_lamda is 25 is 2.3 ns/km.\n",
+ "RMS pulse broadning is 1.00 ns/km.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.17.1, page 4-37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "L=10 #length of optical link\n",
+ "n1=1.49 #refractive index\n",
+ "c=3*10**8 #speed of light\n",
+ "delta=1.0/100 #relative refractive index\n",
+ "delTS=L*n1*delta/c #computing delay difference\n",
+ "delTS=delTS*10**12 \n",
+ "sigmaS=L*n1*delta/(2*sqrt(3)*c) #computing rms pulse broadning\n",
+ "sigmaS=sigmaS*10**12 \n",
+ "B=1/(2*delTS) #computing maximum bit rate\n",
+ "B=B*10**3 \n",
+ "B_acc=0.2/(sigmaS) #computing accurate bit rate\n",
+ "B_acc=B_acc*10**3 \n",
+ "BLP=B_acc*L #computing Bandwidth length product\n",
+ "print \"Delay difference is %d ns.\\nRMS pulse broadning is %.1f ns.\\nBit rate is %.1f Mbit/s.\\nAccurate bit rate is %.3f Mbits/s.\\nBandwidth length product is %.1f MHz.km\" %(delTS,sigmaS,B,B_acc,BLP) \n",
+ "#answer for maximum bit rate is given as 1.008 Mb/s, deviation of 0.008 Mb/s."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Delay difference is 496 ns.\n",
+ "RMS pulse broadning is 143.4 ns.\n",
+ "Bit rate is 1.0 Mbit/s.\n",
+ "Accurate bit rate is 1.395 Mbits/s.\n",
+ "Bandwidth length product is 13.9 MHz.km\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file