+ All Categories
Home > Documents > Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At...

Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At...

Date post: 03-Apr-2018
Category:
Upload: trandang
View: 230 times
Download: 2 times
Share this document with a friend
39
Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB Under Prof. S N Merchant , IIT BOMBAY Submitted By ROHIT SHARMA JAY PRAKASH NIT TRICHY IIT(BHU),VARANASI
Transcript
Page 1: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Channel Sounding Using GNU-RADIO & USRP2

At

SPANN LAB

Under

Prof. S N Merchant , IIT BOMBAY

Submitted By

ROHIT SHARMA JAY PRAKASH

NIT TRICHY IIT(BHU),VARANASI

Page 2: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

CHANEEL SOUNDING SCRIPT Contents:-

1.Introduction

2.Channel sounding basics

3.Sounder design flow

4.Conclusion

5.Chanllenges and future works

6.References

Page 3: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

INTRODUCTION

Over the past decade, the market for wireless service has grown at an unprecedented rate. The industry has

grown from cellular phones and pagers to broadband and ultra-broadband wireless services that can provide

voice, data, and full-motion video in real time. This growing hunger for faster data rates and larger bandwidths

has prompted a need for a deeper understanding of the wireless channels upon which these devices

communicate. In order for the visions of real time full-motion video, multimedia, and high speed data delivery

inherent in the 3rd and 4th generations of wireless communication standards to be fully realized, system design

engineers must have a thorough understanding of the wireless channels upon which these devices operate.

Additionally, for these networks to deliver their promised data rates, they must operate at very high microwave

and millimeter-wave frequencies, where large segments of spectrum are readily obtained.

Unfortunately, little is known about the propagation characteristics at these frequencies and bandwidths. As a

consequence, there has been a significant demand for wireless test equipment that is capable of characterizing

these new wireless channels.

The focus of our project is to develop inexpensive and easy-to-use methods for measuring the channel

parameters. The enabling technology behind our efforts is software defined radio (SDR). SDR allows us to

transfer the responsibilities for signal processing from hardware, which is expensive to design and difficult to

reconfigure, to software, which requires only a personal computer and is easily reconfigurable. One method

for measuring the channel, known as channel sounding, is to transmit a known sequence (a“sounding pulse”),

and observe how the signal is affected in transit to the receiver. More specifically, we observe how many

copies of the signal are received (from differing lengths of various signal paths), and how the amplitude and

phase of each copy is affected by the signal path.

Page 4: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Channel sounding basics

Fundamentally, mobile, radio communication channels are time varying, multipath fading channels. In a radio

communication system, there are many paths for a signal to travel from a transmitter to a receiver. Sometimes

there is a direct path where the signal travels without being obstructed. In most cases, components of the signal

are reflected by the ground and objects between the transmitter and the receiver such as buildings, vehicles,

and hills or refracted by different atmospheric layers. These components travel in different paths and merge at

the receiver. Each path has a different physical length. Thus, signals on each path suffer different transmission

delays due to the finite propagation velocity. The superposition of these signals at the receiver results in

destructive of constructive interference, depending on the relative delays involved. The fact that the

environment changes as time passes leads to signal variation. This is called time variant. Signals are also

influenced by the motion of a terminal. A short distance movement can cause an apparent change in the

propagation paths and in turn the strength of the received signals.

EFFECT OF CHANNEL MULTIPATH

The reliable operation of a wireless communication system is dependent upon the propagation channel over

which it operates, as the channel is the primary contributor to many of the problems and limitations that plague

wireless communication systems. Interfering signals, electromagnetic noise, and signal multipath all combine

to cause signal distortion, severely limiting the performance of both analog 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 and

destructive interference as well as signal echoes. Multipath is caused by reflection, diffraction, and scattering

of electromagnetic waves from various objects in the propagation environment, and a simple example is

illustrated.

The effects of multipath can manifest themselves in a variety of ways. For example, in a commercial FM radio

transmission, multipath causes echoes to be heard in the audio signal; in a Television transmission multipath

causes “ghost” images to appear on the screen. For a digital communication system, multipath can be a limiting

factor on the maximum data rate that can be transmitted through the channel.

Page 5: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Multiple propagation paths:

