summaryrefslogtreecommitdiff
path: root/Semiconductor_Circuit_Approximations_by_Malvino/16-Op_Amp_Negative_Feedback.ipynb
diff options
context:
space:
mode:
authorPrashant S2020-04-14 10:25:32 +0530
committerGitHub2020-04-14 10:25:32 +0530
commit06b09e7d29d252fb2f5a056eeb8bd1264ff6a333 (patch)
tree2b1df110e24ff0174830d7f825f43ff1c134d1af /Semiconductor_Circuit_Approximations_by_Malvino/16-Op_Amp_Negative_Feedback.ipynb
parentabb52650288b08a680335531742a7126ad0fb846 (diff)
parent476705d693c7122d34f9b049fa79b935405c9b49 (diff)
downloadall-scilab-tbc-books-ipynb-master.tar.gz
all-scilab-tbc-books-ipynb-master.tar.bz2
all-scilab-tbc-books-ipynb-master.zip
Merge pull request #1 from prashantsinalkar/masterHEADmaster
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.ipynb275
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
+}