You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/280302842

Wireless Channel Sounding Using GNU Radio and USRP

Article · July 2012

CITATIONS READS

0 1,788

1 author:

Jay Prakash
Silence Laboratories Singapore
29 PUBLICATIONS 161 CITATIONS

SEE PROFILE

All content following this page was uploaded by Jay Prakash on 22 November 2016.

The user has requested enhancement of the downloaded file.


Channel Sounding Application using GNU Radio and
USRP2 based Software Radio Platform

Jay Prakash Rohit Sharma


Department Of Electronics Engineering Department of Electronics and Communication
IIT-(BHU),Varanasi Engineering,NIT Trichy
Varanasi,India Trichy,India
jay.prakash.ece09@itbhu.ac.in rohits0810@gmail.com

Lakshay Narula
Department Of Electronics Engineering
IIT-(BHU),Varanasi
Varanasi,India
lakshay.narula.ece10@itbhu.ac.in

Abstract— The prime endeavor of the paper is to develop delays due to the finite propagation velocity. The
inexpensive and easy-to-use methods for measuring the channel superposition of these signals at the receiver results in
parameters. We choose Sliding window correlation based CIR destructive of constructive interference, depending on the
algorithm on GNU Radio platform which provided lots of ease at relative delays involved. The fact that the environment
configuration while testing channel parameters as modulations
changes as time passes leads to signal variation. This is called
schemes, bit rate, Symbol Rates etc could be varied on run and
receiver was informed of the same to get in sync. Final time variant. Signals are also influenced by the motion of a
application using 2 USRP2s(Rx and Tx) kept at varied corners of terminal. A short distance movement can cause an apparent
lab room, corridors etc gave plots of channel response, change in the propagation paths and in turn the strength of the
Coherence Bandwidth, and delay spread which was analyzed to received signals.
characterize channel parameters. The SDR platform was tested The reliable operation of a wireless communication system is
using GNU-Companion blocks too and similar results were dependent upon the propagation channel over which it
observed. operates, as the channel is the primary contributor to many of
the problems and limitations that plague wireless
This shows promising aspect of Software Radios for Channel
communication systems. Interfering signals, electromagnetic
characterization and measurements primarily where cost and
easiness in configuration are concerned. The only challenge felt noise, and signal multipath all combine to cause signal
for now was some hardware constraints in dealing with high distortion, severely limiting the performance of both analog
sampling rates. and digital communication systems. Multipath—a major
characteristic of most communication channels—is a
propagation phenomenon which results in signals reaching the
receiving antenna by two or more paths, creating constructive
Keywords-GNU Radio,USRP2,Channel Sounding,Coherence and destructive interference as well as signal echoes.
Bandwidth,Delay spread,PN sequence
Multipath is caused by reflection, diffraction, and scattering of
electromagnetic waves from various objects in the propagation
1. INTRODUCTION environment, and a simple example is illustrated.
Fundamentally, mobile, radio communication channels are The effects of multipath can manifest themselves in a variety
time varying, multipath fading channels. In a radio of ways. For example, in a commercial FM radio transmission,
communication system, there are many paths for a signal to multipath causes echoes to be heard in the audio signal; in a
travel from a transmitter to a receiver. Sometimes there is a Television transmission multipath causes “ghost” images to
direct path where the signal travels without being obstructed. appear on the screen. For a digital communication system,
In most cases, components of the signal are reflected by the multipath can be a limiting factor on the maximum data rate
ground and objects between the transmitter and the receiver that can be transmitted through the channel.
such as buildings, vehicles, and hills or refracted by different As a result channel becomes:-
atmospheric layers. These components travel in different paths 1. Frequency dependent,
and merge at the receiver. Each path has a different physical 2. Time dependent and
length. Thus, signals on each path suffer different transmission 3. Position dependent.
In a way it lead to
1. Rapid changes in signal strength over a small travel distance Signal pulses are broadened in time as they travel through the
or time interval. propagation channel. Delayed spread (Td) is the longest delay
2. Random frequency modulation due to varying Doppler among the multipath.
shifts on different multipath signals. The impulse response is a wideband channel characterization
3. Time dispersion caused by multipath propagation delays. and contains all information necessary to simulate or analyze
any type of radio transmission through the channel. Impulse
2. COHERENCE BANDWIDTH AND CIR response model actually is a linear filter with a time varying
impulse response.
It is basically range of frequencies over which the channel can t t
be considered flat (i.e. channel passes all spectral components y (d , t )  x(t )  h(d , t )   x( )h(d , t   )d   x( )h(vt, t   )d
with equal gain and linear phase). It is a definition that  
depends on RMS Delay Spread. The variable t represents the time variations due to motion,
whereas  represents the channel multipath delays for a fixed
If we define Coherence Bandwidth (BC) as the range of
value of t.
frequencies over which the frequency correlation is above 0.9,
Three methods of wideband channel sounding techniques
then
1 1. Direct RF Pulse System
BC 
50 2. Spread Spectrum Sliding Correlator Channel
Sounding
If we define Coherence Bandwidth as the range of frequencies 3. Frequency Domain Channel Sounding
over which the frequency correlation is above 0.5, then this is
called 50% coherence bandwidth. 1
BC 
5 3. DESDIGN MODEL
Coherence time is the time duration over which the channel
impulse response is essentially invariant. If the symbol period This is the basic design flow diagram. Here we find out
of the baseband signal (reciprocal of the baseband signal averaged power delay profile and then analyze frequency
bandwidth) is greater the coherence time, than the signal will domain response for estimation of coherence bandwidth.
distort, since channel will change during the transmission of
the signal.
Delay spread and Coherence bandwidth describe the time
dispersive nature of the channel in a local area.