Line-of-Sight (LoS) and NLoS Invites Multipath invites small-scale fading effects due to:-

Scattering,

Reflection,

Diffraction.

Channel Becomes:-

Frequency dependent,

Time dependent and

Position dependent.

In a way it lead to

1. Rapid changes in signal strength over a small travel distance or time interval.

2. Random frequency modulation due to varying Doppler shifts on different multipath signals.

3.Time dispersion caused by multipath propagation delays.

Both the propagation delays and the attenuation factors are time-variant as a result of changes in the structure

of the medium.

Page 6: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Small Scale Fading

Small-scale Fading

(Based on Multipath Tİme Delay Spread)

Flat Fading

1. BW Signal < BW of Channel

2. Delay Spread < Symbol Period

Frequency Selective Fading

•BW Signal > Bw of Channel

•Delay Spread > Symbol Period

Small-scale Fading

(Based on Doppler Spread)

Fast Fading

•High Doppler Spread

•Coherence Time < Symbol Period

•Channel variations faster than baseband signal variations

Slow Fading

•Low Doppler Spread

•Coherence Time > Symbol Period

•Channel variations smaller than baseband signal variations

Page 7: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Time-varying received power, spreading of the signal spectrum caused by Doppler spreading, and time

dispersion are known as small-scale fading effects, caused by two or more interfering multipath signals

arriving at the receiver with slightly different amplitudes and propagation times. These signals will then

combine as vectors to yield fluctuations in received amplitude and phase. These effects are considered

small-scale because they characterize the channel when the motion of the receiver is on the order of ½

wavelengths during a short period of time. On a macroscopic level, the small-scale effects are averaged out to

produce a received power dependent upon the transmitter-receiver separation distance, frequency of operation,

and terrain A general comparison of small-scale vs. large-scale effects can be seen in charts.

Flat Fading Occurs when the amplitude of the received signal changes with time

For example according to Rayleigh Distribution

Occurs when symbol period of the transmitted signal is much larger than the Delay Spread of the

channel.

Frequency Selective Fading

Occurs when channel multipath delay spread is greater than the symbol period.

Symbols face time dispersion

Channel induces Intersymbol Interference (ISI)

Bandwidth of the signal s(t) is wider than the channel impulse response.

Parameters of Mobile Multipath Channels

Time Dispersion Parameters

Grossly quantifies the multipath channel

Determined from Power Delay Profile

Parameters include

Mean Access Delay

RMS Delay Spread

Excess Delay Spread (X dB)

Coherence Bandwidth

Doppler Spread and Coherence Time

Power Delay Profiles

Are measured by channel sounding techniques

Plots of relative received power as a function of excess delay

They are found by averaging intantenous power delay measurements over a local area

Page 8: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Coherence Bandwidth

Range of frequencies over which the channel can be considered flat (i.e. channel passes all

spectral components with equal gain and linear phase). It is a definition that depends on RMS

Delay Spread.

Two sinusoids with frequency separation greater than Bc are affected quite differently by the

channel.

If we define Coherence Bandwidth (BC) as the range of frequencies over which

the frequency correlation is above 0.9, then

If we define Coherence Bandwidth as the range of frequencies over which

the frequency correlation is above 0.5, then

This is called 50% coherence bandwidth.

k

k

k

kk

k

k

k

kk

P

P

a

