summaryrefslogtreecommitdiff
path: root/Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks
diff options
context:
space:
mode:
authorPrashant S2020-04-14 10:25:32 +0530
committerGitHub2020-04-14 10:25:32 +0530
commit06b09e7d29d252fb2f5a056eeb8bd1264ff6a333 (patch)
tree2b1df110e24ff0174830d7f825f43ff1c134d1af /Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks
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 'Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks')
-rw-r--r--Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/2-GENERAL_PROPERTIES_OF_FEEDBACK_AMPLIFIERS.ipynb127
-rw-r--r--Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/3-AMPLIFIERS_WITHOUT_FEEDBACK.ipynb165
-rw-r--r--Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/4-FEEDBACK_AMPLIFIER_CIRCUITS.ipynb192
-rw-r--r--Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/5-MORE_ABOUT_FEEDBACK_AMPLIFIERS.ipynb289
-rw-r--r--Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/6-THE_OP_AMPS_BASIC_IDEAS_AND_CIRCUITS.ipynb107
-rw-r--r--Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/7-OP_AMP_NON_IDEALITIES.ipynb150
-rw-r--r--Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/8-SELECTED_OP_AMP_APPLICATIONS.ipynb135
-rw-r--r--Feedback_Circuits_And_Operational_Amplifiers_by_D_H_Horrocks/9-FURTHER_OP_AMP_APPLICATIONS.ipynb156
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
+}