FPGA IMPLEMENTATION OF A NEW BCH DECODER USED IN DIGITAL VIDEO BROADCASTING - SATELLITE - SECOND GENERATION (DVB-S2)

Similar documents
Performance study and synthesis of new Error Correcting Codes RS, BCH and LDPC Using the Bit Error Rate (BER) and Field-Programmable Gate Array (FPGA)

Fault Tolerant Parallel Filters Based On Bch Codes

Design of Flash Controller for Single Level Cell NAND Flash Memory

Implementation and Analysis of an Error Detection and Correction System on FPGA

Comparative Performance Analysis of Block and Convolution Codes

Algorithm-Based Low-Power/High-Speed Reed Solomon Decoder Design

Pipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications

PERFORMANCE ANALYSIS OF HIGH EFFICIENCY LOW DENSITY PARITY-CHECK CODE DECODER FOR LOW POWER APPLICATIONS

Real Time Hardware Co-Simulation for Image Processing Algorithms Using Xilinx System Generator

A VERY LOW-COST MULTI-MODE REED SOLOMON DECODER BASED ON PETERSON-GORENSTEIN- ZIERLER ALGORITHM

International Journal of Scientific & Engineering Research, Volume 4, Issue 5, May-2013 ISSN

A survey of solid-state drives using BCH decoding architecture

Implementation of Face Detection System Using Haar Classifiers

Design and Implementation of Low Density Parity Check Codes

FEC Core Area Comparison and Model

Design and Implementation of Hamming Code on FPGA using Verilog

What Types of ECC Should Be Used on Flash Memory?

FPGA Implementation of Bose Chaudhuri Hocquenghem Code (BCH) Encoder and Decoder for Multiple Error Correction Control

Single error correction, double error detection and double adjacent error correction with no mis-correction code

90A John Muir Drive Buffalo, New York Tel: Fax:

Simulation & Synthesis of FPGA Based & Resource Efficient Matrix Coprocessor Architecture

Error Correcting Codes

VHDL for Synthesis. Course Description. Course Duration. Goals

SRAM PUF Analysis and Fuzzy Extractors

Design and Implementation of VLSI 8 Bit Systolic Array Multiplier

IMPLEMENTATION OF BLAKE ALGORITHM USING PIPELINING IN FPGA

FPGA Implementation of Double Error Correction Orthogonal Latin Squares Codes

Efficient Implementation of Low Power 2-D DCT Architecture

Design Single and Multiple Errors Correction Block Codes

ELG3175 Introduction to Communication Systems. Introduction to Error Control Coding

Development of Precision-Agriculture Data Acquisition System and Xilinx ChipScope Pro Logic Analyzer based Monitoring

Performance Optimization of HVD: An Error Detection and Correction Code

Error Detecting and Correcting Code Using Orthogonal Latin Square Using Verilog HDL

4. Error correction and link control. Contents

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

Reconfigurable PLL for Digital System

Hardware Implementation of Cryptosystem by AES Algorithm Using FPGA

Reduced Latency Majority Logic Decoding for Error Detection and Correction

DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL. Shruti Hathwalia* 1, Meenakshi Yadav 2

Reduced Complexity of Decoding Algorithm for Irregular LDPC Codes Using a Split Row Method

Optimized FPGA Hardware Encryption Implementation using Public Key Cryptography

DETECTION AND CORRECTION OF CELL UPSETS USING MODIFIED DECIMAL MATRIX

Error Correction Using Extended Orthogonal Latin Square Codes

Matrix Manipulation Using High Computing Field Programmable Gate Arrays

Achieving Reliable Digital Data Communication through Mathematical Algebraic Coding Techniques

HDL IMPLEMENTATION OF SRAM BASED ERROR CORRECTION AND DETECTION USING ORTHOGONAL LATIN SQUARE CODES

Hardware Implementation

FPGA Implementation of Binary Quasi Cyclic LDPC Code with Rate 2/5

Optimal Finite Field Multipliers for FPGAs

Performance Evaluation & Design Methodologies for Automated CRC Checking for 32 bit address Using HDLC Block

