diff options
author | Prashant S | 2020-04-14 10:25:32 +0530 |
---|---|---|
committer | GitHub | 2020-04-14 10:25:32 +0530 |
commit | 06b09e7d29d252fb2f5a056eeb8bd1264ff6a333 (patch) | |
tree | 2b1df110e24ff0174830d7f825f43ff1c134d1af /Semiconductor_Circuit_Approximations_by_Malvino/16-Op_Amp_Negative_Feedback.ipynb | |
parent | abb52650288b08a680335531742a7126ad0fb846 (diff) | |
parent | 476705d693c7122d34f9b049fa79b935405c9b49 (diff) | |
download | all-scilab-tbc-books-ipynb-master.tar.gz all-scilab-tbc-books-ipynb-master.tar.bz2 all-scilab-tbc-books-ipynb-master.zip |
Initial commit
Diffstat (limited to 'Semiconductor_Circuit_Approximations_by_Malvino/16-Op_Amp_Negative_Feedback.ipynb')
-rw-r--r-- | Semiconductor_Circuit_Approximations_by_Malvino/16-Op_Amp_Negative_Feedback.ipynb | 275 |
1 files changed, 275 insertions, 0 deletions
diff --git a/Semiconductor_Circuit_Approximations_by_Malvino/16-Op_Amp_Negative_Feedback.ipynb b/Semiconductor_Circuit_Approximations_by_Malvino/16-Op_Amp_Negative_Feedback.ipynb new file mode 100644 index 0000000..ab629ce --- /dev/null +++ b/Semiconductor_Circuit_Approximations_by_Malvino/16-Op_Amp_Negative_Feedback.ipynb @@ -0,0 +1,275 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 16: Op Amp Negative Feedback" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 16.1: Output_voltage_and_error_voltage.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 16.1\n", +"format('v',5)\n", +"clc;\n", +"clear;\n", +"close;\n", +"// given data\n", +"A=100000;//unit less\n", +"R1= 98*10^3;// in Ω\n", +"R2= 2*10^3;// in Ω\n", +"Vin= 1*10^-3;// in V\n", +"B= R2/(R1+R2);// unit less\n", +"A_CL= 1/B;// unit less\n", +"A_CL= A/(1+A*B);// unit less\n", +"// The output voltage \n", +"Vout= Vin*A_CL;// in V\n", +"// The error voltage \n", +"Verror= Vout/A;// in V\n", +"Vout= Vout*10^3;// in mV\n", +"Verror= Verror*10^6;// in µV\n", +"disp(Vout,'The output voltage in mV is : ')\n", +"disp(Verror,'The error voltage in µV is : ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 16.2: ACL_Vout_and_Verror.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 16.2\n", +"format('v',6)\n", +"clc;\n", +"clear;\n", +"close;\n", +"// given data\n", +"A=20000;\n", +"B= 0.02;\n", +"Vin= 1;// in mV\n", +"Vin= Vin*10^-3;// in V\n", +"// The closed loop voltage gain,\n", +"A_CL= A/(1+A*B);\n", +"// The output voltage,\n", +"Vout= Vin*A_CL;// in V\n", +"// The error voltage,\n", +"Verror= Vout/A;// in V\n", +"Vout= Vout*10^3;// in mV\n", +"Verror= Verror*10^6;// in µV\n", +"disp(A_CL,'The value of A_CL is : ');\n", +"disp(Vout,'The value of Vout in mV is : ')\n", +"disp(Verror,'The value of Verror in µV is : ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 16.3: Closed_loop_input_and_output_impedence.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 16.3\n", +"format('v',6)\n", +"clc;\n", +"clear;\n", +"close;\n", +"// given data\n", +"A=100000;\n", +"R1= 100*10^3;// in Ω\n", +"R2= 100;// in Ω\n", +"r_in= 2*10^6;// in Ω\n", +"r_out= 75;// in Ω\n", +"B= R2/(R1+R2);// unit less\n", +"// The closed loop input impedence \n", +"r_in_CL= (1+A*B)*r_in;// in Ω\n", +"// The closed loop output impedence \n", +"r_out_CL= r_out/(1+A*B);// in Ω\n", +"r_in_CL=r_in_CL*10^-6;// in Mohm\n", +"disp(r_in_CL,'The closed loop input impedence in MΩ is : ')\n", +"disp(r_out_CL,'The closed loop output impedence in Ω is : ')\n", +"" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 16.4: Closed_loop_voltage_gai.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 16.4\n", +"format('v',6)\n", +"clc;\n", +"clear;\n", +"close;\n", +"// given data\n", +"A=100;\n", +"R_B= 39*10^3;// in Ω\n", +"r_in= 2*10^6;// in Ω\n", +"r_out= 75;// in Ω\n", +"Vin_off= 2*10^-3;// in V\n", +"I_B1= 90*10^-9;// in A\n", +"I_in_off= 20*10^-9;// in A\n", +"// The closed loop voltage gain \n", +"B=1;// unit less\n", +"// The closed-loop input impedance\n", +"r_in_CL= (1+A*B)*r_in;// in Ω\n", +"r_in_CL= r_in_CL*10^-6;// in Mohm\n", +"disp(B,'The closed loop voltage gain is : ')\n", +"disp(r_in_CL,'The closed-loop input impedance in MΩ is : ')\n", +"A=100000;\n", +"// The closed-loop output impedance\n", +"r_out_CL= r_out/A;// in Ω\n", +"disp(r_out_CL,'The closed-loop output impedance in Ω is : ')\n", +"//Let V= V1-V2 = Vin_off+I_B1*R_B\n", +"V= Vin_off+I_B1*R_B;// in A\n", +"// The output offset voltage \n", +"Voo_CL= A*V/A;// in V\n", +"Voo_CL= Voo_CL*10^3;// in mV\n", +"disp(Voo_CL,'The output offset voltage in mV is : ')" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 16.5: Closed_loop_voltage_gai.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 16.5\n", +"format('v',6)\n", +"clc;\n", +"clear;\n", +"close;\n", +"// given data\n", +"R_F= 22*10^3;// in Ω\n", +"R_S= 1*10^3;// in Ω\n", +"A= 100000;// unit less\n", +"// The closed-loop voltage gain\n", +"A_CL= R_F/R_S;\n", +"// The desensitivity\n", +"desensitivity= A/A_CL;\n", +"disp(A_CL,'The closed-loop voltage gain is : ')\n", +"disp(desensitivity,'The desensitivity is : ')\n", +"\n", +"" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 16.6: Value_of_FCL.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Example 16.6\n", +"format('v',6)\n", +"clc;\n", +"clear;\n", +"close;\n", +"// given data\n", +"f_unity= 1*10^6;// in Hz\n", +"// For A_CL= 1000, The value of f_CL\n", +"A_CL= 1000;\n", +"f_CL= f_unity/A_CL;// in Hz\n", +"f_CL= f_CL*10^-3;// in kHz\n", +"disp(f_CL,'For A_CL= 1000, The value of f_CL in kHz is : ')\n", +"// For A_CL= 100, The value of f_CL\n", +"A_CL= 100;\n", +"f_CL= f_unity/A_CL;// in Hz\n", +"f_CL= f_CL*10^-3;// in kHz\n", +"disp(f_CL,'For A_CL= 100, The value of f_CL in kHz is : ')\n", +"// For A_CL= 10, The value of f_CL\n", +"A_CL= 10;\n", +"f_CL= f_unity/A_CL;// in Hz\n", +"f_CL= f_CL*10^-3;// in kHz\n", +"disp(f_CL,'For A_CL= 10, The value of f_CL in kHz is : ')\n", +"// For A_CL= 1, The value of f_CL\n", +"A_CL= 1;\n", +"f_CL= f_unity/A_CL;// in Hz\n", +"f_CL= f_CL*10^-6;// in MHz\n", +"disp(f_CL,'For A_CL= 1, The value of f_CL in MHz is : ')" + ] + } +], +"metadata": { + "kernelspec": { + "display_name": "Scilab", + "language": "scilab", + "name": "scilab" + }, + "language_info": { + "file_extension": ".sce", + "help_links": [ + { + "text": "MetaKernel Magics", + "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" + } + ], + "mimetype": "text/x-octave", + "name": "scilab", + "version": "0.7.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} |