Specifications
Mx+B operations. To increase accuracy, the range over which calculations are
made must be limited. Many transcendental functions are simply used as a scaling
multiplier. For example, a sine wave function is typically created over a range of
360 degrees or 2p radians. After which, the function repeats itself. It’s a simple
matter to make sure the ‘x’ term is scaled to this range before calculating the result.
This concept should be used almost exclusively to obtain the best results.
Haversine Example
The following is an example of creating a haversine function (a sine wave over the
range of -p/2 to p/2). The resulting function represents a fairly accurate
approximation of this non-linear waveform when limited to the range indicated.
Since the tables must be built upon binary boundaries (e.g. 0.125, 0.25, 0.5, 1, 2, 4,
etc.) and since p/2 is a number greater than 1 but less than 2, the next binary
interval to include this range will be 2. Another requirement for building the table
is that the waveform range MUST be centered around 0 (e.g. symmetrical about the
X-axis). If the desired function is not defined on one side or the other of the
Y-axis, then the table is right or left shifted by the offset fromX=0andthetable
values are calculated correctly, but the table is built as though it were centered
about the X-axis. For the most part, the last couple of sentences can be ignored if
they do not make sense. The only reason its brought up here is that accuracy may
suffer the farther away from theX=0point the waveform gets unless the resolution
available is understood and the amount of non-linearity present in the waveform is
known. This will be discussed later in the “Limitations” section.
Figure E-1 shows the haversine function as stated above. This type of waveform is
typical of the kind of acceleration and deceleration one wants when moving an
object from one point to another. The desired beginning point would be the
location at -p/2 and the ending point would be at p/2. With the desired range
spread over ±p/2, the 128 segments are actually divided over the range of ±2.
Therefore, the 128 Mx+B line segments are divided equally on both sides of
X = 0:64 segments for 0..2 and 64 segments for -2..0.
Generating User Defined Functions
378 Appendix E
-p/2 p/2
+1
-1
-2 +2
Figure E-1: Haversine Function
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com










