Software Defined Radio

Software Defined Radio
A Modular Approach
Jonathan Haws
Blair Leonard
Khemmer Porter
Joshua Templin
November 16, 2007
What is SDR?
• Software Defined Radio
– “A radio communication system which can potentially tune
to any frequency band and receive any modulation across
a large frequency spectrum by means of as few as
hardware possible and processing the signals through
software” (Wikipedia, “Software Defined Radio”)
– One device serves multiple purposes
– Significant utility in military and cellular markets
• Precursor to “Cognitive Radio”
– Radio will alter transmission and reception parameters
(modulation, frequency, and power) to avoid interference
and improve overall QoS
November 16, 2007
2
History
• Many wireless devices are designed to
serve a single purpose
– Cell phone, wireless router, GPS receiver,
AM/FM radio, etc.
• Many current software radio groups exists
– GNURadio, HPSDR, SDR Forum, and others
November 16, 2007
3
Problem
•
Design a software defined radio that has
the ability to:
1. Change modulation techniques “on-the-fly”
2. Avoid unwanted white noise
3. Provide a means to easily implement the
same software on other radios
November 16, 2007
4
Solution
• Code and implement on a DSP various
algorithms that provide the desired
functionality of the radio
• Keep code modular (C++ classes)
November 16, 2007
5
Block Diagram of a SDR
November 16, 2007
6
Transmitter
• Coder Block
– Add bits to data stream to provide error protection
(data redundancy)
• Bit/Symbol
– Convert the data stream into transmission symbols for
transmission
• Transmit Filter
– Shape the symbols to the desired waveform
• Modulator
– Modulate the signal for transmission
November 16, 2007
7
Channel
• Channel properties
– Model a wireless channel with an appropriate
transfer function
• White Noise
– WSS random process modeled as a process
with a constant power spectral density
• Interference
– Other interference modeled as normal
random variables
November 16, 2007
8
Receiver
•
LNA/AGC
– Amplify signal to receiver circuit levels
•
Sampler
– Sample the received signal for digital processing
•
Demodulator
– Demodulate the received signal
•
Carrier Recovery
– Recover the phase of the carrier signal
•
Matched Filter
– Filter designed to match the transmitting filter
•
Timing Recovery
– Recover original clock of the transmitter
•
Equalizer
– Distortion compensation
•
Decoder
– Decode symbols into appropriate bit stream
November 16, 2007
9
Software Algorithm
Development Process
Algorithms will be
1.
2.
3.
4.
5.
6.
Developed in MATLAB
Tested in SIMULINK
Converted to C/C++
Tested in C/C++ model
Compared to SIMULINK
Verified on DSP board
November 16, 2007
10
Implementation Decisions
• C++
– Ease of transition between MatLab and C++
– C++ will provide modular classes and functions
• Inheritance and Virtual Functions
– DSP Boards can be programmed with C/C++
• Linux
– Documentation
– Cross-Platform
• Macintosh and IBM Compatible
November 16, 2007
11
Modularity
Utilities Class
AM Modulation
Class
FM Modulation
Class
QA Modulation
Class
Transceiver
Transmitter
November 16, 2007
Receiver
12
Radio Software Design
…
November 16, 2007
13
SIMULINK Model
November 16, 2007
14
Modulation Techniques
• Software Defined Radios allow for multiple
modulation techniques
• NO additional hardware is needed
– Filtering can also be accomplished without
any additional hardware.
November 16, 2007
15
Amplitude Modulation (AM)
• V(t) = Vocos(2ft + )
– For AM the value Vo is varied to change the
amplitude of the signal.
November 16, 2007
16
Frequency Modulation (FM)
• V(t) = Vocos(2ft + )
– For FM f is varied.
November 16, 2007
17
Quadrature AM
• V(t) = Vocos(2ft + ) +
Vosin(2ft + )
– For QAM, two signals that are out of phase by
90 degrees are used simultaneously.
November 16, 2007
18
QAM Waveform
November 16, 2007
19
Digital Modulation
• The techniques that were discussed are for analog
modulation.
– The process is similar for digital modulation
– The digital modulation types are: ASK, FSK,
and QASK
– Once these techniques are realized, they can
be adapted to achieve other modulation types
BPSK, QPSK, …
November 16, 2007
20
Matched Filters
• Maximize the SNR to improve QoS
• Receiver filter is matched to the transmitter filter
by the relationship
P R f =C⋅ P T f
November 16, 2007
21
Carrier and Timing Recovery
Data aided vs. Non-data aided
Data Aided
•Only applicable when data symbols
are detected reliably
•Requires phase and frequency
information of the carrier
•Based on decisions made by
receiver
November 16, 2007
Non-Data Aided
•Independent of data symbols
•Can be used for both tracking and
acquisition
•Not as accurate as Data-aided
while tracking
22
Spectrum Digital DSP Boards
SDI TMS320C6713 DSP Boards
• 225 MHz
• 512KB Flash
• 8MB SDRAM
• Microphone, Speaker,
Mono In/Out audio ports
• USB Interface
November 16, 2007
23
Demonstration
November 16, 2007
24
Preliminary Testing
MATLAB
simulation
using AM
modulation
– Receiver
rectifies signal
and detects
peaks
Raw Signal
Demodulated Signal
November 16, 2007
25
Any Questions?
November 16, 2007
26
Thank you!
We appreciate your time and
thank you for coming!
November 16, 2007
27