summaryrefslogtreecommitdiff
path: root/Electronics_Devices_and_Circuits_by_G_S_N_Raju/10-Feedback_Amplifier.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Electronics_Devices_and_Circuits_by_G_S_N_Raju/10-Feedback_Amplifier.ipynb')
-rw-r--r--Electronics_Devices_and_Circuits_by_G_S_N_Raju/10-Feedback_Amplifier.ipynb364
1 files changed, 364 insertions, 0 deletions
diff --git a/Electronics_Devices_and_Circuits_by_G_S_N_Raju/10-Feedback_Amplifier.ipynb b/Electronics_Devices_and_Circuits_by_G_S_N_Raju/10-Feedback_Amplifier.ipynb
new file mode 100644
index 0000000..0eb3243
--- /dev/null
+++ b/Electronics_Devices_and_Circuits_by_G_S_N_Raju/10-Feedback_Amplifier.ipynb
@@ -0,0 +1,364 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 10: Feedback Amplifier"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.10: Voltage_and_input_and_output_resistance.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_10\n",
+"clc\n",
+"//parameters of emitter follower circuit:\n",
+"hie = 1.1*10^3//input resistance\n",
+"hfe = 80//current gain\n",
+"hoe = 2*10^-5//output conductance\n",
+"Re = 2.2*10^3//emitter resistance\n",
+"disp('hie = '+string(hie)+'ohm')\n",
+"disp('hfe = '+string(hfe))\n",
+"disp('hoe = '+string(hoe)+'mho')\n",
+"disp('Re = '+string(Re)+'ohm')\n",
+"gm = hfe/hie\n",
+"Rif = hie*(1+gm*Re)//input resistance with feedback\n",
+"disp('Rif = hie*(1+gm*Re) = '+string(Rif)+'ohm')\n",
+"Rof = hie/(1+hfe)//output resistance with feedback\n",
+"disp('Rof = hie/(1+hfe) = '+string(Rof)+'ohm')\n",
+"Avf = gm*Re/(1+gm*Re)//voltage gain with negative feedback\n",
+"disp('Avf = gm*Re/(1+gm*Re) = '+string(Avf))"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.1: Close_loop_gai.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_1\n",
+"clc\n",
+"Av = 80//voltage gain\n",
+"beta = 0.001//feedback ratio\n",
+"disp('Av = '+string(Av))\n",
+"disp('beta = '+string(beta))\n",
+"Avf = Av/(1+beta*Av)//gain with negative feedback\n",
+"disp('Avf = Av/(1+beta*Av) = '+string(Avf))"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.2: Close_loop_gain_and_bandwidth.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_2\n",
+"clc\n",
+"Av = 50//voltage gain\n",
+"beta = 0.01//feedback ratio\n",
+"BW = 100*10^3//bandwidth\n",
+"disp('Av = '+string(Av))\n",
+"disp('beta = '+string(beta))\n",
+"disp('Bandwidth = '+string(BW)+'Hz')\n",
+"Avf = Av/(1+beta*Av)//gain with negative feedback\n",
+"disp('Avf = Av/(1+beta*Av) = '+string(Avf))\n",
+"BWf = BW*(1+beta*Av)//bandwidth with negative feedback\n",
+"disp('(B.W)f = '+string(BWf)+'Hz')\n",
+"\n",
+"\n",
+"// note : using variable 'BW' instad of 'B.W' ... as, if using B.W the software takes it as a function.\n",
+"// similarly using 'BWf' instead of (B.W)f."
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.3: Feedback_with_reduced_distortio.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_3\n",
+"clc\n",
+"Av = 200// voltage gain\n",
+"D = 0.05// harmonic distortion in amplifier\n",
+"Df = 0.02//final reduced distortion\n",
+"beta = (D/Df-1)/Av//feedback gain\n",
+"disp('Av = '+string(Av))\n",
+"disp('D = '+string(D))\n",
+"disp('Df = '+string(Df))\n",
+"disp('beta = (D/Df - 1)/Av = '+string(beta))\n",
+"disp('beta = '+string(beta*100)+'%')"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.4: Change_in_close_loop_gain.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_4\n",
+"clc\n",
+"Av1 = 100//initial voltage gain\n",
+"beta = 0.001//feedback ratio\n",
+"disp('Av1 = '+string(Av1))\n",
+"disp('beta = '+string(beta))\n",
+"Af1 = Av1/(1+beta*Av1)//initial gain with negative feedback\n",
+"disp('Af1 = Av1/(1+beta*Av1) = '+string(Af1))\n",
+"\n",
+"Av2 = 150//final voltage gain\n",
+"beta = 0.001//feedback ratio\n",
+"disp('Av2 = '+string(Av2))\n",
+"disp('beta = '+string(beta))\n",
+"Af2 = Av2/(1+beta*Av2)//final gain with negative feedback\n",
+"disp('Af2 = Av2/(1+beta*Av2) = '+string(Af2))\n",
+"\n",
+"change_in_gain = Af2 - Af1//required change in gain\n",
+"disp('change in gain required = Af2 - Af1 = '+string(change_in_gain))\n",
+"delta_Avf = change_in_gain/Af1\n",
+"disp('delta_Avf = Af2-Af1/Af1 = '+string(delta_Avf)+'%')"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.5: Open_loop_gain_and_feedback_ratio.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_5\n",
+"clc\n",
+"Av = 40//voltage gain in decibles\n",
+"disp('Av = '+string(Av)+'dB')\n",
+"Av = 10^(Av/20)//voltage gain in V/V\n",
+"disp('Av = '+string(Av))\n",
+"Avf = 20//voltage gain with negative feedback in decibles\n",
+"disp('Avf = '+string(Avf)+'dB')\n",
+"Avf = 10^(Avf/20)//voltage gain with negative feedback in V/V\n",
+"disp('Avf = '+string(Avf))\n",
+"beta = ((Av/Avf)-1)/Av//feedback ratio\n",
+"disp('beta = (Av/Avf - 1)/Av = '+string(beta))\n",
+"\n",
+"\n",
+"\n",
+"// note: solution in the textbook for the above problem is wrong."
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.6: Close_loop_and_bandwidth.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_6\n",
+"clc\n",
+"Av = 100//voltage gain\n",
+"beta = 0.05//feedback ratio\n",
+"BW = 400*10^3 //bandwidth\n",
+"disp('Av = '+string(Av))\n",
+"disp('beta = '+string(beta))\n",
+"disp('B.W. = '+string(BW)+'Hz')\n",
+"Af = Av/(1+beta*Av)//gain with negative feedback\n",
+"disp('Af = Av/(1+beta*Av) = '+string(Af))\n",
+"BWf = BW*(1+beta*Av)//bandwidth with negative feedback\n",
+"disp('(B.W)f = '+string(BWf)+'Hz')\n",
+"\n",
+"\n",
+"// note : using variable 'BW' instad of 'B.W' ... as, if using B.W the software takes it as a function.\n",
+"// similarly using 'BWf' instead of (B.W)f."
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.7: Voltage_gain_and_feedback_ratio.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_7\n",
+"clc\n",
+"Po = 100//output power\n",
+"RL = 10//load resistance\n",
+"disp('Po = '+string(Po)+'W')\n",
+"disp('RL = '+string(RL)+'ohm')\n",
+"vo = (RL*Po)^0.5//output voltage\n",
+"vi = 2//input voltage\n",
+"disp('vo = (Rl*Po)^0.5 = '+string(vo)+'V')\n",
+"disp('vi = '+string(vi)+'V')\n",
+"Av = vo/vi//voltage gain\n",
+"disp('Av = vo/vi = '+string(Av))\n",
+"D = 0.04// harmonic distortion in amplifier\n",
+"Df = 0.0002//distortion after feedback\n",
+"beta = (D/Df-1)/Av//feedback gain\n",
+"disp('D = '+string(D))\n",
+"disp('Df = '+string(Df))\n",
+"disp('beta = (D/Df - 1)/Av = '+string(beta))"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.8: Feedback_ratio.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_8\n",
+"clc\n",
+"BW = 500*10^3//bandwidth\n",
+"A = 200//gain of amplifier\n",
+"BWf = 2*10^6//bandwidth with negative feedback\n",
+"disp('B.W = '+string(BW)+'HZ')\n",
+"disp('A = '+string(A))\n",
+"disp('(B.W)f = '+string(BWf)+'Hz')\n",
+"beta = ((BWf/BW)-1)/A//feedback ratio\n",
+"disp('beta = ((B.W)f/B.W - 1)/A = '+string(beta))\n",
+"disp('beta = '+string(beta*100)+'%')\n",
+"\n",
+"// note : using variable 'BW' instad of 'B.W' ... as, if using B.W the software takes it as a function.\n",
+"// similarly using 'BWf' instead of (B.W)f."
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.9: Gain_and_3dB_frequency.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//Ex10_9\n",
+"clc\n",
+"A = 150//gain of amplifier\n",
+"beta = 0.05//feedback ratio\n",
+"disp('A = '+string(A))\n",
+"disp('beta = '+string(beta))\n",
+"Af = A/(1+beta*A)//gain with negative feedback\n",
+"disp('Af = A/(1+beta*A) = '+string(Af))\n",
+"fL = 20*10^3//lower 3dB frequency\n",
+"fU = 160*10^3//upper 3dB frequency\n",
+"disp('fL = '+string(fL)+'Hz')\n",
+"disp('fU = '+string(fU)+'Hz')\n",
+"fLf = fL/(1+beta*A)//lower 3dB gain with negative feedback\n",
+"disp('fLf = fL/(1+beta*A) = '+string(fLf)+'Hz')\n",
+"fUf = fU*(1+beta*A)//upper 3dB gain with negative feedback\n",
+"disp('fUf = fU*(1+beta*A) = '+string(fUf)+'Hz')"
+ ]
+ }
+],
+"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
+}