Upload
trandang
View
236
Download
2
Embed Size (px)
Citation preview
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
CHANEEL SOUNDING SCRIPT Contents:-
1.Introduction
2.Channel sounding basics
3.Sounder design flow
4.Conclusion
5.Chanllenges and future works
6.References
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.
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.
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.
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
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
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
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
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 ),()(),()(),()(),(
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
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
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.
(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.
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.
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
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.
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,
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).
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
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
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
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.
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.
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
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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).
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.
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