{"id":1714,"date":"2024-08-23T04:55:14","date_gmt":"2024-08-23T04:55:14","guid":{"rendered":"https:\/\/neilfoxman.com\/?page_id=1714"},"modified":"2025-01-08T05:53:02","modified_gmt":"2025-01-08T05:53:02","slug":"discrete-systems-described-by-linear-constant-coefficient-difference-equations","status":"publish","type":"page","link":"https:\/\/neilfoxman.com\/?page_id=1714","title":{"rendered":"Discrete Systems Described by Linear Constant Coefficient Difference Equations"},"content":{"rendered":"\n<p>Instead of differentiation used for continuous systems, discrete systems generally use difference equations to capture time-varying signal or system information.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Euler_Backwards_Differentiation_Approximation\"><\/span>Euler Backwards Differentiation Approximation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"First_Order\"><\/span>First Order<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The Euler Backward Differentiation Approximation allows us to approximate a derivative in continuous time using discrete time samples.<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\frac{d y(t)}{dt} &amp;\\approx \\frac{y[n] &#8211; y[n-1]}{T} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>where $T$ is a scaling factor that represents the continuous period between samples.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Second_Order\"><\/span>Second Order<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The Euler Backwards Differentiation Approximation may be further extended for second derivatives.<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\frac{d^2 y(t)}{dt^2} &amp;\\approx \\frac{ \\frac{y[n] &#8211; y[n-1]}{T} &#8211; \\frac{y[n-1] &#8211; y[n-2]}{T} }{ T } \\\\<br><br>\\frac{d^2 y(t)}{dt^2} &amp;\\approx \\frac{ \\frac{y[n] &#8211; 2 y[n-1] + y[n-2]}{T} }{ T } \\\\<br><br>\\frac{d^2 y(t)}{dt^2} &amp;\\approx \\frac{ y[n] &#8211; 2 y[n-1] + y[n-2] }{ T^2 } \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"tau_T_and_Integer_Implmentation\"><\/span>$\\tau \/ T$ and Integer Implmentation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Many of the first order systems below will express coefficients in terms of the quantity $\\tau \/ T$ where $\\tau$ is the time constant of the analagous continuous time system, and $T$ is the sampling period. This quantity may also be derived using other known quantities.<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\frac{\\tau}{T} &amp;= \\frac{1}{\\omega_n T} \\\\<br>\\frac{\\tau}{T} &amp;= \\frac{1}{2 \\pi f_n T} \\\\<br>\\frac{\\tau}{T} &amp;= \\frac{f_s}{2 \\pi f_n} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>The quantity $\\tau \/ T$ is especially useful when $\\tau \/ T \\gg 1$, and so coefficients may be generally represented using integers.<\/p>\n\n\n\n<p>Some additional tips for using integers are:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Apply a gain to the input signal, so the numbers used in calculation are larger<\/li>\n\n\n\n<li>Perform all addition and multiplication first, then apply division in one step at the end.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FIR_Averaging_Filter\"><\/span>FIR Averaging Filter<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Averaging causal FIR filter is expressed as<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>y[n] &amp;= \\frac{1}{N} \\left[ x[n] + x[n-1] + \\dots + x[n-(N-1)] \\right] \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>From Time Shifting Property<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>Y(z) &amp;= \\frac{1}{N} \\left[ X(z) + X(z) z^{-1} + \\dots + X(z) z^{-(N-1)} \\right] \\\\<br>Y(z) &amp;= \\frac{1}{N} \\left[ 1 + z^{-1} + \\dots + z^{-(N-1)} \\right] X(z) \\\\<br>\\\\<br>H(z) &amp;= \\frac{1}{N} \\left[ 1 + z^{-1} + \\dots + z^{-(N-1)} \\right] \\\\<br>H(z) &amp;= \\frac{1}{N} \\sum_{m=0}^{N-1} (z^{-1})^{m} \\\\<br>H(z) &amp;= \\frac{1}{N} \\frac{1 &#8211; z^{-N}}{1 &#8211; z^{-1}} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>When $|z| = 1$ we get the frequency response<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>H(e^{j \\Omega}) &amp;= \\frac{1}{N}  \\frac{1 &#8211; e^{-j \\Omega N}}{1 &#8211; e^{-j \\Omega}} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{1}{N} \\frac{e^{j \\Omega \/ 2}}{e^{j \\Omega N \/ 2}} \\frac{e^{j \\Omega N \/ 2}}{e^{j \\Omega \/ 2}} \\frac{1 &#8211; e^{- j \\Omega N}}{1 &#8211; e^{-j \\Omega}} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{1}{N} \\frac{e^{j \\Omega \/ 2}}{e^{j \\Omega N \/ 2}} \\frac{e^{j \\Omega N \/ 2} &#8211; e^{-j \\Omega N \/ 2 }}{e^{j \\Omega \/ 2} &#8211; e^{-j \\Omega \/ 2}} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{1}{N} \\frac{e^{j \\Omega \/ 2}}{(e^{j \\Omega \/ 2})^N} \\frac{2 j \\sin( \\Omega N \/ 2)}{2 j \\sin(\\Omega \/ 2)} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{1}{N} (e^{j \\Omega \/ 2})^{1-N} \\frac{\\sin( \\Omega N \/ 2)}{\\sin(\\Omega \/ 2)} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Magnitude is then<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>|H(e^{j \\Omega})| &amp;= \\frac{1}{N} \\left| \\frac{\\sin( \\Omega N \/ 2)}{\\sin(\\Omega \/ 2)} \\right| \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"First_Difference_Lowpass_Filter\"><\/span>First Difference Lowpass Filter<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Reference <a href=\"https:\/\/techteach.no\/simview\/lowpass_filter\/doc\/filter_algorithm.pdf\">filter_algorithm.dvi (techteach.no)<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/neilfoxman.com\/?page_id=1586#First_Order_Systems\">Recall<\/a> that in continuous time, a first order lowpass filter with some gain $G$ takes the form<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>H(s) &amp;= G \\frac{1}{\\tau s + 1} \\\\<br>\\\\<br>Y(s)[\\tau s + 1] &amp;= G X(s) \\\\<br>\\tau s Y(s) + Y(s) &amp;= G X(s) \\\\<br>\\\\<br>\\tau \\frac{d y(t)}{dt} + y(t) &amp;= G x(t) \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Using the Euler Backwards Differentiation Approximation<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\tau \\frac{y[n] &#8211; y[n-1]}{T} + y[n] &amp;= G x[n] \\\\<br>\\frac{\\tau}{T} y[n] &#8211; \\frac{\\tau}{T} y[n-1] + y[n] &amp;= G x[n] \\\\<br>\\left( \\frac{\\tau}{T} + 1 \\right) y[n] &#8211; \\frac{\\tau}{T} y[n-1] &amp;= G x[n] \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Putting this in terms of a formula that may be used in an algorithm.<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\left( \\frac{\\tau}{T} + 1 \\right) y[n] &amp;= \\frac{\\tau}{T} y[n-1] + G x[n] \\\\<br>y[n] &amp;= \\frac{ \\frac{\\tau}{T} y[n-1] + G x[n] }{ \\frac{\\tau}{T} + 1 } \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Frequency_Response\"><\/span>Frequency Response<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Frequency response of this system is derived from the difference equation using $G=1$<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\left( \\frac{\\tau}{T} + 1 \\right) y[n] &#8211; \\frac{\\tau}{T} y[n-1] &amp;= G x[n] \\\\<br>\\frac{\\tau + T}{T} y[n] &#8211; \\frac{\\tau}{T} y[n-1] &amp;= x[n] \\\\<br>\\\\<br>\\frac{\\tau + T}{T} Y(e^{j \\Omega}) &#8211; \\frac{\\tau}{T} Y(e^{j \\Omega}) e^{-j \\Omega} &amp;= X(e^{j \\Omega}) \\\\<br><br>Y(e^{j \\Omega}) \\left[ \\frac{\\tau + T}{T} &#8211; \\frac{\\tau}{T} e^{-j \\Omega} \\right] &amp;= X(e^{j \\Omega}) \\\\<br><br>\\frac{Y(e^{j \\Omega})}{X(e^{j \\Omega})} &amp;= \\frac{1}{\\frac{\\tau + T}{T} &#8211; \\frac{\\tau}{T} e^{-j \\Omega}} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{T}{T} \\frac{1}{\\frac{\\tau + T}{T} &#8211; \\frac{\\tau}{T} e^{-j \\Omega}} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{T}{\\tau + T &#8211; \\tau e^{-j \\Omega}} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{T}{\\tau + T &#8211; \\tau \\cos(-\\Omega) &#8211; j \\tau \\sin(-\\Omega)} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{T}{T + \\tau [1 &#8211; \\cos(-\\Omega)] &#8211; j \\tau \\sin(-\\Omega)} \\\\<br><br>H(e^{j \\Omega}) &amp;= \\frac{T}{T + \\tau [1 &#8211; \\cos(\\Omega)] + j \\tau \\sin(\\Omega)} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Magnitude is then<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>|H(e^{j \\Omega})| &amp;= \\frac{T}{\\sqrt{\\{T + \\tau [1 &#8211; \\cos(\\Omega)] \\}^2 + \\{ \\tau \\sin(\\Omega) \\}^2 } } \\\\<br><br>|H(e^{j \\Omega})| &amp;= \\frac{T}{\\sqrt{T^2 + 2 \\tau T [1 &#8211; \\cos(\\Omega)] + \\tau^2 [1 &#8211; \\cos(\\Omega)]^2 + \\tau^2 \\sin^2(\\Omega) } } \\\\<br><br>|H(e^{j \\Omega})| &amp;= \\frac{T}{\\sqrt{T^2 + 2 \\tau T [1 &#8211; \\cos(\\Omega)] + \\tau^2 [1 &#8211; 2 \\cos(\\Omega) + \\cos^2(\\Omega)] + \\tau^2 \\sin^2(\\Omega) } } \\\\<br><br>|H(e^{j \\Omega})| &amp;= \\frac{T}{\\sqrt{T^2 + 2 \\tau T &#8211; 2 \\tau T \\cos(\\Omega) + \\tau^2 &#8211; 2 \\tau^2 \\cos(\\Omega) + \\tau^2 \\cos^2(\\Omega) + \\tau^2 \\sin^2(\\Omega) } } \\\\<br><br>|H(e^{j \\Omega})| &amp;= \\frac{T}{\\sqrt{T^2 + 2 \\tau T &#8211; 2 \\tau T \\cos(\\Omega) + \\tau^2 &#8211; 2 \\tau^2 \\cos(\\Omega) + \\tau^2 [\\cos^2(\\Omega) + \\sin^2(\\Omega)] } } \\\\<br><br>|H(e^{j \\Omega})| &amp;= \\frac{T}{\\sqrt{T^2 + 2 \\tau T &#8211; 2 \\tau T \\cos(\\Omega) + \\tau^2 &#8211; 2 \\tau^2 \\cos(\\Omega) + \\tau^2 } } \\\\<br><br>|H(e^{j \\Omega})| &amp;= \\frac{T}{\\sqrt{(\\tau + T)^2 &#8211; 2 \\tau \\cos(\\Omega)(\\tau + T) + \\tau^2 } } \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>There does not appear to be a simpler representation of this (when looking around on internet, trying a couple methods using sympy, and asking ChatGPT).  However, you may note that if we assume the value in the radical is always positive, then the magnitude reaches a maximum when $\\cos(\\Omega) = 1 \\implies \\Omega = 0, 2 \\pi, \\dots$ and a minimum when $\\cos(\\Omega) = -1 \\implies \\Omega = \\pm \\pi, \\pm 3 \\pi, \\dots $ as we would expect for a discrete lowpass filter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"First_Difference_Highpass_Filter\"><\/span>First Difference Highpass Filter<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/neilfoxman.com\/?page_id=1586#First_Order_Highpass_Filter\">Recall<\/a> that a highpass filter in continuous time with gain $G$ is described using<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\tau \\frac{d y(t)}{dt} + y(t) &amp;= G \\tau \\frac{d x(t)}{dt} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Using the Euler Backwards Differentiation Approximation, we can approximate this as a difference equation in discrete time.<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\frac{d x(t)}{dt} &amp;\\approx \\frac{x[n] &#8211; x[n-1]}{T} \\\\<br>\\\\<br>\\tau \\frac{y[n] &#8211; y[n-1]}{T} + y[n] &amp;= G \\tau \\frac{x[n] &#8211; x[n-1]}{T} \\\\<br><br>\\frac{\\tau}{T} y[n] &#8211; \\frac{\\tau}{T} y[n-1] + y[n] &amp;= G \\frac{\\tau}{T} x[n] &#8211; G \\frac{\\tau}{T} x[n-1] \\\\<br><br>\\left( \\frac{\\tau}{T} + 1 \\right) y[n] &#8211; \\frac{\\tau}{T} y[n-1] &amp;= G \\frac{\\tau}{T} x[n] &#8211; G \\frac{\\tau}{T} x[n-1] \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>If using an algorithm, this can be rewritten<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\left( \\frac{\\tau}{T} + 1 \\right) y[n] &amp;= \\frac{\\tau}{T} y[n-1] + G \\frac{\\tau}{T} x[n] &#8211; G \\frac{\\tau}{T} x[n-1] \\\\<br>\\left( \\frac{\\tau}{T} + 1 \\right) y[n] &amp;= \\frac{\\tau}{T} \\left( y[n-1] + G x[n] &#8211; G x[n-1] \\right) \\\\<br>y[n] &amp;= \\frac{ ( \\tau \/ T ) \\left( y[n-1] + G \\left\\{ x[n] &#8211; x[n-1] \\right\\} \\right)  }{ (\\tau \/ T ) + 1}  \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>For small changes in $x$ i.e. $x[n] &#8211; x[n-1]$ is small, one may choose the gain to be large such that<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>G &amp;= G&#8217; \\left( \\frac{\\tau}{T} + 1 \\right) \\\\<br>\\\\<br>\\left( \\frac{\\tau}{T} + 1 \\right) y[n] &amp;= \\frac{\\tau}{T} y[n-1] + G&#8217; \\left( \\frac{\\tau}{T} + 1 \\right) \\frac{\\tau}{T} x[n] &#8211; G&#8217; \\left( \\frac{\\tau}{T} + 1 \\right) \\frac{\\tau}{T} x[n-1] \\\\<br><br>y[n] &amp;= \\frac{ \\tau \/ T }{ ( \\tau \/ T ) + 1 } y[n-1] + G&#8217; \\frac{\\tau}{T} ( x[n] &#8211; x[n-1] ) \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Although the solution above does not lend itself well to an implementation, one may note that the coefficient for $y[n-1] \\to 1$ whereas the $G&#8217; (\\tau \/ T) \\gg 1$ coefficient dominates.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"First_Difference_Differentiator\"><\/span>First Difference Differentiator<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>This is an easy to implement filter that resembles differentiation.<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>y[n] &amp;= x[n] &#8211; x[n-1] \\\\<br>\\\\<br>Y(z) &amp;= X(z) &#8211; X(z) z^{-1} \\\\<br>Y(z) &amp;= X(z) [1 &#8211; z^{-1}] \\\\<br>H(z) &amp;= 1 &#8211; z^{-1} \\\\<br>\\\\<br>H(e^{j \\Omega}) &amp;= 1 &#8211; e^{-j \\Omega} \\\\<br>H(e^{j \\Omega}) &amp;= e^{-j \\Omega\/2} (e^{j \\Omega\/2} &#8211; e^{-j \\Omega\/2}) \\\\<br>H(e^{j \\Omega}) &amp;= 2 j e^{-j \\Omega\/2} \\sin(\\Omega\/2) \\\\<br>\\\\<br>|H(e^{j \\Omega})| &amp;= 2 |\\sin(\\Omega\/2)| \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Note around $\\Omega = 0$, the magnitude is zero and slope is 1, which is similar to an <a href=\"https:\/\/neilfoxman.com\/?page_id=110#Ideal_Differentiator\">ideal differentiator<\/a>. Plus superscript indicates we are just looking at positive frequencies.<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\frac{d}{d\\Omega} |H(e^{j \\Omega})|^+ &amp;= 2 \\cos(\\Omega\/2) \\cdot \\frac{1}{2} \\\\<br>\\frac{d}{d\\Omega} |H(e^{j \\Omega})|^+ &amp;= \\cos(\\Omega\/2) \\\\<br>\\left[ \\frac{d}{d\\Omega} |H(e^{j \\Omega})| \\right]_{\\Omega=0^+} &amp;= 1 \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ideal_Differentiator\"><\/span>Ideal Differentiator<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In continuous time, a differentiating system has the form<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>y_c(t) &amp;= \\frac{d}{dt} x_c(t) \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>And we know from the <a href=\"https:\/\/neilfoxman.com\/?page_id=1284#Differentiation_in_Time_Domain\">differentiation property<\/a> that the system response is<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>Y_c(s) &amp;= s X(s) \\\\<br>H_c(s) &amp;= s \\\\<br>H_c(j \\omega) &amp;= j \\omega \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Although we will revisit this approach in more detail <a href=\"https:\/\/neilfoxman.com\/?page_id=871#Ideal_Differentiator\">later<\/a>, for now let&#8217;s assume that in order to create a comparable version of this filter for discrete time systems we must assume a band limited input signal and a system response described by<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>H_d(e^{j \\omega}) &amp;= j \\Omega &amp;&amp;\\left|\\Omega\\right| &lt; \\pi \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d335ea80b3e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d335ea80b3e\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"808\" height=\"1005\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/05\/image-20220817213306579.png\" alt=\"\" class=\"wp-image-728\" srcset=\"https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/05\/image-20220817213306579.png 808w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/05\/image-20220817213306579-241x300.png 241w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/05\/image-20220817213306579-768x955.png 768w\" sizes=\"auto, (max-width: 808px) 100vw, 808px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Impulse Response of this signal is<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>h_d[n] &amp;= \\frac{1}{2 \\pi}\\int_{2 \\pi} H_d(e^{j \\Omega}) \\cdot e^{j \\Omega n} d \\Omega \\\\<br><br>h_d[n] &amp;= \\frac{1}{2 \\pi} \\int_{-\\pi}^{\\pi} j \\Omega e^{j \\Omega n} d \\Omega \\\\<br><br>h_d[n] &amp;= j\\frac{1}{2 \\pi} \\int_{-\\pi}^{\\pi} \\Omega e^{j \\Omega n} d \\Omega \\\\<br><br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Using IBP<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>(fg)&#8217; &amp;= f&#8217;g + fg&#8217; \\\\<br>f&#8217;g &amp;= (fg)&#8217;- fg&#8217; \\\\<br>\\int_a^b f&#8217;g d\\Omega &amp;= \\left[ fg \\right]_{\\Omega=a}^b &#8211; \\int_a^b fg&#8217; d\\Omega \\\\<br>\\\\<br>f&#8217; &amp;= e^{j \\Omega n} \\\\<br>f &amp;= \\frac{1}{j n} e^{j \\Omega n} \\\\<br>g &amp;= \\Omega \\\\<br>g&#8217; &amp;= 1 \\\\<br><br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Returning to the impulse response<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>h_d[n] &amp;= j\\frac{1}{2 \\pi} \\left[ \\left(\\frac{\\Omega}{j n} e^{j \\Omega n} \\right)_{\\Omega=-\\pi}^{\\pi} &#8211; \\int_{-\\pi}^{\\pi} \\frac{1}{j n} e^{j \\Omega n} d \\Omega \\right] \\\\<br><br>h_d[n] &amp;= j\\frac{1}{2 \\pi} \\left[ \\left(\\frac{\\Omega}{j n} e^{j \\Omega n} \\right)_{\\Omega=-\\pi}^{\\pi} &#8211; \\left( \\frac{1}{(j n)^2} e^{j \\Omega n} \\right)_{\\Omega=-\\pi}^{\\pi} \\right] \\\\<br><br>h_d[n] &amp;= j\\frac{1}{2 \\pi} \\left[ \\left(\\frac{\\pi}{j n} e^{j \\pi n} &#8211; \\frac{-\\pi}{j n} e^{-j \\pi n} \\right) &#8211; \\left( \\frac{1}{(j n)^2} e^{j \\pi n} &#8211; \\frac{1}{(j n)^2} e^{-j \\pi n} \\right) \\right] \\\\<br><br>h_d[n] &amp;= j\\frac{1}{2 \\pi} \\left[ \\frac{\\pi}{j n} \\left( e^{j \\pi n} + e^{-j \\pi n} \\right) &#8211; \\frac{1}{(j n)^2} \\left( e^{j \\pi n} &#8211; e^{-j \\pi n} \\right) \\right] \\\\<br><br>h_d[n] &amp;= j\\frac{1}{2 \\pi} \\left[ \\frac{\\pi}{j n} 2 \\cos(\\pi n) &#8211; \\frac{1}{(j n)^2} 2 j \\sin(\\pi n) \\right] \\\\<br><br>h_d[n] &amp;= \\frac{1}{n} \\cos(\\pi n) + \\frac{1}{\\pi (j n)^2} \\sin(\\pi n) \\\\<br><br>h_d[n] &amp;= \\frac{1}{n} \\cos(\\pi n) &#8211; \\frac{1}{\\pi n^2} \\sin(\\pi n) \\\\<br><br>h_d[n] &amp;= \\frac{\\pi n \\cos(\\pi n) &#8211; \\sin(\\pi n)}{ \\pi n^2} \\\\<br><br>\\end{align}<br>$$<\/p>\n\n\n\n<p>For $n \\neq 0$ we may note that because $n \\in \\mathbb{Z}$ we can simplify the above to<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>h_d[n] &amp;= \\frac{\\pi n \\cos(\\pi n) }{ \\pi n^2} &#8211; \\frac{\\sin(\\pi n)}{\\pi n^2} &amp;&amp;n \\neq 0 \\\\<br><br>h_d[n] &amp;= \\frac{\\cos(\\pi n) }{n} &#8211; \\frac{\\sin(\\pi n)}{\\pi n^2} &amp;&amp;n \\neq 0 \\\\<br><br>n \\in \\mathbb{Z} \\implies \\sin(\\pi n) = 0 \\implies<br>h_d[n] &amp;= \\frac{\\cos(\\pi n) }{n} &amp;&amp;n \\neq 0 \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Because both the numerator and the denominator approach 0 at $n=0$, we need to use more advanced analysis to determine the value at $n=0$. For the time being, ignore that we are solving for integer values of $n$ and instead let&#8217;s solve for the generic case where the independent variable $x \\in \\mathbb{R}$.<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\frac{\\pi x \\cos(\\pi x) &#8211; \\sin(\\pi x)}{ \\pi x^2} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Now applying <a href=\"https:\/\/neilfoxman.com\/?page_id=971#LHopitals_Rule\">L\u2019H\u00f4pital\u2019s Rule just like for the $\\text{sinc}$ function<\/a> we get<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\lim_{x \\to c} \\frac{f(x)}{g(x)} &amp;= \\lim_{x \\to c} \\frac{f'(x)}{g'(x)} \\\\<br>\\\\<br>f(x) &amp;= \\pi x \\cos(\\pi x) &#8211; \\sin(\\pi x) \\\\<br>\\\\<br>f'(x) &amp;= \\pi \\{1 \\cdot \\cos(\\pi x) + x \\cdot [-\\sin(\\pi x)] \\cdot \\pi \\} &#8211; \\cos(\\pi x) \\cdot \\pi \\\\<br>f'(x) &amp;= \\pi \\{\\cos(\\pi x) &#8211; \\pi x \\sin(\\pi x) \\} &#8211; \\pi \\cos(\\pi x) \\\\<br>f'(x) &amp;= \\pi \\cos(\\pi x) &#8211; \\pi^2 x \\sin(\\pi x) &#8211; \\pi \\cos(\\pi x) \\\\<br>f'(x) &amp;= &#8211; \\pi^2 x \\sin(\\pi x) \\\\<br>\\\\<br>g(x) &amp;= \\pi x^2 \\\\<br>\\\\<br>g'(x) &amp;= 2 \\pi x \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>This result  again cannot be solved as both the numerator and denominator approach 0 as $x \\to 0$.  However, we may re-use L\u2019H\u00f4pital\u2019s Rule to infer that<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\lim_{x \\to c} \\frac{f(x)}{g(x)} &amp;= \\lim_{x \\to c} \\frac{f'(x)}{g'(x)} = \\lim_{x \\to c} \\frac{f&#8221;(x)}{g&#8221;(x)} \\\\<br>\\\\<br>f&#8221;(x) &amp;= &#8211; \\pi^2 \\{ 1 \\cdot \\sin(\\pi x) + x \\cdot \\cos(\\pi x) \\cdot \\pi \\} \\\\<br>f&#8221;(x) &amp;= &#8211; \\pi^2 \\{ \\sin(\\pi x) + \\pi x \\cos(\\pi x) \\} \\\\<br>f&#8221;(x) &amp;= &#8211; \\pi^2 \\sin(\\pi x) &#8211; \\pi^3 x \\cos(\\pi x) \\\\<br>\\\\<br>g&#8221;(x) &amp;= 2 \\pi \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>The denominator no longer approaches 0, and we can now solve<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\lim_{x \\to c} \\frac{f(x)}{g(x)} &amp;= \\lim_{x \\to c} \\frac{- \\pi^2 \\sin(\\pi x) &#8211; \\pi^3 x \\cos(\\pi x)}{2 \\pi} \\\\<br>\\lim_{x \\to 0} \\frac{f(x)}{g(x)} &amp;= \\lim_{x \\to 0} \\frac{- \\pi^2 \\sin(\\pi x) &#8211; \\pi^3 x \\cos(\\pi x)}{2 \\pi} \\\\<br>\\lim_{x \\to 0} \\frac{f(x)}{g(x)} &amp;= \\frac{0}{2 \\pi} \\\\<br>\\lim_{x \\to 0} \\frac{f(x)}{g(x)} &amp;= 0 \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>and so for the ideal differentiator in discrete time, the impulse response is<\/p>\n\n\n\n<p>$$<br>h[n] = \\cases{<br>\\begin{align}<br>0 &amp;&amp;&amp;n=0 \\\\<br>\\frac{\\cos(\\pi n)}{n} &amp;&amp;&amp;n \\neq 0<br>\\end{align}<br>}<br>$$<\/p>\n\n\n\n<p>Verifying using online calculator, the continuous version of the impulse response is plotted below<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\frac{\\pi x \\cos(\\pi x) &#8211; \\sin(\\pi x)}{ \\pi x^2} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d335ea8147a&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d335ea8147a\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"323\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-1-1024x323.png\" alt=\"\" class=\"wp-image-1076\" srcset=\"https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-1-1024x323.png 1024w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-1-300x94.png 300w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-1-768x242.png 768w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-1.png 1035w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Below is that same plot with the discrete function superimposed over it i,e. in blue we have<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>\\frac{\\cos(\\pi x)}{x}<br>\\end{align}<br>$$<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d335ea81916&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d335ea81916\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"321\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-2-1024x321.png\" alt=\"\" class=\"wp-image-1079\" srcset=\"https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-2-1024x321.png 1024w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-2-300x94.png 300w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-2-768x241.png 768w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/06\/image-2.png 1037w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Note that the two functions overlap when $x$ is an integer except at $x=0$.<\/p>\n\n\n\n<p>Additionally, note that $\\forall n \\in \\mathbb{Z}$, the numerator $\\cos(\\pi n)$ just alternates between 1 and -1, so depending on computation method it may help to conceptualize the impulse response as<\/p>\n\n\n\n<p>$$<br>h[n] = \\cases{<br>\\begin{align}<br>0 &amp;&amp;&amp;n=0 \\\\<br>\\frac{(-1)^{n}}{n} &amp;&amp;&amp;n \\neq 0<br>\\end{align}<br>}<br>$$<\/p>\n\n\n\n<p>Using the <a href=\"https:\/\/neilfoxman.com\/?page_id=251#Sifting_Property\">sifting property<\/a>, the impulse response may also be written as<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>h[n] &amp;= \\dots +<br>\\frac{-1}{-3} \\delta[n+3] +<br>\\frac{1}{-2} \\delta[n+2] +<br>\\frac{-1}{-1} \\delta[n+1] +<br>0 \\cdot \\delta[n] +<br>\\frac{-1}{1} \\delta[n-1] +<br>\\frac{1}{2} \\delta[n-2] + <br>\\frac{-1}{3} \\delta[n-3] + <br>\\dots \\\\<br><br>h[n] &amp;= \\dots +\\frac{1}{3} \\delta[n+3] &#8211; \\frac{1}{2} \\delta[n+2] +\\delta[n+1] &#8211; \\delta[n-1] + \\frac{1}{2} \\delta[n-2] &#8211; \\frac{1}{3} \\delta[n-3] + \\dots \\\\<br><br>h[n] &amp;=<br>(\\delta[n+1] &#8211; \\delta[n-1]) +<br>\\frac{\\delta[n-2] &#8211; \\delta[n+2]}{2} +<br>\\frac{\\delta[n+3] &#8211; \\delta[n-3]}{3} +<br>\\dots \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Central_Difference_Differentiator\"><\/span>Central Difference Differentiator<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Note that if we truncate\/ignore the higher order terms and can accept a latency of one sample, we have<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>h_{diffapprox}[n] &amp;= \\delta[n+1] &#8211; \\delta[n-1] \\\\<br>\\\\<br>y_{diffapprox}[n] &amp;= x[n+1] &#8211; x[n-1] \\\\<br>\\\\<br>Y_{diffapprox}(e^{j \\Omega}) &amp;= X(e^{j \\Omega}) (e^{j \\Omega} &#8211; e^{-j \\Omega} \\\\<br>Y_{diffapprox}(e^{j \\Omega}) &amp;= X(e^{j \\Omega}) 2 j \\sin(\\Omega) \\\\<br>H_{diffapprox}(e^{j \\Omega}) &amp;= 2 j \\sin(\\Omega) \\\\<br>|H_{diffapprox}(e^{j \\Omega})| &amp;= 2 \\sin(\\Omega) \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Ignoring the scaling factor of 2, this filter also resembles a differentiator at low frequencies.  However, note that in this case there is some attenuation at high frequencies near $\\pi$ because $\\sin(\\pi) = 0$.  This effect is sometimes desirable however, and functions to attenuate high frequency noise and harmonics.<\/p>\n\n\n\n<p>Reference: <a href=\"https:\/\/wirelesspi.com\/design-of-a-discrete-time-differentiator\/\">Design of a Discrete-Time Differentiator | Wireless Pi<\/a><\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d335ea81f0e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d335ea81f0e\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"360\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/08\/image.png\" alt=\"\" class=\"wp-image-1712\" srcset=\"https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/08\/image.png 600w, https:\/\/neilfoxman.com\/wp-content\/uploads\/2024\/08\/image-300x180.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Second_Order_Bandpass_Filter\"><\/span>Second Order Bandpass Filter<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/neilfoxman.com\/?page_id=1586#Underdamped_Second_Order_System_Bandpass\">Recall<\/a> that a bandpass filter in continuous time may be represented as<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>H(s) &amp;= \\frac{ s }{ s^2 + 2 \\zeta \\omega_n s + \\omega_n^2 } \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>Putting this in a form with derivatives using the inverse Laplace Transform, we have<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br>[s^2 + 2 \\zeta \\omega_n s + \\omega_n^2] Y(s) &amp;= s X(s) \\\\<br>\\frac{d^2 y(t)}{dt} + 2 \\zeta \\omega_n \\frac{d y(t)}{dt} + \\omega_n^2 y(t) &amp;= \\frac{d x(t)}{dt} \\\\<br>\\end{align}<br>$$<\/p>\n\n\n\n<p>We may then use Euler Backwards Differentiation Approximation to make a difference equation<\/p>\n\n\n\n<p>$$<br>\\begin{align}<br><br>\\frac{ y[n] &#8211; 2 y[n-1] + y[n-2] }{ T^2 } + 2 \\zeta \\omega_n \\left( \\frac{y[n] &#8211; y[n-1]}{T} \\right) + \\omega_n^2 y[n] &amp;= \\frac{x[n] &#8211; x[n-1]}{T} \\\\<br><br>\\left( \\frac{1}{T^2} + \\frac{ 2 \\zeta \\omega_n}{T} + \\omega_n^2 \\right) y[n] + <br>\\left( \\frac{-2}{T^2} + \\frac{ -2 \\zeta \\omega_n}{T} \\right) y[n-1] + <br>\\frac{1}{T^2} y[n-2] &amp;= <br>\\frac{1}{T} x[n] +<br>\\frac{-1}{T} x[n-1] \\\\<br><br>\\end{align}<br>$$<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instead of differentiation used for continuous systems, discrete systems generally use difference equations to capture time-varying signal or system information. Euler Backwards Differentiation Approximation First Order The Euler Backward Differentiation Approximation allows us to approximate a derivative in continuous time using discrete time samples. $$\\begin{align}\\frac{d y(t)}{dt} &amp;\\approx \\frac{y[n] &#8211; y[n-1]}{T} \\\\\\end{align}$$ where $T$ is a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":251,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1714","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/neilfoxman.com\/index.php?rest_route=\/wp\/v2\/pages\/1714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/neilfoxman.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/neilfoxman.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/neilfoxman.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/neilfoxman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1714"}],"version-history":[{"count":64,"href":"https:\/\/neilfoxman.com\/index.php?rest_route=\/wp\/v2\/pages\/1714\/revisions"}],"predecessor-version":[{"id":2115,"href":"https:\/\/neilfoxman.com\/index.php?rest_route=\/wp\/v2\/pages\/1714\/revisions\/2115"}],"up":[{"embeddable":true,"href":"https:\/\/neilfoxman.com\/index.php?rest_route=\/wp\/v2\/pages\/251"}],"wp:attachment":[{"href":"https:\/\/neilfoxman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}