Class Demodulator

java.lang.Object
io.github.dkaukov.afsk.atoms.Demodulator

public class Demodulator extends Object
AFSK (Audio Frequency Shift Keying) Demodulator. Uses a center-frequency oscillator to mix incoming signal to baseband, followed by low-pass filtering and FM demodulation via phase difference (deltaQ). Outputs are normalized to approximately ±1.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Demodulator(float sampleRate, float markFreq, float spaceFreq)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    float[]
    processChunk(float[] samples, int length)
    Efficiently demodulate a chunk of audio samples.
    float
    processSample(float sample)
    Optional: process a single sample at a time (less efficient).

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Demodulator

      public Demodulator(float sampleRate, float markFreq, float spaceFreq)
  • Method Details

    • processChunk

      public float[] processChunk(float[] samples, int length)
      Efficiently demodulate a chunk of audio samples.
      Parameters:
      samples - PCM audio chunk (-1.0 to +1.0 floats)
      Returns:
      array of demodulated values (-1.0 to +1.0 approx)
    • processSample

      public float processSample(float sample)
      Optional: process a single sample at a time (less efficient).