Tech Briefs

This software implements softwaredefined radio procession over multicore, multi-CPU systems in a way that maximizes the use of CPU resources in the system. The software treats each processing step in either a communications or navigation modulator or demodulator system as an independent, threaded block. Each threaded block is defined with a programmable number of input or output buffers; these buffers are implemented using POSIX pipes. In addition, each threaded block is assigned a unique thread upon block installation. A modulator or demodulator system is built by assembly of the threaded blocks into a flow graph, which assembles the processing blocks to accomplish the desired signal processing. This software architecture allows the software to scale effortlessly between single CPU/single-core computers or multi-CPU/multi-core computers without recompilation.

NASA spaceflight and ground communications systems currently rely exclusively on ASICs or FPGAs. This software allows low- and medium-bandwidth (100 bps to ≈50 Mbps) software defined radios to be designed and implemented solely in C/C++ software, while lowering development costs and facilitating reuse and extensibility.

This work was done by Greg Heckler of Goddard Space Flight Center. GSC-16442-1

This Brief includes a Technical Support Package (TSP).

Software Defined Radio With Parallelized Software Architecture (reference GSC-16442-1) is currently available for download from the TSP library.

Please Login at the top of the page to download.

The U.S. Government does not endorse any commercial product, process, or activity identified on this web site.