HDL Implementation of an Efficient Partial Parallel LDPC Decoder Using Soft Bit Flip Algorithm

Verilog for High Performance

Watermarking Method using Concatenated Code for Scaling and Rotation Attacks

COMPARISON OF DIFFERENT REALIZATION TECHNIQUES OF IIR FILTERS USING SYSTEM GENERATOR

Design and Implementation of Multi-Rate Encryption Unit Based on Customized AES

An Optimized Montgomery Modular Multiplication Algorithm for Cryptography

J. Manikandan Research scholar, St. Peter s University, Chennai, Tamilnadu, India.

ANALYSIS OF AN AREA EFFICIENT VLSI ARCHITECTURE FOR FLOATING POINT MULTIPLIER AND GALOIS FIELD MULTIPLIER*

Discrete models of the NLFSR generators

Hardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA

AN EFFICIENT DESIGN OF VLSI ARCHITECTURE FOR FAULT DETECTION USING ORTHOGONAL LATIN SQUARES (OLS) CODES

Survey on Error Control Coding Techniques

Multi-level Design Methodology using SystemC and VHDL for JPEG Encoder

Error Control Coding for MLC Flash Memories

FPGA Based Low Area Motion Estimation with BISCD Architecture

International Journal of Advanced Research in Computer Science and Software Engineering

Implementation of Galois Field Arithmetic Unit on FPGA

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed

System Verification of Hardware Optimization Based on Edge Detection

PINE TRAINING ACADEMY

A High Performance CRC Checker for Ethernet Application

A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier using Modified CSA

The Efficient Implementation of Numerical Integration for FPGA Platforms

High Performance Pipelined Design for FFT Processor based on FPGA

Implementation of Pipelined Architecture Based on the DCT and Quantization For JPEG Image Compression

VHDL IMPLEMENTATION OF REED-SOLOMON CODING

Design of Convolutional Codes for varying Constraint Lengths

Design of Majority Logic Decoder for Error Detection and Correction in Memories

isplever Reed-Solomon Encoder User s Guide October 2005 ipug05_03.0

FPGA IMPLEMENTATION FOR REAL TIME SOBEL EDGE DETECTOR BLOCK USING 3-LINE BUFFERS

Error Correction and Detection using Cyclic Redundancy Check

Controller IP for a Low Cost FPGA Based USB Device Core

Design and Simulation of UART for Serial Communication

Performance Analysis of Gray Code based Structured Regular Column-Weight Two LDPC Codes

High Speed Special Function Unit for Graphics Processing Unit

FPGA Implementation and Analysis of Error Correction Codes for Physical Unclonable Functions

FORWARD error correction (FEC) is one of the key

High-Speed Architectures for Reed Solomon Decoders

HIGH-PERFORMANCE RECONFIGURABLE FIR FILTER USING PIPELINE TECHNIQUE

COM-8004SOFT SIGNAL DIVERSITY SPLITTER VHDL SOURCE CODE OVERVIEW

INTRODUCTION TO FPGA ARCHITECTURE

Chip Design for Turbo Encoder Module for In-Vehicle System

Implementation of Multidirectional Parity Check Code Using Hamming Code for Error Detection and Correction

EFFICIENT RECURSIVE IMPLEMENTATION OF A QUADRATIC PERMUTATION POLYNOMIAL INTERLEAVER FOR LONG TERM EVOLUTION SYSTEMS

Optimized Design and Implementation of a 16-bit Iterative Logarithmic Multiplier

Implementation of Hamming code using VLSI

INTEGRATION AND IMPLIMENTATION SYSTEM-ON-A- PROGRAMMABLE-CHIP (SOPC) IN FPGA

Research Article Galois Field Instructions in the Sandblaster 2.0 Architectrue

Golomb Coding Implementation in FPGA

+ a anhn. h 2

Transcription:

