Vous êtes sur la page 1sur 5

2016 2016

International Conference on Computer & Communication Engineering

International Conference on Computer & Communication Engineering

SDR-based Transceiver of Digital Communication System using USRP and GNU Radio

Jusnaini Muslimin, Ani Liza Asnawi, Ahmad Fadzil Ismail, Ahmad Zamani Jusoh

Electrical and Computer Department, Kulliyah of Engineering

International Islamic University Malaysia (IIUM)

jusnainimuslimin@gmail.com, {aniliza, af_ismail, azamani}@iium.edu.my

Abstract—Transmission over wireless channel is challenging. As such, different application required different signal processing approach of radio system. So, a highly reconfigurable radio system is on great demand as the traditional fixed and embedded radio system are not viable to cater the needs for frequently change requirements of wireless communication. A software defined radio or better known as an SDR, is a software-based radio platform that offers flexibility to deliver the highly reconfigurable system requirements. This approach allows a different type of communication system requirements such as standard, protocol, or signal processing method, to be deployed by using the same set of hardware and software such as USRP and GNU Radio respectively. For researchers, this approach has opened the door to extend their studies in simulation domain into experimental domain. However, the realization of SDR concept is inherently limited by the analog components of the hardware being used. Despite that, the implementation of SDR is still new yet progressing, thus, this paper intends to provide an insight about its viability as a high re-configurable platform for communication system. This paper presents the SDR-based transceiver of common digital modulation system by means of GNU Radio and USRP.

Keywords-SDR;

USRP;

wireless communication

GNU

Radio; digital modulation;

I.

INTRODUCTION

The varying nature of communication channel is the

fundamental challenge in communication system. As such,

many techniques have been introduced and technologies

have been developed to alleviate the fundamental limitation

while improving the deliverance quality of the system.

However, the rapid evolution of communication system

required high-flexibility hardware to allow re-

configurability, else will cause significant high cost

consumption, both in terms of time and money to deliver a

similar system with different requirement. Thus, software

defined radio device seems like a viable solution to build a

high-reconfigurable transceiver of such dynamic system.

The

II.

OVERVIEW OF SDR PLATFORM

concept of software-defined-radio has been

introduced by Joseph Mitola in [1], in which the radio

components such as modulators, demodulators and

amplifiers that were traditionally implemented in hardware

components are implemented in software instead. In [2], this

type of radio system is defined as a “technology that allows

the RF operating parameters including, but not limited to,

frequency range, modulation type, or output power to be set

or altered by software”. At the best of my knowledge, the

work of Eric Blossom [3] on framework for SDR-based

application has successfully introduced the realization of this

concept to the public. In sustenance to Eric’s work and to

lower the barrier of entry to SDR domain, Matt Ettus later

started work on hardware part of SDR called Universal

Software Radio Peripheral USRP [4]. The combination of

GNU Radio and USRP is one of the most popular SDR

platform of choice especially among radio designers and

researchers [5 - 6].

  • A. USRP

Universal Software Radio Peripheral (USRP) is one of

commercialized hardware platform available in the market

for SDR realization. It was developed by Ettus Research, and

mainly designed for software-based RF applications from

DC to 6 GHz, such as radio networking, cognitive radio,

satellite navigation, and amateur radio [7]. USRP is a RF

front-end of radio system that is meant to capture and

digitize the RF signals from antenna on the receive side, and

on the transmit side is to produce an analog version of the

provided samples [4].

  • B. GNU Radio GNU Radio is a free open-source software development

toolkit that provides signal processing blocks to implement

software radios [8]. It can be used with SDR hardware like

USRP to create software radio application or without

hardware for simulation-like environment of radio system.

Like Simulink and Labview, this software application has

graphical tool companion called graphical radio companion

(GRC) that allows user to create flow graph of radio signal

processing as shown in Fig 1. The flow graph is basically

written in Python while the components of the flow graph

called blocks are mainly written in C++. The Python

programming provides clean and simple interfacing to

connect one block to another; however the Python code is

not optimized for fast execution. Due to this reason, C++ is

used inside the block to accommodate the fast processing

requirement [8]. This implementation gives advantage in

978-1-5090-2427-8/16 $31.00 © 2016 IEEE

978-1-5090-2427-8/16 $31.00 © 2016 IEEE

DOI 10.1109/ICCCE.2016.100

DOI 10.1109/ICCCE.2016.100

449 449
449
449
2016 2016 International Conference on Computer & Communication Engineering International Conference on Computer & Communication Engineering
2016 2016 International Conference on Computer & Communication Engineering International Conference on Computer & Communication Engineering
2016 2016 International Conference on Computer & Communication Engineering International Conference on Computer & Communication Engineering

terms of easy instantiation and connection of existing blocks.

The blocks in GNU Radio cover applications from simple

mathematical operations to complex digital filtering, channel

coding and many other communication applications.

Figure 1. GRC flow graph III. SYSTEM DESIGN
Figure 1.
GRC flow graph
III.
SYSTEM DESIGN

This section elaborates the signal processing blocks used

in designing the transmitter and receiver. Fig 2 shows the

basic elements of digital communication system employed in

this paper.

terms of easy instantiation and connection of existing blocks. The blocks in GNU Radio cover applications

Figure 2.

Basic elements of digital communication system [9]

  • A. Transceiver: At transmitting path, the input of digital system could be

anything, either analog or digital. This input, term wise

called message, is converted into sequence of binary digits

by the source encoder. The channel encoder adds redundancy

to the binary sequence to increase the reliability of the

received data and improves fidelity of the received signal.

Next, the encoded input is passed to digital modulator, which

serves as the interface of communication channel. On the

other hand, reverse procedures are done at receiving end to

recover the input.

In accordance to the referred system, there are numbers

of readily available processing blocks that can be used to

implement the system in GNU Radio. But in general, the

processing blocks are source/sink, encoder/decoder, and

modulator/demodulator.

  • B. Digital Modulator/Demodulator

Digital modulation or digital signaling is a process of

mapping a digital sequence to signals for transmission over a

communication channel [9]. This part will brief on the

modulation schemes implemented in this paper:

M-PSK

Phase shift keying works by changing the

phasor of

carrier wave to convey information. In this scheme, log 2 (M)

bits of information are encoded into M-order of

constellation. Binary Phase Shift Keying (BPSK) is the

simplest type of PSK that modulates a digital signal with 1

bit encoded per signal element or symbol into either state 0

or 1. Meanwhile, Quadrature or Quaternary Phase Shift

Keying (QPSK) can encode 2 bits per symbol into 4 points

on constellation diagram [9].

M-QAM

Quadrature Amplitude Modulation (QAM) is widely

used in many digital data communication applications, where

data rates beyond 8-PSK are needed by a radio

communication system. QAM encodes information in both

amplitude and phase. 16QAM and 64QAM encodes 4 and 6

bits per symbol respectively into IQ constellation plane [9].

GMSK

Gaussian Minimum Shift Keying (GMSK) is a

modulation scheme which input bits are (+1,-1) are

converted into Gaussian pulse by Gaussian low pass filter

before modulation process [10]. GMSK is one of widely

used modulation format in Europe that based on minimum

shift keying modulation (MSK), and also known as a

continuous phase scheme modulation [10]. In this type of

modulation there are no phase discontinuities because the

frequency changes occur at the carrier zero crossing points.

Subsequently, it has no amplitude variations, which is a

desirable characteristics for improving the power efficiency

of transmitters. The amplitude variations can cause

nonlinearities in an amplifier’s transfer function, generating

spectral regrowth [9].

To highlight the viability of GNU Radio and USRP as a

high-reconfigurable platform, simulation and real modes of

setup environment with different modulation system are

tested. Part IV explained the setup configuration of these

modes.

IV.

EXPERIMENTAL SETUP

This experiment compared the effect of modulation

procedure on radio system. The comparison made is based

on the ability to reconstruct the received signal at receiver

side.

Following are the mode of setup environment derived

from the communication system in part III.

  • A. Simulation Mode In this setup, M-PSK and M-QAM modulation systems

in Additive White Gaussian (AWGN) channel are simulated

by means of python script, utilizing components of Gnu

Radio. The GNU Radio v3.7.9.2 release is installed. The

implementation is depicted as in Fig.4.

450 450
450
450
Transmitter Receiver AWGN channel blocks.vector_sink_f analog.noise_source_c blocks.vector_sink_f digital.chunks_to_symbols_bc blocks.add_vcc digital.constellation_decoder_cb blocks.vector_source_b unpack_k_bits_bb uchar_to_float integrate_ff blocks.xor_bb multiply_const_ff
Transmitter
Receiver
AWGN channel
blocks.vector_sink_f
analog.noise_source_c
blocks.vector_sink_f
digital.chunks_to_symbols_bc
blocks.add_vcc
digital.constellation_decoder_cb
blocks.vector_source_b
unpack_k_bits_bb
uchar_to_float
integrate_ff
blocks.xor_bb
multiply_const_ff

Figure 3.

Digital Communication in AWGN Channel

The input of the system is a stream of bits in vector (e.g:

(0,1,1,0),(1,1,1,0),(1,1,1,0)…). Then, each vector is mapped

into corresponding IQ-constellation of digital modulator by

chunks_to_symbol_bc module to form a modulated symbol.

The module defined the modulator by instantiating

digital.psk_constellation and digital.qam_constellation for

M-PSK and M-QAM respectively. The output of the

modulator is complex symbols at the baseband. The AWGN

channel is implemented by analog.noise_source_c in which

the response is added to the modulated symbols. Since the

gain and power of the transmitter are held constant, the

variation of signal-to-noise ratio (SNR) is controlled by

amplitude of noise injected to the channel. At receiver,

digital.constellation_decoder_cb decode the symbols into

their corresponding bytes. In order to compare bit-by-bit of

the input and output of the system, the recovered bytes need

to be converted into the equivalent vector of bit streams.

Thus, unpack_k_bits_bb, uchar_to_float, and integrate_ff

are used for the reason. The multiply_const_ff module is used

to normalized the amplitude of the recovered samples into 1.

The blocks.xor_bb takes N number of samples (e.g 1e7) at

the output and compare it bit-by-bit with the input to get the

system error rate.

  • B. Real mode

This mode of experimentation utilized set of USRP to

transmit and capture the real signal over the real

environment. The setup uses two USRP N210 with CBX

(40MHz) daughterboard connected to laptop running i7 and

i5 intel CPU processor at receiver and transmitter side

respectively. Loopback cable is used as communication

channel between these USRPs as shown in Fig 4.

Figure 4. SDR setup
Figure 4.
SDR setup

GMSK modulation system is deployed into the setup. The

transmitter and receiver are shown in Fig 6 and 7 respectively. Figure 5. GMSK Transmitter
transmitter
and
receiver
are
shown
in
Fig
6
and
7
respectively.
Figure 5.
GMSK Transmitter
Figure 6. GMSK Receiver
Figure 6.
GMSK Receiver

Most of the parameters used for transmitter and receiver in

this setup are the default value of the blocks. At transmitter

side, square waveform of 1 kHz frequency is generated by

Signal Source block and sampled at 32000 Samples/s, which

equivalent to 32 symbols are produced per second. The

Packet Encoder up-sampled the incoming symbols by 8

samples each, and grouped 512 samples of the symbols per

packet for default Payload Length = 0. Pad for USRP = Yes

will pad zeros to reach length of specified payload length, in

451 451
451
451

this case 512 bytes per packet, to be sent across the USRP.

The GMSK Mod block performs up-sampling, filtering, and

modulation process. The GMSK mod implements Root-

Raised Cosine (RRC) pulse shaping filter with BT defined

the roll-off factor of the filter. The output is bytes of

modulated symbol packets. The Multiply Const is used to

normalize the amplitude of the symbol to 1. The USRP sink

up-converts the baseband signal into 2.45GHz carrier

frequency for passband transmission.

At receiver, the USRP Source block down-converts the

received signal into baseband frequency. The GMSK Demod

reverse the procedure of GMSK Mod with additional

parameters for carrier recovery. The demodulated symbols

are decoded into corresponding bit streams by Packet

Decoder and displayed on QT graphical sink.

  • V. RESULT AND DISCUSSION

