NASA - Johnson Space Center
Frame Decoder for Consultative Committee Space Data Systems
ABSTRACT GNU
Radio has a default packet decoder that is not optimized for Consultative
Committee Space Data Systems (CCSDS). CCSDS frames are 256 bytes with a header
or frame synchronization pattern (0x1ACFFC1D). The problem with the generic
packet decoder is that it adds more bytes to the CCSDS frames and does not
permit bit error correction using Reed Solomon. In this project, the
software-development environment used was GNU Radio. GNU Radio is a free and
open source development toolkit that provides signal processing to implement
software radios. It can be used with low-cost external RF hardware to create
software-defined radios or without hardware in a simulation-like environment.
GNU Radio applications are primarily written in Python and C++. The hardware
used in this project was the Universal Software Radio Peripheral (USRP)
Networked Series 210. The USRP is a computer-hosted software radio designed by
Ettus Research. The USRP connects to a host computer via Gigabit Ethernet.
Using the Universal Hardware Driver (UHD), we can run GNU Radio applications
using the USRP. The algorithm developed for frame synchronization consists of a
state machine. The state machine consists of three states: STATE FLAG SEARCH,
STATE HAVE FLAG, and STATE HAVE HEADER. This state machine depends on a
correlator that will search for the frame sync pattern and will add a fag
indicating the beginning of the payload and end of the header. The first state
of the machine will look for this fag. Once the flag is located, the machine
will move to the second state, STATE HAVE HEADER. In this state, the machine
will verify that the header flagged by the correlator is the frame sync
pattern. If the header is the correct frame sync pattern, or within a
configurable tolerance, then the machine moves to the final states, otherwise
it keeps searching for the frame sync pattern. The last state is simply framing
the CCSDS packets. In conclusion, this CCSDS Frame Decoder will optimize
modulation and framing operations. This packet is not adding more bytes and is
not creating more overhead like generic GNU Radio frame decoder. The developed
CCSDS Frame Decoder will allow full benefit for bit error correction using Reed
Solomon.