Software Defined Radio A Modular Approach November 16, 2007
What is SDR? Software Defined Radio Precursor to “Cognitive 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 Talk about software radio and what it is and isn’t. SDR is: Smart algorithms designed to work at various bands in the radio frequency spectrum November 16, 2007
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 Basic overview of the history of radios Mention other SDR groups November 16, 2007
Problem Design a software defined radio that has the ability to: Change modulation techniques “on-the-fly” Avoid unwanted white noise Provide a means to easily implement the same software on other radios Define the problem. Is this enough detail? November 16, 2007
Solution Code and implement on a DSP various algorithms that provide the desired functionality of the radio Keep code modular (C++ classes) Describe our basic game plan. We want to elaborate here more. November 16, 2007
Block Diagram of a SDR November 16, 2007 Block diagram of a good SDR system. The key to this is where the sampling takes place – right after the LNA. A good software radio will have the ADC/DAC as close to the antenna as possible. This allows all the processing of the signal to take place in software. Everything outlined in red will be part of the software system. The actual transmission and reception of signals, the LNA/AGC functionality, and the sampler are taken care of in hardware. November 16, 2007
Transmitter Coder Block Bit/Symbol Transmit Filter Modulator 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 Tx detail. November 16, 2007
Channel Channel properties White Noise Interference 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 Channel detail. November 16, 2007
Receiver LNA/AGC Sampler Demodulator Carrier Recovery Matched Filter 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 Rx detail. November 16, 2007
Software Algorithm Development Process Algorithms will be 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
Implementation Decisions 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 Matlab code is very similar to C. Using C++ will give us the ability to convert from C easily while adding the modularity of classes. November 16, 2007
Modularity Utilities Class AM Modulation Class FM Modulation Class QA Modulation Class Transceiver Transmitter Receiver November 16, 2007
Radio Software Design … November 16, 2007
SIMULINK Model November 16, 2007
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
Amplitude Modulation (AM) V(t) = Vocos(2ft + ) For AM the value Vo is varied to change the amplitude of the signal. November 16, 2007
Frequency Modulation (FM) V(t) = Vocos(2ft + ) For FM f is varied. November 16, 2007
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
QAM Waveform November 16, 2007
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
Matched Filters Maximize the SNR to improve QoS Receiver filter is matched to the transmitter filter by the relationship Maximizing the SNR will improve QoS because the signal power will be accentuated while the noise power will not. This allows for better decision making in the data-aided timing recovery algorithms. Matched filter – P_x(f) is the FT of the filter. C is a constant. An adaptive MF allows for C to change and converge to the ideal solution (with minimal delay). November 16, 2007
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 A combination of both provides very accurate results. Non-data aided in acquisition, data-aided in tracking. November 16, 2007
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
Demonstration November 16, 2007 Demo diagram – next slides explain more. November 16, 2007
Preliminary Testing MATLAB simulation using AM modulation Receiver rectifies signal and detects peaks Include scope output and Simulink block diagram here. Raw Signal Demodulated Signal November 16, 2007
Any Questions? November 16, 2007
We appreciate your time and thank you for coming! November 16, 2007