|
TinyModem
Header-only software audio modem library
|
FSK demodulator: PCM audio data is written to the decoder and the decoded data is written to the output that was defined with setOutput(). Supported input formats are 8, 16 or 32 bit signed integer samples with any number of channels (only config.channel is evaluated). The decoding is compatible with minimodem –tx. More...
#include <FSKDecoder.h>


Public Member Functions | |
| FSKDecoder ()=default | |
| FSKDecoder (Print &out) | |
| ModemConfig | defaultConfig () |
| Provides a default configuration for a 1200 baud Bell 202 modem. | |
| void | setAudioInfo (audio_tools::AudioInfo info) override |
| Defines the format of the input audio data. | |
| audio_tools::AudioInfo | audioInfo () override |
| bool | begin (ModemConfig config) |
| Starts the processing with the indicated modem configuration. | |
| bool | begin () override |
| void | end () override |
| Processes the remaining samples and reports the end of the carrier. | |
| void | flush () override |
| Processes all buffered samples (e.g. at the end of the input). | |
| size_t | write (const uint8_t *data, size_t len) override |
| Provide PCM data to the decoder. | |
| bool | isCarrier () override |
| true while a carrier is detected | |
| bool | isFinished () override |
| true if the decoding was stopped (rx_one) | |
| ModemConfig & | config () |
| const ModemConfig & | activeConfig () const |
| The active configuration with all derived values (e.g. frequencies). | |
| float | markFrequency () |
| Actual mark frequency (e.g. after the carrier auto detection). | |
| operator bool () override | |
| Public Member Functions inherited from tinymodem::ModemDecoder | |
| void | setStatusOutput (Print &out) |
| Defines the output for the ### CARRIER / ### NOCARRIER messages. | |
| void | setQuiet (bool quiet) |
| Suppresses the status messages. | |
| const char * | mime () override |
Protected Member Functions | |
| void | setupCodec () |
| void | resetState () |
| int | buildExpectBits (char *str, bool use_expect_bits, uint64_t expect_bits) |
| float | noise () |
| uniform random value in the range -0.5 to 0.5 | |
| void | addSample (float sample) |
| void | applyAdvance () |
| bool | step (bool eof) |
| void | reportCarrier () |
| void | reportNoCarrier () |
| Protected Member Functions inherited from tinymodem::ModemDecoder | |
| void | status (const char *fmt,...) |
Static Protected Attributes | |
| static constexpr int | MAX_EXPECT = 80 |
| static constexpr int | FSK_ANALYZE_NSTEPS = 3 |
| static constexpr int | FSK_ANALYZE_NSTEPS_FINE = 8 |
| static constexpr unsigned | FSK_MAX_NOCONFIDENCE_BITS = 20 |
| static constexpr float | FRAME_OVERSCAN = 0.5f |
FSK demodulator: PCM audio data is written to the decoder and the decoded data is written to the output that was defined with setOutput(). Supported input formats are 8, 16 or 32 bit signed integer samples with any number of channels (only config.channel is evaluated). The decoding is compatible with minimodem –tx.
Status messages (### CARRIER and ### NOCARRIER) are written in the minimodem format to the Print defined with setStatusOutput().
|
default |
|
inline |
|
inline |
The active configuration with all derived values (e.g. frequencies).
|
inlineprotected |
|
inlineprotected |
|
inlineoverride |
|
inlineoverride |
|
inline |
Starts the processing with the indicated modem configuration.
|
inlineprotected |
Builds the expected framing pattern e.g. "10dddddddd1" (prev_stop, start, data bits, stop)
|
inline |
|
inline |
Provides a default configuration for a 1200 baud Bell 202 modem.
|
inlineoverride |
Processes the remaining samples and reports the end of the carrier.
|
inlineoverridevirtual |
Processes all buffered samples (e.g. at the end of the input).
Implements tinymodem::ModemDecoder.
|
inlineoverridevirtual |
true while a carrier is detected
Implements tinymodem::ModemDecoder.
|
inlineoverridevirtual |
true if the decoding was stopped (rx_one)
Implements tinymodem::ModemDecoder.
|
inline |
Actual mark frequency (e.g. after the carrier auto detection).
|
inlineprotected |
uniform random value in the range -0.5 to 0.5
|
inlineoverride |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineoverride |
Defines the format of the input audio data.
|
inlineprotected |
|
inlineprotected |
One iteration of the minimodem receive loop: returns false if more data is needed or if the processing has ended.
|
inlineoverride |
Provide PCM data to the decoder.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
protected |
|
protected |
|
protected |
|
staticconstexprprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |