[comp.lang.forth] WHAT'S DSP

ForthNet@willett.UUCP (ForthNet articles from GEnie) (01/05/90)

 Date: 12-21-89 (09:52)              Number: 53 (Echo)
   To: ALL                           Refer#: NONE
 From: CLIFFORD KING                   Read: (N/A)
 Subj: WHAT'S DSP                    Status: PUBLIC MESSAGE

 DSP Message 2 Reposted

 What is DSP?

 For an introduction, see previous messages in this thread.

 Hello again,

 Digital Signal Processing algorithms are used anytime you read an
 input and must make a decision based on that input. The input data can
 be 1 bit (yes or no), an integer number, or a floating point number.
 A trivial example of DSP might be to read a sensor and then based on
 whether the sensor read true or false, turn a relay or off. What does
 this have to do with digital signal processing, you say? Aren't I just
 trying to redefine real time control as digital signal processing?

 Yes, you could say that is what I am doing. However, it is true
 that you are processing a digital signal and producing a new output
 based on the input values you have read so far. That is what digital
 signal processing is all about. In the trivial case, I just mentioned,
 there is no need to delve further into the field of digital signal
 processing. However, if you wanted to control the action of the relay
 beyond simply turning it on or off each time you go thru the process
 loop, say to ensure that the relay once turned on stays on for a
 minimum period of time, then some additional processing is required.
 Usually a feedback loop must be created that looks at the current
 input value as well as previous input values. Once you establish a
 feedback loop no matter how trivial it may be, you are solidly in the
 realm of digital signal processing and all of the algorithms and
 analysis methods available.

 Many of you are possibly aware of "PID" (Proportional, Integral,
 Derivative) loops. These are a simple form of digital signal
 processing based on error control techniques which require the current
 input as well as past input values. By accumulatiing error terms, the
 integrals, and the derivatives of the error terms, an output function
 is created that can be used to control a motor, a relay, or whatever
 device you are operating.

 More sophisticated feedback loops employ filtering algorithms to
 accomplish the same thing as PID loops. However, the mathematics and
 the algorithms are much better documented for filtering algorithms
 than for PID loops which tend to be initialized by the preconceptions
 of the person programming the PID or by some general guidelines that
 may or may not be correct. This is not to say that there is anything
 wrong, with PID loops, it's just that you may not be able to get the
 PID loop to work properly with the coefficients you have chosen and
 you may not have any way to determine how to adjust your coefficients
 to get the loop stabilized.

 By using filtering techniques, which may require additional
 computations over the PID algorithms, it is easier to predict the
 actual behaviour of your control loop and to calculate the proper
 coefficients to obtain the desired behavior. Also changing the
 behavior of the control loop in the desired manner is easier when
 filtering methods are applied instead of PID algorithms.

 Some food for thought. If you have a need for PID algorithms, try
 investigating filtering algorithms instead. You might find the
 filtering algorithms better suited to your requirements, plus it will
 be easier to change the behavior of the control loop in a predictable
 way.

 If you have any questions about DSP leave me a message on the RCFB,
 Clifford King.

 NET/Mail : RCFB Golden, CO ... Vesta Technology & Denver FIG for Forth!
-----
This message came from GEnie via willett through a semi-automated program.
Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'