- 1 Overview
- 2 DSP library
- 3 Top level applications
- 4 Utilities
- 5 Test programs
- 6 References
The package contains a DSP lilbrary libdspfec.a and various utility programs for testing and demonstration purposes. The included Makefile will build the library and all executables.
- The reference implementation uses 48 ksps. For other sample rates the filter coefficients in nyquist.c must be reworked. It is therefore easier to resample to 48 ksps.
libdspfec.a and dsfec.h
Top level applications
Complete encoder and modulator.
Takes arbitrary data stream as input (LSB first according to HDLC standard), applies CRC and FEC, and outputs modulated baseband.
- Input: 500 bps arbitrary data; becomes 1000 symbols/sec with FEC (Since it is R=1/2 FEC, the HDLC framing code and CRC are part of the 500bps, i.e. 6 bytes / packet)
- Output: 48 kHz 16-bit linear PCM little-endian
The following will take the data from input.dat, and output 48 ksps baseband that can be sent to audio:
cat input.dat | ./mod > baseband.raw
Complete demodulator and decoder.
- Input: 48 kHz 16-bit linear PCM little-endian
- Output: 500 bps data stream
- dpsk.h line 58-61