Evaluating the GNU Software Radio platform for wireless testbeds

[System structure] [Source code] [Publications] [References]

Project members: Holger von Malm, Stefan Valentin


The 2 cross connected USRPs of the SDR testbed

Software defined radios (SDR) can provide the protocol with wireless testbeds that are fully programmable at the PHY, DLC and MAC. In this student research project we analyze an SDR consisting of the GNU Software Radio (GSR) and the Universal Software Radio Peripheral (USRP). We evaluate, whether the performance of this specific SDR is sufficient for prototyping wireless communication systems in real time.

For this reason we implemented basic functions of wireless communication systems. This results in a complete transceiver chain including a simple PHY, the ALOHA MAC protocol and the send-and-wait ARQ running on GNU Software Radio. We tested this implementation in a crosslink scenario using 2 SDRs and measured round trip time (RTT).

For the performance results, detailed discussions of the test scenario and parameters please refer to the publications. If you are looking for further material you may also want to have a look at our list of references.

DLC frame layout, transmitter and receiver signal graphs of the implemented transceiver chain

Structure of the communication system

The communication system consists of three parts. The sender function, the receiver function and the control script which uses these functions controls the timing and performs the MAC protocols. The sender and receiver function are implemented in C as GNU Radio signal graphs. The receiver function runs continously with the the control script. The sender function is a separate application, started per transmission cycle.

Basically the communication system performs the following functions:
  • PHY:
    • GMSK modulation/demodulation: Here we use the GMSK signal blocks of J. Lackey.
    • Forward error control (FEC): Convolutional coding with puncture rate 1/2 in our case. We modified Karn's FEC library to provide bit stream processing and included it in signal blocks.
  • DLC/MAC:
    • Framing: Our frame signal block creates the shown frame and performs byte stuffing.
    • CRC checksum calculation: Here we included the Boost CRC library into a signal block.
    • ALOHA: is performed by the Python control script
    • ARQ: A simple Send-and-Wait is performed by the Python control script.
The figures illustrate the structure of the transmitter and receiver signal graphs. For details please refer to the publications.

Source code

You may download, use and modify the source code under the terms of the GNU General Public License. This software is offered as it is without any warranty and support. For installation instructions and further information please refer to the README file in the source code archive.

[Download source code archive]
  • S. Valentin, H. von Malm, and H. Karl. "Evaluating the GNU Software Radio platform for wireless testbeds". Technical report TR-RI-06-273, University of Paderborn, Department of Computer Science, February 2006. (PDF)
  • H. von Malm. Implementing physical and data link control layer on the GNU software-defined radio platform. Bachelor's thesis, University of Paderborn, Computer Networks Group, December 2005. (PDF)

References

[1] A. Betts, M. Hall, V. Kindratenko, and M. Pant et al. The GNU software radio transceiver platform. In Proc. of Software Defined Radio Technical Conference and Product Exposition SDR'04, November 2004.

[2] E. Blossom. Exploring GNU Radio, November 2004.

[3] E. Blossom. How to Write a Signal Processing Block, January 2005.

[4] V. Bose, M. Ismert, M. Welborn, and J. Guttag. Virtual radios. IEEE Journal on selected Areas in Communications, 17(4), April 1999.

[5] P. G. Cook and W. Bonser. Architectural overview of the SPEAKeasy system. IEEE Journal on selected Areas in Communications, 17(4), April 1999.

[6] J. Glossner, M. Moudgill, and D. Iancu. The Sandbridge SDR communications platform. In Joint IST Workshop on Mobile Future and the Symposium on Trends in Communications (SympoTIC'04), pages II-IX, October 2004.

[7] GNU Radio - GNU FSF project.

[8] Phil Karn. Forward error correcting codes., 2005.

[9] J. Lackey. GMSK python modules for GNU Software Radio, 2005.

[10] J. Mitola. The software radio architecture. IEEE Communications Magazine, 33(5), May 1995.

[11] M. N. O. Sadiku and C. M. Akujuobi. Software-defined radio: a brief overview. IEEE Potentials, 23(4), October 2004.

[12] SDR -- software defined radio -- forum

[13] D. Shen, Dawei's GNU Radio Tutorials, 2005

[14] Signalion GmbH. SORBAS 101: signalion software radio based protyping system., 2005.

[15] S.-L. Tsao, C.-C. Lin, C.-L. Chiu, H.-L. Chou, and M.-C. Wang. Design and implementation of software framework for software defined radio system. In Proc. of IEEE 56th Vehicular Technology Conference (VTC 2002-Fall), pages 2395 - 2399, September 2002.

[16] D. Walker. Boost CRC libary., 2005.

© Signalion GmbH



If you are further interested in PHY and MAC implementation on SDRs you may want to have a look at our PG mobicom project page.

Type: Student research project
Started:9/2005
Finished:12/2005
Contact:Stefan Valentin

Imprint | Webmaster | Recent changes: 16.10.2013