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 /Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks | |
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 'Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks')
8 files changed, 1321 insertions, 0 deletions
diff --git a/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/2-GENERAL_PROPERTIES_OF_FEEDBACK_AMPLIFIERS.ipynb b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/2-GENERAL_PROPERTIES_OF_FEEDBACK_AMPLIFIERS.ipynb new file mode 100644 index 0000000..4ea968b --- /dev/null +++ b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/2-GENERAL_PROPERTIES_OF_FEEDBACK_AMPLIFIERS.ipynb @@ -0,0 +1,127 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2: GENERAL PROPERTIES OF FEEDBACK AMPLIFIERS" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.1: feedback_fractio.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//example1:\n", +"printf(' Given:')\n", +"disp('value of A=1000')//To display given values\n", +"A=1000\n", +"disp('Magnitude of closed loop gain with feedback,Af=10')\n", +"Af=10\n", +"disp('Af=(A)/(1+A*b)')//standard formula for closed loop gain \n", +"disp('b=((A/Af)-1)*(1/A)')\n", +"b=((A/Af)-1)*(1/A)\n", +"printf(' The value of b is %f',b)\n", +"//if,A becomes 900angle(-30 degrees)\n", +"A=900*cos(-%pi/6)+%i*900*sin(-%pi/6) \n", +"disp('If,A becomes 900angle(-30 degrees)')\n", +"disp('Af=(A)/((1+A*b))')//standard formula for closed loop gain \n", +"Af=(A)/((1+A*b))\n", +"r=real(Af)//To get real part of Af\n", +"i=imag(Af)//To get imaginary part of Af\n", +"printf(' The value of Af is (%f)+i(%f)',r,i)//to display value of Af\n", +"t=tan(i/r)//to get angle in radians of Af\n", +"t=t*180/%pi//to get angle in degrees\n", +"m=abs(Af)//to get magnitude of Af\n", +"printf('\n Af=%fangle(%f degrees)',m,t)\n", +"printf('\n Af=10.004angle(-0.32 degrees)')//rounding to 3 digits" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.2: Expected_variations_in_closed_loop_gain.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//To calculate the expected variations in closed loop gain \n", +"disp('Given:')\n", +"disp('Af=10+0.2% or 10-0.2%')//To display given values\n", +"disp('-->Af=10 and dAf/Af=0.2%')\n", +"disp('The available amplifiers are with gains 50,500,5000')\n", +"disp('dA/A=20%')\n", +"disp('We have from formula')\n", +"disp('dAf/Af=(1/(1+A*b))*(dA/A)')//standard formula for closed loop gain \n", +"disp('let f=0.2%=(dAf/Af),a=20%=(dA/A),k=(1+A*b)')\n", +"disp('Therefore we have:')\n", +"Af=10;\n", +"printf(' Af=%d\n',Af)\n", +"f=0.2/100;\n", +"printf(' f=%f\n',f)\n", +"a=20/100;\n", +"printf(' a=%f',a)\n", +"disp('Therefore,the above formula becomes f=(1/k)*a')\n", +"k=a/f\n", +"printf(' Therefore (1=A*b)>=%d,but,A=(1+A*b)*Af',k)\n", +"l=k*Af//store partial value\n", +"disp('A>=k*Af')//given condition\n", +"printf(' Therefore we got the value of A to be >=%d',l)//display value of A\n", +"printf('\n Therefore A=5000 satisfies the obtained condition.Therefore A=5000 is most economical')\n", +"A=5000\n", +"b=((A/Af)-1)*(1/A)\n", +"printf(' The value of b is %f',b)\n", +"disp('Pratical values of A are 4000 and 6000,since dA/A=(+-20%) and A=5000')\n", +"disp('Therefore ')\n", +"Afmin=(4000/(1+(4000*b)))//to print result\n", +"Afmax=(6000/(1+(6000*b)))//to print result\n", +"printf(' Afmin=%1.3f',Afmin)\n", +"devAfmin=(1-(Afmin/Af))*100;//deviation of Afmin from Af\n", +"printf('(%1.2f percent low)',devAfmin)//to display deviation from original value\n", +"printf('\n Afmax=%2.3f',Afmax)\n", +"devAfmax=(1-(Afmax/Af))*100;//deviation of Afmax from Af\n", +"dev=abs(devAfmax);//negative value of devAfmax indicates Afmax is greater than Af by abs(devAfmax)\n", +"printf('(%1.2f percent high) ',dev)//to display deviation from original value" + ] + } +], +"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 +} diff --git a/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/3-AMPLIFIERS_WITHOUT_FEEDBACK.ipynb b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/3-AMPLIFIERS_WITHOUT_FEEDBACK.ipynb new file mode 100644 index 0000000..63658aa --- /dev/null +++ b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/3-AMPLIFIERS_WITHOUT_FEEDBACK.ipynb @@ -0,0 +1,165 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 3: AMPLIFIERS WITHOUT FEEDBACK" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.1: Output_voltage_and_gain_of_two_stage_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//example1:\n", +"printf(' Given:')\n", +"disp('The value of Rin=Rout=100kohms,Rload=1kohm,Kv=100')//To display given values\n", +"Rin=100//assigning given values\n", +"Rout=100\n", +"Rload=1\n", +"Kv=100\n", +"disp('All resistances are in kohms')\n", +"disp('The whole two stage amplifier is fed by a generator having a voltage of Eg=1mV when no load and having self resistance Rg=20kohms')\n", +"Eg=(1/1000)//Eg converted to volts\n", +"Rg=20//all resistances are in kohms\n", +"disp('Since amplifiers are identical')//given\n", +"disp('Rin1=Rin')\n", +"disp('Rin2=Rin')\n", +"disp('Rout1=Rout')\n", +"disp('Rout2=Rout')\n", +"Rin1=Rin//assigning given values\n", +"Rin2=Rin\n", +"Rout1=Rout\n", +"Rout2=Rout\n", +"disp('Vout2 is given by equation')\n", +"disp('Vout2=((Eg)*(Rin1/(Rg+Rin1)))*(Kv)*(Rin2/(Rout1+Rin2))*(Kv)*(Rload/(Rout2+Rload))')\n", +"Vout2=((Eg)*(Rin1/(Rg+Rin1)))*(Kv)*(Rin2/(Rout1+Rin2))*(Kv)*(Rload/(Rout2+Rload))//equation for Vout2\n", +"printf(' Therefore Vout2=%f',Vout2)\n", +"disp('Vin is given by equation ')\n", +"disp('Vin=(Eg*(Rin1/Rg+Rin1))')\n", +"Vin=(Eg*(Rin1/(Rg+Rin1)))//Equation for Vin\n", +"disp('Now overall gain ')\n", +"disp('Av=(Vout2/Vin)')\n", +"Av=(Vout2/Vin)//Equation for Av\n", +"printf(' Therefore Vout2=%f and overall voltage gain Av=%f',Vout2,Av)//To print the required values." + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.2: single_stage_amplifier_parameters.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"rin=10000;//in ohms\n", +"Kv=100;//constant for voltage-controlled voltage-source\n", +"rout=1000;//in ohms\n", +"//load resistance Rload\n", +"Rload=4000;//in ohms\n", +"C2=50*(10**-12);//in Farads\n", +"disp('Vout=Vin*(input voltage coupling)*Kv*(output voltage coupling)');\n", +"disp('(i)Mid band gain');\n", +"disp('Av=(Vout/Vin)=Kv*(Rload/(rout+Rload))');\n", +"Av=Kv*(Rload/(rout+Rload));\n", +"disp('(ii)For the upper half-power frequency');\n", +"disp('fu=(1/(2*%pi))*(1/(C2*(rout||Rload)))');\n", +"fu=(1/(2*%pi))*(1/(C2*((rout*Rload)/(rout+Rload))));\n", +"//Let coupling capacitance be C\n", +"disp('(iii)For coupling capacitance C ');\n", +"disp('fl=(1/(2*%pi))*(1/(C*rin))');\n", +"fl=10;//given lower half-power frequency fl\n", +"disp('C=1/(2*%pi*fl*rin)');\n", +"C=1/(2*%pi*fl*rin);\n", +"disp('RESULTS:\n');\n", +"printf('(i)Mid-band gain=%d\n',Av);\n", +"printf('(ii)Upper half-power frequency=%1.2f MHz\n',fu/(10**6));//fu divided by 10^6 to convert into MHz\n", +"printf('(iii)Coupling capacitance C for fl to be 10Hz is %1.2f uF\n',C*(10**6));// C multiplied by 10^6 by convert to microFarads" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3.3: Common_mode_rejection_ratio_and_differential_mode.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"disp('given:')\n", +"disp('The voltage generated by an transducer which is connected to differential amplifier is Vdm=50mV ')\n", +"Vdm=50*(1/1000)//Vdm in volts\n", +"disp('Vcm=5V')\n", +"Vcm=5\n", +"disp('Vout should be equal to 10V')\n", +"Vout=10\n", +"disp('The unwanted output component owing to the common-mode input is to be less than 1% of the wanted component i.e Voutcm=1% of Voutdm')\n", +"Voutcm=(1/100)*10\n", +"printf(' Voutcm=%f',Voutcm)\n", +"disp('Let amplifier differential-mode gain be Adm')\n", +"disp('Vout,Admand Vdm are related as')\n", +"disp('Vout=Adm*Vdm------(1)')\n", +"disp('Adm=Vout/Vdm')\n", +"Adm=Vout/Vdm\n", +"printf(' Therefore amplifier differential-mode gain(Adm)=%d',Adm)\n", +"disp('Equation (1)can also be used for calculating unwanted output component')\n", +"disp('Unwanted components arise when operating in common-mode')\n", +"disp('Acm=Voutcm/Vcm')\n", +"Acm=Voutcm/Vcm\n", +"printf(' Common-mode gain Acm=%f',Acm)\n", +"disp('Now CMRR can be calculated using relation')\n", +"disp('CMRR=Adm/Acm')\n", +"CMRR=Adm/Acm\n", +"printf(' There fore CMRR of amplifier should be greater than or equal to %f',CMRR)\n", +"printf(' CMRR>=%d',CMRR)" + ] + } +], +"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 +} diff --git a/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/4-FEEDBACK_AMPLIFIER_CIRCUITS.ipynb b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/4-FEEDBACK_AMPLIFIER_CIRCUITS.ipynb new file mode 100644 index 0000000..cc029fd --- /dev/null +++ b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/4-FEEDBACK_AMPLIFIER_CIRCUITS.ipynb @@ -0,0 +1,192 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4: FEEDBACK AMPLIFIER CIRCUITS" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.1: input_resistance_of_a_feedback_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//input resistance in Kohm\n", +"Rin=1;\n", +"//voltage gain\n", +"Av=1000;\n", +"//feedback fraction \n", +"Bv=0.1;\n", +"//Let input resistance after feedback is applied be Zif\n", +"AB=Av*Bv;\n", +"Zif=Rin*(1+AB);//Zif in Kohms\n", +"printf('RESULTS:\n');\n", +"printf('Input resistance after feedback is applied Zif=%dKohms',Zif);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.2: input_resistance_of_a_feedback_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//input impedance in ohms\n", +"Rin=10000;\n", +"//Trans-resistance in ohms\n", +"Rt=(10)^(5);\n", +"//feedback fraction Bg\n", +"Bg=(10)^(-3);\n", +"AB=Rt*Bg;\n", +"//input impedance after feedback is applied Zif in ohms\n", +"Zif=Rin/(1+AB);\n", +"printf('RESULTS:\n');\n", +"printf('Input impedance after feedback applied is Zif=%d Ohms',Zif);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.3: parameters_of_a_feedback_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Trans-resistance Rtf in Kohms\n", +"Rtf=(-10);\n", +"//given\n", +"R1=20;//in Kohms\n", +"R2=5;\n", +"Rc=1;\n", +"//transistor parameters in kohms\n", +"hie=1;\n", +"hfe=0.1;\n", +"//feedback fraction Bg\n", +"Bg=1/Rtf;\n", +"R=(-Rtf);\n", +"//input resistance ri in ohms\n", +"a=(R1*R2*hie)/((R1*R2)+(R1*hie)+(R2*hie));\n", +"ri=(a);\n", +"//Output resistance in ohms\n", +"ro=1000*Rc;\n", +"b=(R1*R2)/(R1+R2);\n", +"//let\n", +"i1=1;\n", +"ib=i1*b/(b+hie);\n", +"ic=hfe*ib;\n", +"//output voltage Vo\n", +"Vo=(-Rc*ic);\n", +"Rt=Vo/i1*1000;\n", +"//Feedback factor F\n", +"F=1+(Rt*Bg);\n", +"//closed loop gain Rtf\n", +"Rtf=Rt/F;\n", +"//closed loop input resistance rif\n", +"rif=ri/F;\n", +"//closed loop output resistance rof\n", +"rof=ro/F;\n", +"printf('RESULTS\n');\n", +"printf('closed-loop gain,Rtf=%1.2fKohms\n',Rtf);\n", +"printf('closed-loop input resistance rif=%2.0f Ohms\n',1000*rif);//in ohms\n", +"printf('closed-loop output resistance rof=%d Ohms',rof);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.4: series_voltage_feedback_circuit.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//caption:series voltage feedback circuit\n", +"//given in ohms\n", +"R1=10000;\n", +"R2=2000;\n", +"Rc=2000;\n", +"//transistor parameters in Ohms\n", +"hie=1000;//in ohms\n", +"hfe=100;\n", +"//loop gain Avf\n", +"Avf1=(R1+R2)/R2;//there is corrected equation.in text book,it needs a correction\n", +"Bv=1/Avf1;\n", +"//forward voltage gain Av\n", +"Av=(0.5)*hfe*Rc/hie;\n", +"//feedback factor F\n", +"F=(1+Av*Bv);\n", +"//closed loop gain Avf\n", +"Avf=Av/F;\n", +"//input resistance ri\n", +"ri=2*hie;\n", +"//input resistance after feed back rif\n", +"rif=ri*F;\n", +"//output resistance ro\n", +"ro=Rc;\n", +"//output resistance after feedback rof\n", +"rof=ro/F;\n", +"printf('RESULTS\n');\n", +"printf('(i)voltage amplification Avf=%1.2f, This accords with the previous value of Avf=%d\n',Avf,Avf1);\n", +"printf('(ii)input resistance after feed back rif=%2.1fKohms\n',rif/1000);//to convert ohms to Kohms\n", +"printf('(iii)input resistance after feed back rof=%dKohms\n',rof);//to convert ohms to Kohms\n", +"" + ] + } +], +"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 +} diff --git a/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/5-MORE_ABOUT_FEEDBACK_AMPLIFIERS.ipynb b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/5-MORE_ABOUT_FEEDBACK_AMPLIFIERS.ipynb new file mode 100644 index 0000000..490db61 --- /dev/null +++ b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/5-MORE_ABOUT_FEEDBACK_AMPLIFIERS.ipynb @@ -0,0 +1,289 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5: MORE ABOUT FEEDBACK AMPLIFIERS" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.1: Voltage_shunt_feedback_circuit.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//caption:shunt voltage feedback circuit\n", +"//example5.1\n", +"printf('Given:');\n", +"printf('R=10 Kohms,\nR1=20Kohms,\nR2=5Kohms,\nhfe=100Kohms,hie=1Kohm,\nRc=1Kohm');\n", +"R=10000;\n", +"R1=20000;//in ohms\n", +"R2=5000;\n", +"Rc=1000;\n", +"hfe=100;\n", +"Bg=-1/R;\n", +"hie=1000;\n", +"printf('Therefore Bg=%1.5f\n',Bg);\n", +"printf('RT=input current coupling factor*-hfe*effective cdollector resistance\n');\n", +"printf('RT=(R1||R2||R)/((R1||R2||R)+hfe)*hfe*(Rc||R)\n');\n", +"a=(R1*R2*R)/((R1*R)+(R*R2)+(R1*R2));\n", +"b=(Rc*R)/(Rc+R);\n", +"RT=(-hfe*a*b)/(a+hie)/1000;\n", +"printf('RT=%2.1fKohms\n',RT);\n", +"c=1+(RT*1000*Bg);\n", +"d=(1/R1)+(1/R2)+(1/R)+(1/hie);\n", +"Zi=1/d;\n", +"Zo=b;\n", +"RTf=RT/c;\n", +"rif=Zi/c;\n", +"rof=Zo/c;\n", +"printf('RESULTS:\n');\n", +"printf('RT=%2.1fKohms\n',RT);\n", +"printf('Zi=%3.1fohms\n',Zi);\n", +"printf('Zo=%dohms\n',Zo);\n", +"printf('Closed-loop gain,RTf=%1.2fKohms\n',RTf);\n", +"printf('Closed-loop input resistance,rif=%dohms\n',rif);\n", +"printf('Closed-loop output resistance,rof=%dohms\n',rof);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.2: amplifier_parameters.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//caption:amplifier parameters\n", +"//given values of resistances\n", +"R1=10000;//in ohms\n", +"R2=2000;//in ohms\n", +"Rc=2000;//in ohms\n", +"hie=1000;//in ohms\n", +"hfe=100;\n", +"ri1=2*hie;\n", +"//unloaded feed-backfraction Bv\n", +"Bv=R2/(R1+R2);\n", +"disp('Av=ri1/(ri1+(R1||R2))*(Vo/Via)');\n", +"disp('Av=(1*hfe/2)*(ri1/(ri1+(R1||R2)))*(Rc||(R1+R2))/hie');\n", +"Av=(1*hfe/2)*(ri1/(ri1+(R1*R2/(R1+R2))))*(Rc*(R1+R2)/(Rc+R1+R2))/hie;\n", +"C=1+(Av*Bv);\n", +"//open-loop input resistance ri\n", +"ri=ri1+(R1*R2/(R1+R2));\n", +"//open-loop output resistance ro\n", +"ro=Rc*(R1+R2)/(Rc+R1+R2);\n", +"//closed-loop gain,Avf\n", +"disp('closed-loop gain, Avf=Av/C,where C=1+Av*Bv');\n", +"Avf=Av/C;\n", +"//closed-loop input resistance,rif\n", +"disp('closed-loop input resistance, rif=ri*C');\n", +"rif=ri*C;\n", +"//closed-loop output resistance, rof\n", +"disp('closed-loop output resistance, rof=ro/C,where C=1+Av*Bv');\n", +"rof=ro/C;\n", +"printf('RESULTS:\n');\n", +"printf('Closed-loop gain,Avf=%1.2f(previously 5.66)\n',Avf);\n", +"printf('Closed-loop input resistance,rif=%2.1f Kohms(previously 35.3Kohms)\n',rif/1000);//divided by 1000 to convert to Kohms\n", +"printf('Closed-loop output resistance,rof=%3.0f Ohms(previously 113 ohms)\n',rof);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.4: closed_loop_current_gain_input_output_resistance.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//example5.4\n", +"//Shunt circuit feedback configuration//given \n", +"R1=10000;//in ohms\n", +"R2=2000;//in ohms\n", +"Rc1=5000;//in ohms\n", +"hie=1000;//in ohms\n", +"hfe=100;\n", +"//unloaded feedback fraction B1\n", +"B1=R2/(R1+R2);\n", +"disp('open loop forward current amplification A1=io/i');\n", +"iia=1;//let\n", +"disp('ib=input-current coupling factor*iia');\n", +"disp('ib=(R1+R2)*iia/(R1+R2+hie)');\n", +"ib=(R1+R2)*iia/(R1+R2+hie);\n", +"disp('V2=(-hfe)*(Rc1||ri2)*ib');\n", +"disp('ri2=hie+(1+hfe)*(R1||R2)');\n", +"ri2=hie+(1+hfe)*(R1*R2/(R1+R2));\n", +"V2=(-hfe)*(Rc1*ri2/(Rc1+ri2))*ib;\n", +"disp('io/V2=C=-hfe/(hie+(1+hfe)*(R1||R2))');\n", +"C=-hfe/(hie+(1+hfe)*(R1*R2/(R1+R2)));\n", +"disp('Open loop current gain=A1=io/i=(ib/i)*(V2/ib)*(io/V2)');\n", +"A1=(ib/iia)*(V2/ib)*(C);\n", +"disp('Open-loop input resistance, ri=(R1+R2)||hie');\n", +"ri=(R1+R2)*hie/(R1+R2+hie);\n", +"disp('Open-loop output resistance ro as seen by the load resistance Rc2 is infinitely large since the load is in series with the infinitely large collector resistance of the transistor.');\n", +"disp('Closed-loop current gain,A1f=A1/(1+A1*B1)');\n", +"A1f=A1/(1+A1*B1);\n", +"disp(A1f);\n", +"disp('Closed-loop input resistance,rif=ri/(1+A1*B1)');\n", +"rif=ri/(1+A1*B1);\n", +"disp(rif);\n", +"disp('Closed-loop output resistance,rof=ro(1+A1*B1), since ro is infinitely large,the rof is also large infinitely..');\n", +"printf(' RESULTS:\n\n');\n", +"printf(' A1f=%1.2f,\n\n',A1f);\n", +"printf(' rif=%2.1f ohms,\n\n',rif);//approximately\n", +"printf(' rof=infinite\n\n');" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.5: Voltage_shunt_feedback_circuit.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//important:In this example ro1 value is contradicting in text book,sometimes they used 1K0hm and sometimes 4Kohms,the code below used ro1=2KOhms as specified in question\n", +"//example5.5\n", +"//caption:Shunt voltage feedback circuit\n", +"//input resistance ri1\n", +"ri1=1000;//in ohms\n", +"//output resistance ro1\n", +"ro1=2000;//in ohms\n", +"//trans resistance Kr\n", +"Kr=-10^6;//in ohms\n", +"//Feedback resistor R\n", +"R=10000;//in ohms\n", +"//current source Jg\n", +"Jg=0.001;//in Amps\n", +"//source internal resistance rg\n", +"rg=2000;//in ohms\n", +"//load resistance rl\n", +"rl=5000;//in ohms\n", +"//unloaded feedback fraction \n", +"Bg=-1/R;\n", +"disp('Unloaded feedback fraction,Bg=-1/R');\n", +"disp('open loop gain,RTs=Vo/Jg=input current coupling factor*Kr*output voltage coupling factor');\n", +"RTs=((rg*R/(rg+R))/(ri1+(rg*R/(rg+R))))*Kr*((rl*R/(rl+R))/(ro1+(rg*R/(rg+R))));\n", +"printf('RTs=%d ohms',RTs/1000);\n", +"disp('Open-loop input resistance,ris=rg||R||ri1');\n", +"ris=rg*R*ri1/(rg*R+R*ri1+rg*ri1);\n", +"printf('\nris=%d ohms',ris);\n", +"disp('Open-loop output resistance,ros=ro1||R||rl');\n", +"ros=rl*R*ro1/(rl*R+R*ro1+rl*ro1);\n", +"printf('ros=%d Ohms',ros);\n", +"disp('Closed-loop gain,RTf=RTs/(1+RTs*Bg)');\n", +"RTfs=RTs/(1+RTs*Bg);\n", +"printf('\nRTfs=%1.2f Kohms',RTfs/1000);\n", +"disp('Closed-loop input resistance,rifs=ris/(1+RTs*Bg)');\n", +"rifs=ris/(1+RTs*Bg);\n", +"printf('rifs=%d Ohms',rifs);\n", +"disp('Closed-loop output resistance,rof=ros/(1+RTs*Bg)');\n", +"rofs=ros/(1+RTs*Bg);\n", +"printf('rofs=%2.1f Ohms',rofs);\n", +"printf('RESULTS:\n');\n", +"Vout=RTfs*Jg;\n", +"printf('\n(i)The output voltage=%1.2f V',Vout);\n", +"disp('rifs=rif*rg/(rif+rg)==>rif=rg*rifs/(rg-rifs)');\n", +"rif=rg*rifs/(rg-rifs);\n", +"printf('\n(ii)The input resistance seen by the actual signal source is %2.1f Ohms',rif);\n", +"disp('rofs=rof*rl/(rof+rl)==>rof=rl*rofs/(rl-rofs)');\n", +"rof=rl*rofs/(rl-rofs)\n", +"printf('\n(iii)The output resistance seen by the load is %2.1f Ohms',rof);\n", +"printf('(iV)The closed-loop gain of the amplifier');\n", +"disp('RTf=Vo/i1,where')\n", +"disp('i1=current coupling factor*Jg=rg*Jg/(rg+rif)');\n", +"RTf=(rg+rif)*RTfs/rg;\n", +"printf('(iV)The closed-loop gain of the amplifier circuit is %1.2f Kohms',RTf/1000);//divided by 1000 to convert ohms to Kohms." + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.6: feed_back_fractio.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//given\n", +"//current gain of transistor A\n", +"A=100;\n", +"//upper half-power frequency fh\n", +"fh=2*(10^6);//in Hz\n", +"//closed-loop current gain Acl\n", +"Acl=10;\n", +"//band width BW\n", +"BW=10*(10^6);//in Hz\n", +"//gain bandwidth product ABWp\n", +"ABWp=Acl*BW;//in Hz\n", +"//gain bandwidth product of transistor ABWpt\n", +"ABWpt=A*fh;//in Hz\n", +"printf('The gain bandwidth product of the transistor is %d*(10^8),which is greater the minimum required i.e. %d*(10^8) and therefore the transistor is suitable\n',ABWpt/(10^8),ABWp/(10^8))\n", +"disp('Acl=A/(1+A*B)==> B =(1/A)*(A/Acl-1)\n');\n", +"B =(1/A)*(A/Acl-1);\n", +"printf('Required value of B is %1.2f',B);" + ] + } +], +"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 +} diff --git a/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/6-THE_OP_AMPS_BASIC_IDEAS_AND_CIRCUITS.ipynb b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/6-THE_OP_AMPS_BASIC_IDEAS_AND_CIRCUITS.ipynb new file mode 100644 index 0000000..f718c87 --- /dev/null +++ b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/6-THE_OP_AMPS_BASIC_IDEAS_AND_CIRCUITS.ipynb @@ -0,0 +1,107 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6: THE OP AMPS BASIC IDEAS AND CIRCUITS" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.1: design_values_of_an_inverting_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"R1=1;\n", +"//voltage gain of an inverting amplifier Av\n", +"Av=-100;\n", +"printf('Av=(-R2/R1)\nTherefore R2=-Av*R1');\n", +"R2=-Av*R1;\n", +"printf('\nRESULTS:\n');\n", +"printf('The design values are R1=%d Kohms and R2=%d Kohms',R1,R2);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.2: gain_of_a_negative_feedback_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//Typical 741 type op-amp Differential gain A\n", +"A=200000;\n", +"R1=1;//in Kohms\n", +"R2=10;\n", +"//Circuit gain in negative feedback Av\n", +"Av=-(R2/R1)*(A*(R1/(R1+R2))/(1+(A*(R1/(R1+R2)))));\n", +"printf('Circuit gain Av=%2.4f',Av);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.4: non_inverting_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"Av=100;\n", +"printf('Av=1+(R1/R2)\n');\n", +"//Let R2=1 Kohms\n", +"R2=1;//in Kohms\n", +"printf('R1=(Av-1)*R2');\n", +"R1=(Av-1)*R2;\n", +"printf('\nRESULTS:\n');\n", +"printf('The design values are R1=%d Kohms and R2=%d Kohm',R1,R2);" + ] + } +], +"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 +} diff --git a/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/7-OP_AMP_NON_IDEALITIES.ipynb b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/7-OP_AMP_NON_IDEALITIES.ipynb new file mode 100644 index 0000000..e663c6b --- /dev/null +++ b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/7-OP_AMP_NON_IDEALITIES.ipynb @@ -0,0 +1,150 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 7: OP AMP NON IDEALITIES" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.1: Output_voltage.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"A=200000;\n", +"//Offset voltage Vos in mV\n", +"Vos=5;\n", +"//output voltage Vout=A*Vos in mV\n", +"printf('\nVout=A*Vos\n');\n", +"Vout=A*Vos;\n", +"printf('RESULTS:\n')\n", +"printf('The maximum output voltage Vout=%d V',Vout/1000);//in volts" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.2: output_offset_voltage.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"printf('A=1+(R1/R2)\n');\n", +"A=10;\n", +"//out put voltage of an op-amp owing to voltage offset effects Vout\n", +"printf('Vout=-A*Vos');\n", +"Vos=5;//in mV\n", +"Vout=-A*Vos;\n", +"printf('\nRESULTS:\n');\n", +"printf('Output offset voltage is Vout=%d mV',Vout);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.4: inverting_voltage_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"Av=-10;\n", +"disp('Av=-(R2/R1)*(A*B/1+A*B), where A-differential gain and B=R1/R1+R2');\n", +"disp('When A*B>>1,Av=-(R2/R1)=Av1');\n", +"Av1=Av;\n", +"disp('abs(A)>>1+(R2/R1)=1+abs(Av1)');\n", +"A=1+abs(Av1);\n", +"disp('Because the cross over point occurs at a significantly higher frequency than the dominant frequency at 10Hz ');\n", +"disp('The phase angle of A is very close to -90degrees=%pi/2 radians');\n", +"disp('Using the j-notation the gain A at the crossover point is equal to %i*11');\n", +"A=%i*11;\n", +"disp('1+abs(Av1)=(R1+R2)/R1');\n", +"Av=(-10)*(A/(1+abs(Av1)))/(1+(A/(1+abs(Av1))));\n", +"Av2=abs(Av);\n", +"M=Av/Av2;\n", +"printf(' The closed-loop gain at the cross over point is thus reduced by a factor %f and therefore point corresponds to upper half-power frequency which is 90KHz',M)\n", +"disp('Therefore fh=90KHz, fl=0KHz');\n", +"fh=90;//in KHz\n", +"fl=0;//in KHz\n", +"disp('Bandwidth BW=fh-fl'); \n", +"BW=fh-fl;\n", +"printf(' RESULTS:\n');\n", +"printf(' The closed-loop bandwidth is %d KHz',BW);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.5: Full_power_bandwith_frequency.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"SR=0.5*(10^6);\n", +"//given operating power supplies +-12V\n", +"printf('\nGiven operating power supplies +-12V\n');\n", +"printf('For 741 op-amp,the output can work typically to within 1V of the power supplies.\nSo,Vom=11V\n');\n", +"Vom=11;//in volts\n", +"printf('f=(1/(2*pi))*(SR/Vom)\n');\n", +"f=(1/(2*%pi))*(SR/Vom);\n", +"printf('RESULTS:\n');\n", +"printf('Full-power bandwidth frequency f=%d Hz',f);" + ] + } +], +"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 +} diff --git a/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/8-SELECTED_OP_AMP_APPLICATIONS.ipynb b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/8-SELECTED_OP_AMP_APPLICATIONS.ipynb new file mode 100644 index 0000000..48b78a8 --- /dev/null +++ b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/8-SELECTED_OP_AMP_APPLICATIONS.ipynb @@ -0,0 +1,135 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8: SELECTED OP AMP APPLICATIONS" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.1: basic_differential_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"Adm=100;\n", +"printf('Gain of an difference amplifier Adm=(1+(R2/R1))/(1+(R3/R4))\n');\n", +"printf('Let (R2/R1)=A and (R3/R4)=B\n');\n", +"printf('Therefore Adm=(1+A)/(1+B)\n');\n", +"printf('A=Adm,');\n", +"printf('gives B=1/Adm\n');\n", +"A=Adm;\n", +"B=1/Adm;\n", +"printf('By suitable selection of resistors say R1=R2=1 Kohm');\n", +"R1=1;//in Kohm\n", +"R3=1;\n", +"R2=Adm*R1;\n", +"R4=Adm*R3;\n", +"printf('\nRESULTS:\n');\n", +"printf('Reasonable set of resistors R1=%d Kohm,R2=%d Kohms,R3=%d Kohm,R4=%d Kohms.',R1,R2,R3,R4);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.2: Instrumental_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"Adm=100;\n", +"printf('Adm=100=10*10,therefore it requires(R2/R1)=10 Kohms and (R4/R3)=10 Kohms\n')\n", +"printf('Therefore if R1=R3=10 Kohms, then R2=R4=100 kohms\n');\n", +"R1=10;//in Kohms\n", +"R2=100;\n", +"R3=10;\n", +"R4=100;\n", +"printf('Adm=(1+2(Rb/Ra))*R4/R3\n');\n", +"printf('(Rb/Ra)=B\n');\n", +"printf('Adm=(1+2*B)*R4/R3\n');\n", +"B=((Adm/(R4/R3))-1)/2;\n", +"printf('Rb/Ra=%1.1f\n',B);\n", +"printf('If Ra=10 Kohms\n');\n", +"Ra=10;//in kohms\n", +"Rb=B*Ra;\n", +"printf('\nRESULTS:\n');\n", +"printf('The value of resistors are R1=%d Kohms,R2=%d Kohms,R3=%d Kohms,R4=%d Kohms,Ra=%d Kohms,Rb=%d Kohms',R1,R2,R3,R4,Ra,Rb);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.3: wein_bridge_oscillator.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//caption:wein bridge oscillator\n", +"//To design a wein bridge oscillator of frequency fo=10KHz\n", +"fo=10000;//in Hz\n", +"printf('Capacitance C,Resistance R and Frequency fo are related as C*R=1/(2*pi*fo)\n');\n", +"printf('If C*R=A\n');\n", +"A=1/(2*%pi*fo);\n", +"C=0.01*(10^-6);//in farads\n", +"R=A/C;//in ohms\n", +"B=R/1000;//to convert to Kohms\n", +"printf('Taking C=0.01microfarad, we get R=%1.2f Kohms\n',B);//in Kohms\n", +"printf('Gain of a non-inverting amplifier should be 3 i.e. Av=1+(R1/R2)=3\n');\n", +"printf('This gives (R1/R2)=2, by selecting R2=10 Kohms, we get R1=20 Kohms\n');\n", +"R2=10;\n", +"R1=20;//in Kohms\n", +"printf('The gain must be restricted between 2.8 to 3.2, by selecting proper resistors Ra and Rb such that R1=Ra||Rb this can be achieved.\n');\n", +"printf('These values of Ra and Rb comes out to be Ra=22Kohms and Rb=220Kohms\n');\n", +"printf('RESULTS:\n');\n", +"printf('design values are R=%1.2f Kohms, C=0.01 microFarad,Ra=22 Kohms,Rb=220 Kohms\n',B);" + ] + } +], +"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 +} diff --git a/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/9-FURTHER_OP_AMP_APPLICATIONS.ipynb b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/9-FURTHER_OP_AMP_APPLICATIONS.ipynb new file mode 100644 index 0000000..0929fa0 --- /dev/null +++ b/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/9-FURTHER_OP_AMP_APPLICATIONS.ipynb @@ -0,0 +1,156 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9: FURTHER OP AMP APPLICATIONS" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.1: Design_of_phase_shifter.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//caption:Design of phase shifter\n", +"//example9.1\n", +"disp('Given frequency fo=10 KHz,Vrms=5 V,phi=10 degrees\n');\n", +"disp('Taking A=C3*R4\n');\n", +"phi=10;//in degrees\n", +"fo=1000;//in Hz\n", +"disp('phi=180-2(atan(2*%pi*f*A))');\n", +"A=tan((180-10)*%pi/(180*2))/(2*fo*%pi);\n", +"printf('Therefore A=C3*R4=%f sec.\n',A);\n", +"R4=10000;//let (in ohms)\n", +"printf('C3 and R4 values are selected such that their product equals or greater than %f, The above values are preferable for low cost and bias compensation',A);\n", +"C3=A/R4;\n", +"printf('\nC3=%f uF',C3*10^6);\n", +"disp('To lower the cost of design,the preferred value is C31=0.22uF');\n", +"C31=0.22;//let Such that C31>C3\n", +"disp('since,C31*R4>A,C31 can be preferred')\n", +"printf('Similarly, R1 and R2 values should be of Good matching to obtain accurate unity gain modulus ');\n", +"printf('RESULTS:\n');\n", +"printf('(i)Resistors, R1=R2=10Kohms\n');\n", +"printf('(iii)R4=%d Kohms\n',R4/1000);//divided by 1000 to display in Kohms\n", +"printf('(iii)Capacitor, C3=%1.2f uF\n',C31);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.2: design_of_non_inverting_amplifier.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//caption:design of non inverting amplifier\n", +"//to design a non inverting amplifier\n", +"//mid-band gain Av\n", +"Av=100;\n", +"//input impedance Zin\n", +"Zin=1000000;//in ohms\n", +"//cut-off frequencies fl1 and fl2\n", +"fl1=10;//in Hz\n", +"fl2=10;//in Hz\n", +"//From problem it follows\n", +"R3=Zin;\n", +"disp('fl2=1/(2*%pi*C2*R3)');\n", +"disp('C2=1/(2*%pi*fl2*R3)');\n", +"C2=1/(2*%pi*fl2*R3);\n", +"disp('Av=1+(R2/R1)');\n", +"disp('Bias compensation can also be obtained by taking R2=R3=1MHz');\n", +"R2=R3;\n", +"disp('R1=1/(Av-1)*R2');\n", +"R1=1/(Av-1)*R2;\n", +"printf('R1=%1.1f Kohms, preferred and standard value is 10Kohms\n',R1/1000);\n", +"R=R1;\n", +"R1=10000;//in ohms\n", +"disp('fl1=1/(2*%pi*C1*R3)');\n", +"disp('C1=1/(2*%pi*fl1*R3)');\n", +"C1=1/(2*%pi*fl1*R1);\n", +"printf('RESULTS: Design summary\n');\n", +"printf('R1=%1.1f Kohms, preferred and standard value is 10Kohms\n',R/1000);\n", +"printf('R2=R3=%d Mohm\n',R3/10**6);//divided by 10^6 to convert to Mohms\n", +"printf('C1=%1.2f uF but standard and preferred value is 2.2 uF\n',C1*(10**6));\n", +"printf('C2=%2.1f nF but standard and preferred value is 22 uF\n',C2*(10**9));\n", +"" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.3: low_pass_second_order_filter.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"//caption:low pass second order filter\n", +"//to design a low pass second order filter\n", +"//since it is butterworth filter\n", +"Q=1/sqrt(2);\n", +"Wo=100;//in rad/sec.\n", +"H=-2;\n", +"bo=H;\n", +"a1=1/(Q*Wo);\n", +"a2=1/(Wo**2);\n", +"printf('It is convenient to choose R=100Kohms\n');\n", +"R=100;//in Kohms\n", +"R3=R;\n", +"R4=R;\n", +"R1=R4/(-bo);\n", +"a3=R3+R4+((R3*R4)/R1);\n", +"C5=(a1/a3)*(10**6);//in uF\n", +"C2=a2/(R3*R4*C5)*(10**9);//in nF\n", +"printf('RESULTS:\n');\n", +"printf('R=%dKohms,\nR1=%dKohms,\nR3=%dKohms,\nR4=%dKohms,\nC2=%1.3f nF,\nC5=%2.1fuF',R,R1,R3,R4,C2,C5);" + ] + } +], +"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 +} |