FPGA IMPLEMENTATION OF A NEW BCH DECODER USED IN DIGITAL VIDEO BROADCASTING - SATELLITE - SECOND GENERATION (DVB-S2) 1* EL HABTI EL IDRISSI ANAS, 1, 2 EL GOURI RACHID, 3 AHMED LICHIOUI, 1 HLOU LAAMARI 1 Laboratory of Electrical Engineering and Energy System. Faculty of Sciences, University Ibn Tofail Kenitra, Morocco 2 Laboratory of Electrical Engineering and Telecommunications Systems, National Schools of Applied Sciences, University Ibn Tofaïl Kenitra, Morocco 3 National Society of Radio and Television (SNRT), Rabat, Morocco *E-mail: elhabtidrissi@gmail.com ABSTRACT The Bose, Chaudhuri, and Hocquenghem (BCH) codes are being widely used in variety communication and storage systems. In this paper, a simplified algorithm for BCH decoding is proposed in order to reduce the implementation complexity. Error locator polynomial with Peterson algorithm is proposed for both a quick result and very low components instead of the Berlekamp s algorithm that uses the iterative method. In addition, a modified Chien search block is proposed to reduce the hardware complexity. This algorithm reduces the number of logic gates. Consequently, it reduces the power consumption with a percentage which can achieve 32 % compared to the basic algorithm. We developed the design of the proposed algorithm, we generated and simulated the hardware description language source code using Quartus software tools and finally we implemented the new algorithm of BCH decoder on FPGA card. Keywords: FPGA implementation, BCH decoder, add syndromes, iterations, Digital Video Broadcasting- Satellite-Second Generation 1. INTRODUCTION Error correcting codes are used in satellite communication, cellular telephone networks, body area networks and in most of the digital applications. Few of them are BCH, Turbo, Reed Solomon, Hamming and LDPC. These codes differ from each other in their implementation and complexity [1]. The binary BCH codes were discovered in 1959 by Hocquenghem and independently in 196 by Bose and Ray-Chaudhuri. Later, Gorenstein and Zierler generalized them to all finite fields [2]. The aim of this work is to optimize the BCH decoder compared to the basic one used nowadays in several fields like DVB-S2. First, we started by a reduction of iterations in the syndrome block. Second, we used a new method in order to determinate the error locator polynomial instead of Berlekamp s algorithm. Third a new algorithm was used in the Chien search block so as to reduce a large number of logic gates. Fourth the three Blocks were grouped into a single circuit using the code BCH (324, 372, 12) used in DVB- S2 Bearing in mind many works have been done in this field [3][4]. Finally, the proposed algorithm was implemented on a Xilinx Spartan 3E-5 FG 32 FPGA (xc3s5e-5fg32). 2. BACKGROUND AND RELATED WORK Three main steps for BCH decoding are represented as follows: Step 1: Computation of syndromes. Step 2: Berlekamp-Massey algorithm. Step 3: detection of error position using Chien Search Block. 2.1 Syndrome Block The BCH code is characterized as (n, k, t), where n is the code word length, k is the information length, and t is the error correction capability. The coefficients (r, r 1 r n-1 ) can be represented as a received polynomial [5], R (x) = r + r 1 x + r 2 x 2 + r n-1 x n-1. To calculate all syndromes, we need 2t computation using the following equation: 22