In this part, the SDR viability to deliver the intended

system is evaluated. In simulation mode, the intended system

is a common digital communication system of BPSK, QPSK,

16QAM, and 64QAM. Instead of using GRC blocks, python

scripting is used to assemble the components of GNU Radio

to deliver the aforementioned system. As scripting gives

more freedom in manipulating the flow of the data across the

processing blocks in GNU Radio, the data flow can be

repeated in the loop to accumulate the number of errors in

order to compute the error rate of the system.

this case 512 bytes per packet, to be sent across the USRP. The GMSK Mod block

Figure 7.

Eb/No vs BER for AWGN channel

Fig 7 shows the plot of the simulation mode. As

expected, higher modulation order requires more energy per

bit to attain the same number of error rate for lower

modulation order. This is the fundamental trade-off between

channel capacity utilization and the probability of error. This

plot is exactly similar with plot generated by Bit Error Rate

Analysis Tool in MATLAB for theoretical AWGN channel.

For

real

mode

experimentation,

the

spectrum

of

transmitted and received signal of GMSK are observed as in

Fig 8 and 9 respectively. As expected, Gaussian filter

response generates a signal which has a lower lobes and

narrower main lobe than rectangular signal as shown on

these graphs. From the graphs, it can be observed that the

received signal in Fig 9 suffers loss of bandwidth as it

becomes narrower compared to the transmitted signal in Fig

8. It also can be explained as the noise floor of the received

signal is very high that ‘whitens’ some portion of the

transmitted signal. In this setup, it is mainly caused by

distortion introduced by the communication channel which is

the signal loss at the loopback cable. In other words, it shows

the common phenomenon that will be experienced by any

kind of digital communication system, which require more

post processing techniques and mechanism to recover the

information from the carrier signal. Some might be simple

and straightforward, and some might be complex and tricky,

depends on the level of system requirement and environment

density.

this case 512 bytes per packet, to be sent across the USRP. The GMSK Mod block

Figure 8.

GMSK power spectral density at Transmitter

this case 512 bytes per packet, to be sent across the USRP. The GMSK Mod block

Figure 9.

GMSK power spectral density at Receiver

452 452
452
452

VI.

CONCLUSION

It can be concluded that USRP and GNU Radio is a

reliable SDR platform tools to emulate the transceiver of

digital communication system such as the simple system

presented in this paper. The flexibility offers by this platform

allows re-configurability at the software level while

maintaining the same hardware to facilitate various

communication protocols or standards. The flexibility also

allows bridging between simulation and real experimental

domains that opens more possibility towards intelligent

application to be explored. In the future, this paper shall be

extended by exploring the capability of the platform in

analyzing the received signal in order to recover the

information transmitted in practical wireless system.

REFERENCES

[1]

J. Mitola, “The software radio architecture,” IEEE

Commun. Mag., vol. 33, no. 5, pp. 26–38, 1995.

[2]

Report ITU-R SM.2152, “Definitions of Software

Defined Radio (SDR) and Cognitive Radio System

(CRS),” 2009.

[3]

E. Blossom, “Listening to FM radio in software,

step by step,” Linux J., pp. 1–4, 2004.

[4]

M. Ettus and B. Martin, “The Universal Software

Radio Peripheral (USRP) Family of Low-Cost

SDRs,” in Opportunistic Spectrum Sharing and

White Space Access: The Practical Reality, O.

Holland, H. Bogucka, and A. Medeisis, Eds.

Hoboken, NJ: John Wiley & Sons, 2015, pp. 3–23.

[5]

B. Seeber, “spench.net.” [Online]. Available:

http://spench.net/.

[6]

A. Csete, “Amateur Radio, Space Tech, and other

Nerd stuff.” [Online]. Available:

http://www.oz9aec.net/.

[7]

M. Ettus, “Universal Software Radio Peripheral.”

[Online]. Available: http://www.ettus.com.

[8]

“GNU Radio.” [Online]. Available:

http://gnuradio.org.

[9]

J. G. Proakis and M. Salehi, Digital

Communications. 2008.

[10]

F. M. Andreas, Wireless communications, 2nd ed.

John Wiley & Sons, 2011.

453 453
453
453