Vol. 15 No. 43 (2016): Revista GTI
Articles

Design and implementation of an efficient QAM modulator/demodulator module for GNU radio

Orlando Arboleda-Molina
Universidad Autónoma de Occidente
Bio
Helmut Alexander Rubio
Universidad Autónoma de Occidente
Bio
Leandro Antonio Villa-Barona
Universidad del Valle
Bio

Published 2017-10-11

Keywords

  • Software defined radio (SDR),
  • Digital modulation,
  • GNU Radio,
  • QAM

How to Cite

Arboleda-Molina, O., Rubio, H. A., & Villa-Barona, L. A. (2017). Design and implementation of an efficient QAM modulator/demodulator module for GNU radio. Revista GTI, 15(43), 63–77. Retrieved from https://revistas.uis.edu.co/index.php/revistagti/article/view/6821

Abstract

GNU Radio is a very popular free and open source development platform for SDR. It has generic digital signal processing blocks for QAM modulation and demodulation. In these blocks, mapping is done using constellations whose symbol-complex relationship is based on position within arrays provided, forcing user to insert each complex and symbol tidily. This improves the complexity in the modulation process but degrades it in demodulation. The present paper presents the design and implementation of an alternative modulator / demodulator module for GNU Radio, which provides symbol-to-complex mapping, complex-to-symbol mapping and variable order QAM modulation / demodulation blocks that increases efficiency in demodulation process and eliminates potential user error when constellation values are inserted in data array.

Downloads

Download data is not yet available.

References

[1] Giannini, V., J. Craninckx & Baschirotto, A. (2008). Baseband analog circuits for software defined radio. Springer.

[2] Santana, J. (2012). GNU-Radio en la enseñanza de comunicaciones inalámbricas. Tesis de trabajo de grado no publicada. Universidad de Concepción, Concepción, Chile.

[3] Free Software Foundation. (2012). Gnuradio. digital: Signal Processing Blocks. Generic_mod. Recuperado (2015, enero 4) de http://gnuradio.org/doc/sphinx/digital/blocks.html#gnuradio.digital.generic_mod

[4] Free Software Foundation. (2012). Gnuradio. digital: Signal Processing Blocks. Generic_demod. Recuperado (2015, enero 4) de http://gnuradio.org/doc/sphinx/digital/blocks.html#gnuradio.digital.generic_demod

[5] Gnu Radio. (2013). Welcome to GNU Radio. Recuperado (2015, enero 4) de http://gnuradio.org/redmine/projects/gnuradio/wiki

[6] Gnu Radio. (2013). What is GNU Radio and why do I want it?. Recuperado (2015, enero 4) de http://gnuradio.org/redmine/projects/gnuradio/wiki/
WhatIsGR

[7] Gnu Radio. (2013). Out-of-tree modules. 2015. Recuperado (2015, enero 4) de http://gnuradio.org/redmine/projects/gnuradio/wiki/OutOfTreeModules

[8] Casey, D.,Tagliarini G.(2009). Prototyping with GNU Radio and the USRP – Where to Begin IEEE, Southeastcon, pp. 50-54.

[9] Gnu Radio. (2013). GNU Radio Companion. Recuperado (2015, enero 4) de http:// gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioCompanion

[10]Gnu Radio. (2015). Constellation Class Reference. Recuperado (2015, enero 4) de http://gnuradio. org/doc/doxygen/classgr_1_1digital_1_1constellation.html

[11]Gnu Radio. (2014). chunks_to_symbols_bc File Reference. Recuperado (2015, enero 4) de http://gnuradio.org/doc/doxygen-3.7.3/chunks__to__symbols__bc_8h.html

[12]Cplusplus.com (2015). std::map. Recuperado (2015, enero 4) de http://www.cplusplus.com/reference/map/map/

[13]Gnu Radio. (2014). gr::blocks::unpacked_to_packed_bb Class Reference. Recuperado (2015,enero 4) de http://gnuradio.org/doc/doxygen-3.7.3/classgr_1_1blocks_1_1unpacked__to__packed__bb.html