Skip to content
Josh Blum edited this page Sep 8, 2017 · 3 revisions

Modem Example 0

Demonstrate the use of a communications layer using simple modulation and bursts to send user datagrams over the air. This example requires SDR hardware with timed burst support and was demonstrated on a single Blade RF -- looping-back through the antennas.

Download the demos

Find the resource files for the modem demonstrations here:

Transmit chain

The transmit chain modules a user-provided payload from an input chat box. The modulation is QPSK (2 bits per transmit symbol).

  • The transmitter chain first converts the payload from a packet of bytes into a packet of symbols.
  • The packet of symbols is transferred into the stream domain to be processed by blocks that operate on stream-oriented data.
  • The symbol mapper converts a stream of symbols into QPSK constellation points.
  • The frame inserter applies a frame header so that the receiver can correct for frequency, phase, and timing error
  • The FIR filter performs pulse shaping and interpolation to 4 samples per symbol.
  • Finally the burst timer schedules burst transmission for the SDR sink block.
https://raw.githubusercontent.com/wiki/pothosware/PothosDemos/images/modem0_txdata.png

Receive chain

The receiver chain demodulates the QPSK and sends the user's payload to the output chat box to be displayed.

  • The frame sync searches for a frame header and applies phase and timing recovery to the output payload.
  • The symbol slicer re-maps the constellation points (with error) to our original 2-bit symbol set.
  • The stream of symbols are converted into the packet domain as a packet of symbols.
  • The packet of symbols is converted into a packet of bytes containing the user's message.
https://raw.githubusercontent.com/wiki/pothosware/PothosDemos/images/modem0_rxdata.png