Received: from gatech.edu by karazm.math.UH.EDU with SMTP id AA09790 (5.65c/IDA-1.4.4 for ); Tue, 15 Oct 1991 14:26:28 -0500 Received: from cc.gatech.edu (hermes.cc.gatech.edu) by gatech.edu (4.1/Gatech-9.1) id AA20086 for glove-list@karazm.math.uh.edu; Tue, 15 Oct 91 15:22:23 EDT Received: from warhol.cc.gatech.edu by cc.gatech.edu (3.2/SMI-3.2) id AA08626; Tue, 15 Oct 91 15:21:43 EDT Received: by warhol.cc.gatech.edu (NeXT-1.0 (From Sendmail 5.52)/SMI-4.1) id AA08238; Tue, 15 Oct 91 15:11:31 EDT Date: Tue, 15 Oct 91 15:11:31 EDT From: burgess@cc.gatech.edu (David Burgess) Message-Id: <9110151911.AA08238@warhol.cc.gatech.edu> Received: by NeXT Mailer (1.62) To: glove-list@karazm.math.uh.edu Subject: Re: LPC vs. polynomial predicting I normally just listen to this list, but since I'm up to my neck in filters and predictors right now, I couldn't help but run my mouth: Linear predictive coding predicts with a linear filter: a differential equation, or, in the digital domain, a difference equation. Implementation is easy: you just feed the signal into the filter and take the result. The trick is picking the right filter. Low pass filters will control jitter, but may give sluggish response. A properly tuned second order filter is good for many control/conditioning applications, like the suspension system of your car. It will reduce jitter, but still can be tuned to give a quick response. A second order difference equation looks like: y[n] = x[n] + ax[n-1] + bx[n-2] + cy[n-1] + dy[n-2] where x is the input, y is the output, n is the time index, any all the other things are coefficiants. choose a,b,c,d carefully, because bad choices will give unstable filters that can oscillate uncontrolably or go racing off into infinity. I once experimented with polynomial prediction on my mouse driver, and found the first order prediction was ok, but higher order (quadratic, cubic, etc.) resulted in really bad overshoot. Disclaimers: I've never used a power-glove. I'm not a professional DSP engineer. --david