n S i = R (α i ) = 1 j r i α i.j (1) The hardware algorithm for BCH syndrome Block is defined in Figure 1, where R (x) represents the received code word, α j is the primitive element and S j are the values of syndromes with 1 j 2t. Figure 1: Basic syndrome block For each Syndrome Sj, where 1 j 2t, n iterations are needed to compute the coefficient of Syndrome Polynomial, knowing that all the syndrome coefficients will be equal to if the received code word is correct with at least one coefficient different from if the code word is not correct. 2.2 Berlekamp s Algorithm Berlekamp s algorithm [6] is a more efficient iterative technique of solving equations that also overcomes the problem of not knowing ν. This done by forming an approximation to the error locator polynomial, starting with A(x) = 1. Then at each stage, an error value is formed by substituting the approximate coefficients into the equations corresponding to that value of ν. The error is then used to refine a correction polynomial, which is then added to improve the approximate A (x). The process ends when the approximate error locator polynomial checks consistently with the remaining equations. 2.3 Chien Search Algorithm This algorithm can detect the error position by calculating Ʌ (α -i ), where: Ʌ (x) is the error locator polynomial. For the case of RS (n, k) we must calculate: Ʌ (α -(n-1) ), Ʌ (α -(n-2) ) Ʌ (α -1 ), Ʌ (α - ). If the expression reduces to Ʌ (α -i ) =, then the position i contains an error else the position does not contain an error. 3. PROPOSED BCH DECODER The proposed BCH decoder contains three main steps represented as follows: Step 1: proposed syndrome block. Step 2: Calculation of error locator polynomial through the Berlekamp- Massey algorithm. Step 3: proposed Chien Search Block. 3.1 Proposed Syndrome Block The proposed syndrome block is based on a simple factorization [7] of the received code word so as to determinate the add syndromes. Consequently, we can design another circuit of the Syndrome Block i.e. we can reduce latency by decreasing the number of iterations compared to the basic circuit. Generally for a code characterized as (n, k, t), where n is the code word length, k is the information length and t is the error correction capability. We have: = =, (2) =, ( / ) (3) Where: J is an odd number J divides n S J are the odd numbers The logic circuit for Proposed Syndrome Block is represented in Figure 2. 3.2 Determination of Error Locator Polynomial Using Peterson Algorithm This algorithm consists to solve the matrix equation Λ. A = S where: Λ = 1 and S =, A = The advantage of this algorithm is to use a direct method instead of the iterative method like Berlekamp s algorithm and hence it presents both a quick result and very low complexity compared to the Berlekamp s algorithm. For the case of BCH (15, 7, 2) we have: N = 15, k = 7 and t = 2 => Λ (x) = A 2 X 2 + A 1 X + 1 as degree 2. To calculate A 2 and A 1 we solve the matrix equation: 1 = (4) Where: A 1 = S 1 and A 2 = (S 3 + (S 1 ) 3 ) /S 1 23

3.3 Hardware for Peterson Algorithm The hardware algorithm for BCH (15, 7, 2) code is represented as follows: Figure 3: Peterson algorithm cell The hardware arrangement used for Peterson algorithm, shown in Figure 3, can be characterized by different blocks such as the block Convert syndrome into A1, which means that whatever the value of S1, A1 will be equal to 1. The block Convert syndromes S2 and S4 provides 1 whatever the values of S2 and S4 knowing that: for the case of BCH (15, 7, 2) A2 = 1. 3.4 Proposed Algorithm for Chien Search Block The proposed chien search block is based on a simple factorization of the error locator polynomial. Besides, we can design another circuit of the Chien Search Block i.e. this algorithm presents both a large minimization of components [8], and a low power consumption compared to the basic algorithm. Generally for BCH (n, k, t): Ʌ (X) = A n X n +A n-1 X n-1 + A 1 X + A = X (A n X n-1 + A n-1 X n-2 + + A 1 ) + A = X (X (A n X n-2 + A n-1 X n-3 + + A 2 ) + A 1 ) + A = X (X (X (..X (A n X + A n-1 ) + A n-2 ) + ) +A 2 ) + A 1 ) + A Where the coefficients A 1, A 2 A n-1, A n differ from. The corresponding logic circuit is represented in Figure 4. 3.5. Hardware and Simulation for Proposed BCH Decoder The hardware algorithm and simulation for proposed BCH decoder are represented respectively in figures 5 and 6. 4. COMPARISON OF ALGORITHMS According to the tables 1and 2 which show the FPGA device utilization summary for BCH (15, 7, 2) and BCH (324, 372, 12) codes using the proposed BCH decoder, we can conclude that: The proposed algorithm presents a low complexity and a very good performance compared to the basic algorithm. Table 1: FPGA device utilization summary for BCH (15, 7, 2). a) FPGA device utilization summary for modified circuit. Device Utilisation Summary Logic Utilisation Used Available Utilisation Slice Registers 5 9312 1% Flip Flpos 46 Latches 4 4 input LUTs 65 9312 1% occupied 47 4656 1% containing only 47 47 1% related logic containing 47 % unrelated logic of 4 input LUTs 9 9312 1% logic 65 a route-thru 25 bonded IOBs 18 232 7% IOB Latches 3 BUFGMUXs 2 24 8% Average Fanout of Non-Clock Nets 2,4 24