a

)(

))((

2

2

k

k

k

kk

k

k

k

kk

P

P

a

a

)(

))(( 2

2

22

2

22

Mean excess delay

Rms delay spread

(st):

Rms delay spread

50

1CB

5

1CB

Page 9: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Delay spread and Coherence bandwidth describe the time dispersive nature of the channel in a local

area.

They don’t offer information about the time varying nature of the channel caused by relative motion of

transmitter and receiver.

Doppler Spread and Coherence time are parameters which describe the time varying nature of the

channel in a small-scale region.

Coherence Time

Delay spread and Coherence bandwidth describe the time dispersive nature of the channel in a local

area.They don’t offer information about the time varying nature of the channel caused by relative

motion of transmitter and receiver.

Doppler Spread and Coherence time are parameters which describe the time varying nature of the

channel in a small-scale region.

Measure of spectral broadening caused by motion

We know how to compute Doppler shift: fd

Doppler spread, BD, is defined as the maximum Doppler shift: fm = v/l

If the baseband signal bandwidth is much greater than BD then effect of Doppler spread is negligible at

the receiver.

Coherence time is the time duration over which the channel impulse response is essentially invariant. If

the symbol period of the baseband signal (reciprocal of the baseband signal bandwidth) is greater the

coherence time, than the signal will distort, since channel will change during the transmission of the

signal .

Coherence time (TC) is defined as:

mfCT 1 or

mfC

fT

m

423.0216

9

Page 10: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Transfer Function Representation

The key to designing a communication system that can operate in a multipath environment

lies in understanding and predicting the presence of multipath [12, 22]. A wireless propagation medium

is, in general, a highly dynamic environment, consisting of mobile users & scatterers, varying terrain,

and weather phenomena. Strictly speaking, these channels are non- stationary in nature; however,

they may be modeled as randomly time-variant linear filters, so that the mathematical functions

describing these channels reduce to random processes [29]. The transfer function representation then

allows the channels to be characterized statistically, in addition to allowing them to be described by a

time-varying transfer function (impulse response).

Signal pulses are broadened in time as they travel through the propagation channel.

Delayed spread (Td) is the longest delay among the multipath.

Channel Impulse Response (CIR)

The impulse response is a wideband channel characterization and contains all information

necessary to simulate or analyze any type of radio transmission through the channel. Impulse

response model actually is a linear filter with a time varying impulse response.

The variable t represents the time variations due to motion, whereas represents the channel

multipath delay for a fixed value of t.

tt

dtvthxdtdhxtdhtxtdy ),()(),()(),()(),(

Page 11: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

It is useful to discretize the multipath delay axis of the impulse response into equal time

delay segments called excess delay bins. The unit of excess delay is , and the maximum

excess delay of the channel is N. The useful frequency span of the model is

That means the impulse response models may be used to analyze transmitted signals having

bandwidth less than

The baseband impulse response of a multipath channel can be expressed as

If the channel impulse response is assumed to be time invariant over a small-scale time or distance

interval, then the channel impulse response may be simplified as

2

1

2

1

1

0

))(()],()(2exp[),(),(N

i

iicib tttfjtath

1

0

)(]exp[)(N

i

iiib jah

Fig

Page 12: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Three methods of wideband channel sounding techniques

Direct RF Pulse System

Spread Spectrum Sliding Correlator Channel Sounding

Frequency Domain Channel Sounding

Direct RF Pulse System

Determine the power delay profile of any channel by using pulse signal with

pulse width bb. The main problem with this system is that it is subject to

interference and noise.

Another disadvantage is that the phases of the individual multipath components

are not received.

We have used Spread Spectrum Sliding Correlator Channel Sounding

Spread spectrum, processing gain

Time resolution: 2Tc=2/Rc

The advantage of a spread spectrum system is that, while the probing signal

may be wideband, it is possible to detect the transmitted signal using a narrow

band receiver, thus improving the dynamic range of the system as compared to

the direct RF pulse system.

The transmitter chip clock is run at a slightly faster rate than the receiver chip

clock. This implementation is called a sliding correlator.

A disadvantage of the spread spectrum system is that measurements are not

made in real time, but they are compiled as the PN codes slide past one another

Fig

Page 13: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

PN Sequences

The construct we use to “sound” the radio channel using called a pseudo-noise se- quence, or PN sequence. The sequences are so named because they have spectral prop- erties similar to that of white noise, but are generated deterministically. In other words, they appear as a random binary string, but can be generated algorithmically. The va- riety of sequence we use is called

a maximal-length sequence. These sequences have a length of 2n − 1 bits2 , where n is any

non-negative integer. These sequences have a few properties which are particularly useful to channel sounding.

Frequency Domain analysis of the channel for coherence bandwidth estimation.

Page 14: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

(1) There are an equal number of ones and minus ones, to within one bit.

(2) The sequences autocorrelate to -1 everywhere except when all bits align.

This figure is the correlation of a single, 15-bit PN sequence with a signal comprised of three

identical PN sequences placed end-to-end. There is a spike for each of the three sequences,

which occur every time the reference sequence aligns with the sequence embedded in the

signal. When the sequences are not aligned, the correlation flattens to -1.

Page 15: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

USRP Basics

Universal Software Radio Peripheral (USRP) is a used as the hardware component of an SDR.

The Universal Software Radio Peripheral, or USRP (pronounced "usurp") is designed to allow general

purpose computers to function as high bandwidth software radios. In essence, it serves as a digital

baseband and IF section of a radio communication system. There are two versions of USRP. Version 1

is discussed first followed by version 2.

Page 16: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

The USRP has 4 high-speed analog to digital converters (ADCs), each at 12 bits per sample,

64MSamples/sec. There are also 4 high-speed digital to analog converters (DACs), each at 14 bits per

sample, 128MSamples/sec. These 4 input and 4 output channels are connected to an Altera Cyclone

EP1C12 FPGA. The FPGA, in turn, connects to a USB2 interface chip, the Cypress FX2, and on to the

computer. The USRP1 connects to the computer via a high speed USB2 interface only, and will not

work with USB1.1.

AD / DA Converters :

There are 4 high-speed 12-bit AD converters. The sampling rate is 64M samples per second. In

principle, it could digitize a band as wide as 32MHz. The AD converters can bandpass-sample signals

of up to about 150MHz, though. If we sample a signal with the IF larger than 32MHz, we introduce

aliasing. The higher the frequency of the sampled signal, the more the SNR will be degraded by jitter.

100MHz is the recommended upper limit.

The full range on the ADCs is 2V peak to peak, and the input is 50 ohms di®erential. This is

40mW, or 16dBm. There is a programmable gain ampli¯er (PGA) before the ADCs to amplify the

Page 17: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

input signal to utilize the entire input range of the ADCs, in case the signal is weak. we can use other

sampling rates if desired. The available rates are all submultiples of 128MHz, such as 64 MS/s, 42.66

MS/s, 32 MS/s, 25.6 MS/s and 21.33 MS/s.

At the transmitting path, there are also 4 high-speed 14-bit DA converters. The DAC clock

frequency is 128 MS/s, so Nyquist frequency is 64MHz. Staying below 50MHz makes filtering easier.

The DACs can supply 1V peak to a 50 ohm di®erential load, or 10mW (10dBm). There is also PGA

used after the DAC, providing up to 20dB gain.

So in principle, we have 4 input and 4 output channels if we use real sampling. However, we can have

more flexibility (and bandwidth) if we use complex (IQ) sampling. Then we have to pair them up, so

we get 2 complex inputs and 2 complex outputs.

The daughter boards

On the mother board there are four slots, where you can plug in up to 2 RX daughter boards

and 2 TX daughter boards. The daughter boards are used to hold the the RF receiver interface or tuner

and the RF transmitter. Each daughter board slot has access to 2 of the 4 high-speed AD / DA

converters (DAC outputs for TX, ADC inputs for RX).

Several kinds of daughter boards available :

Basic daughter boards : Two SMA connectors are used to connect external tuners or signal

generators. We can treat it as an entrance or an exit for the signal without affecting it.

TVRX daughter boards : With Microtune 4937 Cable Modem tuner equipped. This is a receive- only

daughter board. The RF frequency ranges from 50MHz to 800MHz, with an IF bandwidth of 6MHz.

DBSRX daughter boards : Similar with the TVRX boards. This is also receive-only. The RF

frequency ranges from 800MHz to 2.4G.

Page 18: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

The FPGA :

All the ADCs and DACs are connected to the FPGA. Basically what it does is to perform high

bandwidth math, and to reduce the data rates to something you can squirt over USB2.0. The FPGA

connects to a USB2 interface chip, the Cypress FX2.

Standard FPGA configuration includes digital down converters (DDC) implemented with cascaded

integrator-comb (CIC) filters. The FPGA implements 4 digital down converters (DDC) on the receiver

side. The digital up converters (DUCs) on the transmit side are actually contained in the AD9862

CODEC chips, not in the FPGA.

Digital Down Converter (DDC) :

It down converts the signal from the IF band to the base band and decimates the signal so that

the data rate can be adapted by the USB 2.0 and is reasonable for the computers' computing capability.

The complex input signal (IF) is multiplied by the constant frequency (usually also the IF) exponential

signal. The resulting signal is also complex and centered at 0. Then we decimate the signal with a

factor N.

The decimater can be treated as a low pass filter followed by a down sampler. Suppose the

decimation factor is N. If we look at the digital spectrum, the low pass filter selects out the band [-Fs/N,

Page 19: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Fs/N], and then the down sampler de-spreads the spectrum from [-Fs, Fs] to [-Fs/N, Fs/N]. So in fact,

we have narrowed the bandwidth of the digital signal of interest by a factor of N.

We can sustain 32MB/sec across the USB. All samples sent over the USB interface are in 16-

bit signed integers in IQ format, i.e. 16-bit I and 16-bit Q data (complex) which means 4 bytes per

complex sample. This resulting in a (32MByte per sec/4Byte) 8Mega complex samples/sec across the

USB. Since complex processing was used, this provides a maximum effective total spectral bandwidth

of about 8MHz by Nyquist criteria. Of course we can select much narrower ranges by changing the

decimation rate. The decimation rate must be in [8, 256]. Finally the complex I/Q signal enters the

computer via the USB. All further processing is done by the host computer. That’s the software world.

Note that when there are multiple channels (up to 4), the channels are interleaved. For

example, with 4 channels, the sequence sent over the USB would be I0 Q0 I1 Q1 I2 Q2 I3 Q3 I0 Q0 I1

Q1 etc. In multiple RX channels (1,2, or 4) , all input channels must be the same data rate (i.e. same

decimation ratio).

Page 20: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Digital up converter

Digital up converter is used while transmitting the data. It dose the reverse of the DDC. We

need to send a baseband I/Q complex signal to the USRP board. The digital up converter (DUC) will

interpolate the signal, up convert it to the IF band and finally send it through the DAC. The digital up

converters (DUC) on the transmit side are actually contained in the AD9862 CODEC chips, not in the

FPGA.The only transmit signal processing blocks in the FPGA are the CIC interpolators. The

interpolator outputs can be routed to any of the 4 CODEC inputs. In multiple TX channels (1 or 2) all

output channels must be the same data rate (i.e. same interpolation ratio). Note that Tx rate may be

different from the RX rate.

The USRP can operate in full duplex mode. In this mode, transmit and receive sides are

completely independent of one another. The only consideration is that the combined data rate over the

bus must be 32 Megabytes per second or less.

DUC block diagram

Page 21: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

USRP2

USRP2 is the newer version of USRP-1. Its architecture is similar to USRP-1 but has lot of

upgrades added to it. It uses 1 gigabit ehternet port to connect to the host computer and has a higher

bandwidth compared to the previous version. It can handle 25M of instantaneous bandwidth. The size

of the FPGA is also large so apart from handling the down conversion and up conversion it can do

more. Some of the signal processing tasks can be offloaded to the FPGA from the host computer. This

will make the device much faster. USRP2s can also be connected to each other and form a complete

coherent MIMO system. It can connect to only one transceiver or to one receiver and transmitter. It has

a 14 bit, 100M samples/sec ADC and a 16 bit 400M samples/sec DAC. The firmware is conveniently

stored on a SD card allowing it to be modified easily. A comparison of both USRP versions follows :

USRP USRP2

Manufacturer Ettus Research

ADCs 64 MS/s 12-bit 100 MS/s 14-bit

DACs 128 MS/s 14-bit 400 MS/s 16-bit

Mixer programmable decimation- and interpolation factors

Max. BW 16 MHz 50 MHz

PC connection USB 2.0 (32 MB/s half duplex) Gigabit Ethernet (1000 MBit/s)

RF range DC – 5.9 GHz, defined trough RF daughterboards

Page 22: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

GNURADIO

GNU Radio is a free & open-source software development toolkit that can be used with USRPs to

create SDR (software-defined radios). GNU Radio thus forms the software part of an software defined

radio.

GNU Radio applications are primarily written using the Python programming language, while

the supplied performance-critical signal processing path is implemented in C++ .

GNURADIO installation :

There are two ways to install GNU Radio: either by using pre-compiled binary packages, or manually

compiling it from source. On Linux, for installing GNU Radio from binaries following commands are

to be executed :

Ubuntu : apt-get install gnuradio

Fedora : yum install gnuradio

The above method is not recommended as repositories for apt-get and yum installation are not updated

and thus installed gnuradio will not be the latest version.

We can install latest version by compiling manually from source. This source can be downloaded by

pasting following link :

http://gnuradio.org/redmine/attachments/download/326/gnuradio-3.6.0.tar.gz

this is an archive file and can be extracted by double clicking.

Before continuing the build process, build prerequisites pertaining to the os are to installed. The

following link provides command which does this job and is to be pasted in linux terminal.

http://gnuradio.org/redmine/projects/gnuradio/wiki/UbuntuInstall

now go to the directory to which gnuradio was extracted using ‘cd’ command and execute following

instructions in terminal :

mkdir build

cd build

cmake ../

make && make test

sudo make install

Page 23: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Since we are interested in interacting with the USRP2, driver for the device (UHD) is to be installed

before installing gnuradio (either from binaries or from source). Following link hosts all UHDs from

Ettus research.

http://code.ettus.com/redmine/ettus/projects/uhd/wiki/UHD_Linux

After installing uhd and gnuradio, the pythonpath environment variable is to be set :

Open your .bashrc file (e.g. type "gedit .bashrc" in the terminal) and add to the end of the file:

# GNU Radio installation

export PATH=$PATH:/opt/gnuradio/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gnuradio/lib

export

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/gnuradio/lib/pkgconfig

export PYTHONPATH=$PYTHONPATH:/opt/gnuradio/lib/python2.6/site-

packages

where opt/gnuradio is to be replaced with the path in which gnuradio was extracted Log out and log in

again for the settings to take effect.

If the GNURadio installation was successful, then typing ‘gnuradio-companion’ on the terminal should

open the GRC and typing ‘uhd_find_devices’ should display the USRP devices connected to the

system.

Page 24: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Design Model Description

This is the basic design flow diagram. Here we find out averaged power delay profile and then

analyse frequency domain response for estimation of coherence bandwidth.

Page 25: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

The PN codes are generated as per user feed on fly and BPSK modulated before being sent to USRP2

control ie Uhd_transmitter.

After subsequent processing(interpolation,filtering etc) and upconvertion the modulated pulses are

transmitter by antenna.

TRANSMITTER SIDE

Page 26: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

The Receiver side USRP2 down-converts the data and after analog domain convertion 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.

RECEIVER-PATH

Page 27: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

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 Costs loop

integration for further improvement in terms of synchronization but it’s complexity required more

efforts.

Page 28: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

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 the in 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.

Page 29: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

This model represents the basic data flow through octave code.Every window goes though same

process.The Binary stream(after being read by read_complex_binary.m)stream is correlated with

locally generated PN Sequence of same length as that of the the transmitted one which gives CIR.The

CIR is averaged and subsequently squared to get the power-delay profile.

The frequency domain conversion of this profile(delayed versions of power) gives a better

visualization in terms of frequency correlation function.

The range till where this is above 0.9 is taken as coherence Bandwidth.

Local PN Seq.

Page 30: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

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 is demodulated and stream is converted in suitable format and stored in local file.

This is further used by octave codes.

Page 31: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Using power scripting power of Python we coded one script which takes in input from user

,establishes communication between Rx and Tx and gives the required parameters and plots after

processing.

Script Execution diagram

Page 32: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Conclusion

Using 2 USRP2s(Rx+Tx) we were able to make Gnu-Radio based channel Sounder which can measure

channel parameters. To add we made it quite handy and user friendly where one can test it for

multiple input parameters (PN Sequence Length, Sampling Rate,Modulation Scheme etc) and get

detailed analysis of the channel parameters.

This is complete command line script where after establishing connection between two devices one

need to run one single script on command line which will ask for input from user.

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.

Channel Impulse Response LOS for 1023 length sequence clearly show one major echo due to

multipath.

De-noised CIR for same channel for better visualization.

Page 33: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Channel Impulse Response NLOS for 4095 length sequence clearly showing multiple echo’s due to

multipath.

Power Delay Profile(PDF) of the channel at 4095 sequence length.

Page 34: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Multiple Snap-Shots were taken to get averaged powed delay profile.The figure shows channel

impulse at different instants of time for similar condition(1023 length PN sequence).

Frequency Domain analysis of the channel response was observed as frequency correlation function.

Coherence bandwidth can be reported at point where fcf drops till 0.9.

Page 35: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

These plots shows 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 be used to study channel at varied frequencies(ISM Band) and little work in

synchronization and tests on better machines can give better results.

Page 36: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Challenges and Future Works :-

1. Synchronization between 2 USRP2s.

Docs/manual can be seen at

http://files.ettus.com/uhd_docs/manual/html/sync.html.

http://osdir.com/ml/discuss-gnuradio-gnu/2011-06/msg00301.html.

http://osdir.com/ml/discuss-gnuradio-gnu/2011-06/msg00300.html

Polling the USRP time registers

Query the GPSDO for seconds

Internal GPSDO

MIMO cable

We did not have these so proposed for usage of external clock using function generator ie Common

Reference Signals.

GPS receiver based synchronization:-

http://old.nabble.com/GPS-Receiver-for-USRP2-tt27844788.html#a27847262

This 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 ready made block to do each.

Carrier recovery/synchronization can be done with a Costas loop, which will track out any residual

carrier resulting from not being tuned to exactly the center frequency of your passband. For symbol

timing, there is a resampling block implementing the Muller and Muller algorithm. This will track the

"center of the bit" and fractionally resample to 1 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).

Page 37: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

From there one can use a hard-decision slicer on the I channel, or implement your own more

sophisticated algorithm based on whether there is error coding or some other known property of the

transmit signal.

An example that implements all of the above (using separate Costas and M&M blocks) may be found

in the gnuradio-examples/python/digital-bert directory. This implements a continuous BPSK

transmitter using a known, scrambled bit sequence. The receiver performs filtering, synchronization,

demodulation, retiming, bit slicing, and descrambling, then measures the bit error rate and estimates

the receiver signal to noise ratio. These values, plus the current frequency offset and timing offset,

are displayed once per second.

A more sophisticated example is the digital packet radio that interfaces with the Linux TCP/IP stack,

which may be found in the python/digital directory. This combines a configurable PHY later (bit rate,

modulation technique, etc.) with a (very) simple CSMA MAC. This is harder to study, and the details

of the DQPSK implementation are buried in another directory, but it is full-fledged 2-way half-duplex

radio link using GNU Radio.

The Costas loop will compensate for carrier frequency/phase offset, but will not compensate for

timing offset. For the latter, you will also need to implement a coarse and fine synchronization loop,

using something like an early/prompt/late correlator and NCO-based PN code generator.

2. Communication Problems between USRP2s.

http://files.ettus.com/uhd_docs/manual/html/usrp2.html#communication-problems

3. Increasing Sampling rate :-

For higher resolution we need to get higher sampling rate.25Ms/S would do good. Though this can be

increased using code(uhd_transmitter and uhd_receiver and through .py files supporting/using it) but it

is much machine dependent ie depends upon capacity of laptop using it.Going beyond 10 on normal

laptops(Dual Core with Vmware based Ubuntu lead to underflow at receiver side(UUUUUUUUU.....

in command window) which means CPU is not able to support it.

For 25Ms/S better CPU does fine.

Page 38: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

References

http://gnuradio.wordpress.com/

http://www.funwithelectronics.com/?id=11

http://gnuradio.org/redmine/wiki/1/UsrpFAQIntroFPGA

http://james.ahlstrom.name/

http://www.oz9aec.net/index.php/gnu-radio

http://www.hs-ulm.de/opus/volltexte/2010/27/pdf/SDR_GNURadio_USRP_Feb2010.pdf Bachelor Thesis from HS Ulm on FM / GSM applications

http://search.gmane.org/?author=Johnathan+Corgan&sort=date,GNU Radio, a free software

defined radio

UHD DRIVER GUIDE Devin KellY, October 1st, 2011

Statistical multipath channel models

Multipath Interference Characterization in Wireless Communication Systems, Michael Rice ,BYU Wireless Communications Lab

A Low-Cost, Software-Based Radio Frequency Channel Sounder by Jordan Riggs

The Universal Hardware Driver

Page 39: Channel Sounding Using GNU-RADIO & USRP2 At … · Channel Sounding Using GNU-RADIO & USRP2 At SPANN LAB ... voice, data, and full-motion ... inherent in the 3rd and 4th generations

Recommended