Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## toxi.math.waves
Class FMHarmonicSquareWave

    java.lang.Object
      toxi.math.waves.AbstractWave
          toxi.math.waves.FMHarmonicSquareWave

    public class FMHarmonicSquareWave

extends AbstractWave

Frequency modulated bandwidth-limited square wave using a fourier series of harmonics. Also uses a secondary wave to modulate the frequency of the main wave.

Note: You must NEVER call the update() method on the modulating wave.

Field Summary
`AbstractWave` | `fmod`
`int` | `maxHarmonics` Maximum harmonics to add (make sure you stay under Nyquist freq), default = 9

Fields inherited from class toxi.math.waves.AbstractWave
`amp, frequency, offset, phase, PI, TWO_PI, value`

Constructor Summary
`FMHarmonicSquareWave(float phase, float freq, AbstractWave fmod)`
`FMHarmonicSquareWave(float phase, float freq, float amp, float offset)` Convenience constructor to create a non frequency modulated square wave
`FMHarmonicSquareWave(float phase, float freq, float amp, float offset, AbstractWave fmod)`

Method Summary
`void` | `pop()`
`void` | `push()`
`void` | `reset()` Resets this wave and its modulating wave as well.
`float` | `update()` Progresses the wave and updates the result value.

Methods inherited from class toxi.math.waves.AbstractWave
`cyclePhase, cyclePhase, hertzToRadians, radiansToHertz, setPhase, toString`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### fmod

    public AbstractWave fmod

### maxHarmonics

    public int maxHarmonics

  Maximum harmonics to add (make sure you stay under Nyquist freq), default = 9

Constructor Detail

### FMHarmonicSquareWave

    public FMHarmonicSquareWave(float phase,
                                float freq,
                                AbstractWave fmod)

### FMHarmonicSquareWave

    public FMHarmonicSquareWave(float phase,
                                float freq,
                                float amp,
                                float offset)

  Convenience constructor to create a non frequency modulated square wave

  Parameters:
    `phase` -
    `freq` - base frequency (in radians)
    `amp` -
    `offset` -

### FMHarmonicSquareWave

    public FMHarmonicSquareWave(float phase,
                                float freq,
                                float amp,
                                float offset,
                                AbstractWave fmod)

Method Detail

### pop

    public void pop()

  Overrides:
    `pop` in class `AbstractWave`

### push

    public void push()

  Overrides:
    `push` in class `AbstractWave`

### reset

    public void reset()

  Resets this wave and its modulating wave as well.

  Overrides:
    `reset` in class `AbstractWave`
  See Also:
    `AbstractWave.reset()`

### update

    public float update()

  Progresses the wave and updates the result value. You must NEVER call the update() method on the modulating wave since this is handled automatically by this method.

  Specified by:
    `update` in class `AbstractWave`
  Returns:
    current (newly calculated) wave value
  See Also:
    `AbstractWave.update()`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD