{ "metadata": { "name": "", "signature": "sha256:46b495ee163997b315e5d2a4308b2429d2950dd9bb4f2a5562e7098cc144cbec" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

Chapter 10: Amplifier Frequency Response

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.1, Page Number: 311

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "A_p=250.0\n", "A_p_dB=10*math.log10(A_p)\n", "print('Power gain(dB) when power gain is 250 = %d'% math.ceil(A_p_dB));\n", "A_p=100.0\n", "A_p_dB=10*math.log10(A_p)\n", "print('Power gain(dB) when power gain is 100 = %d'%A_p_dB)\n", "A_p=10.0\n", "A_p_dB=20*math.log10(A_p)\n", "print('Voltage gain(dB) when Voltage gain is 10 = %d'%A_p_dB)\n", "A_p=0.50\n", "A_p_dB=10*math.log10(A_p)\n", "print('Power gain(dB) when voltage gain is 0.50 = %d'%A_p_dB)\n", "A_p=0.707\n", "A_p_dB=20*math.log10(A_p)\n", "print('Power gain(dB) when power gain is 0.707 = %d'%A_p_dB)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Power gain(dB) when power gain is 250 = 24\n", "Power gain(dB) when power gain is 100 = 20\n", "Voltage gain(dB) when Voltage gain is 10 = 20\n", "Power gain(dB) when voltage gain is 0.50 = -3\n", "Power gain(dB) when power gain is 0.707 = -3" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.2, Page Number: 313

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "\n", "v_out=0.707*10;\n", "print('output voltage in volts at -3dB gain = %.2f'%v_out)\n", "#at -6dB voltage gain from table is 0.5\n", "v_out=0.5*10;\n", "print('output voltage in volts at -6dB gain = %d'%v_out)\n", "#at -12dB voltage gain from table is 0.25\n", "v_out=0.25*10;\n", "print('output voltage in volts at -12dB gain = %.1f'%v_out)\n", "#at -24dB voltage gain from table is 0.0625\n", "v_out=0.0625*10;\n", "print('output voltage in volts at -24dB gain = %.3f'%v_out)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "output voltage in volts at -3dB gain = 7.07\n", "output voltage in volts at -6dB gain = 5\n", "output voltage in volts at -12dB gain = 2.5\n", "output voltage in volts at -24dB gain = 0.625" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.3, Page Number: 316

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "R_in=1.0*10**3;\n", "C1=1.0*10**-6;\n", "A_v_mid=100.0; #mid range voltage gain\n", "f_c=1/(2*math.pi*R_in*C1);\n", "#at f_c, capacitive reactance is equal to resistance(X_C1=R_in)\n", "attenuation=0.707;\n", "#A_v is gain at lower critical frequency\n", "A_v=0.707*A_v_mid;\n", "print('lower critical frequency = %f Hz'%f_c)\n", "print('attenuation at lower critical frequency =%.3f'%attenuation)\n", "print('gain at lower critical frequency = %.1f'%A_v)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "lower critical frequency = 159.154943 Hz\n", "attenuation at lower critical frequency =0.707\n", "gain at lower critical frequency = 70.7" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.4, Page Number: 317

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "A_v_mid=100.0;\n", "#At 1Hz frequency,voltage gain is 3 dB less than at midrange. At -3dB, the voltage is reduced by a factor of 0.707\n", "A_v=0.707*A_v_mid;\n", "print('actual voltage gain at 1Hz frequency = %.1f'%A_v)\n", "#At 100Hz frequency,voltage gain is 20 dB less than at critical frequency (f_c ). At -20dB, the voltage is reduced by a factor of 0.1\n", "A_v=0.1*A_v_mid;\n", "print('actual voltage gain at 100Hz frequency = %d'%A_v)\n", "#At 10Hz frequency,voltage gain is 40 dB less than at critical frequency (f_c). At -40dB, the voltage is reduced by a factor of 0.01\n", "A_v=0.01*A_v_mid;\n", "print('actual voltage gain at 10Hz frequency = %d'%A_v)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "actual voltage gain at 1Hz frequency = 70.7\n", "actual voltage gain at 100Hz frequency = 10\n", "actual voltage gain at 10Hz frequency = 1" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.5, Page Number: 319

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "R_C=10.0*10**3;\n", "C3=0.1*10**-6;\n", "R_L=10*10**3;\n", "A_v_mid=50;\n", "f_c=1/(2*math.pi*(R_L+R_C)*C3);\n", "print('lower critical frequency = %f Hz'%f_c)\n", "#at midrange capacitive reactance is zero\n", "X_C3=0;\n", "attenuation=R_L/(R_L+R_C); \n", "print('attenuation at midrange frequency = %.1f'%attenuation)\n", "#at critical frequency, capacitive reactance equals total resistance\n", "X_C3=R_L+R_C;\n", "attenuation=R_L/(math.sqrt((R_C+R_L)**2+X_C3**2));\n", "print('attenuation at critical frequency = %f'%attenuation)\n", "A_v=0.707*A_v_mid;\n", "print('gain at critical frequency = %.2f'%A_v)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "lower critical frequency = 79.577472 Hz\n", "attenuation at midrange frequency = 0.5\n", "attenuation at critical frequency = 0.353553\n", "gain at critical frequency = 35.35" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.6, Page Number: 321

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "B_ac=100.0;\n", "r_e=12.0;\n", "R1=62.0*10**3;\n", "R2=22.0*10**3;\n", "R_S=1.0*10**3;\n", "R_E=1.0*10**3;\n", "C2=100.0*10**-6;\n", "#Base circuit impedance= parallel combination of R1, R2, R_S\n", "R_th=(R1*R2*R_S)/(R1*R2+R2*R_S+R_S*R1);\n", "#Resistance looking at emitter\n", "R_in_emitter=r_e+(R_th/B_ac);\n", "#resistance of equivalent bypass RC is parallel combination of R_E,R_in_emitter\n", "R=(R_in_emitter*R_E)/(R_E+R_in_emitter);\n", "f_c=1/(2*math.pi*R*C2);\n", "print('critical frequency of bypass RC circuit = %f Hz'%f_c)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "critical frequency of bypass RC circuit = 75.893960 Hz" ] } ], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.7, Page Number:323

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "V_GS=-10.0;\n", "I_GSS=25.0*10**-9;\n", "R_G=10.0*10**6;\n", "C1=0.001*10**-6;\n", "R_in_gate=abs((V_GS/I_GSS));\n", "R_in=(R_in_gate*R_G)/(R_G+R_in_gate);\n", "f_c=1/(2*math.pi*R_in*C1);\n", "print('critical frequency = %f Hz'%f_c)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "critical frequency = 16.313382 Hz" ] } ], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.8, Page Number: 324

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "V_GS=-12.0;\n", "I_GSS=100.0*10**-9;\n", "R_G=10.0*10**6;\n", "R_D=10.0*10**3;\n", "C1=0.001*10**-6;\n", "C2=0.001*10**-6;\n", "R_in_gate=abs((V_GS/I_GSS));\n", "R_in=(R_in_gate*R_G)/(R_G+R_in_gate);\n", "R_L=R_in; #according to question\n", "f_c_input=1/(2*math.pi*R_in*C1);\n", "print('critical frequency of input RC circuit = %f Hz'%f_c_input)\n", "f_c_output=1/(2*math.pi*(R_D+R_L)*C2)\n", "print('critical frequency of output RC circuit = %f Hz'%f_c_output)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "critical frequency of input RC circuit = 17.241786 Hz\n", "critical frequency of output RC circuit = 17.223127 Hz" ] } ], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.9, Page Number: 327

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "B_ac=100.0;\n", "r_e=16.0;\n", "R1=62.0*10**3;\n", "R2=22.0*10**3;\n", "R_S=600.0;\n", "R_E=1.0*10**3;\n", "R_C=2.2*10**3;\n", "R_L=10.0*10**3;\n", "C1=0.1*10**-6;\n", "C2=10.0*10**-6;\n", "C3=0.1*10**-6;\n", "#input RC circuit\n", "R_in=(B_ac*r_e*R1*R2)/(B_ac*r_e*R1+B_ac*r_e*R2+R1*R2);\n", "f_c_input=1/(2*math.pi*(R_S+R_in)*C1);\n", "print('input frequency = %f Hz'%f_c_input)\n", "#For bypass circuit; Base circuit impedance= parallel combination of R1, R2, R_S\n", "R_th=(R1*R2*R_S)/(R1*R2+R2*R_S+R_S*R1);\n", "#Resistance looking at emitter\n", "R_in_emitter=r_e+(R_th/B_ac);\n", "#resistance of equivalent bypass RC is parallel combination of R_E,R_in_emitter\n", "R=(R_in_emitter*R_E)/(R_E+R_in_emitter);\n", "f_c_bypass=1/(2*math.pi*R*C2);\n", "print('critical frequency of bypass RC circuit = %f Hz'%f_c_bypass)\n", "f_c_output=1/(2*math.pi*(R_C+R_L)*C3)\n", "print('output frequency circuit = %f Hz'%f_c_output)\n", "R_c=R_C*R_L/(R_C+R_L);\n", "A_v_mid=R_c/r_e;\n", "attenuation=R_in/(R_in+R_S);\n", "A_v=attenuation*A_v_mid; #overall voltage gain\n", "A_v_mid_dB=20*math.log10(A_v); \n", "print('overall voltage gain in dB = %f'%A_v_mid_dB)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "input frequency = 773.916632 Hz\n", "critical frequency of bypass RC circuit = 746.446517 Hz\n", "output frequency circuit = 130.454871 Hz\n", "overall voltage gain in dB = 38.042470" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.10, Page Number: 330

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "B_ac=125.0;\n", "C_be=20.0*10**-12;\n", "C_bc=2.4*10**-12;\n", "R1=22.0*10**3;\n", "R2=4.7*10**3;\n", "R_E=470.0;\n", "R_S=600.0;\n", "R_L=2.2*10**3;\n", "V_CC=10.0;\n", "V_B=(R2/(R1+R2))*V_CC;\n", "V_E=V_B-0.7;\n", "I_E=V_E/R_E;\n", "r_e=25.0*10**-3/I_E;\n", "#total resistance of input circuit is parallel combination of R1,R2,R_s,B_ac*r_e\n", "R_in_tot=B_ac*r_e*R1*R2*R_S/(B_ac*r_e*R1*R2+B_ac*r_e*R1*R_S+B_ac*r_e*R2*R_S+R1*R2*R_S);\n", "R_c= 1100.0#R_C*R_L/(R_C+R_L)\n", "A_v_mid=R_c/r_e;\n", "C_in_Miller=C_bc*(A_v_mid+1)\n", "C_in_tot=C_in_Miller+C_be;\n", "C_in_tot=C_in_tot*10**10\n", "f_c=1/(2*math.pi*R_in_tot*C_in_tot);\n", "print('total resistance of circuit = %f Ohm'%R_in_tot)\n", "print('total capacitance = %f * 10^-10 F'%C_in_tot)\n", "print('critical frequency = %f Hz'%f_c)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "total resistance of circuit = 377.815676 Ohm\n", "total capacitance = 2.606290 * 10^-10 F\n", "critical frequency = 0.000162 Hz" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.11, Page Number: 333

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "C_bc=2.4*10**-12; #from previous question\n", "A_v=99.0; #from previous question\n", "R_C=2.2*10**3;\n", "R_L=2.2*10**3;\n", "R_c=R_C*R_L/(R_C+R_L);\n", "C_out_Miller=C_bc*(A_v+1)/A_v;\n", "f_c=1/(2*math.pi*R_c*C_bc); #C_bc is almost equal to C_in_Miller\n", "C_out_Miller=C_out_Miller*10**12\n", "print('equivalent resistance = %d Ohm'%R_c)\n", "print('equivalent capacitance =%f *10^-12 F'%C_out_Miller)\n", "print('critical frequency =%f Hz'%f_c)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "equivalent resistance = 1100 Ohm\n", "equivalent capacitance =2.424242 *10^-12 F\n", "critical frequency =60285963.292385 Hz" ] } ], "prompt_number": 29 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.12, Page Number: 334

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "C_iss=6.0*10**-12;\n", "C_rss=2.0*10**-12;\n", "C_gd=C_rss;\n", "C_gs=C_iss-C_rss;\n", "C_gd=C_gd*10**12\n", "C_gs=C_gs*10**12\n", "print('gate to drain capacitance = %.1f * 10^-12 F'%C_gd)\n", "print('gate to source capacitance = %.1f * 10^-12 F'%C_gs)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "gate to drain capacitance = 2.0 * 10^-12 F\n", "gate to source capacitance = 4.0 * 10^-12 F" ] } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.13, Page Number:335

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "C_iss=8.0*10**-12;\n", "C_rss=3.0*10**-12;\n", "g_m=6500.0*10**-6; #in Siemens\n", "R_D=1.0*10**3;\n", "R_L=10.0*10**6;\n", "R_s=50.0;\n", "C_gd=C_rss;\n", "C_gs=C_iss-C_rss;\n", "R_d=R_D*R_L/(R_D+R_L);\n", "A_v=g_m*R_d;\n", "C_in_Miller=C_gd*(A_v+1);\n", "C_in_tot=C_in_Miller+C_gs;\n", "f_c=1/(2*math.pi*C_in_tot*R_s);\n", "print('critical frequency of input RC circuit =%.3f *10^8 Hz'%(f_c*10**-8))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "critical frequency of input RC circuit =1.158 *10^8 Hz" ] } ], "prompt_number": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.14, Page Number: 336

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "C_gd=3.0*10**-12; #from previous question\n", "A_v=6.5; #from previous question\n", "R_d=1.0*10**3; #from previous question\n", "C_out_Miller=C_gd*(A_v+1)/A_v;\n", "f_c=1/(2*math.pi*R_d*C_out_Miller);\n", "print('critical frequency of the output circuit = %d Hz'%f_c)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "critical frequency of the output circuit = 45978094 Hz" ] } ], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.15, Page Number: 339

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "f_cu=2000.0;\n", "f_cl=200.0;\n", "BW=f_cu-f_cl;\n", "print('bandwidth = %d Hz'%BW)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "bandwidth = 1800 Hz" ] } ], "prompt_number": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.16, Page Number: 340

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "f_T=175.0*10**6; #in hertz\n", "A_v_mid=50.0;\n", "BW=f_T/A_v_mid;\n", "print('bandwidth = %d Hz'%BW)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "bandwidth = 3500000 Hz" ] } ], "prompt_number": 34 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.17, Page Number: 341

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "f_cl=1.0*10**3; #lower critical frequency of 2nd stage in hertz\n", "f_cu=100.0*10**3; #upper critical frequency of 1st stage in hertz\n", "BW=f_cu-f_cl;\n", "print('bandwidth = %d Hz'%BW)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "bandwidth = 99000 Hz" ] } ], "prompt_number": 35 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Example 10.18, Page Number: 341

" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "n=2.0; #n is the number of stages of amplifier\n", "f_cl=500.0;\n", "f_cu=80.0*10**3;\n", "f_cl_new=f_cl/(math.sqrt(2**(1/n)-1));\n", "f_cu_new=f_cu*(math.sqrt(2**(1/n)-1));\n", "BW=f_cu_new-f_cl_new;\n", "print('bandwidth = %f Hz'%BW)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "bandwidth = 50710.653245 Hz" ] } ], "prompt_number": 36 } ], "metadata": {} } ] }