CIR (Channel Impulse Response)

A wireless propagation medium is, in general, a highly


dynamic environment, consisting of mobile users & scatterers, a  2
k k  P( )( k k )
 k
 k

a  P( )
varying terrain, and weather phenomena. Strictly speaking, 2
these channels are non- stationary in nature; however, they k k
k k
may be modeled as randomly time-variant linear filters, so
that the mathematical functions describing these channels
reduce to random processes. The transfer function
representation then allows the channels to be characterized
statistically, in addition to allowing them to be described by a    2   2

time-varying transfer function (impulse response).


a  2 2
k k  P( )( k
2
k )
 2
 k
 k

a k
2
k  P( ) k
k
This flowchart clearly shows the processes at Host (Tx).Host
PC is using GNU RADIO and UHD driver for interfacing with
USRP2(used as Tx) which is connected through Ethernet
cable. We basically modified Digiutal_bert_tx.py code for
modulation and feeding in the sequences. We worked for
Transmitter Side Design Costs loop integration for further improvement in terms of
synchronization but it’s complexity required more efforts.
The PN codes are generated as per user feeds on fly and BPSK
modulated before being sent to USRP2 control ie
Uhd_transmitter.
After subsequent processing (interpolation, filtering etc.) and
up conversion the modulated pulses are transmitter by
antenna.

