View Single Post
  #9   Report Post  
Posted to sci.electronics.design,alt.binaries.schematics.electronic,sci.electronics.cad,sci.electronics.basics
Jim Thompson[_3_] Jim Thompson[_3_] is offline
external usenet poster
 
Posts: 2,181
Default Difference Equations

On Tue, 05 Feb 2013 13:16:39 -0600, Tim Wescott
wrote:

On Tue, 05 Feb 2013 09:21:34 -0700, Jim Thompson wrote:

On Tue, 05 Feb 2013 11:13:45 -0500, Phil Hobbs
wrote:

On 2/5/2013 11:05 AM, Jim Thompson wrote:
It's been too long ago, I can't remember how to reduce difference
equations.

Suppose I have...

f(N+1) = 0.97*f(N)

Now I know, off the seat of my pants (I think :-), that...

f(N) = Const*(0.97^N)

But I can't remember how to rigorously get to that conclusion.

...Jim Thompson


Mathematical induction. It's true for N=0, by construction, and if it's
true for N, it's true for N+1 by the use of your recurrence relation.

Cheers

Phil Hobbs


"Truth" isn't "solution" ;-)

Isn't there some rigorous way to derive the "continuous" equation from
the difference equation?


I'm not sure what you mean by "continuous" equation -- a difference
equation lives in discrete-time, and has no direct relationship to a
differential equation in continuous time. (You can _make_ direct
relationships, but to do so you have to specify how sampling and
reconstruction are carried out).

I was taught in differential equations class that when you dig right down
to the bottom of things, you solve a differential equation by guessing an
answer, then proving that you were right. Finding symbolic solutions to
difference equations is the same general procedure. So I think that's as
much rigor as you're going to find in this.

Yes, there are recipes for these solutions, but all of of them (including
the use of the z transform) are just the results of the guess-then-prove
technique being carried out for a whole class of difference equations,
rather than any one specific one.

In the case of a linear, shift-invariant difference equation, the recipe
is to find the auxiliary polynomial of the difference equation, and
"posit" that the solution is the sum of A_k * d_k^N, where d_k is the k'th
root of the auxiliary polynomial and A_k is a constant that goes with it.

In your case (assuming that f(N) is the N'th element in f, which is a
possibly infinitely long vector of values), then your auxiliary
polynomial is z - 0.97, your "posited" values of d are just d = 0.97, and
your "posited" solution is

f(N) = A * (0.97)^N

Note, too, that just like differential equations, linear difference
equations can be homogeneous or non-homogeneous (yours is homogeneous).
You can find the non-homogeneous solutions to difference equations the
same way as you do for differential equations.

And, finally, if you do this a lot with linear, shift-invariant
difference equations, it pays to learn how to use the z-transform. It
simplifies things almost as much as the Laplace transform does for linear
time-invariant differential equations, and makes all of this folderol
much easier to remember.


Yep, It's all coming back to me... guess a solution and prove it fits
:-(

...Jim Thompson
--
| James E.Thompson, CTO | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC's and Discrete Systems | manus |
| Phoenix, Arizona 85048 Skype: Contacts Only | |
| Voice480)460-2350 Fax: Available upon request | Brass Rat |
| E-mail Icon at http://www.analog-innovations.com | 1962 |

I love to cook with wine. Sometimes I even put it in the food.