SDR Implementation of Convolutional Encoder and Viterbi Decoder

Similar documents
FPGA Implementation of Convolutional Encoder And Hard Decision Viterbi Decoder

Implementation of CRC and Viterbi algorithm on FPGA

An Efficient Viterbi Decoder Architecture

Hardware Implementation of Viterbi Decoder for Wireless Applications

FPGA Implementation of Convolutional Encoder and Adaptive Viterbi Decoder B. SWETHA REDDY 1, K. SRINIVAS 2

Implementation and performance analysis of convolution error correcting codes with code rate=1/2.

Design of Low Power Efficient Viterbi Decoder

Performance Analysis of Convolutional Encoder and Viterbi Decoder Using FPGA

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

LOW POWER & AREA EFFICIENT LAYOUT ANALYSIS OF CMOS ENCODER

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

DDC and DUC Filters in SDR platforms

An Implementation of a Forward Error Correction Technique using Convolution Encoding with Viterbi Decoding

The Design of Efficient Viterbi Decoder and Realization by FPGA

Adaptive decoding of convolutional codes

Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL

Modeling and Implementing Software-Defined Radio Communication Systems on FPGAs Puneet Kumar Senior Team Lead - SPC

TEST PATTERN GENERATION USING PSEUDORANDOM BIST

Implementation of a turbo codes test bed in the Simulink environment

VHDL IMPLEMENTATION OF TURBO ENCODER AND DECODER USING LOG-MAP BASED ITERATIVE DECODING

CONVOLUTION ENCODING AND VITERBI DECODING BASED ON FPGA USING VHDL

A Robust Turbo Codec Design for Satellite Communications

An Efficient Reduction of Area in Multistandard Transform Core

International Journal of Engineering Research-Online A Peer Reviewed International Journal

BER Performance Comparison of HOVA and SOVA in AWGN Channel

Design Project: Designing a Viterbi Decoder (PART I)

Operating Bio-Implantable Devices in Ultra-Low Power Error Correction Circuits: using optimized ACS Viterbi decoder

FPGA Implementation of Viterbi Decoder

Design of Polar List Decoder using 2-Bit SC Decoding Algorithm V Priya 1 M Parimaladevi 2

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

International Journal of Scientific & Engineering Research, Volume 6, Issue 3, March-2015 ISSN DESIGN OF MB-OFDM SYSTEM USING HDL

Keywords Xilinx ISE, LUT, FIR System, SDR, Spectrum- Sensing, FPGA, Memory- optimization, A-OMS LUT.

Performance Improvement of AMBE 3600 bps Vocoder with Improved FEC

Design and Implementation of Data Scrambler & Descrambler System Using VHDL

HYBRID CONCATENATED CONVOLUTIONAL CODES FOR DEEP SPACE MISSION

Design of BIST with Low Power Test Pattern Generator

A High- Speed LFSR Design by the Application of Sample Period Reduction Technique for BCH Encoder

IC Design of a New Decision Device for Analog Viterbi Decoder

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

DELTA MODULATION AND DPCM CODING OF COLOR SIGNALS

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Memory efficient Distributed architecture LUT Design using Unified Architecture

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

FPGA Hardware Resource Specific Optimal Design for FIR Filters

MODEL-BASED DESIGN OF LTE BASEBAND PROCESSOR USING XILINX SYSTEM GENERATOR IN FPGA

FPGA Implementaion of Soft Decision Viterbi Decoder

Design of BIST Enabled UART with MISR

THE USE OF forward error correction (FEC) in optical networks

FPGA Implementation OF Reed Solomon Encoder and Decoder

Design Matched Filter for Digital Transmission Ethernet

VHDL Implementation of Logic BIST (Built In Self Test) Architecture for Multiplier Circuit for High Test Coverage in VLSI Chips

Figure 1: Feature Vector Sequence Generator block diagram.

Performance of a Low-Complexity Turbo Decoder and its Implementation on a Low-Cost, 16-Bit Fixed-Point DSP

FPGA DESIGN OF CLUTTER GENERATOR FOR RADAR TESTING

