DSP Implementation of a BPSK SNR Estimation Algorithm for

Download Report

Transcript DSP Implementation of a BPSK SNR Estimation Algorithm for

DSP Implementation of a BPSK
SNR Estimation Algorithm for
OFDM Systems in AWGN
Channel
Athanasios Doukas, Andreas Kotsopoulos, Grigorios Kalivas
University of Patras
Department of Electrical & Computer Engineering
Applied Electronics Laboratory
Contents
Introduction
OFDM Basics and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006
2
OFDM SNR DSP
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
3
OFDM SNR DSP
Why an implementation is necessary
Realistic
Conditions
Real Time
Constraints
Realistic
Capabilities
Necessities
Text
20/07/2006
4
OFDM SNR DSP
Possible Solutions for Implementation
Digital
Signal
Processor
(DSP)
Text
Implementation
Application
Specific
Integrated
Circuit
(ASIC)
The final decision depends on the
nature of the application
20/07/2006
5
OFDM SNR DSP
Why DSP Implementation
A
Reconfiguration
Reprogrammability
B
Clock speed and
memory of DSPs
C
D
Fast upgrades and
modifications
20/07/2006
6
OFDM SNR DSP
Previous Works
1
A whole OFDM WLAN system using one or two Texas Instruments (TI)
DSPs including CSI parts for equalization of the received data
2
A similar implementation is described for a Terrestrial
Digital Video Broadcasting (DVB-T) system, focused mainly on
the structure of the equalizer and the demodulator of the system.
3
Iterative-SNR (I-SNR) implementation, estimates SNR from the
received after a few iterations. Drawback of this algorithm is
its iterative nature
20/07/2006
7
OFDM SNR DSP
Contents
Introduction
OFDM Basics and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006
8
OFDM SNR DSP
OFDM Scheme
20/07/2006
9
OFDM SNR DSP
SNV-SNR Estimator
The Squared Signal-to-Noise Variance SNR (SNV-SNR) is a one-step estimator
that does not use any previously known data, such as pilots or preamble, but only
the received data symbols (DA) from receiver decisions (RX).
1

N
SNR 
1
N
20/07/2006

rk 

k 1

N
1
r 

k 1
N
N
2
k
2

rk 

k 1

N
10
2
OFDM SNR DSP
Contents
Introduction
OFDM Basics
and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006
11
OFDM SNR DSP
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
12
OFDM SNR DSP
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
13
OFDM SNR DSP
General Optimization Process (1/2)
1
Place the whole code in IRAM if possible
2
Re-arrange/re-write the code exploiting any algorithmic redundancies
via reuse of any possible inner results
3
Avoid function calls either via macros and inlines or via integrating the
function bodies into the main program.
4
Compile the code with full CCS compiler optimization (for example -o3
option) enabled
5
Replace basic arithmetic operations, such as additions, multiplications,
and reciprocals, with their DSP-specific intrinsic equivalents.
6
Make use of any DSP-specific libraries available, such as the
dsp67x.lib, after having profiled them to ensure desired
performance
20/07/2006
14
OFDM SNR DSP
General Optimization Process (2/2)
7
Profile 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
9
Exploit any No-Operations (NOP) in the compiler-produced assembly
and 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 assembly
from 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
15
OFDM SNR DSP
Additional SNV-SNR Specific
Optimization
A
Coding structure modifications of SNV-SNR
Integration of complicated arithmetic, such as complex divisions,
into the main code so as to avoid the relative overheads.
B
Compiler optimization
1. 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.
C
Fast algorithms of the literature
1. Newton Rapson Inverse (NRI) method for square root estimation
2. Equirriple-Error Magnitude method for complex
magnitude estimation
20/07/2006
16
OFDM SNR DSP
Contents
Introduction
OFDM Basics
and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006
17
OFDM SNR DSP
Comparison Software/Hardware
Implementation
SNV-SNR estimation accuracy
20
actual SNR
hardware estimated SNR for 1000 samples
software estimated SNR for 1000 samples
18
16
estimated SNR
14
12
10
8
6
4
2
0
20/07/2006
0
2
4
6
8
10
12
actual SNR
14
18
16
18
20
OFDM SNR DSP
Estimation Accuracy
SNV-SNR estimation accuracy
25
actual SNR
estimated SNR for 400 samples
estimated SNR 600 samples
estimated SNR 1000 samples
estimated SNR
20
15
10
5
0
0
5
10
15
20
25
actual SNR
20/07/2006
19
OFDM SNR DSP
Estimation comparison to I-SNR
Comparison of SNV-SNR vs I-SNR
20
18
Actual SNR
SNR estimation with I-SNR
SNR estimation with SNV-SNR
SNR estimated (dB)
16
14
12
10
8
6
4
2
0
20/07/2006
0
2
4
6
8
10
Actual SNR
12
20
14
16
18
OFDM SNR DSP
Hardware Requirements
Optimization level
No
optimization
Full
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
21
OFDM SNR DSP
Contents
Introduction
OFDM Basics
and SNV-SNR Estimator
SNV-SNR Optimization
Performance Results
Conclusions
20/07/2006
22
OFDM SNR DSP
Conclusions
1. Implementation and optimization procedure of a single step SNR estimation
algorithm, SNV-SNR, on a TI C6711 DSP operating on BPSK modulated data for
OFDM systems in AWGN channel and suggestion of an optimization process for
such 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 iterative
SNR estimation algorithm with our implementation achieving slightly worse
estimation accuracy results but much higher execution speed.
4. Through optimization procedure further decrease in time requirements
while 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.
20/07/2006
23
OFDM SNR DSP