Figure 2: Modified syndrome calculator cell Figure 4: Modified circuit of Chien Search Block for a polynomial of degree n 25

Figure 5: Modified BCH decoder Figure 6: VHDL Simulation of Modified BCH decode with Quartus Where syt1, syt2, syt3, syt4 represent the four syndromes, EL1, EL2, EL2 represent the coefficients of error locator polynomial and C represents the received code word. 26

b) FPGA device utilization summary for basic circuit. Device Utilisation Summary Logic Used Available Utilisation Utilisation Slice Registers 73 9312 1% 4 input LUTs 94 9312 1% occupied 68 4656 1% containing 68 68 1% only related logic containing 68 % unrelated logic of 4 input 94 9312 1% LUTs Number used as logic 9 bonded IOBs 35 232 15% BUFGMUXs 1 24 4% Table 2: FPGA device utilization summary for BCH (324, 372, 12). Recources proposed basic algorithm algorithm Device Xilinx Spartan 3E (xc3s5e- 5fg32) BCH (n, k, t) BCH (324, 372,12) occupied 28 48 Slice Registers 296 432 4 input LUTs 389 564 logic 372 54 5. CONCLUSION have optimized three blocks in the BCH decoder beginning with the syndrome block then the Peterson algorithm block and the Chien search block. The three Blocks were grouped into a single circuit using the BCH (324, 372, 12) code used in DVB-S2. This algorithm reduced both a large number of minimized logic gates and the power consumption with a percentage which can reach 32% compared to the basic algorithm. The proposed algorithm has been implemented on a Xilinx Spartan 3E-5 FG 32 FPGA (xc3s5e -5fg32). The results in Tables 1 and 2 show that the proposed algorithm requires reduced hardware resources compared to the basic algorithm. REFRENCES: [1] P. Mathew, Lismi Augustine, Sabarinath G and Tomson. Devis, HARDWARE IMPLEMENTATION OF (63, 51) B CH ENCODER AND DECODER FOR WBAN USING LFSR AND BMA, International Journal on Information Theory, Vol. 3, No. 3, 214, pp. 1 11. [2] M. Prashanthi, P. Samundiswary, An Area Efficient (31, 16) BCH Decoder for Three Errors, International Journal of Engineering Trends and Technology, Vol. 1, No. 13, 214, pp. 616 62. [3] A. El habti, R. El gouri and H. Laamari, A low power error detection in the Chien Search Block for Reed-Solomon code, Proceedings of International Conference on Complex Systems (ICCS), Agadir Morocco, November 5-6, 212, pp. 1-3. [4] R. Huynh, GN. Ning and Yang Huazhung, A Low Power Error detection in the syndrome calculator Block for Reed-Solomon codes RS: (28,188), J. Tsinghua Science and Technology, Vol. 14, No. 4, 29, pp. 474-477. [5] Y. Lee, H. Yoo and IC. Park, 214. SMALL- AREA PARALLEL SYNDROME CALCULATION FOR STRONG BCH DECODING, proceedings of International Conference on Acoustics, Speech and Signal Processing (ICASSP), Kyoto, March 25-3, 212, pp. 169-1612. [6] BBC Research and Development, Reed- Solomon error correction, British Broadcasting Corporation, 22. In this paper, we have presented a simplified algorithm of different blocks for BCH decoder. We 27

[7] A. El habti, Rachid El gouri, Ahmed Lichioui and Hlou Laamari, Conception of a new Syndrome Block for BCH codes with hardware Implementation on FPGA Card, Int. Journal of Engineering Research and Applications, Vol. 5, No. 5, 215, pp. 8-85. [8] A. El habti, Rachid El gouri and Hlou Laamari, FPGA Implementation of A New Chien Search Block for Reed-Solomon Codes RS (255, 239) Used In Digital Video Broadcasting DVB-T, Int. Journal of Engineering Research and Applications, Vol. 4, No. 8, 214, pp. 82-86. 28