GSoC/GCI Archive
Google Summer of Code 2013

GNU Radio

Web Page:

Mailing List:

GNU Radio is a free library for developing Software Defined Radio applications. In combination with the right hardware, GNU Radio is an extremely efficient way to get wireless transceivers and even entire networks running. It is used by hackers, academia and industry alike.

Written mainly in C++ and PYthon, GNU Radio can be used for anything that requires signal processing of the EM spectrum, such as

  • analog and digital data modulation,
  • spectral analysis,
  • testing and debugging of receivers for any kind of standard,
  • Cognitive Radio etc.




  • GNU Radio FPGA Co-processing with the Xilinx Zynq System-on-Chip Many signal processing blocks in GNU Radio exhibit parallelism and can be efficiently mapped to the architecture of a FPGA. However, GNU Radio has been slow to adopt FPGA hardware acceleration, likely due to a lack of suitable hardware and difficulty of HDL design. Recently, FPGA vendor Xilinx released the Zynq, a System-on-Chip (SoC) that tightly couples programmable logic with a dual core Cortex A9 ARM processor. It features low latency, high throughput, and cache-coherent communication between the programmable logic and the ARM processor cores. Due to this feature, the Zynq SoC has gained interest in the GNU Radio community as a viable platform for FPGA hardware co-processing. This project proposes adding a framework to GNU Radio to support FPGA co-processing with Xilinx's Zynq SoC.
  • GNU Radio: 802.11a/n/g Receiver and Wireshark Connector The GNURadio is an open source community which provides continuous signal processing solutions for Software Defined Radio. The basic development of GNU Radio toolkit is done in a manner to make it compatible with low-cost RF hardware to achieve SDRs. Primarily written in Python and C++, the toolkit provides user to real time radio systems in a simple enviornment. The aim of this Project is to develop an OFDM Reciever for GNURadio and integrate wireshar into it. Hence enabling GNURadio as a tool which can receive the packets for OFDM and analyse the algorithm implemented on network as well. Please find the pdf version of the proposal at the link provided in Additional Info.
  • Implementation of LDPC encoder and decoder in GNU Radio Low density parity check (LDPC) codes are a powerful class of linear error correcting codes. Carefully designed LDPC codes have been shown to achieve performance very close to the Shannon limit in additive white Gaussian noise channels. The goal of this project is to implement LDPC encoder and decoder blocks in GNU Radio for use in real-time transmission, demonstrate their functionality, and examine their capabilities as compared to other blocks’ coding gain.
  • Improving the GNU Radio companion (GRC) GNU Radio companion (GRC) is used to construct graphical flow-graphs. However, current GRC has several limitations. For example, it creates Python flow graphs only. Also, GRC provides little connection between a block and its underlying code. Finally, GRC work-flow needs improvement, e.g., as of now, development of new custom blocks is not considered in GRC. This project aims to allow i) access to Doxygen/Sphinx docs (and source code), ii) creation of a new block and editing it by maintaining a GRC project folder, iii) creation of C++ flow graphs from GRC flow graphs, all from within GRC.
  • LDPC codes and more FEC in GNURadio This project aims to deliver generic encoders and decoders for LDPC codes, and other FEC schemes currently not available in GNU Radio. Project will concentrate heavily on LDPC codes. First stage of the project will deliver blocks implementing basic algorithms to construct parity check matrix for a class of capacity approaching LDPC codes and to construct encoders and decoders from the obtained parity check matrix. This stage will deliver Reed-Solomon based LDPC codes and sum product algorithm. The second stage will concentrate on delivering blocks implementing more sophisticated and efficient set of algorithms for LDPC codes. Specifically, LDPC codes based on finite geometry, masking and progressive edge growth algorithm will be delivered. The third stage will deliver encoders and decoders for BCH code and attempt to improve Reed-Solomon available in gr-fec namespace. The project duration is broken down into 7 phases, each with specific goals for tractability. The project seeks to make use of available open-source implementations.