Package io.github.dkaukov.afsk.atoms
Class Demodulator
java.lang.Object
io.github.dkaukov.afsk.atoms.Demodulator
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 -
Method Summary
Modifier and TypeMethodDescriptionfloat[]processChunk(float[] samples, int length) Efficiently demodulate a chunk of audio samples.floatprocessSample(float sample) Optional: process a single sample at a time (less efficient).
-
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).
-