diff options
Diffstat (limited to 'Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb')
-rwxr-xr-x | Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb | 855 |
1 files changed, 855 insertions, 0 deletions
diff --git a/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb new file mode 100755 index 00000000..1ec82776 --- /dev/null +++ b/Fiber_Optics_Communication_by_H._Kolimbiris/chapter6_1.ipynb @@ -0,0 +1,855 @@ +{ + "metadata": { + "celltoolbar": "Raw Cell Format", + "name": "", + "signature": "sha256:c5e698deaafe161660080eef1dfbc8ac0784ee1d8559414601680128905b4f30" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6: Optical Transmittor" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.1,Page number 139" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Given\n", + "\n", + "Tj=125; #in degree celsius\n", + "Tamp=60; #n degree celsius\n", + "Pt=1.8; #in W\n", + "RthJ_a =34; #in k/w(Assumption)\n", + "Rth=(Tj-Tamp)/Pt;\n", + "print\"Rth =\",round(Rth,4),\"K/W\";\n", + "if Rth>RthJ_a:\n", + " print\"No Heat sink is required\";\n", + "else:\n", + " print\"Yes,Heat sink is required\"; \n", + " \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rth = 36.1111 K/W\n", + "No Heat sink is required\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.2,Page number 140" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#Given\n", + "\n", + "Tj=120; #in degree celsius\n", + "Tamp=80; #in degree celsius\n", + "Pt=2.1; #in W \n", + "RthJ_a =34; #in k/w(Assumption)\n", + "Rth=(Tj-Tamp)/Pt;\n", + "print\"Rth =\",round(Rth,4),\"K/W\";\n", + "if Rth>RthJ_a:\n", + " print\"No Heat sink is required\";\n", + "else:\n", + " print\"Yes,Heat sink is required\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rth = 19.0476 K/W\n", + "Yes,Heat sink is required\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.3,Page number 140" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "#data insufficient\n", + "Rth=17.70; # Rth assumed minimum\n", + "Rthc_H=0.65; #k/w\n", + "Rthj_a=33.0; #k/w\n", + "Rthj_c=3; #k/w\n", + "RthH_a=1/(1/Rth-1/Rthj_a)-Rthj_c-Rthc_H;\n", + "print\"RthH-a <=\",round(RthH_a,4),\"K/W\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "RthH-a <= 34.5265 K/W\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.4,Page number 148" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Vcc=5; #in volt\n", + "Icc=24; #in mA\n", + "Vset=0.65; #in volt\n", + "Vf=1.5; #in volt\n", + "IMOD=15; #in mA\n", + "TA=25; #in degree celsius\n", + "Pdynamic=(Vcc-Vf-Vset)*Icc;\n", + "print\"Power dissipation under dynamic condition\",Pdynamic,\"mW\";\n", + "Pstatic=(Vcc*Icc);\n", + "print\"power dissipation under static condition\",Pstatic,\"mW\";\n", + "PD=Pdynamic+Pstatic;\n", + "print\"total power dissipation\",PD,\"mW\";\n", + "#Tj=TA+PD*wj_a;\n", + "TA=25; #in degree cel\n", + "wj_a=84; #degree cel/w\n", + "PD=188.4; #mW\n", + "Tj=TA+PD*10**-3*wj_a;\n", + "print\"Temp. of junction temp\",Tj,\"degree C\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power dissipation under dynamic condition 68.4 mW\n", + "power dissipation under static condition 120 mW\n", + "total power dissipation 188.4 mW\n", + "Temp. of junction temp 40.8256 degree C\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.5,Page number 150" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Ifon=120.0; #in mA\n", + "Vcc=5; #in V\n", + "Vfon=2; #in V\n", + "R3=(Vcc-Vfon)/Ifon/10**-3 +3.2*(Vcc-Vfon-1.4)/Ifon/10**-3;\n", + "print\" R3=\",round(R3,4),\"ohm\";\n", + "\n", + "R0=(R3-32)/3.2;\n", + "print\" R0=\",round(R0,4),\"ohm\";\n", + "\n", + "R1=(R0+10)/2;\n", + "print\" R1=\",round(R1,1),\"ohm\";\n", + "R2=R1-10;\n", + "print\" R2=\",round(R2,1),\"ohm\";\n", + "C1=2*10**-9/R1;\n", + "print\" C1=\",round(C1*10**12,4),\"pF\"; \n", + "\n", + "#answer in book is approximately written\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " R3= 67.6667 ohm\n", + " R0= 11.1458 ohm\n", + " R1= 10.6 ohm\n", + " R2= 0.6 ohm\n", + " C1= 189.1626 pF\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.6,Page number 155" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Impd1=250; #in microA\n", + "Impd0=25; #in microA\n", + "Iref=(1./16)*Impd1*10**-6;\n", + "print\" Reference current is\",Iref*10**6,\"microA\";\n", + "Rref=1.5/Iref;\n", + "print\" External bias resistor value Rref1 is\",Rref/1000,\"kohm\";\n", + "\n", + "Rref1=24.0/Impd1/10**-6;\n", + "print\" Also,Rref1=24/Impd \\n External bias resistor value is\",Rref1/1000,\"kohm\";\n", + "Irefz=(1./4)*Impd0;\n", + "print\" Ref0 current is\",Irefz,\"microA\";\n", + "Rrefz=1.5/Irefz/10**-6;\n", + "print\" External bias resistor value Rrefz is\",Rrefz/1000,\"kohm\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Reference current is 15.625 microA\n", + " External bias resistor value Rref1 is 96.0 kohm\n", + " Also,Rref1=24/Impd \n", + " External bias resistor value is 96.0 kohm\n", + " Ref0 current is 6.25 microA\n", + " External bias resistor value Rrefz is 240.0 kohm\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.7,Page number 157" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "R=400; #in mA\n", + "nEO=25; #in mW\n", + "n_laser=nEO*10**-3*R*10**-3;\n", + "print\"n_laser =\",n_laser;\n", + "Tone=(40*10**-12)*(80*10**3)/n_laser;\n", + "print\"Tone =\",Tone*10**6,\"micros\";\n", + "BWone=1./(2*math.pi*Tone);\n", + "print\"BWone =\",round(BWone,4),\"Hz \";\n", + "Tzero=(40*10**-12)*80*10**3/n_laser;\n", + "BWzero=1.0/2/math.pi/Tzero; #Hz\n", + "print\"BWzero =\",round(BWzero,4),\"Hz\";\n", + "\n", + "#answer misprinted\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "n_laser = 0.01\n", + "Tone = 320.0 micros\n", + "BWone = 497.3592 Hz \n", + "BWzero = 497.3592 Hz\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.8,Page number 159" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "iol =5; #in mA\n", + "ioh=80; #bias current in mA\n", + "ralarmH=(1.5*1500)/ioh/10**-3;\n", + "print\" Alarm resistor RalarmH is\",ralarmH/1000,\"kOhm\";\n", + "ralarmL=(1.5*300)/iol/10**-3;\n", + "print\" Alarm resistor RalarmL is\",ralarmL/1000,\"kOhm\";\n", + "ialarmh=80*10**-3;\n", + "ialarmH=ioh*10**-3/1500;\n", + "print\" Alarm current IalarmH is\",round(ialarmH*10**6,4),\"microA\"; #unit of anwer misprinted in book\n", + "ialarml=5*10**-3;\n", + "ialarmL=iol*10**-3/300;\n", + "print\" Alarm current IalarmL is\",round(ialarmL*10**6,4),\"microA\";\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Alarm resistor RalarmH is 28.125 kOhm\n", + " Alarm resistor RalarmL is 90.0 kOhm\n", + " Alarm current IalarmH is 53.3333 microA\n", + " Alarm current IalarmL is 16.6667 microA\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.9,Page number 160" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "Ibias=15.; #in mA assumption\n", + "Ild=35.; #in mA\n", + "Rld=50.; #in ohm\n", + "Ildi=100.; #in mA\n", + "Ilde=50.; #in mA\n", + "Imod=(Ildi+Ilde)/Ildi*35; #mA\n", + "print\"Total modulation current is \\nImod=\",round(Imod,4),\"mA\";\n", + "Ildq=1.2/100*10**3; #in mA \n", + "print\"The current complementary output is Ildq=\",round(Ildq,4),\"mA\";\n", + "Vld=-1.2-Rld*(Ibias+Ild)*10**-3; #optical high\n", + "print\"The laser voltage for optical high is Vld=\",round(Vld,4),\"V\";\n", + "Vld=-1.2-Rld*(Ibias)*10**-3; #optical dark\n", + "print\"The laser voltage for optical dark is Vld=\",round(Vld,4),\"V\";\n", + "Vldq=-Ild*10**-3*Rld;\n", + "print\"The laser voltage at complimentary o/p is Vldq=\",round(Vldq,4),\"V\";\n", + "Rchock=5; #in Ohm\n", + "Vchock=-Rchock*Ibias*10**-3;\n", + "print\"Vchock=\",round(Vchock,4),\"V\";\n", + "Vbias=0.5*(-3.7+Vld)+Vchock;\n", + "print\"Vbias=\",round(Vbias,4),\"V\";\n", + "\n", + "#(i) Pdvee1\n", + "Pdvcc=5*2.5; #in mW\n", + "print\"Pdvcc=\",round(Pdvcc,4),\"mW\";\n", + "Pdvee1=4.5*80; #in mW\n", + "print\"Pdvee1=\",round(Pdvee1,4),\"mW\";\n", + "\n", + "#(ii) Pdvee2\n", + "Pdvee2=6*160; #in mW\n", + "print\"Pdvee2=\",Pdvee2,\"mW\";\n", + "\n", + "#(iii) PdLD\n", + "PdLD=0.5*(3.75*50); #in mW\n", + "print\"PdLD=\",round(PdLD,4),\"mW\";\n", + "\n", + "#(iv) PdLQ\n", + "PdLDQ=0.5*abs(Vld)*50; #in mW\n", + "print\"PdLDQ=\",round(PdLDQ,4),\"mW\";\n", + "\n", + "#(v) PdLDQ\n", + "Pdbias=abs(Vbias)*Ibias; #in mW\n", + "print\"Pdbias=\",round(Pdbias,4),\"mW\";\n", + "\n", + "#PT\n", + "PT=Pdvcc+Pdvee1+Pdvee2-(PdLD+PdLDQ+Pdbias);\n", + "print\"Total power dissipation (PT)=\",round(PT,4),\"mW\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total modulation current is \n", + "Imod= 52.5 mA\n", + "The current complementary output is Ildq= 12.0 mA\n", + "The laser voltage for optical high is Vld= -3.7 V\n", + "The laser voltage for optical dark is Vld= -1.95 V\n", + "The laser voltage at complimentary o/p is Vldq= -1.75 V\n", + "Vchock= -0.075 V\n", + "Vbias= -2.9 V\n", + "Pdvcc= 12.5 mW\n", + "Pdvee1= 360.0 mW\n", + "Pdvee2= 960 mW\n", + "PdLD= 93.75 mW\n", + "PdLDQ= 48.75 mW\n", + "Pdbias= 43.5 mW\n", + "Total power dissipation (PT)= 1146.5 mW\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.10,Page number 161" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "vcc=-5; #in v\n", + "imod=35; #in mA\n", + "ibias=18; #in mA\n", + "vbias=-2; #in v\n", + "vout=2; #in v\n", + "tj=30; #degree cel\n", + "icc=140; #in mA\n", + "Pt=(-vcc*icc*10**-3)+(-vcc-vout)*imod*10**-3+(-vcc+vbias)*ibias*10**-3;\n", + "print\"Pt=\",Pt*1000,\"mW\";\n", + "Tj=30; #in degree\n", + "Tj_a=Tj*Pt;\n", + "Tcase=125-Tj_a; #in degree\n", + "print\"Tcase(max)=\",Tcase,\"degree Cel\";" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pt= 859.0 mW\n", + "Tcase(max)= 99.23 degree Cel\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.11,Page number 174" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "z11=49.95; #in ohm\n", + "z12=0.15; #in ohm\n", + "z21=0.15; #in ohm\n", + "z22=49.95; #in ohm\n", + "zdiff=2*(z11-z12);\n", + "print\"Zdiff=\",zdiff,\"ohm\"; #answer misprinted\n", + "zcm=z11+z12;\n", + "print\"Zcm=\",zcm,\"ohm\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Zdiff= 99.6 ohm\n", + "Zcm= 50.1 ohm\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.12,Page number 174" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "z11=65.4; #in ohm\n", + "z12=8.2; #in ohm\n", + "z21=8.2; #in ohm\n", + "z22=65.4; #in ohm\n", + "zdiff=2*(z11-z12);\n", + "print\" Zdiff=\",zdiff,\"ohm\"; \n", + "zcm=z11+z12;\n", + "print\" Zcm=\",zcm,\"ohm\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Zdiff= 114.4 ohm\n", + " Zcm= 73.6 ohm\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.13,Page number 181" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "dV=50; #in mV\n", + "di=3; #in Amp\n", + "Lcable=15; #in nH\n", + "fL=dV*10**-3/di/2/math.pi/Lcable/10**-9;\n", + "print\"fLcable =\",round(fL/1000,4),\"kHz\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fLcable = 176.8388 kHz\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.14,Page number 181" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "dV=50; #in mV\n", + "di=4; #in Amp\n", + "fL=120; #in kHz\n", + "Lcable=dV*10**-3/di/2/math.pi/fL/10**3;\n", + "print\"The maximum allowed parasitic cable inductance (Lcable) must not exceed\",round(Lcable*10**9,4),\"nH\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The maximum allowed parasitic cable inductance (Lcable) must not exceed 16.5786 nH\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.15,Page number 182" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "dV=40; #in mV\n", + "di=2.5; #in Amp\n", + "Lbypas=0.5; #in nH\n", + "fL=dV*10**-3/di/2/math.pi/Lbypas/10**-9;\n", + "print\"fHnoise =\",round(fL/10**6,4),\"MHz\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fHnoise = 5.093 MHz\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.16,Page number 182" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "dV=50; #in mV\n", + "di=2.5; #in Amp\n", + "Cbypas=220; #in microF\n", + "fL=di/(dV*10**-3*2*math.pi*Cbypas*10**-6);\n", + "print\"fLnoise =\",round(fL/1000,4),\"kHz\"; #Result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fLnoise = 36.1716 kHz\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.17,Page number 182" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "dV=50; #in mV\n", + "di=4; #in Amp\n", + "Cbypas=200; #in microF\n", + "Lbypas=0.2; #in nH\n", + "fL=di/(dV*10**-3*2*math.pi*Cbypas*10**-6);\n", + "print\"fLnoise =\",round(fL/1000,4),\"kHz\"; #Result misprinted\n", + "fH=dV*10**-3/di/2/math.pi/Lbypas/10**-9;\n", + "print\"fHnoise =\",round(fH/10**6,4),\"MHz \"; \n", + "Bw=fH-fL;\n", + "print\"Bwnoise =\",round(Bw/10**6,4),\"MHZ\"; #Result miscalculated\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fLnoise = 63.662 kHz\n", + "fHnoise = 9.9472 MHz \n", + "Bwnoise = 9.8835 MHZ\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.18,Page number 184" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "dV=40; #in mV\n", + "di=3; #in Amp\n", + "LT=0.05; #in nH\n", + "fH=dV*10**-3/di/2/math.pi/LT/10**-9;\n", + "print\"fCdecoupling(high) =\",round(fH/10**6,4),\"MHz\"; #Result" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fCdecoupling(high) = 42.4413 MHz\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.19,Page number 184" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "#given\n", + "\n", + "dV=45; #in mV\n", + "di=2.5; #in Amp\n", + "CT=2.2; #in microF\n", + "LT=0.05; #in nH\n", + "fCL=di/(dV*10**-3*2*math.pi*CT*10**-6);\n", + "print\"fLnoise =\",round(fCL/10**6,4),\"MHz\"; #Result \n", + "fCH=42.3; #in MHz taken from last question i.e. 6.18 \n", + "print\"\",round(fCL/10**6,4),\"MHz <=B.W.noise <=\",round(fCH,4),\"MHZ\"; #Result\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fLnoise = 4.0191 MHz\n", + " 4.0191 MHz <=B.W.noise <= 42.3 MHZ\n" + ] + } + ], + "prompt_number": 29 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |