<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="id7713078">
  <name>SOLUTION OF DIFFERENCE EQUATION</name>
  <metadata>
  <md:version>1.2</md:version>
  <md:created>2007/11/08 00:42:06 US/Central</md:created>
  <md:revised>2008/07/03 02:42:11.923 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="PhuongNguyen">
      <md:firstname>Phuong</md:firstname>
      <md:othername>Huu</md:othername>
      <md:surname>Nguyen</md:surname>
      <md:email>nhphuong@hcmuns.edu.vn</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="PhuongNguyen">
      <md:firstname>Phuong</md:firstname>
      <md:othername>Huu</md:othername>
      <md:surname>Nguyen</md:surname>
      <md:email>nhphuong@hcmuns.edu.vn</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  

  <md:abstract/>
</metadata>
  <content>
    <para id="id7735148">First the signal difference equation of general filter is given by <cnxn document="m10784" target="id00221"> Equation </cnxn>. To solve the difference equation for the output signal 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>y</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{y \( n \) } {}</m:annotation></m:semantics></m:math> when the input signal 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>x</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{x \( n \) } {}</m:annotation></m:semantics></m:math> is applied, we need to know the intial conditions (or boundary conditions), i.e. the state of the filter just before the application of the signal. For this, the filter comprises two types : <term> Relaxed </term>, i.e 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>y</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mrow><m:mo stretchy="false">)</m:mo><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{y \( n \) =0} {}</m:annotation></m:semantics></m:math> at 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">&lt;</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{n&lt;0} {}</m:annotation></m:semantics></m:math> , and <term> nonrelaxed </term>, i.e. 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>y</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{y \( n \) } {}</m:annotation></m:semantics></m:math> has some nonzero values at 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">&lt;</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{n&lt;0} {}</m:annotation></m:semantics></m:math>. Actually, the solution of digital signal difference equations is quite similar to that of the differential equations of continuous time. This section only presents a brief discussion, interested readers can refer to various references. Now let’s consider a simple equation (<cnxn document="m10833" target="element-9"> Example </cnxn>)</para>
    
    <para id="id7851141"><m:math display="block">
        <m:semantics>
          <m:mrow>
            <m:mstyle fontsize="12pt">
              <m:mrow>
                <m:mrow>
                  <m:mi>y</m:mi>
                  <m:mo stretchy="false">(</m:mo>
                  <m:mi>n</m:mi>
                  <m:mrow>
                    <m:mo stretchy="false">)</m:mo>
                    <m:mo stretchy="false">=</m:mo>
                    <m:mn>0</m:mn>
                  </m:mrow>
                  <m:mtext>.</m:mtext>
                  <m:mn>8y</m:mn>
                  <m:mo stretchy="false">(</m:mo>
                  <m:mrow>
                    <m:mi>n</m:mi>
                    <m:mo stretchy="false">−</m:mo>
                    <m:mn>1</m:mn>
                  </m:mrow>
                  <m:mrow>
                    <m:mo stretchy="false">)</m:mo>
                    <m:mo stretchy="false">−</m:mo>
                    <m:mi>x</m:mi>
                  </m:mrow>
                  <m:mo stretchy="false">(</m:mo>
                  <m:mi>n</m:mi>
                  <m:mo stretchy="false">)</m:mo>
                </m:mrow>
              </m:mrow>
            </m:mstyle>
            <m:mrow/>
          </m:mrow>
          <m:annotation encoding="StarMath 5.0"> size 12{y \( n \) =0 "." 8y \( n - 1 \)  - x \( n \) } {}</m:annotation>
        </m:semantics>
      </m:math>
    </para>
    <para id="id7779167">For a signal 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>x</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{x \( n \) } {}</m:annotation></m:semantics></m:math> applied at 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{n=0} {}</m:annotation></m:semantics></m:math>, the output at that instant is</para>
    
    <para id="id7370570"><m:math display="block">
        <m:semantics>
          <m:mrow>
            <m:mstyle fontsize="12pt">
              <m:mrow>
                <m:mrow>
                  <m:mi>y</m:mi>
                  <m:mo stretchy="false">(</m:mo>
                  <m:mn>0</m:mn>
                  <m:mrow>
                    <m:mo stretchy="false">)</m:mo>
                    <m:mo stretchy="false">=</m:mo>
                    <m:mn>0</m:mn>
                  </m:mrow>
                  <m:mtext>.</m:mtext>
                  <m:mn>8y</m:mn>
                  <m:mrow>
                    <m:mo stretchy="false">(</m:mo>
                    <m:mo stretchy="false">−</m:mo>
                    <m:mn>1</m:mn>
                  </m:mrow>
                  <m:mrow>
                    <m:mo stretchy="false">)</m:mo>
                    <m:mo stretchy="false">−</m:mo>
                    <m:mi>x</m:mi>
                  </m:mrow>
                  <m:mo stretchy="false">(</m:mo>
                  <m:mn>0</m:mn>
                  <m:mo stretchy="false">)</m:mo>
                </m:mrow>
              </m:mrow>
            </m:mstyle>
            <m:mrow/>
          </m:mrow>
          <m:annotation encoding="StarMath 5.0"> size 12{y \( 0 \) =0 "." 8y \(  - 1 \)  - x \( 0 \) } {}</m:annotation>
        </m:semantics>
      </m:math>
    </para>
    <para id="id7370685">If the system is not relaxed, 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>y</m:mi><m:mo stretchy="false">(</m:mo><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">−</m:mo><m:mn>1</m:mn></m:mrow><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{y \( n - 1 \) } {}</m:annotation></m:semantics></m:math> is differs from zero and it affects values of 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>y</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{y \( n \) } {}</m:annotation></m:semantics></m:math> at successive times. <term> Thus 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>y</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{y \( n \) } {}</m:annotation></m:semantics></m:math> has two components, one due to the applied signal at 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>n</m:mi><m:mo stretchy="false">=</m:mo><m:mn>0</m:mn></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{n=0} {}</m:annotation></m:semantics></m:math>, and the other due to intial condition 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>y</m:mi><m:mrow><m:mo stretchy="false">(</m:mo><m:mo stretchy="false">−</m:mo><m:mn>1</m:mn></m:mrow><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{y \(  - 1 \) } {}</m:annotation></m:semantics></m:math> </term>. On the other hand, even for relaxed systems the applied of input signal will cause two responses, the <term> transient response and the steady-state response</term>. The transient response, if any, is the <term> homogeneous root </term>, and steady-sate response is the <term> particular root </term> of the difference equation. The two roots form the <term> total solution </term> of the equation.</para>
    <para id="id7630961">The time convolution of input signal 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>x</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{x \( n \) } {}</m:annotation></m:semantics></m:math>with impulse response 
<m:math><m:semantics><m:mrow><m:mstyle fontsize="12pt"><m:mrow><m:mrow><m:mi>h</m:mi><m:mo stretchy="false">(</m:mo><m:mi>n</m:mi><m:mo stretchy="false">)</m:mo></m:mrow></m:mrow></m:mstyle><m:mrow/></m:mrow><m:annotation encoding="StarMath 5.0"> size 12{h \( n \) } {}</m:annotation></m:semantics></m:math> of the system gives the output signal which is the total solution, from this usually we cannot separate the two homogeneous and particular roots.</para><para id="element-254">We know that in analog world the differential equations can be conveniently solved by using the <term> Laplace transform </term>. Similarly, in the digital domain, we can use the <term> z-transform </term> (chapter 4) to solve the difference equations.</para>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  </content>
</document>
