{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Difference equation:\n", "\n", "$$y[n] = b_0x[n] + b_1x[n-1] + ... + b_Mx[n-M]$$\n", "\n", "for this simple filter:\n", "\n", "$$y[n] = x[n] + x[n-1]$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can estimate the effect of frequency from the difference equation!" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "A6sjaIP/2PV/AAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from scipy.signal import freqz\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "frq, resp = freqz([1,-1])\n", "plt.semilogy(frq, np.abs(resp))\n", "plt.title('Frequency Response')\n", "plt.grid()\n" ] }, { "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" } ], "source": [ "plt.plot(frq, np.angle(resp))\n", "plt.title('Phase Response')\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$y[n] = x[n] + 0.5 \\cdot x[n-1]$$\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "frq, resp = freqz([1,1])\n", "plt.semilogy(frq, abs(resp))\n", "\n", "frq, resp = freqz([1,-1])\n", "plt.semilogy(frq, abs(resp))\n", "plt.title('Frequency Response')\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Transfer function\n", "\n", "$$ Y(z) = H(z) \\cdot X(z) $$\n", "\n", "$$ H(z) = \\frac{Y(z)}{X(z)} $$\n", "\n", "\n", "# z-transform\n", "\n", "$$\\mathcal{Z}[x[n-M]] = z^{-M}X(z)$$\n", "\n", "z-transform on the difference equation:\n", "\n", "$$Y(z) = b_0z^{0}X(z) + b_1z^{-1}X(z) + ... + b_Mz^{-M}X(z) - a_1z^{-1}Y(z) - a_2z^{-2}Y(z) - ... - a_Mz^{-M}Y(z)$$\n", "\n", "$$ [1 + a_1z^{-1} + a_2z^{-2} - ... + a_Mz^{-M}] \\cdot Y(z) = [b_0z^{0} + b_1z^{-1} + ... + b_Mz^{-M}]\\cdot X(z) $$\n", "\n", "$$H(z) = \\frac{Y(z)}{X(z)} = \\frac{b_0z^{0} + b_1z^{-1} + ... + b_Mz^{-M}}{ 1 + a_1z^{-1} - a_2z^{-2} - ... - a_Mz^{-M}}$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Pole-zero analysis" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(array([-1., -1.]), array([], dtype=float64), 1.0)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.signal import tf2zpk\n", "\n", "tf2zpk([1,2,1],[1])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(array([], dtype=float64), array([-1.]), 1.0)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tf2zpk([1],[1, 1])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(array([-1.]), array([], dtype=float64), 2.0)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tf2zpk([2, 2],[1])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def PoleZeroPlot(b, a):\n", " (zeros,poles,gain) = tf2zpk(b, a)\n", " angle = np.linspace(-np.pi,np.pi,50)\n", " cirx = np.sin(angle)\n", " ciry = np.cos(angle)\n", " plt.figure()\n", " plt.plot(poles.real, poles.imag, 'x', zeros.real, zeros.imag, 'o', cirx,ciry, 'k-')\n", " plt.grid()\n", " \n", " plt.xlim((-2, 2))\n", " plt.xlabel('Real')\n", " plt.ylim((-1.5, 1.5))\n", " plt.ylabel('Imag')\n", " plt.gcf().set_figwidth(5)\n", " return (zeros,poles,gain)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(array([ 1., 1.]), array([], dtype=float64), 1.0)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "PoleZeroPlot([1,-2,1],[1])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(array([], dtype=float64), array([-1.]), 1.0)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "PoleZeroPlot([1],[1,1])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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.9" } }, "nbformat": 4, "nbformat_minor": 0 }