Use Non-Frames Version Previous Page Next Page
GEN Routines: Waveshaping

GEN15

  f  #    time    size    15    xint    xamp    h0    phs0   h1    phs1    h2    phs2  .  .  .    

Description

This subroutine creates two tables of stored polynomial functions, suitable for use in phase quadrature operations.

Initialization

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)/xint
is 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.

Note

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.


Use Non-Frames Version Previous Page Next Page
GEN Routines: Waveshaping