November 16, 2007
Jonathan HawsBlair Leonard
Khemmer PorterJoshua Templin
Software Defined RadioA Modular Approach
November 16, 2007 2
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 3
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 4
Problem
• Design a software defined radio that has the ability to:
1. Change modulation techniques “on-the-fly”
2. Avoid unwanted white noise3. Provide a means to easily implement
the same software on other radios
November 16, 2007 5
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 7
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 8
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 9
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 10
Software AlgorithmDevelopment Process
Algorithms will be 1. Developed in MATLAB2. Tested in SIMULINK3. Converted to C/C++4. Tested in C/C++ model5. Compared to SIMULINK6. Verified on DSP board
November 16, 2007 11
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 12
Modularity
Utilities Class
AM ModulationClass
QA ModulationClass
FM ModulationClass
Transceiver
Transmitter Receiver
November 16, 2007 15
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 16
Amplitude Modulation (AM)
• V(t) = Vocos(2ft + )
– For AM the value Vo is varied to change the amplitude of the signal.
November 16, 2007 18
Quadrature AM
• V(t) = Vocos(2ft + ) +
Vosin(2ft + )– For QAM, two signals that are out of
phase by 90 degrees are used simultaneously.
November 16, 2007 20
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 typesBPSK, QPSK, …
November 16, 2007 21
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 22
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
Non-Data Aided
•Independent of data symbols
•Can be used for both tracking and acquisition
•Not as accurate as Data-aided while tracking
November 16, 2007 23
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 25
Preliminary Testing
MATLAB simulation using AM modulation– Receiver
rectifies signal and detects peaks
Raw Signal
Demodulated Signal