{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# CHAPTER 13: AMPLIFIERS WITH NEGATIVE FEEDBACK" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.1 : Page number 338" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The voltage gain of the amplifier with negative feedback=97.\n" ] } ], "source": [ "#Variable declaration\n", "Av=3000.0; #Voltage gain without feedback\n", "m_v=0.01; #Feedback fraction\n", "\n", "#Calculation\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "Avf=Av/(1+Av*m_v); #Voltage gain of the amplifier with negative feedback\n", "\n", "#Result\n", "print(\"The voltage gain of the amplifier with negative feedback=%.0f.\"%Avf);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.2 : Page number 339" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The fraction of output fedback to the input=1/20.\n" ] } ], "source": [ "#Variable declaration\n", "Av=140.0; #Voltage gain\n", "Avf=17.5; #Voltage gain with negative feedback\n", "\n", "#Calculation\n", "#Since, Avf=Av/(1+Av*mv), so,\n", "mv=(Av-Avf)/(Av*Avf); #Fraction of output fedback to the input\n", "\n", "\n", "#Result\n", "print(\"The fraction of output fedback to the input=1/%.0f.\"%(1.0/mv));\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.3 : Page number 339" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(i) The fraction of output fedback to input=0.01.\n", "(ii) The required amplifier gain for overall gain to be 75=300.\n" ] } ], "source": [ "#Variable declaration\n", "Av=100.0; #Voltage gain\n", "Avf=50.0; #Voltage gain with negative feedback\n", "\n", "#Calculation\n", "#(i)\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "mv=(Av-Avf)/(Av*Avf); #The fraction of output fedback to input\n", "\n", "#(ii) Overall gain is to be 75:\n", "Avf=75.0; #The required overall gain\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "Av=Avf/(1-Avf*mv); #The required value of amplifier gain\n", "\n", "#result\n", "print(\"(i) The fraction of output fedback to input=%.2f.\"%mv);\n", "print(\"(ii) The required amplifier gain for overall gain to be 75=%d.\"%Av);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.4 : Page number 339-340" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(i) The voltage gain without feedback=40.\n", "(ii) The feedback fraction = 1/40.\n" ] } ], "source": [ "#Variable declaration\n", "Vout=10.0; #output voltage , V\n", "Vin_f=0.5; #Input votage for amplifier with feedback, V\n", "Vin=0.25; #Input votage for amplifier without feedback, V\n", "\n", "#Calculation\n", "#(i)\n", "Av=Vout/Vin; #Voltage gain without negative feedback\n", "\n", "#(ii)\n", "Avf=Vout/Vin_f; #Voltage gain with negative feedback\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "mv=(Av-Avf)/(Av*Avf); #Feedback fraction\n", "\n", "#Result\n", "print(\"(i) The voltage gain without feedback=%d.\"%Av);\n", "print(\"(ii) The feedback fraction = 1/%d.\"%(1/mv));\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.5 : Page number 340" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(i) The percentage of reduction in stage gain without feedback=20%.\n", "(ii) The percentage of reduction in net gain with feedback=11.2%\n" ] } ], "source": [ "#Variable declaration\n", "Av=50.0; #Gain without feedback\n", "Avf=25.0; #Gain with negative feedback\n", "\n", "#Calculation\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "mv=(Av-Avf)/(Av*Avf); #Feedback fraction\n", "\n", "#(i)\n", "#percentage of reduction without feedback\n", "Av_reduced=40.0; #Reduced amplifier gain due to ageing\n", "percentage_of_reduction=((Av-Av_reduced)/Av)*100; #Percentage of reduction in stage gain\n", "\n", "print(\"(i) The percentage of reduction in stage gain without feedback=%d%%.\"%percentage_of_reduction);\n", "\n", "#(ii)\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "Avf_reduced=round(Av_reduced/(1+mv*Av_reduced),1); #Reduced net gain with negative feedback \n", "percentage_of_reduction_f=((Avf-Avf_reduced)/Avf)*100; #Percentage of reduction in net gain with feedback\n", "\n", "print(\"(ii) The percentage of reduction in net gain with feedback=%.1f%%\"%percentage_of_reduction_f);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.6 : Page number 340" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The percentage change in system gain=8.36%\n" ] } ], "source": [ "#Variable declaration\n", "Av=100.0; #Gain\n", "mv=0.1; #feedback fraction\n", "Av_fall=6.0; #fall in gain, dB\n", "\n", "#Calculation\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "Avf=round(Av/(1+Av*mv),2); #Total system gain with feedback\n", "\n", "#Since, fall in gain=20*log10(Av/Av_1)\n", "Av1=round(Av/10**(Av_fall/20),0); #New absolute voltage gain without feedback\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "Avf_new=round(Av1/(1+Av1*mv),2); #New net system gain with feedback\n", "\n", "percentage_change=((Avf-Avf_new)/Avf)*100; #Percentage change in system gain\n", "\n", "#Result\n", "print(\"The percentage change in system gain=%.2f%%\"%percentage_change);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.7 : Page number 341" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The feedback fraction=0.008.\n", "The percentage fall in system gain=4.8%.\n" ] } ], "source": [ "#Variable declaration\n", "Av=500.0; #Voltage gain without feedback\n", "Avf=100.0; #Voltage gain with negative feedback\n", "Av_fall_percentage=20.0; #Gain fall percentage due to ageing\n", "\n", "\n", "#Calculation\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "mv=(Av-Avf)/(Av*Avf); #Feedback fraction\n", "Av_reduced=((100-Av_fall_percentage)/100)*Av; #Reduced voltage gain\n", "Avf_reduced=round(Av_reduced/(1+Av_reduced*mv),1); #Reduced total gain of the system\n", "percentage_fall=((Avf-Avf_reduced)/Avf)*100; #Percentage of fall in total system gain\n", "\n", "#Result\n", "print(\"The feedback fraction=%.3f.\"%mv);\n", "print(\"The percentage fall in system gain=%.1f%%.\"%percentage_fall);\n", "\n", "#Note: The percentage gain is calculated in the text as 4.7% due to approximation of Avf to 95.3 whose actual approximation will be (95.238)~95.2. So, the percentage fall calculated here is 4.8%\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.8 : Page number 341" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The voltage gain with feedback=31622.\n", "The feedback fraction=2.16e-05.\n" ] } ], "source": [ "from math import log10\n", "\n", "#Variable declaration\n", "Av=100000.0; #Open loop voltage gain\n", "f_dB=10.0; #Negative feedback, dB\n", "\n", "#Calculation\n", "Av_dB=20*log10(Av); #dB voltage gain without feedback, dB\n", "Avf_dB=Av_dB-f_dB; #dB voltage gain with feedback, dB\n", "Avf=10**(Avf_dB/20); #Voltage gain with feedback\n", "\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "mv=(Av-Avf)/(Av*Avf); #feedback fraction\n", "\n", "#Result\n", "print(\"The voltage gain with feedback=%d.\"%Avf);\n", "print(\"The feedback fraction=%.2e.\"%mv);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.9 : Page number 341-342" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The voltage gain with feedback=47.4.\n" ] } ], "source": [ "#Variable declaration\n", "Ao=1000.0; #Open circuit voltage gain\n", "Rout=100.0; #Output resistance, ohm\n", "RL=900.0; #Resistive load, ohm\n", "mv=1/50; #feedback fraction\n", "\n", "#Calculation\n", "#Since, Av=Ao*RL/(Rout+RL)\n", "Av=Ao*RL/(Rout+RL); #Voltage gain without feedback\n", "Avf=Av/(1+Av*mv); #Voltage gain with feedback\n", "\n", "#Result\n", "print(\"The voltage gain with feedback=%.1f.\"%Avf);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.10 : Page number 342" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "100=Av/(1+Av*mv) ------Eq. 1\n", "99=0.8*Av/(1+0.8*Av*mv) ------Eq. 2\n", "99 + 79.2*Av*mv=0.8Av ------Eq. 3 from Eq. 2\n", "79.2 + 79.2*Av*mv=0.792Av ------Eq. 4 from Eq. 1\n", "Subtracting Eq.4 from Eq.3\n", "19.8 = 0.008*Av\n", "Av=2475.\n", "mv=0.0096.\n" ] } ], "source": [ "#Variable declaration\n", "Avf=100.0; #Voltage gain with feedback\n", "vary_f=1; #Vary percentage in voltage gain with feedback\n", "vary_wf=20; #Vary percentage in voltage gain without feedback\n", "\n", "#Calculation\n", "#Avf=Av/(1+Av*mv)\n", "print(\"%d=Av/(1+Av*mv) ------Eq. 1\"%Avf); #Equation 1\n", "\n", "#considering variation in gains\n", "Avf_vary=Avf*(1- vary_f/100.0); #Gain with feedback, considering variation\n", "print(\"%d=%.1f*Av/(1+%.1f*Av*mv) ------Eq. 2\"%(Avf_vary,(1-vary_wf/100.0),(1-vary_wf/100.0))); #Equation 2\n", "\n", "#Solving the above two equations\n", "print(\"%d + %.1f*Av*mv=%.1fAv ------Eq. 3 from Eq. 2\"%(Avf_vary,Avf_vary*(1-vary_wf/100.0),(1-vary_wf/100.0))); #Equation 3\n", "\n", "#multiplying Eq. 1 with (Avf_vary*(1-vary_wf/100.0))/100=0.792\n", "print(\"%.1f + %.1f*Av*mv=%.3fAv ------Eq. 4 from Eq. 1\"%(Avf*Avf_vary*(1-vary_wf/100.0)/100.0,Avf*Avf_vary*(1-vary_wf/100.0)/100.0,Avf_vary*(1-vary_wf/100.0)/100.0)); #Equation 4\n", "\n", "print(\"Subtracting Eq.4 from Eq.3\" );\n", "print(\"%.1f = %.3f*Av\"%(Avf_vary-Avf*Avf_vary*(1-vary_wf/100.0)/100.0,(1-vary_wf/100.0)-Avf_vary*(1-vary_wf/100.0)/100.0));\n", "Av=(Avf_vary-Avf*Avf_vary*(1-vary_wf/100.0)/100.0)/((1-vary_wf/100.0)-Avf_vary*(1-vary_wf/100.0)/100.0);\n", "print(\"Av=%.0f.\"%Av);\n", "mv=(Av-Avf)/(Av*Avf);\n", "print(\"mv=%.4f.\"%mv);\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.11 : Page number 345" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(i) Feedback fraction=0.1.\n", "(ii) Voltage gain with feedback=10.\n", "(iii) Output voltage=10mV.\n" ] } ], "source": [ "#Variable declaration\n", "Av=10000.0; #Volage gain without feedback\n", "R1=2.0; #Resistor R1, kilo ohm\n", "R2=18.0; #Resistor R2, kilo ohm\n", "Vin=1.0; #input voltage, mV\n", "\n", "#Calculation\n", "#(i)\n", "mv=R1/(R1+R2); #feedback fraction\n", "\n", "#(ii)\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "Avf=round(Av/(1+Av*mv),0); #Voltage gain with feedback\n", "\n", "#(iii)\n", "Vout=Avf*Vin; #Output voltage, mV\n", "\n", "#Result\n", "print(\"(i) Feedback fraction=%.1f.\"%mv);\n", "print(\"(ii) Voltage gain with feedback=%d.\"%Avf);\n", "print(\"(iii) Output voltage=%dmV.\"%Vout);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.12 : Page number 345-346" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(i) Feedback fraction=0.1.\n", "(ii) The voltage gain with feedback=10.\n", "(iii) Increased input impedance due to negative feedback=10 mega ohm\n", "(iv) Decreased output impedance due to negative feedback=0.1 ohm.\n" ] } ], "source": [ "#Variable declaration\n", "Av=10000.0; #Volateg gain without feedback\n", "Zin=10.0; #Input impedance, kilo ohm\n", "Zout=100.0; #Output impedance, ohm\n", "R1=10.0; #Resistor R1, kilo ohm\n", "R2=90.0; #Resistor R2, kilo ohm\n", "\n", "#Calculation\n", "#(i)\n", "mv=R1/(R1+R2); #Feedback fraction\n", "\n", "#(ii)\n", "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n", "Avf=round(Av/(1+Av*mv),0); #Voltage gain with feedback\n", "\n", "#(iii)\n", "Zin_feedback=((1+Av*mv)*Zin)/1000; #Increased input impedance due to negative feedback, mega ohm\n", "\n", "#(iv)\n", "Zout_feedback=Zout/(1+Av*mv); #Decreased output impedance due to negative feedback, ohm\n", "\n", "\n", "#Result\n", "print(\"(i) Feedback fraction=%.1f.\"%mv);\n", "print(\"(ii) The voltage gain with feedback=%d.\"%Avf);\n", "print(\"(iii) Increased input impedance due to negative feedback=%.0f mega ohm\"%Zin_feedback);\n", "print(\"(iv) Decreased output impedance due to negative feedback=%.1f ohm.\"%Zout_feedback);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.13 : Page number 346" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Distortion with negative feedback=0.312%\n" ] } ], "source": [ "#Variable declaration\n", "Av=150.0; #Voltage gain\n", "D=5/100.0; #Distortion\n", "mv=10/100.0; #Feedback fraction\n", "\n", "#Calculation\n", "Dvf=round((D/(1+Av*mv))*100,3); #Distortion with negative feedback\n", "\n", "\n", "#Result\n", "print(\"Distortion with negative feedback=%.3f%%\"%Dvf);\n", "\n", "#Note: In the text, value of Dvf=0.3125% has been approximated to 0.313%. But, here the approximation is done to 0.312%\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.14 : Page number 346" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The new lower cut-off frequency=136.4Hz\n", "The new upper cut-off frequency=5.52MHz\n" ] } ], "source": [ "#Variable declaration\n", "Av=1000.0; #Voltage gain\n", "f1=1.5; #Lower cut-off frequency, kHz\n", "f2=501.5; #Upper cut-off frequency, kHz\n", "mv=1/100.0; #Feedbcack fraction\n", "\n", "#Calculation\n", "f1_f=(f1/(1+mv*Av))*1000; #New lower cut-off frequency, Hz\n", "f2_f=(f2*(1+mv*Av))/1000; #New upper cut-off frequency, MHz\n", "\n", "\n", "#Result\n", "print(\"The new lower cut-off frequency=%.1fHz\"%f1_f);\n", "print(\"The new upper cut-off frequency=%.2fMHz\"%f2_f);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.15 : Page number 348" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The effective current gain=58.82.\n" ] } ], "source": [ "#Variable declaration\n", "Ai=200.0; #Current gain without feedback\n", "mi=0.012; #Current attenuation\n", "\n", "#Calculation\n", "Aif=Ai/(1+Ai*mi);\n", "\n", "#Result\n", "print(\"The effective current gain=%.2f.\"%Aif);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.16 : Page number 349" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The input impedance when negative feedback is applied=3.26 kilo ohm\n" ] } ], "source": [ "#Variable declaration\n", "Ai=240.0; #Current gain\n", "Zin=15.0; #Input impedance without feedback, kilo ohm\n", "mi=0.015; #Current feedback fraction\n", "\n", "#Calculations\n", "Zin_f=Zin/(1+mi*Ai); #Input impedance with feedback, kilo ohm\n", "\n", "\n", "#Result\n", "print(\"The input impedance when negative feedback is applied=%.2f kilo ohm\"%Zin_f);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.17 : Page number 349" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The output impedance with negative feedback=9kilo ohm.\n" ] } ], "source": [ "#Variable declaration\n", "Ai=200.0; #Current gain without feedback\n", "Zout=3.0; #Output impedance without feedback, kilo ohm\n", "mi=0.01; #current feedback fraction\n", "\n", "#Calculation\n", "Zout_f=Zout*(1+mi*Ai); #Output impedance with negative feedback, kilo ohm\n", "\n", "#Result\n", "print(\"The output impedance with negative feedback=%dkilo ohm.\"%Zout_f);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.18 : Page number 349" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Bandwidth when negative feedback is applied=1400kHz.\n" ] } ], "source": [ "#Variable declaration\n", "Ai=250.0; #Current gain without feedback\n", "BW=400.0; #Bandwidth, kHz\n", "mi=0.01; #current feedback fraction\n", "\n", "#Calculation\n", "BW_f=BW*(1+mi*Ai); #Bandwidth when negative feedback is applied, kHz\n", "\n", "#Result\n", "print(\"Bandwidth when negative feedback is applied=%dkHz.\"%BW_f);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.19 : Page number 350-351" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Value of VE=9.72V and IE=10.68mA\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as p\n", "\n", "#Variable declaration\n", "VCC=18.0; #Supply voltage, V\n", "R1=16.0; #Resistor R1, kilo ohm\n", "R2=22.0; #Resistor R2, kilo ohm\n", "RE=910.0; #Emitter resistor, ohm\n", "VBE=0.7; #Base-emitter voltage, V\n", "\n", "#Calculations\n", "V2=VCC*R2/(R1+R2); #Voltage across R2, V (Voltage divider rule)\n", "VE=V2-VBE; #Emitter voltage, V\n", "IE=(VE/RE)*1000; #Emitter current, mA (OHM's LAW)\n", "\n", "#D.C load line\n", "IC_sat=(VCC/RE)*1000; #Collector saturation current, mA\n", "VCE_off=VCC; #Collector-emitter voltage in off state, V\n", "\n", "#Result\n", "print(\"Value of VE=%.2fV and IE=%.2fmA\"%(VE,IE));\n", "\n", "#Plotting\n", "VCE_plot=[0,VCE_off]; #Plotting variable for VCE\n", "IC_plot=[IC_sat,0]; #Plotting variable for IC\n", "p.plot(VCE_plot,IC_plot);\n", "p.xlim(0,20)\n", "p.ylim(0,25)\n", "p.xlabel('VCE(V)');\n", "p.ylabel('IC(mA)');\n", "p.title('d.c load line');\n", "p.grid();\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.20 : Page number 352" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The voltage gain of the emitter follower circuit=0.994.\n" ] } ], "source": [ "#Variable declaration\n", "VCC=10.0; #Supply voltage, V\n", "R1=10.0; #Resistor R1, kilo ohm\n", "R2=10.0; #Resistor R2, kilo ohm\n", "RE=5.0; #Emitter resistance, kilo ohm\n", "VBE=0.7; #Base-emitter voltage, V\n", "\n", "\n", "#Calculation\n", "V2=VCC*R2/(R1+R2); #Voltage across R2, V (Voltage divider rule)\n", "VE=V2-VBE; #Emitter voltage, V\n", "IE=(VE/RE); #Emitter current, mA (OHM's LAW)\n", "re=25/IE; #a.c emitter resistance, ohm\n", "Av=RE*1000/(re+RE*1000); #Voltage gain\n", "\n", "\n", "#Result\n", "print(\"The voltage gain of the emitter follower circuit=%.3f.\"%Av);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.21 : Page number 352-353" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The voltage gain=0.988\n" ] } ], "source": [ "#Variable declaration\n", "RE=5.0; #Emitter resistance, kilo ohm\n", "re=29.1; #a.c emitter resistance, ohm\n", "RL=5.0; #Load resistance, kilo ohm\n", "\n", "#Calculation\n", "RE_ac=(RE*RL)/(RE+RL); #New effective value of emitter resistance, kilo ohm\n", "Av=RE_ac*1000/(re+RE_ac*1000); #Voltage gain\n", "\n", "#Result\n", "print(\"The voltage gain=%.3f\"%Av);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.22 : Page number 354" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The input impedance of the emitter follower =4.96 kilo ohm\n", "The approximate value of the input impedance=5 kilo ohm\n" ] } ], "source": [ "def pr(r1,r2): #Function for calculating parallel resistance\n", " return (r1*r2)/(r1+r2);\n", "\n", "#Variable declaration\n", "VCC=10.0; #Supply voltage, V\n", "R1=10.0; #Resistor R1, kilo ohm\n", "R2=10.0; #Resistor R2, kilo ohm\n", "RE=4.3; #Emitter resistor, kilo ohm\n", "RL=10.0; #Load resistance, kilo ohm\n", "VBE=0.7; #Base-emitter voltage, V\n", "beta=200.0; #Base current amplification factor\n", "\n", "#Calculation\n", "V2=VCC*R2/(R1+R2); #Voltage across R2, V (Voltage divider rule)\n", "VE=V2-VBE; #Emitter voltage, V\n", "IE=(VE/RE); #Emitter current, mA (OHM's LAW)\n", "re=25/IE; #a.c emitter resistance, ohm\n", "RE_eff=pr(RE,RL); #Effective external emitter resistance, kilo ohm\n", "Zin_base=beta*(re/1000+RE_eff); #Input impedance of the base of the transistor, kilo ohm\n", "Zin=pr(pr(R1,R2),Zin_base); #Input impedance of emitter follower, kilo ohm\n", "#Approximate value of input impedance taken as parallel resistance of R1 and R2 and ignoring Zin_base due to its relatively large value\n", "Zin_approx=pr(R1,R2); #Approximate input impedance, kilo ohm\n", "\n", "#Result\n", "print(\"The input impedance of the emitter follower =%.2f kilo ohm\"%Zin);\n", "print(\"The approximate value of the input impedance=%d kilo ohm\"%Zin_approx);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.23 : Page number 355" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The output impedance=22.3 ohm\n" ] } ], "source": [ "def pr(r1,r2): #Function for calculating parallel resistance\n", " return (r1*r2)/(r1+r2);\n", "\n", "\n", "#Variable declaration\n", "re=20.0; #a.c emitter resistance, ohm\n", "R1=3.0; #Resistor R1, kilo ohm\n", "R2=4.7; #Resistor R2, kilo ohm\n", "RS=600.0; #Source resistance, kilo ohm\n", "beta=200.0; #Base current amplification factor\n", "\n", "#Calculation\n", "Rin_ac=pr(pr(R1,R2)*1000,RS); #Input a.c resistance, ohm\n", "Zout=re + Rin_ac/beta; #Output impedance, ohm\n", "\n", "#Result\n", "print(\"The output impedance=%.1f ohm\"%Zout);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.24 : Page number 358" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(i) d.c value of current in RE=1.09mA\n", "(ii) Input impedance=16.17 mega ohm.\n" ] } ], "source": [ "#Variable declaration\n", "VCC=10.0; #Supply voltage, V\n", "R1=120.0; #Resistor R1, kilo ohm\n", "R2=120.0; #Resistor R2, kilo ohm\n", "RE=3.3; #Emitter resistor, kilo ohm\n", "VBE=0.7; #Base-emitter voltage, V\n", "beta_1=70.0; #Base current amplification factor of 1st transistor\n", "beta_2=70.0; #Base current amplification factor of 2nd transistor\n", "\n", "#Calculation\n", "#(i)\n", "V2=VCC*R2/(R1+R2); #Voltage across R2, V (Voltage divider rule)\n", "IE_2=(V2-2*VBE)/RE; #Emitter current, mA (OHM's LAW)\n", "\n", "#(ii)\n", "Zin=(beta_1*beta_2*RE)/1000; #Input impedance, mega ohm\n", "\n", "#Result\n", "print(\"(i) d.c value of current in RE=%.2fmA\"%IE_2);\n", "print(\"(ii) Input impedance=%.2f mega ohm.\"%Zin);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 13.25 : Page number 358-359" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(i) D.C Bias levels: \n", " VB1= 4V, VE1=3.3V, VB2=3.3V, VE2=2.6V, IE2=1.3mA and IE1=0.013mA.\n", "(ii) A.C Analysis: \n", " re1=1923 ohm and re2=19.23 ohm \n" ] } ], "source": [ "#Variable declaration\n", "VCC=12.0; #Supply voltage, V\n", "R1=20.0; #Resistor R1, kilo ohm\n", "R2=10.0; #Resistor R2, kilo ohm\n", "RC=4.0; #Collector resistor, kilo ohm\n", "RE=2.0; #Emitter resistor, kilo ohm\n", "VBE=0.7; #Base-emitter voltage, V\n", "beta=100.0; #Base current amplification factor of 1st transistor\n", "\n", "#Calculation\n", "#(i) D.C Bias levels\n", "VB1=VCC*R2/(R1+R2); #Base voltage of 1st transistor, V (Voltage divider rule)\n", "VE1=VB1-VBE; #Emitter voltage of 1st transistor, V\n", "VB2=VE1; #Base voltage of 2nd transistor, V\n", "VE2=VB2-VBE; #Emitter voltage of 2nd transistor, V\n", "IE2=VE2/RE; #Emitter current of 2nd transistor, mA (OHM' LAW)\n", "IE1=IE2/beta; #Emitter current of 1st transistor, mA (IE~IC=beta*IB, here IB2=IE1)\n", "\n", "#(ii) A.C analysis\n", "re1=25/IE1; #a.c emitter resistance of 1st transistor\n", "re2=25/IE2; #a.c emitter resistance of 2nd transistor\n", "\n", "\n", "#Result\n", "print(\"(i) D.C Bias levels: \\n VB1= %dV, VE1=%.1fV, VB2=%.1fV, VE2=%.1fV, IE2=%.1fmA and IE1=%.3fmA.\"%(VB1,VE1,VB2,VE2,IE2,IE1));\n", "print(\"(ii) A.C Analysis: \\n re1=%d ohm and re2=%.2f ohm \"%(re1,re2));\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" }, "widgets": { "state": {}, "version": "1.1.2" } }, "nbformat": 4, "nbformat_minor": 0 }