240 likes | 457 Views
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.
E N D
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 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. OFDM SNR DSP
Realistic Conditions Realistic Capabilities Real Time Constraints Why an implementation is necessary Necessities Text OFDM SNR DSP
Digital Signal Processor (DSP) Possible Solutions for Implementation Application Specific Integrated Circuit (ASIC) Implementation Text The final decision depends on the nature of the application OFDM SNR DSP
A B D C Why DSP Implementation Reconfiguration Reprogrammability Clock speed and memory of DSPs Fast upgrades and modifications OFDM SNR DSP
A whole OFDM WLAN system using one or two Texas Instruments (TI) DSPs including CSI parts for equalization of the received data 1 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. 2 Iterative-SNR (I-SNR) implementation, estimates SNR from the received after a few iterations. Drawback of this algorithm is its iterative nature 3 Previous Works OFDM SNR DSP
Contents Introduction OFDM Basics and SNV-SNR Estimator SNV-SNR Optimization Performance Results Conclusions OFDM SNR DSP
OFDM Scheme 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). OFDM SNR DSP
Contents Introduction OFDM Basics and SNV-SNR Estimator SNV-SNR Optimization Performance Results Conclusions 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 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. OFDM SNR DSP
1 2 3 4 6 5 Place the whole code in IRAM if possible Re-arrange/re-write the code exploiting any algorithmic redundancies via reuse of any possible inner results Avoid function calls either via macros and inlines or via integrating the function bodies into the main program. Compile the code with full CCS compiler optimization (for example -o3 option) enabled Replace basic arithmetic operations, such as additions, multiplications, and reciprocals, with their DSP-specific intrinsic equivalents. General Optimization Process (1/2) Make use of any DSP-specific libraries available, such as the dsp67x.lib, after having profiled them to ensure desired performance OFDM SNR DSP
Profile the code and identify the most cycle-consuming parts, most probably loops with high processing load 10 7 8 9 Re-write these parts using any possible optimization techniques, such as double-word access or further loop-unrolling 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. 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. General Optimization Process (2/2) OFDM SNR DSP
C A B Additional SNV-SNR Specific Optimization 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. • Compiler optimization • 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. • 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 literature • Newton Rapson Inverse (NRI) method for square root estimation • Equirriple-Error Magnitudemethod for complex • magnitude estimation OFDM SNR DSP
Contents Introduction OFDM Basics and SNV-SNR Estimator SNV-SNR Optimization Performance Results Conclusions OFDM SNR DSP
Comparison Software/Hardware Implementation OFDM SNR DSP
Estimation Accuracy OFDM SNR DSP
Estimation comparison to I-SNR OFDM SNR DSP
Hardware Requirements OFDM SNR DSP
Contents Introduction OFDM Basics and SNV-SNR Estimator SNV-SNR Optimization Performance Results Conclusions OFDM SNR DSP
Conclusions • 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. OFDM SNR DSP