NUMEROUS elaborate attempts have been made in the

Technical report on validation of error models for n.

LUT Optimization for Memory Based Computation using Modified OMS Technique

[Dharani*, 4.(8): August, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Viterbi Decoder User Guide

Design And Implementation Of Coding Techniques For Communication Systems Using Viterbi Algorithm * V S Lakshmi Priya 1 Duggirala Ramakrishna Rao 2

TERRESTRIAL broadcasting of digital television (DTV)

AbhijeetKhandale. H R Bhagyalakshmi

DesignandImplementationofDataScramblerDescramblerSystemusingVHDL

Higher-Order Modulation and Turbo Coding Options for the CDM-600 Satellite Modem

Design on CIC interpolator in Model Simulator

Optimization and Power Reduction of Built-In Repair Analyzer for Memories

[Krishna*, 4.(12): December, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

CONVOLUTIONAL CODING

OL_H264e HDTV H.264/AVC Baseline Video Encoder Rev 1.0. General Description. Applications. Features

Commsonic. (Tail-biting) Viterbi Decoder CMS0008. Contact information. Advanced Tail-Biting Architecture yields high coding gain and low delay.

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Aida S Tharakan a *, Binu K Mathew b

Transmission Strategies for 10GBase-T over CAT- 6 Copper Wiring. IEEE Meeting November 2003

An Improved Recursive and Non-recursive Comb Filter for DSP Applications

DIGITAL COMMUNICATION

Design of Fault Coverage Test Pattern Generator Using LFSR

Design and FPGA Implementation of 100Gbit/s Scrambler Architectures for OTN Protocol Chethan Kumar M 1, Praveen Kumar Y G 2, Dr. M. Z. Kurian 3.

VLSI System Testing. BIST Motivation

Frame Synchronization in Digital Communication Systems

LFSR Counter Implementation in CMOS VLSI

An Ultra-Low Power Physical Layer Design For Wireless Body Area Network

Weighted Random and Transition Density Patterns For Scan-BIST

A Compact and Fast FPGA Based Implementation of Encoding and Decoding Algorithm Using Reed Solomon Codes

A Parallel Area Delay Efficient Interpolation Filter Architecture

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

POWER AND AREA EFFICIENT LFSR WITH PULSED LATCHES

Design & Simulation of 128x Interpolator Filter

A Modified Design of Test Pattern Generator for Built-In-Self- Test Applications

BER MEASUREMENT IN THE NOISY CHANNEL

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

Robust Transmission of H.264/AVC Video using 64-QAM and unequal error protection

Simulation analysis of the transmission gaps influence on the decoding processes in the NS-DM system

Design of Memory Based Implementation Using LUT Multiplier

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

Optimum Frame Synchronization for Preamble-less Packet Transmission of Turbo Codes

A Fast Constant Coefficient Multiplier for the XC6200

Robust Transmission of H.264/AVC Video Using 64-QAM and Unequal Error Protection

An Lut Adaptive Filter Using DA

FPGA IMPLEMENTATION AN ALGORITHM TO ESTIMATE THE PROXIMITY OF A MOVING TARGET

Fault Detection And Correction Using MLD For Memory Applications

Transcription:

SDR Implementation of Convolutional Encoder and Viterbi Decoder Dr. Rajesh Khanna 1, Abhishek Aggarwal 2 Professor, Dept. of ECED, Thapar Institute of Engineering & Technology, Patiala, Punjab, India 1 PG Student [VLSI], ECED, Thapar Institute of Engineering & Technology, Patiala, Punjab, India 2 ABSTRACT: This paper represents the SDR implementation of convolutional encoder and Viterbi decoder. In this paper there are two parts where one part is based on the VHDL simulation of encoder and decoder and second part is based on hardware, in which all these simulations are implemented on SDR (an FPGA). This paper has taken random bits as input bits to the transmitter. Convolutional encoder of ½ has been used in this paper. This paper uses the AWGN channel for analysis and different roll-off factors for RRC filter are also used. The motive of the paper is to analyze the bit error rate for different roll-off factors and to analyze the VHDL simulation with real time implementation on SDR. KEYWORDS:QPSK, RRC, convolutional codes, viterbi decoder, AWGN, SDR. I.INTRODUCTION Communication is the process of conveying messages at a distance or simply a process of exchanging information. But this communication can t be error free as long as noise channel exists. Somehow this error can be decreased at the user end by increasing energy per bit but this decreases bit rate. Energy per bit cannot be increased after a certain limit. Error free communication can be done by using another way also. This way includes the addition of redundant bits. This is also known as error-correcting codes (ECC). These redundant bits are systematically generated and the sender adds these bits to its messages[1]. This allows the receiver to detect and correct a limited number of errors occurring anywhere in the message without the need to ask the sender for additional data. Although these extra bits reduce the bit rate of the transmission and its power but the advantage is that error of probability is reduced. Figure 1: Block Diagram of Encoder and Decoder II. REVIEW OF PREVIOUS ARCHITECTURES SDR implementation is usually a real time application in wireless communication. In wireless communication, AWGN (Additive White Gaussian Noise) channel introduces most of the noise in real data. S.NO ARCHITECTURE RESULT 1. Convolutional Encoder and Viterbi Decoder in DSP platform[6] 2. Convolutional Encoder and Viterbi Decoder in microcontroller platform[7] 3. FPGA based Convolutional Encoder and Viterbi Decoder. [8] Flexible platform but slow in speed. Slow speed. Complexity of Viterbi decoding algorithm increases. Copyright to IJAREEIE www.ijareeie.com 9571

There are the various architectures which have already been used to implement the convolutional encoder and Viterbi decoder. The last architecture used was FPGA based. In this case, a highly complex Viterbi Decoder loses its advantages when going to decode the transmitted bit on low-noise channel [1]. The last architecture used was FPGA based. In this case, a highly complex Viterbi Decoder loses its advantages when going to decode the transmitted bit on low-noise channel. 1. Transmitter (A) LFSR A linear-feedback shift register is used to generate random output bits. LFSR is mostly driven by XOR. (B) Convolutional Encoder Figure 2: Implementation of LFSR to get random sequence Convolutional codes are used to check and correct the errors. It can take a single bit or multiple bits as an input which gives matrix of encoded outputs. Bit sequence can be altered in Digital modulation communication systems because of noise and other external factors. To minimize the noise factor, certain additional bits are added to the encoded output which makes the bit error checking more successful and it will also yields more accurate results. This transmission of more number of bits than the original one is used to get the original signal even in the vicinity of noise. Convolution codes are considered to be best codes for controlling error and gives better performance. If k are the number of input bits to be encoded, n are the number of output bits encoded and m are the number of shift registers used then (n, k, m ) is used for expressing convolutional codes. Mostly, the value of n and k is smaller and k is less than n, but the number of shift registers takes larger value. Figure 3indicates the block diagram of convolutional encoder. The (2, 1, 8) convolutional encoder consists of seven shift registers and two exclusive-or gates. In the starting all the shift registers are rest for initialization. They are programmed in such a way that all seven shift registers are connected in series to do shifting and updating operation on every clock pulse. Two exclusive-or gates are used to obtain the encoded output. After every clock pulse a matrix of encoded output is obtained which consists of two bits according to generator polynomials are obtained [2]. The encoded bits are not only dependent on the current input bit but also influenced by the inputs bits given to the first shift register seven clock pulses before. Figure 3: Convolutional Encoder Figure 4: Proposed Encoder Copyright to IJAREEIE www.ijareeie.com 9572

(C) QPSK Modulation QPSK modulation has been used in this paper so that the effect of transmitted bits can be analyzed efficiently over the AWGN noise channel. QPSK modulation requires normalization and raised root cosine filter. RRC filter has been designed using MATLAB FDA tool and converted into HDL. (D) AWGN Channel In wireless communication, AWGN (Additive White Gaussian Noise) channel introduces most of the noise in real data. It is actually a mathematical model that represents physical phenomena in which the impairment is the linear addition of white noise with a constant spectral density [3]. To simulate AWGN channel in VHDL, two random functions have been generated which gives two variables. Then by using Box-Muller method, the noise signal is calculated. X = 2 ln(rand ). cos(2π rand ) The implementation is done under 3 steps:- Generation of two random variables. Use given equation (Box-Muller method) to generate noise. Adjustment of AWGN that depends on SNR and input signal. Encoded Output Noisy Output AWGN Figure 5: Example of an AWGN channel Figure 6:Implementation of an AWGN channel 2. RECEIVER (A) VITERBI DECODER The encoded input bits are convolutional encoded. These encoded bits are then passed through QPSK modulation. The modulated information bits is then has to be received at the receiver end. During this the noise is added by AWGN channel. At the receiver end Viterbi decoder is used to decode the bits and get the input bits. in the decoder process, there are various steps involved. Quantization, synchronization, branch metric computation, state metric update, survivor path recoding, output decision generation are the various blocks involved in this Viterbi Decoder. Add control and select (ACS) is the block which receives two branch metrics and the state metrics. The state metric of the state is updated with the selected value and the survivor path information is recoded in the survivor path storage module. [5] 3. SOFTWARE DEFINED RADIO(SDR) SDR represents a design paradigm for radios where large portion of functionality is implemented through FPGA device. Through this radio will be having the ability to alter its operating parameters to analyze new features and capabilities. An SDR approach reduces the RF and emphasizes Digital Signal Processing to enhance overall flexibility. SDR is having various advantages like ease of manufacture, ease of design, using advanced signal processing technique, multimode operation, and flexibility to use additional functionality etc. Copyright to IJAREEIE www.ijareeie.com 9573

III. RESULTS AND DISCUSSION Figure 7: Proposed Encoder and Decoder This paper implements proposed encoder and decoder shown in figure 7. The simulation has been done in following steps:- 1. The random sequence was generated using LFSR register. 2. This random sequence was given input to the convolutional encoder. 3. The output of the encoder was fed to the QPSK modulator which consists of RRC filter. 4. For 0, 1, 1.5, 2 roll factors RRC filter was generated. The encoded output was fed to this filter. Figure 8: Device Utilization Summary 5. The filtered output was fed to the AWGN channel block which results in the addition of transmitted signal with AWGN channel. 6. The noisy transmitted bits were fed to the Viterbi decoder blocks. 7. The bits are passed with ACS module, survivor path and trace path module and results in the decoded output. Copyright to IJAREEIE www.ijareeie.com 9574

8. Input to the encoder and output from the decoder and clock pulse is checked on the result screen. Figure 8 shows the device utilization summary of the proposed encoder and decoder. Less than 10% of the total device available has been used by this proposed encoder and decoder. The HDL implementation uses the multipliers, adders, subtracters, 1, 6, 8, 16, 18, 32 bit registers, comparators and xor gates. This paper makes the efficient use of all the resources. Figure 10: Final Synthesis Report Final HDL synthesis report results in the use of overall 388 registers and 7 shift registers. This paper uses the minimum number of resources for the implementation of encoder and decoder. BIT ERROR RATE SIMULATION BER is calculated by using the various roll off factors for RRC filter. (i) When α = 0 ERROR -------------------->> 60 50 40 30 20 10 0 BER WHEN α = 0 0-100 100-200 200-300 300-400 400-500 500-600 600-700 700-800 800-900 900-1000 BITS ---------------------->> Figure 11: BER WHEN α = 0 This simulated graph represents that error is maximum when the bits transmitted is less. As the rate of transmitting the bits increases the error decreases. At around 1000 bits error reduces to around 17 in 900-1000 bits. (ii) When α = 1 Copyright to IJAREEIE www.ijareeie.com 9575

BER WHEN α = 1 ERROR --------------->> 60 50 40 30 20 10 0 0-100 100-200 200-300 300-400 400-500 500-600 600-700 700-800 800-900 900-1000 BITS ---------------------->> Figure 12: BER WHEN α = 1 This simulated graph represents that error is maximum when the bits transmitted is less. As the rate of transmitting the bits increases, the error decreases. At around 1000 bits error reduces to around 12 in the interval of 900-1000 bits. This also shows that as the roll off factor of RRC filter increases then ERROR PER 100 BITS decreases. If the roll-off factor is more increased then what happens. It is shown in next figure. (iii) When α = 2 BER WHEN α = 2 ERROR ---------------->> 60 50 40 30 20 10 0 0-100 100-200 200-300 300-400 400-500 500-600 600-700 700-800 800-900 900-1000 BITS ------------------------->> Figure 13: BER WHEN α = 2 This simulated graph represents that error is maximum when the bits transmitted is less. As the rate of transmitting the bits increases, the error decreases. At around 1000 bits error reduces to around 10 in 900-1000 bits. So minimum error is seen when roll-off factor is 2. Copyright to IJAREEIE www.ijareeie.com 9576

The comparison plot clearly shows that as the roll off factor increases, the BER decreases. SDR IMPLEMENTATION:- Figure 14: SDR implemented graph The HDL code is run over FPGA. Figure 14 shows the result after running code over SDR. This shows first stream as random input stream. And next to be the output stream. Copyright to IJAREEIE www.ijareeie.com 9577

Figure 15: Final Output IV. CONCLUSION This paper has described the SDR implementation of Convolutional Encoder and Viterbi Decoder over AWGN channel. Using QPSK modulation RRC filters got used and depending upon the various roll-off factors BER over every 100 bits got analyzed. The timing summary after analysis got is minimum period is 27.362ns (i.e. maximum frequency is 36.547 MHz). Maximum input arrival time before clock is 4.213ns and maximum output required time after clock is 4.182ns. REFERENCES [1] Sajjad Ahmed Ghauri, Hasan Humayun, Muhammad Ehsan ul Haq, Farhan Sohail, Implementation of Convolutional Codes on FPGA, 7 th International Conference for Internet Technology and Secured Transactions, vol. 08 pp. 175-178, Dec 2012. [2] Pravallika. kolakaluri, R. Suryaprakash, B. vijay bhaskar, HDL Implementation of Convolution Encoder and Viterbi Decoder, International Journal of Engineering Research & Technology, Vol.1, Issue 5, pp. 1-5, July2012. [3] Nejah Nasri, Laurent Andrieux, Abdennaceur Kachouri, Mounir Samet, Behavioral Modeling and Simulation of Underwater Channel, WSEAS Transactions on Communications, Issue 2 Vol. 8, pp. 259-268, Feb 2009. [4] J.Tulasi, T.Venkata Lakshmi, M.Kamaraju, FPGA Implementation of Convolutional Encoder and Hard Decision Viterbi Decoder, International Journal of Computer & Communication Technology, Issue 4, Vol.3, pp. 43-47, Dec 2012. [5] Yan Sun, Zhizhong Ding, FPGA Design and Implementation of a Convolutional Encoder and a Viterbi Decoder Based on 802.11a for OFDM, Wireless Engineering and Technology, vol.3, pp no. 125-131, July 2012. [6] Jinjin He, Huaping Ling, Zhongfeng Wang, Xinming Huang and Kai Zhang, High-Speed Low-Power Viterbi Decoder Design for TCM Decoders, IEEE Trans. VLSI, Vol. 20, pp.755-759, April 2012. [7] Swati Gupta, rajesh Mehra, FPGA Implementation Of Viterbi Decoder using Trace Back Architecture, International Journal Of Engineering Trends and Technology, pp. 131-134, June 2011. [8] Irfan Habib, Özgün Paker, Sergei Sawitzki, Design Space Exploration of Hard-Decision Viterbi Decoding: Algorithm and VLSI Implementation IEEE Tran. on Very Large Scale Integration (VLSI) Systems, Vol. 18, Pp. 794-807, May 2010. Copyright to IJAREEIE www.ijareeie.com 9578