This is flow model of receiver side. The USRP2 (Rx receives


data and though the reception path as discussed earlier sends it
to the Host Pc. The data thus obtained is stored in file sink
through Digital_bert_rx.py interfaced with uhd_receiver.

After storage in the file sink as .dat file the data is read using
read_complex_to_binary.m as the received data is complex.

Then after it is handled to octave code which performs rest


processing on each window equal to length of PN Sequence.

Receiver Side Design

The Receiver side USRP2 down-converts the data and after


analog domain conversion handles control to FPGA based
processing.

The data compatible to be processed by host PC is sent


through Ethernet cable to the PC where rest processing is
carried on.
This model represents the basic data flow through octave code 4. CONCLUSION
which every window goes though same process. The binary
stream (after being read by read_complex_binary.m) stream is Using 2 USRP2s(Rx+Tx) we were able to make Gnu-Radio
correlated with locally generated PN Sequence of same length based channel Sounder which can measure channel
as that of the the transmitted one which gives CIR. The CIR is parameters. To add we made it quite handy and user friendly
averaged and subsequently squared to get the power-delay where one can test it for multiple input parameters (PN
profile. Sequence Length, Sampling Rate, Modulation Scheme etc)
The frequency domain conversion of this profile(delayed and get detailed analysis of the channel parameters.
versions of power) gives a better visualization in terms of This is complete command line script where after establishing
frequency correlation function. connection between two devices one need to run one single
The range till where this is above 0.9 is taken as coherence script on command line which will ask for inputs from user.
Bandwidth.
We got impulse responses of the channels both for LOS and
NLOS and worked on these data to get the coherence
bandwidth of the channel.

This model represents the processing on receiver


side(interfacing with GNU-RADIO using Uhd driver).We
modified Digital_bert_rx.py for our purpose.The data received Channel Impulse Response LOS for 1023 length sequence
is demodulated and stream is converted in suitable format and clearly show one major echo due to multipath.
stored in local file. This is further used by octave codes.

De-noised CIR for same channel for better visualization.

Script’s flow of execution as shown above the flow chart


execution as sounder specifications is entered by the user.
Channel Impulse Response NLOS for 4095 length sequence
clearly showing multiple echo’s due to multipath.

Frequency Domain analysis of the channel response was


observed as frequency correlation function. Coherence
bandwidth can be reported at point where fcf plot drops till
0.9.
These plots show our observations for the channel. The
channel used was our lab environment. We placed Rx and Tx
at varied positions inside the lab and took multiple readings
for different modulation scheme and Sequence length.
Increasing the length invited interference after some time.1024
and 2045 length sequence was better to work with at the
sampling rate.
This application can be used to study channel at varied
frequencies(ISM Band) and little work in synchronization and
tests on better machines can give better results.
Power Delay Profile (PDF) of the channel at 4095 sequence 5. FUTURE WORKS
length. The lack of synchronization cause Sampling frequency
offset between 2 USRP2 devices .The master oscillator on the
USRP2 is a +/- 5PPM TCXO oscillator. Crystal oscillators
are imperfect, and they get closer to perfect the more you
spend on them. Which is why one generally uses an external
reference to move from 5PPM to 50PPB, using a GPSDO or
similar. One can take the 5PPM estimate and plug it into
calculations.

Sounder uses a simple O(N^2) serial correlator without


synchronization, the impulse response vectors are very
sensitive to timing offset between transmitter and receiver.
This results in the correlation peaks being separated by more
or less than the PN code length number of samples , and
makes it difficult to coherently add them to reduce noise.
Using an external frequency reference on both ends would
make a dramatic difference. For synchronizing both the
transmitter carrier frequency and phase also to the bit timing
for BPSK, GNU Radio has a readymade block to do each.

Carrier recovery/synchronization can be done with a Costas


Multiple Snap-Shots were taken to get averaged powed delay loop, which will track out any residual carrier resulting from
profile. The figure shows channel impulse at different instants not being tuned to exactly the center frequency of your pass
of time for similar condition (1023 length PN sequence). band. For symbol timing, there is a re-sampling block
implementing the Muller and Muller algorithm. This will early/prompt/late correlator and NCO-based PN code
track the "center of the bit" and fractionally resample to 1 generator.
sample per symbol. This is a common enough combination
that there is a combined block to do both with less CPU
consumption and better SNR (gr.mpsk_receiver_cc). 6. ACKNOWLEDGMENT
We owe thanks to SPANN LAB,IIT Bombay for the facilities
From there one can use a hard-decision slicer on the I channel, and USRP2 kits.
or implement your own more sophisticated algorithm based on
whether there is error coding or some other known property of
the transmit signal. 7. REFERENCES

1. http://gnuradio.wordpress.com/
An example that implements all of the above (using separate
Costas and M&M blocks) may be found in the gnu radio- 2. http://www.funwithelectronics.com/?id=11
examples/python/digital-bert directory. This implements a
3. http://gnuradio.org/redmine/wiki/1/UsrpFAQIntroFPGA
continuous BPSK transmitter using a known, scrambled bit
sequence. The receiver performs filtering, synchronization, 4. http://james.ahlstrom.name/
demodulation, retiming, bit slicing, and descrambling, then
5. http://www.oz9aec.net/index.php/gnu-radio
measures the bit error rate and estimates the receiver signal to
noise ratio. These values, plus the current frequency offset 6. http://www.hs-
and timing offset, are displayed once per second. ulm.de/opus/volltexte/2010/27/pdf/SDR_GNURadio_USRP_Feb2
010.pdf Bachelor Thesis from HS Ulm on FM / GSM applications
A more sophisticated example is the digital packet radio that 7. http://search.gmane.org/?author=Johnathan+Corgan&sort=date,G
interfaces with the Linux TCP/IP stack, which may be found NU Radio, a free software defined radio
in the python/digital directory. This combines a configurable
PHY later (bit rate, modulation technique, etc.) with a (very) 8. UHD DRIVER GUIDE Devin KellY, October 1st, 2011
simple CSMA MAC. This is harder to study, and the details 9. Statistical multipath channel models
of the DQPSK implementation are buried in another directory,
but it is full-fledged 2-way half-duplex 10. Multipath Interference Characterization in Wireless
Communication Systems, Michael Rice ,BYU Wireless
radio link using GNU Radio.
Communications Lab

The Costas loop will compensate for carrier frequency/phase 11. A Low-Cost, Software-Based Radio Frequency Channel Sounder
offset, but will not compensate for timing offset. For the by Jordan Riggs
latter, you will also need to implement a coarse and fine
synchronization loop, using something like an

View publication stats

You might also like