{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# Chapter 7: Active Filters and Oscillators" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.1" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R is 15.9 kOhms\n", "Use 20 kohm POT as R\n", "Resistance R1 is 10.0 kilo ohms\n", "Resistance Rf is 10.0 kilo ohms\n" ] } ], "source": [ "\n", "#Example 7.1\n", "#Design a low pass filter at a cutoff frequency of 1kHz\n", "#with a passband gain of 2\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fh=1*10**3 #Cut-off frequency\n", "C=0.01*10**-6 #Assumption\n", "R1=10*10**3 #Assumption\n", "Rf=R1 #Since passband gain is 2,R1 and Rf must be equal\n", "\n", "\n", "#calculation\n", "R=1/(2*math.pi*fh*C)\n", "\n", "#result\n", "print \"Resistance R is\",round(R/10**3,1),\"kOhms\"\n", "print \"Use 20 kohm POT as R\"\n", "print \"Resistance R1 is\",round(R1/10**3),\"kilo ohms\"\n", "print \"Resistance Rf is\",round(Rf/10**3),\"kilo ohms\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.2" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "New Resistance Rnew is 9937.5 Ohms\n" ] } ], "source": [ "\n", "#Example 7.2\n", "#Using the frequency scaling technique,convert the 1 kHz cutoff frequency of the\n", "#lowpass filter of example 7-1 to a cutoff frequency of 1.6 kHz.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fc0=1*10**3 #Original cut-off frequency\n", "fc1=1.6*10**3 #New cut-off frequency\n", "R=15.9*10**3 #Original resistance value\n", "\n", "#calculation\n", "k=fc0/fc1\n", "Rnew=R*k\n", "\n", "#result\n", "print \"New Resistance Rnew is\",Rnew,\"Ohms\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.3" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEfCAYAAABSy/GnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu8VXP+x/HXUShKN6JQJ5ViUkqSkdokd9PkltAdhcEM\noTDTiXEbufxyHyJFURq5RzgbuUSp5NKoo1CaiKR00eX8/vis3V5nt885++zbd1/ez8djP85aa6+9\n1md/H7U++/v9rvX9goiIiIiIiIiIiIiIiIiIiIiIiIiIiIikUStgHvAr8BfHsYiISAYbC9zpOggR\nic9OrgOQvNIU+KKC9/Pp32OB9xIRkQhvAVuADViTVEtgHPAg8AqwDjgWaAxMBX4AvgYu8x2jpveZ\nn4HPgauB73zvbwMO8K2PA27yrZ+KNYmtBt4DDvG9txS4CpgP/AI8Dezqe7+n99k1wGLgBOAsYHbE\n97wSmBa9CAgC//TOvd6LtTUwA/gJWOgdM+Rk73v+Cizz4gMIeOsjgB+BJcC5vs/VAcZjZbgUuJ5w\nchoAzATuwMrxa+BE32cHACXeOb+OOO4gLOH/DEwHmpTzPUVEElaMXXRCxmEX5yO99ZrAHOAGoDrQ\nDLt4He+9fxvwNlAX2A/4DPjWd7zIhPE4cKO33B5YCRyOXTz7YRfanb33lwAfAvsA9bAL4xDvvU5e\nnN299cZYf8wu2IW+te+cc4Fe5Xz/IHYBPwirTdXBEl5/b/1QLAGEjrcCOMpbruN9B7CEsRkY7cXf\nFUu4B3rvjweeA3bHanX/JVzuA4DfgcFeOQwFlnvv7Y4lxJbe+t7Awd5yT2CR9713wpLQe+V8TxGR\nhBVjF6qQx7GkEXIE8E3EZ0YAj3nL/uQBcCEV1zD8CeNB33LIQuBobznyV/rt3mcAHqb8vpcHsVoD\nwB+wX987l7NvMVDkW+8NvBOxz8PAP7zlb4CLgD0i9glgCaOmb9szWKKtBmyibBK7yDs3WMJY5Htv\nN6zcGmIJYzVwesSxAV6lbLLfCfgN2B/JG/nUZiyZoTRifZlvuSn263217zUCu5jhvedPEP7aRWWa\nYk06/mPv5x0z5H++5Q3YBRRvv5JyjvsE4UTTF7twb64gDn/8TbEk6Y/pXOyXPcAZWLPUUqx20tn3\n2dVejCHfAI2ABljC8ifeb4F9fev+77ne+1sLSwC9sVrH98BLWI0iFOv/+eL8ydvuP67kOCUMcc2f\nQL7FfunX8732wPoewJpo/O3mkW3o67FfzCGNIo59c8Sxa2EX+Mp8B7Qo570PsSaerkAfYEIlx4r8\nvm9HxFQbuNR7fzbwZ2AvrF9ksu+z9Sj7XZtiF/lVWMIq9L3XhLKJuSKvY7W4fbAa2CO+WC+KiHV3\n7PtLnlDCkHQrKGcZ4CNgLXAN1iRSDWgDdPTen4zVOEJ9GJdR9gI8DzjP+9yJ2EU85BHsl3Mn77y7\nA6dgSaOyWMcCA7FO+Z2wX9WtfPtNAO7DEsf7FRzPf0ywX/AHAudjtYKdsT6W1t7yeVjfxVasXLZG\nHGuUt9/R3neZgjUvTcaSYy0skfwNeLKSuMBqcj2xstmM1ThC53wIuI5wn0YdynbQSx5QwpB0K41Y\n9q9vw2oTh2J36PwI/JtwG/4orKllCXaXznjKXoCvAE4j3LTznO+9OVifx31YP8MirOM7soksWmwf\nYwnjbqzzu5iytZsJWP9FLBdl//nWYb/mz8E6nlcAt2Kd6WCJZAnWEX0RlkBC/ud9z++98w8BvvLe\nuwy72H8NvAs8hfXnRH6vyJh2wpLLcqzJ6WjgYu+9aVi/ztNePAuwO8VE0uYx7M6VBb5t9bHbDL/C\nqsd1HcQl2SFA2T4BV2pit6E2T9P5AmTG95Y847qG8Thl7wEHGI4ljAOBN711kUx2MdacVl7HuIgk\nSSFlaxgLCd8lEup4E4kmQNXulEqFpVizUbs0njOA++8t4kQhZRPGat9yQcS6iIg44rpJqjLROuhE\nRMSB6q4DiGIl1hT1P+w++h8id2jevHlpSYmai0VEqqiE8p8pqlQm1jBewMbWwfu7w0BuJSUllJaW\nJvU1cuTIpO5b3j6xbq9ovbxllUVulUUs21QW6S+Lqh4vk8qCBO/kq5bIh5NgEjaaaBPsPvNfsIek\nhmPj4tTD7q3fGPG5oqKioqQHU1hYmNR9y9sn1u0VrYeWg8EggUCg0liqSmVR/rkT3bcqZRHLNpVF\n9PVUlkVVyiHW/dNRFqNGjQJ7nimvlIoZOXKk6xAyhsoiTGURprIII8E+4UxskpIqSMWvyGylsghT\nWYSpLJInW2f88pKliIjEqqCgABK47quGISIiMVHCEBGRmChhiIhITJQwREQkJkoYIiISEyUMERGJ\niRKGiIjERAlDRERiooQhIiIxUcIQEZGYKGGIiEhMlDBERCQmShgiIhKTTJyiNSa77VZ2vaCg4vVs\n3CfT40vWPrF8plo1e1Wvbq/KlqNtq1EDatYs+4q2rXZtqFs3/KpRI3qMIvkmk/8bLAV+BbYCm4FO\nvvdKf/stPLx55Ejn0UY+z7Z9Mj2+WPZJ5nG3bYMtW2DrVvsbz/LGjbBhQ/SX/721a+GXX+y1erXF\n4E8ge+8NjRqVfTVuDIWF0KCBkotkrkSHN8/kf9pLgMOAn6O8p/kwJG02biybQFauhBUryr6+/x6W\nLLHk1rw5tGhhfw8+GA49FFq1gp13dv1NJN/lesLoCPwU5T0lDMlIP/8MixeHX198AfPmwbffWvJo\n3x6OOgq6dbMaiWojkk65nDC+BtZgTVIPA4/43lPCkKyybh0sWABz5sDMmfD229av0rUrnHSSvRo0\ncB2l5LpcThiNgBXAXsAM4DLgXe89JQzJaqWlUFICxcXw8sv2t1076NkT+vSxPhGRZEs0YWTyXVIr\nvL8/As9hnd6hhEFRUdH2HQOBgCZ6l6xSUGD9HC1awIUXWmd7cTFMnQpt2sDhh0O/ftCr1453BIrE\nKhgMEgwGk3a8TK1h7AZUA9YCuwOvA6O8v6AahuSwDRvg+efhiSdg9my44AK49FLYbz/XkUm2S7SG\nkakP7u2N1SbmAbOAlwgnC5GcVrMmnHMOvPoqfPABrF8PbdvCuefCl1+6jk7yWabWMCqjGobklTVr\n4MEH4a674IQTYORIa84SqYpcrWGIiE+dOjB8uN2qe+CBcOSRcMUV4QcLRdJBCUMki+yxB/z979Y0\ntWkTHHQQPPKIPdEukmpqkhLJYnPnwl/+YnddPf44tGzpOiLJZGqSEslj7dvDu+/C2WdbM9Xdd6u2\nIamjGoZIjli8GAYOtCfIn3pKD//JjlTDEBHA7poKBuGYY+Cww2DGDNcRSa5RDUMkBxUXw/nnw+DB\nUFQEO+mnoZDbY0lVRAlDpBIrV8JZZ9mghhMmQK1ariMS19QkJSJR7b03vPEG1KsHXbrYEOsiiVDC\nEMlhu+wCY8dC3752F9WcOa4jkmymJimRPDFtGlx0ETz9NBx7rOtoxAU1SYlITP78Z5gyxQY2nDrV\ndTSSjTJ5PgwRSbJu3eC11+CUU2wcqgsucB2RZBMlDJE80769TRHbvbs9FT5kiOuIJFsoYYjkoZYt\n4a23rC+joMD6NkQqo4QhkqdatAgnDVDSkMplaqf3icBCYBFwreNYRHJWKGn885/w2GOuo5FMl4k1\njGrAfcBxwHLgY+AFQJNTiqRAixb2gF8gAHXrwumnu45IMlUm1jA6AYuBpcBm4Gmgp8uARHLdgQfC\nSy/B0KFW4xCJJhMTxr7Ad771Zd42EUmhDh3Cz2nMnu06GslEmdgkFdMj3EVFRduXA4EAgUAgReGI\n5I9u3eDRR+G002zE29atXUckiQgGgwSDwaQdLxOHBukMFGEd3wAjgG3A7b59NDSISAo9/rh1hH/w\nATRs6DoaSZZcHBpkNtASKAR2AXpjnd4ikiYDB8K550LPnrBhg+toJFNkYg0D4CTgHuyOqbHArRHv\nq4YhkmKlpXDeebB5MzzzjCZhygWaQElEUmbTJjjuOPjjH+H22yvfXzJbLjZJiUiG2HVXGxb9uefg\n3/92HY24phqGiFRq0SKbtW/KFOja1XU0Ei/VMEQk5Vq2tHnBe/fWVK/5TAlDRGJy/PEwbJhNxLR+\nvetoxAU1SYlIzEpLoV8/2LIFJk60odEle6hJSkTSpqDAOr8XL4Z//ct1NJJu2fr7QDUMEYeWLYNO\nnWwYkZNPdh2NxErPYYiIEzNnwhlnwIcfQrNmrqORWKhJSkSc6NIFhg+HM8+EjRtdRyPpoBqGiMSt\ntBTOPhvq14eHH3YdjVRGNQwRcaagAMaOhWAQxo93HY2kmmoYIpKwzz6DY46x2foOOcR1NFIe1TBE\nxLk2beCee6wTfM0a19FIqqiGISJJc8klsHIlPPusHurLRKphiEjGuPtuG2vq3ntdRyKpkK2/AVTD\nEMlQJSVw5JEwfTp06OA6GvHLxRpGEbAMmOu9TqxwbxHJKM2bWw2jd29Yu9Z1NJJMsWSaPwBdsTm2\nS4GlwLvA5ymKaSSwFrirgn1UwxDJcBddBL/9Bk8+qf6MTJHKGkZf4CNgNLAP8DWWLBp52z4Gzo/3\nxJXQPy+RLHfPPTB/Pjz+uOtIJFmqV/BePaA79ms/mj2AAckOyHMZ0A+YDVwF/JKi84hIiuy2G0ye\nDN26QefOcPDBriOSRLn6JT8Dq7VEuh74EPjRW78Jq9EMjtivdOTIkdtXAoEAgUAg+VGKSMLGjrXa\nxkcfQc2arqPJL8FgkGAwuH191KhRkKLRamsCvYGfgZeAq7G+jMXYhXxVvCetgkLgRSDy2VH1YYhk\nidJSOO88qF1b4025lso+jPFAD2AQUAw0Ae4D1gHj4j1hDBr5lnsBC1J4LhFJsYICeOghGzZk8mTX\n0UgiKso0nwFtsH6OZZRtQpoPtEtRTOOBQ7E7spYAQ4CVEfuohiGSZebMgZNOgo8/hqZNXUeTnxKt\nYVTU6b3Z+7sFWBHx3rZ4TxiDfik8tog4cthhcPXVcP75UFwM1Su6+khGqijT/AhM8vbpDTzt2783\n0DC1oVVINQyRLLRtG/ToYSPb3nCD62jyTyqnaB2ANQtF26cUeCLekyaBEoZIllq+3IYMef55u91W\n0kdzeotI1vnPf6x5at48u3tK0iOVCeNF33JkTaMU+FO8J00CJQyRLHfhhbB5M4wb5zqS/JHK22rv\n9F5fAxuAfwOPYLfVfh3vCUVEwIZCf/99eOYZ15FIrGLJNHOAw2LYlk6qYYjkgNmz4eST7W+TJq6j\nyX3pGN58N6C5b/0Ab5uISEI6doQrr4S+fWHrVtfRSGViyTQnYs1RS7z1QuAi4LUUxRQL1TBEcsTW\nrXDccXa77XXXuY4mt6XrLqkaQGtveSGwMd4TJokShkgO+e47e7DvpZegUyfX0eSuVDZJBXzLG4F5\n3sufLI6J98QiIiH77w/332+DFK5b5zoaKU9FmWY0NjrtG9i8FCuwBLMP0BE4DhuU8JoUxxiNahgi\nOWjAAKhRwwYrlORLdZNUbaAncBQQGi7sG2Am8Dx2i60LShgiOWjNGmjXzmobp5ziOprcoye9RSSn\nvP029Olj07vutZfraHJLOhJGDeAM7O6oat5nSoEb4z1pEihhiOSwa66BRYtsCJGCbP1Zm4HS8RzG\n89gwIJuB37BmqN/iPaGISGVuuglKSuAJl0Ocyg5iyTShiZSS6SygCLtV93DgE997I7BZ/rYClwOv\nR/m8ahgiOe7TT6F7d5sLvFkz19HkhnTUMN4H2sZ7gnIswKZffSdi+8HYXBsHYw8MPkBsMYpIjmnb\n1pqm+vfXU+CZIpaL8dHY2FFfYRf6BcCnCZ53oXe8SD2xSZs2A0uBxYAe4xHJU1deaX0Yd97pOhKB\niqdoDTkp5VGENQY+9K0vA/ZN4/lFJINUq2b9GIcfDiecYLfcijsVJYw9gF+9VzxmYA/5RbqOsnNt\nVEadFSJ5rLAQRo+2AQo/+sge7BM3KkoYk4BTsA7paBftyrqhesQRz3Jgf9/6ft62HRQVFW1fDgQC\nBAKBOE4nItmgXz944QX4+9/hjjtcR5M9gsEgwWAwacdzfYdzMTAM6yMB6+yeiPVb7IsNS9KCHROW\n7pISyTOrVllH+MSJoN+H8Un0LqlY+jAA6gEtsYf4QiLvcKqKXsAYYE/gZWAu1lfyBTDZ+7sFuAQ1\nSYkIsOee8MgjNt7U/PlQp47riPJPLJnmQux5iP2xC3tn4APg2BTGVRnVMETy1NChsGGDHuqLRzqe\nw7gCayJaig1n3h5YE+8JRUQSMXq0zQU+darrSPJPLAljI7DBW66BPUPRKmURiYhUoFYtmDABLrkE\nVqxwHU1+iSVhfIf1YUzDbpV9AattiIg40bkzXHihvdQ6nT5VbcsKYM9nTAd+T3o0sVMfhkie+/13\nOOIIuOwyGDTIdTTZIR3Dm9ePsm0tNnyHK0oYIsKCBXDssfDxx/aAn1QsHZ3enwCrgEXeaxU2694n\nwGHxnlhEJFGHHALDhsHAgbBtm+tocl8sCWMG9oxEA+91IvAScCnwYOpCExGp3LBhsGkT3Huv60hy\nX7zzYSwADgHmAYcmO6gYqElKRLZbtAiOPBLeew9a6R7OcqWjSWoFcC3QFJum9RpgJTZdqyqBIuJc\ny5YwapSNObVli+toclcsCeNc7CnvacBzQBOgD5Ywzk5daCIisbv4YthjD7j9dteR5C7Xgw/GS01S\nIrKD776DDh1gxgw41EVjeYZLR5OUiEhW2H9/GzqkXz/rCJfkUg1DRHJKaSn06gUHHQS33uo6msyS\njgf3MpEShoiU64cfbDrXqVPhj390HU3mSEeTVCvgTeBzb70tcEO8JxQRSbWGDeH++6F/f/jtN9fR\n5I5YMs07wNXAQ9jQ5gXYsxl/SGFclVENQ0Qq1bcv1K2rh/pC0lHD2A2Y5VsvJfFxpM7CaixbgQ6+\n7YXYUOpzvdcDCZ5HRPLYmDEwbRq8+abrSHJDLFO0/ojNqx1yJvYwXyIWYNO0PhzlvcVYTUZEJCH1\n6sGjj9potp9+qmldExVLDeMv2IW9NfA98Dfg4gTPuxD4KsFjiIhU6oQT4OST4YorXEeS/WJJGCVA\nd2BPrAP8KFI7gVIzrDkqCHRJ4XlEJE/ccQfMnAnPP+86kuwWS5PUVVi/hd8aYA42+GB5ZgD7RNl+\nHfBiOZ/5HhuGZDXWtzEN61xfG0OcIiJR1aoF48bB2WfbbbZ77eU6ouwUS8I4DOiIXeQLgFOwPoih\nwLNAeSO39Igjnt8Jz+T3CVa7aektl1FUVLR9ORAIEAgE4jidiOSLLl3gvPNszKkpU6AgW59Cq4Jg\nMEgwGEza8WIpsnex+TDWeeu1gFeweTHmAAclcP5iYJh3HLBmr9XY3VMHYLf0tgF+ificbqsVkSrb\nuBE6doQRIyx55Jt03Fa7F2Xn794M7A2sBzbGed5ewHdAZ+Bl4FVvezdgPtaHMQUYwo7JQkQkLjVq\nwPjx8Le/wfLlrqPJPrFkmr8Dp2P9CQXAacALwGjg34CLPK0ahojE7cYb4YMP4JVX8qNpKiRdY0kd\njt0dVQq8B8yO94RJooQhInHbvNk6vy+4AIYMcR1N+qRz8MG9gRqE75j6Nt6TJoEShogk5MsvoWtX\nmDULDjjAdTTpkY4+jD8Bi4CvsWcjlhLucxARyUoHHWSd3wMHwjZNNh2TWBLGP4EjsSezm2EP8c2q\n8BMiIlngiissWYwZ4zqS7BBLwtgMrPL2rYbdCtsxlUGJiKRDtWr2QN/NN8N//+s6mswXS8JYDdTG\nnsd4ChhD+JkMEZGs1rw5FBXBgAGwZYvraDJbLJ0fu2PPW+yE3UK7B5Y4fkphXJVRp7eIJM22bdCj\nh72GD3cdTeqk4y6p24FrY9iWTkoYIpJU33xjT4EXF0ObNq6jSY103CV1fJRtJ8d7QhGRTNS0Kdx2\nG/TrZ89pyI4qShgXY4MMtvL+hl5LgU9THpmISJoNGgSNGsEtt7iOJDNVVDWpA9QDbsOan0L7rsVt\n/wWoSUpEUuT77+HQQ2H6dOjQofL9s0kq+zDq+/aJdnX+Od6TJoEShoikzJNPWvPUnDmw666uo0me\nVCaMpURPFHjbXT5Mr4QhIilTWgqnnw6tW8Ott7qOJnnSOZZUJlHCEJGUWrkS2rWDadOgc2fX0SRH\nuhJGT6ArVrN4m/KnWE0XJQwRSblnn4UbboC5c6FmTdfRJC4dCeM2bHjzp7z9z8GGNx8R70mTQAlD\nRNKiTx+7c+quu1xHkrh0JIwFwKHYtKlg40nNAw6J96TAHcCp2Ex+JcBAYI333ghgkHe+y4HXo3xe\nCUNE0uKnn6BtW5g0yYZDz2bpeHCvFKjrW69L+Z3hsXod+APQDhsFN1RbORjo7f09EXggxhhFRFKi\nQQN46CEbBn1dno+iF8vF+FbgE+AJ7zUHSPSxlhlAaAT6WcB+3nJPYBI2Qu5SYDHQKcFziYgk5LTT\nrHZxzTWuI3GrooTxANAFu4AfCfwHmOotP53EGAYBr3jLjYFlvveWAfsm8VwiInG55x546SV44w3X\nkbhTvYL3vsL6GhoDz2CJY24Vjj0D2CfK9usI32V1PdaPMbGC46izQkScq1MHHn0UBg+GTz+19XxT\nUcK4x3sVYndGPQbshl3cJ2EJpSI9Knl/ADaIYXfftuXA/r71/bxtOygqKtq+HAgECAQClZxORCQx\nxx8PJ50EV14JY8e6jqZywWCQYDCYtONVtbe8PfA4dodUtQTOeyJwJ9ANm80v5GAsIXXCmqLeAFqw\nYy1Dd0mJiBNr19oDfWPGwKmnuo6matJxl1R14E/YhXw6sBA4Pd4Teu4FamHNVnOx/hKAL4DJ3t9X\ngUtQk5SIZJDateGxx2DIEPjZ5Yh6DlSUaY7HmqJOAT7CmqFeIDOmZ1UNQ0Sc+utf4ccf4amnXEcS\nu1Q+uPcWliSm4nZk2miUMETEqfXroX17G5zw9ETbXNJEgw+KiDjywQeWLObPh4YNXUdTOSUMERGH\nrr0WFi+2gQoLMvyKmo5ObxERKceoUbBwoY01lesyPB+WSzUMEckYc+bAySfbMOiNG7uOpnyqYYiI\nOHbYYTB0KFx0kc3Wl6uUMEREkuD662H5chg3znUkqaMmKRGRJFmwALp3h9mzoUkT19HsSE1SIiIZ\n4pBD7IG+wYNzs2lKCUNEJImuuQZ+/dUmXco1apISEUmyhQvh6KNh1iw44ADX0YSpSUpEJMO0bg0j\nRti0rtu2Vb5/tlDCEBFJgSuusGQxZozrSJJHTVIiIilSUgJHHAHvvQetWrmORk1SIiIZq3lzGzqk\nf3/YssV1NIlTwhARSaGLL4ZatWD0aNeRJM5Vk9QdwKnA70AJMBBYg80f/iU2qx/AB9ise5HUJCUi\nWePbb234kOJiaNPGXRzZ2iT1OvAHoB3wFTDC995ibO7w9kRPFiIiWaVJE7jtNujXDzZvdh1N/Fwl\njBlA6GazWcB+juIQEUmLQYOgUSO4+WbXkcQvE/owBgGv+NabAXOBINDFRUAiIslWUACPPAIPPACf\nfOI6mvhUT+GxZwD7RNl+HfCit3w91o8x0Vv/HtgfWA10AKZhTVdrIw9SVFS0fTkQCBAIBJITtYhI\nijRuDHfdZU1Tc+bArrum9nzBYJBgMJi047l8DmMAcCHQHdhYzj7FwFVAZD5Wp7eIZKXSUjjjDHsu\n49Zb03vubJ3T+0TgTqAbsMq3fU+sdrEVOAB4B2gD/BLxeSUMEclaP/wAbdvCtGnQuXP6zputd0nd\nC9TCmq3mAg9427sB871tU4Ah7JgsRESyWsOGcN999kDf+vWuo4mdhgYREXGkTx/YZx+4++70nC9b\nm6QSpYQhIlnvp5+saWrSJOjaNfXny9YmKRGRvNeggU20NHAgrFvnOprKqYYhIuLYwIFQs6Y9o5FK\napISEclya9bYfOBjx0KPHqk7j5qkRESyXJ068OijMHiwJY9MpRqGiEiGGDrUBiccOzY1x1eTlIhI\njli7Ftq1g3vvhVNOSf7xlTBERHJIMAjnnw+ffgr16yf32EoYIiI55vLL4eef4cknk3tcdXqLiOSY\nW2+FWbPguedcR1KWahgiIhnovffgzDOtaWqvvZJzTDVJiYjkqKuvhqVLYfJkm4ApUWqSEhHJUTfd\nBJ9/bgkjE6iGISKSwT7+GE49FebPt5FtE6EmKRGRHHf99fDZZzbhUiJNU2qSEhHJcf/4ByxZAhMm\nuI3DVcK4CZtZbx7wJrC/770RwCJgIXB8+kMTEcksu+4K48fDsGGwbJm7OFw1SdUG1nrLlwHtgAuA\ng4GJwOHAvsAbwIHAtojPq0lKRPLOjTfC++/Dq6/G1zSVrU1Sa33LtYBV3nJPYBKwGVgKLAY6pTUy\nEZEMNWIErFqVusEJK1PdzWkBuBnoC2wgnBQaAx/69lmG1TRERPLezjvDuHFwzDE2b0bTpuk9fyoT\nxgwg2k1g1wEvAtd7r+HAPcDAco4Tte2pqKho+3IgECAQCMQfqYhIlmjTBq66CgYNghkzYKcK2omC\nwSDBYDBp586E22qbAK8AbbDkAXCb93c6MBKYFfEZ9WGISN7asgW6dIG+feHSS2P/XLb2YbT0LfcE\n5nrLLwDnALsAzbz9PkpvaCIima16dXjiCRg5EhYvTt95XdUwngVaAVuBEuBi4AfvveuAQcAW4Arg\ntSifVw1DRPLe3XfDf/5jc2hUq1b5/nrSW0QkT23bBoEA/PnPcOWVle+vhCEiksdKSuCII2DmTGjd\nuuJ9s7UPQ0REkqB5c3ugb8AA6wxPJSUMEZEsN3Qo7L47jB6d2vOoSUpEJAd88w107AjFxfasRjRq\nkhIREZo2tbnA+/WDzZtTcw4lDBGRHDF4sE2ydMstqTm+mqRERHLI8uXQvj1Mnw4dOpR9T01SIiKy\n3b77wp132l1TmzYl99hKGCIiOeb886FZM7vdNpnUJCUikoP+9z9o1w5efBE6eRNIqElKRER2sM8+\nMGYM9O8PGzYk55iqYYiI5LCzz4YmTeyhPo0lJSIi5Vq1Ctq2hcmT4eij1SQlIiLl2HNPuP9+u2sq\nUUoYIiIq1IzyAAAGTElEQVQ5rlcv6Nw58eO4apK6CfgTNl/3T8AA4DugEPgSWOjt9wFwSZTPq0lK\nRKQKVq+G+vWzs0nqX0A74FBgGjZvd8hioL33ipYsxCeZE7xnO5VFmMoiTGVh6tVL/BiuEsZa33It\nYJWjOLKe/jOEqSzCVBZhKovkcdmHcTPwLdAfuM23vRkwFwgCXdIVTFX+UcWyb3n7xLq9ovVU/wdQ\nWZR/7kT3rUpZxLJNZRF9PZVlUdVj51JZpDJhzAAWRHmd5r1/PdAEGAfc7W37Htgfa466EpgI1E5h\njNvpIln+uRPdV2VR+T6ZdmGIRmUR37FzqSwy4TmMJsArQLQpP4qBq4BPIrYvBpqnOC4RkVxTArRw\nHURVtfQtXwZM8Jb3BKp5ywcAy4C6aYxLREQyzLNY89Q8YCrQ0Nt+OvAZ1ocxBzjFSXQiIiIiIiIi\nIiIiIuJatcp3yQq7A48CJ2O34S5wG45TzYDRQF9giuNYXOuJ3WV3HrAG+NptOE61xobk6Q/sgfUT\n5rPdgfexW/kXOY7FpQB201EnYB3wjdNo0qQv4Q7yp10GkkHyPVn41cV+UIg9ezXZdRAZYBQwDN1Y\n0xV7rOExYnhUIVdGq90XG7wQYKvLQCQj3QDc5zqIDHAa8DL6UdUD+AL40XUgGeBdrGVmOJZEK5TJ\nCeMxYCU7Ni+diI1muwi41tu2DHtCHDL7O8WrKmWR66pSFgXA7cCr2C3cuaaq/y5eBE7CmqVyTVXK\nohvQGTgXuJDMeIA5mapSFqFhv38Bdk1LdClyNDZEiP9LV8Oe8i4EdsYuAgcBu2GF9ADQJ61RpkdV\nyqI+8BC5m0SqUhaXAbOBB4EhaY0yPapSFt2A/wMeBv6a1ijToyplEdIf+3Wda6pSFr2w68XTWPNU\nViuk7Jc+EpjuWx/uvfJBISqLkEJUFiGFqCxCClFZhBSSgrLItuYbf18FWFPUvo5icU1lEaayCFNZ\nhKkswpJSFtmWMDTNXpjKIkxlEaayCFNZhCWlLLItYSwn3LmNt7zMUSyuqSzCVBZhKoswlUVYXpRF\nIWXb4apjw/MWAruwYydWLitEZRFSiMoipBCVRUghKouQQvKsLCZhT2FuwtreBnrbTwL+i/X4j3AT\nWtqpLMJUFmEqizCVRZjKQkRERERERERERERERERERERERERERERERESS5nJsYpwJrgNJ0DPAAd7y\nUmzI+pAANq9FedoCY1MSleS96q4DEEmii4Hu2FOuIdWBLW7CiUsLbL7p0PzjkYPGVTaI3KfYVJsN\ngR+SG5rku2wbfFCkPA9hv8qnY7OHjQdmAk8AewLPAh95rz96n2kAvA58BjxC+Nd8IWXH4RkGjPSW\nm2Mz+M0G3gFaedvHYRMUvYeN2XOG7/PXYhfyecAtXpxzfO+39K2fA7wQ8d0Kyll+BZjrvX7B5rbH\ni+8sRESkXEuwC/5I4GPCU05OBI7ylptgzVYAY7D5vsFmXttG9IRxFfAPb/lNrBYAcIS3DpYwnvGW\nD8JmPAQbv+c9oIa3Xtf7+xbQzlu+BbjUW34V6OA791Is2YQSwyJ2TCiHYcmotrd+jC8WkaRRk5Tk\nmtAv8BewwdcAjqPsyJy1sWafo7EpKsF+ra+u5Li7Y7WTKb7tu3h/S4Fp3vKXwN6+cz8GbPTWf/H+\nPooNCnclcDZwuLe9KbDCd/xSrN/iZ2+9G1bjCdkTq02dBaz1tq3Akp5IUilhSK5a71suwGoDv0fZ\nryDKti2Uba6tiV24d8KSSvtyzuk/fui4peWcYypWE3oLa47yJ6to+0d7rxo2MukowrWm0D6aPEiS\nTn0Ykg9ex+6gCgk1Bb0DnOstnwTU85ZXYp3G9bFmrVO97WuxZq8zvfUC7K6kiszAahI1vfXQOTYB\nrwEPYjWQkG+ARpV9Ic9tWHPV5IjtjbzjiCSVEobkktJyli8HOgLzgc+BId72UUBXrNO7F/Ctt30z\ncCPWQf46ZX+9nwcMxvoMPgP+VMn5X8Oax2ZjfRBX+faZiPWbvO7bNtOLNdoxQ+uhbVcBPQj3b4QS\nWycsGYqISIqEOs3TZRiWtPwOAF5O8LhBrIYkklTqwxAJS2e7/3NAM+DYiO1fY01fzbHbc6uqLTaj\nmp7BEBEREREREREREREREREREREREREREUm+/wf1RctJBunj/AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Gain magnitude av1 at f1 2.0\n", "Gain magnitude av2 at f2 1.99\n", "Gain magnitude av2 at f2 1.96\n", "Gain magnitude av2 at f2 1.64\n", "Gain magnitude av2 at f2 1.41\n", "Gain magnitude av2 at f2 0.63\n", "Gain magnitude av2 at f2 0.28\n", "Gain magnitude av2 at f2 0.2\n", "Gain magnitude av2 at f2 0.07\n", "Gain magnitude av2 at f2 0.02\n" ] } ], "source": [ "#Example 7.3\n", "#Plot the frequency response of the lowpass filter of example 7.1\n", "\n", "from __future__ import division #to perform decimal division\n", "%matplotlib inline\n", "\n", "from scipy import pi\n", "from matplotlib.pyplot import ylabel, xlabel, title, plot, show, clf, semilogx\n", "import math\n", "import numpy as np\n", "\n", "#Variable declaration\n", "Af=2 #Passband gain of the filter\n", "fh=1000 #Cut-off frequency\n", "\n", "f1=10\n", "f2=100\n", "f3=200\n", "f4=700\n", "f5=1000\n", "f6=3000\n", "f7=7000\n", "f8=10000\n", "f9=30000\n", "f10=100000\n", "\n", "\n", "#calculation\n", "av1=Af/math.sqrt(1+(f1/fh)**2)\n", "av2=Af/math.sqrt(1+(f2/fh)**2)\n", "av3=Af/math.sqrt(1+(f3/fh)**2)\n", "av4=Af/math.sqrt(1+(f4/fh)**2)\n", "av5=Af/math.sqrt(1+(f5/fh)**2)\n", "av6=Af/math.sqrt(1+(f6/fh)**2)\n", "av7=Af/math.sqrt(1+(f7/fh)**2)\n", "av8=Af/math.sqrt(1+(f8/fh)**2)\n", "av9=Af/math.sqrt(1+(f9/fh)**2)\n", "av10=Af/math.sqrt(1+(f10/fh)**2)\n", "\n", "#Magnitude plot\n", "f=np.arange(0,100000)\n", "s=2.0j*pi*f\n", "p=2.0*pi*fh\n", "A=Af*p/(s+p)\n", "\n", "clf() #clear the figure\n", "plot()\n", "title('frequency response')\n", "semilogx(f,20*np.log10(abs(A)))\n", "ylabel('Voltage gain(dB)')\n", "xlabel('frequency(Hz)')\n", "show()\n", "\n", "\n", "#result\n", "print \"Gain magnitude av1 at f1\",round(av1,2)\n", "print \"Gain magnitude av2 at f2\",round(av2,2)\n", "print \"Gain magnitude av2 at f2\",round(av3,2)\n", "print \"Gain magnitude av2 at f2\",round(av4,2)\n", "print \"Gain magnitude av2 at f2\",round(av5,2)\n", "print \"Gain magnitude av2 at f2\",round(av6,2)\n", "print \"Gain magnitude av2 at f2\",round(av7,2)\n", "print \"Gain magnitude av2 at f2\",round(av8,2)\n", "print \"Gain magnitude av2 at f2\",round(av9,2)\n", "print \"Gain magnitude av2 at f2\",round(av10,2)\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.4.a" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R2 is 33.86 kOhm\n", "Resistance R3 is 33.86 kOhm\n", "Resistance Rf is 15.82 kOhm\n", " Use 20 kohm POT as Rf\n" ] } ], "source": [ "\n", "#Example 7.4.a\n", "#Design a second order low-pass filter at a high cutoff frequency of 1 kHz.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fh=1*10**3 # Cut-off frequency\n", "C2=0.0047*10**-6 # Assumption\n", "C3=C2\n", "R1=27*10**3 # Assumption\n", "\n", "#calculation\n", "R2=1/(2*math.pi*fh*C2)\n", "R3=R2\n", "Rf=0.586*R1\n", "\n", "\n", "#result\n", "print \"Resistance R2 is\",round(R2/10**3,2),\"kOhm\"\n", "print \"Resistance R3 is\",round(R3/10**3,2),\"kOhm\"\n", "print \"Resistance Rf is\",round(Rf/10**3,2),\"kOhm\"\n", "print \" Use 20 kohm POT as Rf\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.4.b" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Gain magnitude av1 at f1 1.59\n", "Gain magnitude av2 at f2 1.59\n", "Gain magnitude av2 at f2 1.58\n", "Gain magnitude av2 at f2 1.42\n", "Gain magnitude av2 at f2 1.12\n", "Gain magnitude av2 at f2 0.18\n", "Gain magnitude av2 at f2 0.03\n", "Gain magnitude av2 at f2 0.02\n", "Gain magnitude av2 at f2 1.76 *10^-3\n", "Gain magnitude av2 at f2 0.16 *10^-3\n" ] } ], "source": [ "\n", "#Example 7.4.b\n", "#Draw the frequency response of the network in example 7.4.a\n", "\n", "from __future__ import division #to perform decimal division\n", "%matplotlib inline\n", "\n", "from scipy import pi\n", "from matplotlib.pyplot import ylabel, xlabel, title, plot, show, clf, semilogx\n", "import math\n", "import numpy as np\n", "#Variable declaration\n", "Af=1.586 #Passband gain of the filter\n", "fh=1000 #Cut-off frequency\n", "\n", "f1=10\n", "f2=100\n", "f3=200\n", "f4=700\n", "f5=1000\n", "f6=3000\n", "f7=7000\n", "f8=10000\n", "f9=30000\n", "f10=100000\n", "\n", "\n", "#calculation\n", "av1=Af/math.sqrt(1+(f1/fh)**4)\n", "av2=Af/math.sqrt(1+(f2/fh)**4)\n", "av3=Af/math.sqrt(1+(f3/fh)**4)\n", "av4=Af/math.sqrt(1+(f4/fh)**4)\n", "av5=Af/math.sqrt(1+(f5/fh)**4)\n", "av6=Af/math.sqrt(1+(f6/fh)**4)\n", "av7=Af/math.sqrt(1+(f7/fh)**4)\n", "av8=Af/math.sqrt(1+(f8/fh)**4)\n", "av9=Af/math.sqrt(1+(f9/fh)**4)\n", "av10=Af/math.sqrt(1+(f10/fh)**4)\n", "\n", "#Magnitude plot\n", "f=np.arange(0,100000) #frequency range\n", "s=2.0j*pi*f**2\n", "p=2.0*pi*fh**2\n", "A=Af*p/(s+p)\n", "\n", "clf() #clear the figure\n", "plot()\n", "title('frequency response')\n", "semilogx(f,20*np.log10(abs(A)))\n", "ylabel('Voltage gain(dB)')\n", "xlabel('frequency(Hz)')\n", "show()\n", "\n", "\n", "#result\n", "print \"Gain magnitude av1 at f1\",round(av1,2)\n", "print \"Gain magnitude av2 at f2\",round(av2,2)\n", "print \"Gain magnitude av2 at f2\",round(av3,2)\n", "print \"Gain magnitude av2 at f2\",round(av4,2)\n", "print \"Gain magnitude av2 at f2\",round(av5,2)\n", "print \"Gain magnitude av2 at f2\",round(av6,2)\n", "print \"Gain magnitude av2 at f2\",round(av7,2)\n", "print \"Gain magnitude av2 at f2\",round(av8,2)\n", "print \"Gain magnitude av2 at f2\",round(av9*10**3,2),\"*10^-3\"\n", "print \"Gain magnitude av2 at f2\",round(av10*10**3,2),\"*10^-3\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.5.a" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R is 15.92 kOhm\n", "Resistance R1 is 10.0 kOhm\n", "Resistance Rf is 10.0 kOhm\n" ] } ], "source": [ "\n", "#Example 7.5.a\n", "#Design a high pass filter at a cutoff frequency of 1 kHz with a passband gain\n", "#of 2.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fh=1*10**3 #Cut-off frequency\n", "C=0.01*10**-6 #Assumption\n", "Af=2\n", "\n", "#calculation\n", "R=1/(2*math.pi*fh*C)\n", "R1=10*10**3\n", "Rf=R1 #since passband gain is 2\n", "\n", "\n", "#result\n", "print \"Resistance R is\",round(R/10**3,2),\"kOhm\"\n", "print \"Resistance R1 is\",round(R1/10**3,2),\"kOhm\"\n", "print \"Resistance Rf is\",round(Rf/10**3,2),\"kOhm\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.5.b" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nEREREcm//wehVjGzCowgOwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Gain magnitude av1 at f1 0.2\n", "Gain magnitude av2 at f2 0.39\n", "Gain magnitude av2 at f2 0.74\n", "Gain magnitude av2 at f2 1.15\n", "Gain magnitude av2 at f2 1.41\n", "Gain magnitude av2 at f2 1.9\n", "Gain magnitude av2 at f2 1.98\n", "Gain magnitude av2 at f2 1.99\n", "Gain magnitude av2 at f2 2.0\n", "Gain magnitude av2 at f2 2.0\n" ] } ], "source": [ "#Example 7.5.b\n", "#The circuit of figure 6-17,for the indicated value of resistors\n", "#determine the full scale range for the input voltage.\n", "\n", "from __future__ import division #to perform decimal division\n", "%matplotlib inline\n", "import numpy as np\n", "from scipy import pi\n", "from matplotlib.pyplot import ylabel, xlabel, title, plot, show, clf, semilogx\n", "import matplotlib.pyplot as plt\n", "import math\n", "\n", "#Variable declaration\n", "Af=2 #Passband gain of the filter\n", "fl=1000 #Cut-off frequency\n", "\n", "f1=100\n", "f2=200\n", "f3=400\n", "f4=700\n", "f5=1000\n", "f6=3000\n", "f7=7000\n", "f8=10000\n", "f9=30000\n", "f10=100000\n", "\n", "\n", "#calculation\n", "av1=(Af*(f1/fl))/math.sqrt(1+(f1/fl)**2)\n", "av2=(Af*(f2/fl))/math.sqrt(1+(f2/fl)**2)\n", "av3=(Af*(f3/fl))/math.sqrt(1+(f3/fl)**2)\n", "av4=(Af*(f4/fl))/math.sqrt(1+(f4/fl)**2)\n", "av5=(Af*(f5/fl))/math.sqrt(1+(f5/fl)**2)\n", "av6=(Af*(f6/fl))/math.sqrt(1+(f6/fl)**2)\n", "av7=(Af*(f7/fl))/math.sqrt(1+(f7/fl)**2)\n", "av8=(Af*(f8/fl))/math.sqrt(1+(f8/fl)**2)\n", "av9=(Af*(f9/fl))/math.sqrt(1+(f9/fl)**2)\n", "av10=(Af*(f10/fl))/math.sqrt(1+(f10/fl)**2)\n", "\n", "#Magnitude plot\n", "f=np.arange(100,100000)\n", "s=2.0j*pi*f\n", "p=2.0*pi*fl\n", "A=Af*s/(s+p)\n", "\n", "clf() #clear the figure\n", "plt.plot()\n", "plt.title('frequency response')\n", "semilogx(f,20*np.log10(abs(A)))\n", "plt.ylabel('Voltage gain(dB)')\n", "plt.xlabel('frequency(Hz)')\n", "plt.show()\n", "\n", "\n", "#result\n", "print \"Gain magnitude av1 at f1\",round(av1,2)\n", "print \"Gain magnitude av2 at f2\",round(av2,2)\n", "print \"Gain magnitude av2 at f2\",round(av3,2)\n", "print \"Gain magnitude av2 at f2\",round(av4,2)\n", "print \"Gain magnitude av2 at f2\",round(av5,2)\n", "print \"Gain magnitude av2 at f2\",round(av6,2)\n", "print \"Gain magnitude av2 at f2\",round(av7,2)\n", "print \"Gain magnitude av2 at f2\",round(av8,2)\n", "print \"Gain magnitude av2 at f2\",round(av9,2)\n", "print \"Gain magnitude av2 at f2\",round(av10,2)\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.6.a" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Lower cutoff frequency fl is 1.0 kHz\n" ] } ], "source": [ "\n", "#Example 7.6.a\n", "#Determine the low cutoff frequency fl of the filter shown in figure 7-8(a)\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "R2=33*10**3 #Resistance in ohms\n", "R3=R2\n", "C2=0.0047*10**-6 #Capacitance in Farads\n", "C3=C2\n", "\n", "#calculation\n", "fl=1/(2*math.pi*math.sqrt(R2*R3*C2*C3))\n", "\n", "\n", "#result\n", "print \"Lower cutoff frequency fl is\",round(fl/10**3,0),\"kHz\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.6.b" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Gain magnitude av1 at f1 0.0159\n", "Gain magnitude av2 at f2 0.0634\n", "Gain magnitude av2 at f2 0.2506\n", "Gain magnitude av2 at f2 0.6979\n", "Gain magnitude av2 at f2 1.1215\n", "Gain magnitude av2 at f2 1.5763\n", "Gain magnitude av2 at f2 1.5857\n", "Gain magnitude av2 at f2 1.5859\n", "Gain magnitude av2 at f2 1.586\n", "Gain magnitude av2 at f2 1.586\n" ] } ], "source": [ "#Example 7.6.b\n", "#Draw the frequency response plot of the filter in example 7.6.a\n", "\n", "from __future__ import division #to perform decimal division\n", "%matplotlib inline\n", "\n", "from scipy import pi\n", "from matplotlib.pyplot import ylabel, xlabel, title, plot, show, clf, semilogx\n", "import math\n", "import numpy as np\n", "#Variable declaration\n", "Af=1.586 #Passband gain of the filter\n", "fl=1000 #Cut-off frequency\n", "\n", "f1=100\n", "f2=200\n", "f3=400\n", "f4=700\n", "f5=1000\n", "f6=3000\n", "f7=7000\n", "f8=10000\n", "f9=30000\n", "f10=100000\n", "\n", "\n", "#calculation\n", "av1=Af/math.sqrt(1+(fl/f1)**4)\n", "av2=Af/math.sqrt(1+(fl/f2)**4)\n", "av3=Af/math.sqrt(1+(fl/f3)**4)\n", "av4=Af/math.sqrt(1+(fl/f4)**4)\n", "av5=Af/math.sqrt(1+(fl/f5)**4)\n", "av6=Af/math.sqrt(1+(fl/f6)**4)\n", "av7=Af/math.sqrt(1+(fl/f7)**4)\n", "av8=Af/math.sqrt(1+(fl/f8)**4)\n", "av9=Af/math.sqrt(1+(fl/f9)**4)\n", "av10=Af/math.sqrt(1+(fl/f10)**4)\n", "\n", "#Magnitude plot\n", "f=np.arange(100,100000)\n", "s=2.0j*pi*fl**2\n", "p=2.0*pi*f**2\n", "A=Af*p/(s+p)\n", "\n", "\n", "clf() #clear the figure\n", "plot()\n", "title('frequency response')\n", "semilogx(f,20*np.log10(abs(A)))\n", "ylabel('Voltage gain(dB)')\n", "xlabel('frequency(Hz)')\n", "show()\n", "\n", "\n", "#result\n", "print \"Gain magnitude av1 at f1\",round(av1,4)\n", "print \"Gain magnitude av2 at f2\",round(av2,4)\n", "print \"Gain magnitude av2 at f2\",round(av3,4)\n", "print \"Gain magnitude av2 at f2\",round(av4,4)\n", "print \"Gain magnitude av2 at f2\",round(av5,4)\n", "print \"Gain magnitude av2 at f2\",round(av6,4)\n", "print \"Gain magnitude av2 at f2\",round(av7,4)\n", "print \"Gain magnitude av2 at f2\",round(av8,4)\n", "print \"Gain magnitude av2 at f2\",round(av9,4)\n", "print \"Gain magnitude av2 at f2\",round(av10,4)\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.7.a" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R1 is 10.0 kOhm\n", "Resistance R is 15.92 kOhm\n", "Bandpass Gain Af is 4\n", "Resistance Rf is 10.0 kOhm\n" ] } ], "source": [ "\n", "#Example 7.7.a\n", "#Design a wide band pass filter with fl=200 Hz, fh=1 kHz and passband gain=4.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fl=200 #Low cutoff freq in Hz\n", "fh=1*10**3 #High cutoff freq in Hz\n", "C=0.05*10**-6\n", "\n", "#calculation\n", "R=1/(2*math.pi*fl*C)\n", "R1=10*10**3\n", "Rf=R1 #Since passband gain is 2,R1 and Rf must be equal\n", "\n", "\n", "#result\n", "print \"Resistance R1 is\",round(R1/10**3,2),\"kOhm\"\n", "print \"Resistance R is\",round(R/10**3,2),\"kOhm\"\n", "print \"Bandpass Gain Af is 4\"\n", "print \"Resistance Rf is\",round(Rf/10**3,2),\"kOhm\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.7.b" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Gain magnitude av1 at f1 0.1997\n", "Gain magnitude av2 at f2 0.5931\n", "Gain magnitude av2 at f2 1.78\n", "Gain magnitude av2 at f2 2.7735\n", "Gain magnitude av2 at f2 3.3333\n", "Gain magnitude av2 at f2 3.1508\n", "Gain magnitude av2 at f2 2.7735\n", "Gain magnitude av2 at f2 1.78\n", "Gain magnitude av2 at f2 0.5655\n", "Gain magnitude av2 at f2 0.3979\n" ] } ], "source": [ "\n", "#Example 7.7.b\n", "#Draw the frequency response plot for the filter in example 7.7.a\n", "\n", "from __future__ import division #to perform decimal division\n", "%matplotlib inline\n", "\n", "from scipy import pi\n", "from matplotlib.pyplot import ylabel, xlabel, title, plot, show, clf, semilogx\n", "import math\n", "import numpy as np\n", "#Variable declaration\n", "Af=4 #Passband gain of the filter\n", "fl=200 #Cut-off frequency\n", "fh=1000 #Higher Cut-off frequency\n", "\n", "f1=10\n", "f2=30\n", "f3=100\n", "f4=200\n", "f5=447.2\n", "f6=700\n", "f7=1000\n", "f8=2000\n", "f9=7000\n", "f10=10000\n", "\n", "\n", "#calculation\n", "av1=(Af*(f1/fl))/math.sqrt((1+(f1/fl)**2)*(1+(f1/fh)**2))\n", "av2=(Af*(f2/fl))/math.sqrt((1+(f2/fl)**2)*(1+(f2/fh)**2))\n", "av3=(Af*(f3/fl))/math.sqrt((1+(f3/fl)**2)*(1+(f3/fh)**2))\n", "av4=(Af*(f4/fl))/math.sqrt((1+(f4/fl)**2)*(1+(f4/fh)**2))\n", "av5=(Af*(f5/fl))/math.sqrt((1+(f5/fl)**2)*(1+(f5/fh)**2))\n", "av6=(Af*(f6/fl))/math.sqrt((1+(f6/fl)**2)*(1+(f6/fh)**2))\n", "av7=(Af*(f7/fl))/math.sqrt((1+(f7/fl)**2)*(1+(f7/fh)**2))\n", "av8=(Af*(f8/fl))/math.sqrt((1+(f8/fl)**2)*(1+(f8/fh)**2))\n", "av9=(Af*(f9/fl))/math.sqrt((1+(f9/fl)**2)*(1+(f9/fh)**2))\n", "av10=(Af*(f10/fl))/math.sqrt((1+(f10/fl)**2)*(1+(f10/fh)**2))\n", "\n", "#Magnitude plot\n", "f=np.arange(10,100000)\n", "s=2.0j*pi*f\n", "p1=2.0*pi*fl\n", "p2=2.0*pi*fh\n", "A=(Af*s)*p2/((s+p1)*(s+p2))\n", "\n", "clf() #clear the figure\n", "plot()\n", "title('frequency response')\n", "semilogx(f,20*np.log10(abs(A)))\n", "ylabel('Voltage gain(dB)')\n", "xlabel('frequency(Hz)')\n", "show()\n", "\n", "\n", "#result\n", "print \"Gain magnitude av1 at f1\",round(av1,4)\n", "print \"Gain magnitude av2 at f2\",round(av2,4)\n", "print \"Gain magnitude av2 at f2\",round(av3,4)\n", "print \"Gain magnitude av2 at f2\",round(av4,4)\n", "print \"Gain magnitude av2 at f2\",round(av5,4)\n", "print \"Gain magnitude av2 at f2\",round(av6,4)\n", "print \"Gain magnitude av2 at f2\",round(av7,4)\n", "print \"Gain magnitude av2 at f2\",round(av8,4)\n", "print \"Gain magnitude av2 at f2\",round(av9,4)\n", "print \"Gain magnitude av2 at f2\",round(av10,4)\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.7.c" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Center frequency fc is 447.21 Hz\n", "Quality factor Q is 0.56\n" ] } ], "source": [ "\n", "#Example 7.7.c\n", "#Calculate the value of Q for the filter.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fh=1*10**3 #Higher cut-off frequency\n", "fl=200 #Lower cut-off frequency\n", "\n", "\n", "#calculation\n", "fc=math.sqrt(fl*fh) #Center frequency\n", "Q=fc/(fh-fl) #Quality factor\n", "\n", "\n", "\n", "#result\n", "print \"Center frequency fc is\",round(fc,2),\"Hz\"\n", "print \"Quality factor Q is\",round(Q,2)\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.8.a" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R1 is 4.77 kilo ohm\n", "Resistance R2 is 5.97 kilo ohm\n", "Resistance R3 is 95.49 kilo ohm\n" ] } ], "source": [ "\n", "#Example 7.8.a\n", "#Design the bandpass filter shown in figure 7-13(a) so that fc=1 kHz, Q=3 and\n", "#Af=10.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fc=1*10**3 #Center frequency\n", "Q=3 #Quality factor\n", "Af=10 #Passband gain\n", "C1=0.01*10**-6 #Assumption\n", "\n", "#calculation\n", "C2=C1\n", "R1=Q/(2*math.pi*fc*C1*Af)\n", "R2=Q/(2*math.pi*fc*C1*(2*Q**2-Af))\n", "R3=Q/(math.pi*fc*C1)\n", "\n", "#result\n", "print \"Resistance R1 is\",round(R1/10**3,2),\"kilo ohm\"\n", "print \"Resistance R2 is\",round(R2/10**3,2),\"kilo ohm\"\n", "print \"Resistance R3 is\",round(R3/10**3,2),\"kilo ohm\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.8.b" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R1 is 2.65 kilo ohm\n" ] } ], "source": [ "\n", "#Example 7.8.b\n", "#Change the centre frequency of example 7.8.a to 1.5 kHz, keeping Af and\n", "#bandwidth constant.\n", "\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fc0=1*10**3 #Original center frequency\n", "fc1=1.5*10**3 #New center frequency\n", "R2=5.97*10**3 #Original resistance\n", "\n", "\n", "\n", "#calculation\n", "R2new=R2*(fc0/fc1)**2\n", "\n", "#result\n", "print \"Resistance R1 is\",round(R2new/10**3,2),\"kilo ohm\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.9" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R2 of highpass section is 15.92 kilo ohm\n", "Resistance R of lowpass section is 15.92 kilo ohm\n", "Bandpass Gain Af is 4\n", "Resistance R1 is 10.0 kilo ohm\n", "Resistance Rf is 10.0 kilo ohm\n" ] } ], "source": [ "\n", "#Example 7.9\n", "#Design a wide-band reject filter having fh=200 Hz and fl=1 KHz.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fh=200 # Low cutoff freq in Hz\n", "fl=1*10**3 # High cutoff freq in Hz\n", "C2=0.01*10**-6 # Assumption\n", "R2=1/(2*math.pi*fl*C2)\n", "C=0.05*10**-6\n", "R1=10*10**3 # Assumption\n", "Rf=R1 # Since passband gain is 2,R1 and Rf must be equal\n", "Af=4 # Since gain of high pass and lowpass is set to 2\n", "\n", "\n", "#calculation\n", "R2=1/(2*math.pi*fl*C2)\n", "R=1/(2*math.pi*fh*C)\n", "\n", "\n", "#result\n", "print \"Resistance R2 of highpass section is\",round(R2/10**3,2),\"kilo ohm\"\n", "print \"Resistance R of lowpass section is\",round(R/10**3,2),\"kilo ohm\"\n", "print \"Bandpass Gain Af is\",Af\n", "print \"Resistance R1 is\",round(R1/10**3),\"kilo ohm\"\n", "print \"Resistance Rf is\",round(Rf/10**3),\"kilo ohm\"\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.10" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R is 39.01 kilo ohm\n" ] } ], "source": [ "\n", "#Example 7.10\n", "#Design a 60 Hz active notch filter.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fn=60 #Notch-out frequency in Hz\n", "C=0.068*10**-6 #Assumption\n", "\n", "\n", "\n", "#calculation\n", "R=1/(2*math.pi*fn*C)\n", "\n", "\n", "#result\n", "print \"Resistance R is\",round(R/10**3,2),\"kilo ohm\"\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.11" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Phase angle phi is -90.0 degree\n" ] } ], "source": [ "\n", "#Example 7.11\n", "#For the all-pass filter of figure 7-16(a),find the phase angle phi if the\n", "#frequency of vin is 1 kHz.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "f=1*10**3 #Input frequency in Hz\n", "C=0.01*10**-6 \n", "R=15.9*10**3 #Resistance in ohms\n", "\n", "\n", "\n", "#calculation\n", "phi=math.atan(2*math.pi*f*C*R) #Phase angle\n", "phi1=-2*phi*180/math.pi\n", "\n", "#result\n", "print \"Phase angle phi is\",round(phi1),\"degree\"" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.12" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R is 3.3 kilo ohm\n", "Use Resistance R as 3.3 kohm\n", "Resistance Rf is 957.0 kilo ohm\n" ] } ], "source": [ "\n", "#Example 7.12\n", "#Design the phase shift oscillator of figure 7-18 so that fo=200 Hz.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fo=200 # Frequency of oscillation\n", "C=0.1*10**-6 # Assumption\n", "R=3.3*10**3\n", "\n", "#calculation\n", "R=0.065/(fo*C)\n", "R=3.3*10**3 #Using rounded value\n", "R1=10*R # To prevent loading of amplifier\n", "Rf=29*R1\n", "\n", "#result\n", "print \"Resistance R is\",round(R/10**3,1),\"kilo ohm\"\n", "print \"Use Resistance R as 3.3 kohm\"\n", "print \"Resistance Rf is\",round(Rf/10**3),\"kilo ohm\"\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.13" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R is 3.3 kilo ohm\n", "Resistance Rf is 24.0 kilo ohm\n" ] } ], "source": [ "\n", "#Example 7.13\n", "#Design the wein bridge oscillator of figure 7-19 so that fo=965 Hz.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fo=965 # Frequency of oscillation\n", "C=0.05*10**-6 # Assumption\n", "R1=12*10**3 # Assumption\n", "\n", "#calculation\n", "R=0.159/(fo*C)\n", "Rf=2*R1\n", "\n", "#result\n", "print \"Resistance R is\",round(R/10**3,1),\"kilo ohm\"\n", "print \"Resistance Rf is\",round(Rf/10**3),\"kilo ohm\"\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.14" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance values R1,R2,R3 is 100.0 kilo ohm\n", "Capacitance values C1,C2,C3 is 0.01 uF\n" ] } ], "source": [ "\n", "#Example 7.14\n", "#Design the quadrature oscillator of figure 7-20 so that fo=159 Hz.\n", "#The opamp is the 1458/772.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fo=159 # Frequency of oscillation\n", "C=0.01*10**-6 # Assumption\n", "\n", "#calculation\n", "R=0.159/(fo*C)\n", "\n", "#result\n", "print \"Resistance values R1,R2,R3 is\",round(R/10**3,1),\"kilo ohm\"\n", "print \"Capacitance values C1,C2,C3 is\",round(C*10**6,2),\"uF\"\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.15" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R2 is 11.6 kilo ohm\n", "Resistance R is 10.0 ohm\n" ] } ], "source": [ "\n", "#Example 7.15\n", "#Design the square wave oscillator of figure 7-21(a) so that fo=1 kHz.\n", "#The opamp is 741 with dc supply voltages = 15, -15 V.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fo=1*10**3 # Frequency of oscillation\n", "C=0.05*10**-6 # Assumption\n", "R1=10*10**3 # Assumption\n", "\n", "#calculation\n", "R=1/(2*fo*C)\n", "R2=1.16*R1\n", "\n", "#result\n", "print \"Resistance R2 is\",round(R2/10**3,1),\"kilo ohm\"\n", "print \"Resistance R is\",round(R/10**3),\"ohm\"\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.16" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resistance R2 is 10.0 kilo ohm\n", "Resistance R1 is 10.0 kilo ohm\n" ] } ], "source": [ "\n", "#Example 7.16\n", "#Design the triangular wave generator of figure 7-23 so that fo=2 kHz and\n", "#Vo(pp)=7V. The opamp is a 1458/772 and supply voltages =15,-15 V.\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "fo=2*10**3 # Frequency of oscillation\n", "vo=7 #Output voltage\n", "Vsat=14 #Saturation voltage for opamp 1458\n", "R3=40*10**3 #Assumption\n", "C1=0.05*10**-6 #Assumption\n", "\n", "\n", "#calculation\n", "R2=(vo*R3)/(2*Vsat)\n", "k=R3/(4*fo*R2) #Using fo=R3/(4*R1*C1*R2),k=R1*C1;\n", "R1=k/C1\n", "\n", "\n", "#result\n", "print \"Resistance R2 is\",round(R2/10**3),\"kilo ohm\"\n", "print \"Resistance R1 is\",round(R1/10**3),\"kilo ohm\"\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Example 7.17" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Terminal voltage Vc is 10.43 volts\n", "Approximate Nominal freq fo is 26.09 kHz\n", "Approximate Nominal freq fo1 is 41.67 kHz\n", "Approximate Nominal freq fo2 is 8.33 kHz\n", "Change in output freq delta_fo is 33.33 kHz\n" ] } ], "source": [ "\n", "#Example 7.17\n", "#In the circuit of figure 7-25(c), V=12 V, R2=1.5 Kilo ohm, R1=R3=10 Kilo ohm\n", "#and C1=0.001 uF.\n", "#a)Determine the nominal frequency of all the output waveforms.\n", "#b)Compute the modulation in the output frequencies if Vc is varied between 9.5 V\n", "#and 11.5 V.\n", "\n", "\n", "from __future__ import division #to perform decimal division\n", "import math\n", "\n", "\n", "#Variable declaration\n", "R2=1.5*10**3\n", "R1=10*10**3\n", "R3=10*10**3\n", "C1=0.001*10**-6\n", "V=12 #Supply voltage\n", "Vc1=9.5\n", "Vc2=11.5\n", "\n", "#calculation\n", "Vc=R3*V/(R2+R3) #Using voltage divider rule\n", "fo=2*(V-Vc)/(V*R1*C1)\n", "fo1=2*(V-Vc1)/(V*R1*C1)\n", "fo2=2*(V-Vc2)/(V*R1*C1)\n", "delta_fo=fo1-fo2 #Change in output freq\n", "\n", "\n", "#result\n", "print \"Terminal voltage Vc is\",round(Vc,2),\"volts\"\n", "print \"Approximate Nominal freq fo is\",round(fo/10**3,2),\"kHz\"\n", "print \"Approximate Nominal freq fo1 is\",round(fo1/10**3,2),\"kHz\"\n", "print \"Approximate Nominal freq fo2 is\",round(fo2/10**3,2),\"kHz\"\n", "print \"Change in output freq delta_fo is\",round(delta_fo/10**3,2),\"kHz\"\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }