DSP Implementation of a BPSK SNR Estimation Algorithm for
OFDM Systems in AWGN Channel
University of PatrasDepartment of Electrical & Computer Engineering
Applied Electronics Laboratory
Athanasios Doukas, Andreas Kotsopoulos, Grigorios Kalivas
20/07/2006 OFDM SNR DSP2
Contents
Introduction
OFDM Basics and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006 OFDM SNR DSP3
Introduction
Demand for even higher data rates.
Orthogonal Frequency Division Multiplexed (OFDM) based Wireless Local Area Networks (WLAN) such as 802.11a and HIPERLAN/2, can give these high rates.
In order to achieve this the channel state information (CSI) has to be used and the transmission characteristics should be adapted accordingly.
Examples are the adaptive modulation and adaptive bit-loading techniques.
Signal-to-Noise Ratio (SNR) is a crucial parameter, since it provides significant information that can be used to maximize the utilization of the channel via such adaptive techniques.
20/07/2006 OFDM SNR DSP4
Why an implementation is necessary
Real Time Constraints
Realistic Conditions Realistic
Capabilities
Text
Necessities
20/07/2006 OFDM SNR DSP5
Possible Solutions for Implementation
Implementation
The final decision depends on the nature of the application
Digital Signal
Processor(DSP)Text
ApplicationSpecific
Integrated Circuit(ASIC)
20/07/2006 OFDM SNR DSP6
Why DSP Implementation
DD
BB
CC
AAReconfiguration
Reprogrammability
Clock speed and memory of DSPs
Fast upgrades and modifications
20/07/2006 OFDM SNR DSP7
Previous Works
A whole OFDM WLAN system using one or two Texas Instruments (TI) DSPs including CSI parts for equalization of the received data1
2A similar implementation is described for a Terrestrial Digital Video Broadcasting (DVB-T) system, focused mainly onthe structure of the equalizer and the demodulator of the system.
3Iterative-SNR (I-SNR) implementation, estimates SNR from thereceived after a few iterations. Drawback of this algorithm isits iterative nature
20/07/2006 OFDM SNR DSP8
Contents
Introduction
OFDM Basics and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006 OFDM SNR DSP9
OFDM Scheme
20/07/2006 OFDM SNR DSP10
SNV-SNR Estimator
2
11
2
2
1
11
1
N
kk
N
kk
N
kk
rN
rN
rN
SNR
The Squared Signal-to-Noise Variance SNR (SNV-SNR) is a one-step estimatorthat does not use any previously known data, such as pilots or preamble, but only the received data symbols (DA) from receiver decisions (RX).
20/07/2006 OFDM SNR DSP11
Contents
Introduction
OFDM Basics and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006 OFDM SNR DSP12
Implementation Platform
SNV-SNR was implemented on a TMS320C6711 DSP with internal clock frequency at 200MHz and the development tool used for debugging and optimization was Code Composer Studio (CCS) 3.1 Platinum
20/07/2006 OFDM SNR DSP13
SNV-SNR Implementation
Floating-point arithmetic was chosen
1.Its internal architecture is basically floating-point providing little flexibility for fixed point implementations of high complexity such as changing between several fixed-point representations. This way if there was a need for functions performing conversion between different fixed-point formats, in order to maintain the desired accuracy hand-coded should be involved resulting into a significant overhead and higher implementation complexity
2.SNV-SNR involves arithmetic operations that are difficult to manipulate with fixed-point numbers without causing overflows or underflows, such as divisions, additions, and subtractions repeated over a rather large number of iterations inside loops.
20/07/2006 OFDM SNR DSP14
General Optimization Process (1/2)
1 Place the whole code in IRAM if possible
2 Re-arrange/re-write the code exploiting any algorithmic redundanciesvia reuse of any possible inner results
Avoid function calls either via macros and inlines or via integrating thefunction bodies into the main program.3
Compile the code with full CCS compiler optimization (for example -o3option) enabled4
6
5Replace basic arithmetic operations, such as additions, multiplications, and reciprocals, with their DSP-specific intrinsic equivalents.
Make use of any DSP-specific libraries available, such as the dsp67x.lib, after having profiled them to ensure desiredperformance
20/07/2006 OFDM SNR DSP15
General Optimization Process (2/2)
7Profile the code and identify the most cycle-consuming parts, most probably loops with high processing load
8 Re-write these parts using any possible optimization techniques,such as double-word access or further loop-unrolling
9Exploit any No-Operations (NOP) in the compiler-produced assemblyand replace them with useful code if possible, thus, taking full advantage of the pipelining capabilities of the DSP.
10
As a last solution, due to the great programming effort needed, hand-write the most time-consuming parts in hand-coded assemblyfrom scratch. If still the performance of the code is not satisfactory go back at step 7, trying to split the sensitive parts into smaller and optimize each one separately.
20/07/2006 OFDM SNR DSP16
Additional SNV-SNR Specific Optimization
Coding structure modifications of SNV-SNRIntegration of complicated arithmetic, such as complex divisions, into the main code so as to avoid the relative overheads.
Compiler optimization1. Full optimization (-o3) and speed-most-critical options were set along
with C67x-specific features enabled in order to fully utilize the hardware characteristics of our target DSP.
2. Arithmetic operations, like reciprocals, were replaced by their equivalent C67x compiler intrinsic, which are C-callable functions that map directly to C67x-optimized assembly code, therefore enhancing performance.
Fast algorithms of the literature1. Newton Rapson Inverse (NRI) method for square root estimation2. Equirriple-Error Magnitude method for complex
magnitude estimation
A
B
C
20/07/2006 OFDM SNR DSP17
Contents
Introduction
OFDM Basics and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006 OFDM SNR DSP18
0 2 4 6 8 10 12 14 16 18 200
2
4
6
8
10
12
14
16
18
20
actual SNR
estim
ated
SN
RSNV-SNR estimation accuracy
actual SNR
hardware estimated SNR for 1000 samplessoftware estimated SNR for 1000 samples
Comparison Software/Hardware Implementation
20/07/2006 OFDM SNR DSP19
Estimation Accuracy
0 5 10 15 20 250
5
10
15
20
25
actual SNR
estim
ated
SN
RSNV-SNR estimation accuracy
actual SNR
estimated SNR for 400 samplesestimated SNR 600 samples
estimated SNR 1000 samples
20/07/2006 OFDM SNR DSP20
Estimation comparison to I-SNR
0 2 4 6 8 10 12 14 16 180
2
4
6
8
10
12
14
16
18
20
Actual SNR
SN
R e
stim
ated
(dB
)Comparison of SNV-SNR vs I-SNR
Actual SNR
SNR estimation with I-SNRSNR estimation with SNV-SNR
20/07/2006 OFDM SNR DSP21
Hardware Requirements
Optimization levelNo
optimizationFull
Optimization
Number of samples 500 1000 500 1000
Cycles 20400 35000 1520 2580
Code-size 1.5KBytes 1.8Kbytes
Cycles for 64-point FFT 900
I-SNR Cycles 9000 (6 Iterations with 1000 samples)
20/07/2006 OFDM SNR DSP22
Contents
Introduction
OFDM Basics and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006 OFDM SNR DSP23
1. Implementation and optimization procedure of a single step SNR estimationalgorithm, SNV-SNR, on a TI C6711 DSP operating on BPSK modulated data forOFDM systems in AWGN channel and suggestion of an optimization process forsuch implementations.
2. The estimation accuracy of the implemented algorithm is similar to the software implementation of the same algorithm.
3. Comparison of the implemented algorithm with a previously implemented iterativeSNR estimation algorithm with our implementation achieving slightly worseestimation accuracy results but much higher execution speed.
4. Through optimization procedure further decrease in time requirementswhile at the same time achieving to keep its code size in very low levels,making it able to fit into the IRAM of the DSP.
Conclusions