Name: SINEWAVE.ASM Type: Assembler Macro Version: 1.1 Date Revised: 25-Nov-86 Description: Full-Cycle Sinewave Table Generator Macro This macro generates a full-cycle sinewave lookup table for FFT's, precision waveform generation and modulation/demodulation functions. The macro creates a full-cycle (360 degrees) of the sine waveform of any size in any memory space. If the SINEWAVE macro is called for a table of 256 points at addresses y:$100-$1FF, the table values will be identical to those found in the DSP56001 Y Data ROM. Thus the SINEWAVE macro can be used to simulate the contents of the DSP56001 Y Data ROM. Note that the assembler transcendental functions are used to calculate the sinewave value, which has a range of -1.0 to +1.0. The particular rounding used minimizes the total harmonic distortion (THD) of the waveform. Since the resulting conversion to a fractional number, f, may be outside the available range -1.0 =< f < +1.0, an assembler warning message will appear when the sine(90 degrees) is calculated. WARNING - Floating point value outside fractional domain This warning can be ignored and the assembler will substitute the maximum positive ($7FFFFF) fractional data value. The SINEWAVE macro can be used with the FFTR2D FFT macro to perform complex FFT's up to 32768 points and real FFT's up to 65536 points.