f # time size 15 xint xamp h0 phs0 h1 phs1 h2 phs2 . . .
This subroutine creates two tables of stored polynomial functions, suitable for use in phase quadrature operations.
size – number of points in the table. Must be a power of 2 or a power-of-2 plus 1 (see f statement). The normal value is power-of-2 plus 1.
xint – provides the left and right values [-xint, +xint] of the x interval over which the polynomial is to be drawn. This subroutine will eventually call GEN03 to draw both functions; this p5 value is therefor expanded to a negative-positive p5, p6 pair before GEN03 is actually called. The normal value is 1.
xamp – amplitude scaling factor of the sinusoid input that is expected to produce the following spectrum.
h0, h1, h2, ... hn – relative strength of partials 0 (DC), 1 (fundamental), 2 ... that will result when a sinusoid of amplitude
xamp * int(size/2)/xintis waveshaped using this function table. These values thus describe a frequency spectrum associated with a particular factor xamp of the input signal.
phs0, phs1, ... – phase in degrees of desired harmonics h0, h1, ... when the two functions of GEN15 are used with phase quadrature.
GEN15 creates two tables of equal size, labeled f # and f # + 1. Table # will contain a Chebyshev function of the first kind, drawn using GEN03 with partial strengths h0cos(phs0), h1cos(phs1), ... Table #+1 will contain a Chebyshev function of the 2nd kind by calling GEN14 with partials h1sin(phs1), h2sin(phs2),... (note the harmonic displacement). The two tables can be used in conjunction in a waveshaping network that exploits phase quadrature.