Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Similar documents
EE260: Digital Design, Spring /16/18. n Example: m 0 (=x 1 x 2 ) is adjacent to m 1 (=x 1 x 2 ) and m 2 (=x 1 x 2 ) but NOT m 3 (=x 1 x 2 )

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

3D Model Retrieval Method Based on Sample Prediction

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits

Elementary Educational Computer

Module Instantiation. Finite State Machines. Two Types of FSMs. Finite State Machines. Given submodule mux32two: Instantiation of mux32two

Algorithms for Disk Covering Problems with the Most Points

Chapter 3 Classification of FFT Processor Algorithms

Lecture 2. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Appendix D. Controller Implementation

Improving Information Retrieval System Security via an Optimal Maximal Coding Scheme

Fast Fourier Transform (FFT) Algorithms

Operating System Concepts. Operating System Concepts

1. SWITCHING FUNDAMENTALS

Probability of collisions in Soft Input Decryption

Data diverse software fault tolerance techniques

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

The Penta-S: A Scalable Crossbar Network for Distributed Shared Memory Multiprocessor Systems

Lecture 28: Data Link Layer

Improving Template Based Spike Detection

History Based Probabilistic Backoff Algorithm

Hashing Functions Performance in Packet Classification

Security of Bluetooth: An overview of Bluetooth Security

Ones Assignment Method for Solving Traveling Salesman Problem

Lecture 3. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA

Euclidean Distance Based Feature Selection for Fault Detection Prediction Model in Semiconductor Manufacturing Process

Chapter 4 The Datapath

Properties and Embeddings of Interconnection Networks Based on the Hexcube

Design of Efficient Pipelined Radix-2 2 Single Path Delay Feedback FFT

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

Automatic Generation of Polynomial-Basis Multipliers in GF (2 n ) using Recursive VHDL

A QoS Provisioning mechanism of Real-time Wireless USB Transfers for Smart HDTV Multimedia Services

Random Network Coding in Wireless Sensor Networks: Energy Efficiency via Cross-Layer Approach

Neuro Fuzzy Model for Human Face Expression Recognition

Image Segmentation EEE 508

BASED ON ITERATIVE ERROR-CORRECTION

An Efficient Algorithm for Graph Bisection of Triangularizations

Wavelet Transform. CSE 490 G Introduction to Data Compression Winter Wavelet Transformed Barbara (Enhanced) Wavelet Transformed Barbara (Actual)

Using a Dynamic Interval Type-2 Fuzzy Interpolation Method to Improve Modeless Robots Calibrations

COMPRESSING DATA CUBE IN PARALLEL OLAP SYSTEMS

Prevention of Black Hole Attack in Mobile Ad-hoc Networks using MN-ID Broadcasting

Fully Parallel Window Decoder Architecture for Spatially-Coupled LDPC Codes

The Closest Line to a Data Set in the Plane. David Gurney Southeastern Louisiana University Hammond, Louisiana

UNIVERSITY OF MORATUWA

COARSE ANGLE ROTATION MODE CORDIC BASED SINGLE PROCESSING ELEMENT QR-RLS PROCESSOR

A Flexible Programmable Memory BIST for Embedded Single-Port Memory and Dual-Port Memory

AN EFFICIENT GROUP KEY MANAGEMENT USING CODE FOR KEY CALCULATION FOR SIMULTANEOUS JOIN/LEAVE: CKCS

An Efficient Algorithm for Graph Bisection of Triangularizations

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

DESIGN AND ANALYSIS OF LDPC DECODERS FOR SOFTWARE DEFINED RADIO

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only

IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING: SPECIAL ISSUE ON EMERGING TECHNOLOGIES IN COMPUTER DESIGN 1

RAID-RMS: A fault tolerant stripped mirroring RAID architecture for distributed systems

Ontology-based Decision Support System with Analytic Hierarchy Process for Tour Package Selection

k (check node degree) and j (variable node degree)

Evaluation of Distributed and Replicated HLR for Location Management in PCS Network

MAC Throughput Improvement Using Adaptive Contention Window

A General Framework for Accurate Statistical Timing Analysis Considering Correlations

The Counterchanged Crossed Cube Interconnection Network and Its Topology Properties

Outline. Applications of FFT in Communications. Fundamental FFT Algorithms. FFT Circuit Design Architectures. Conclusions

QMDD and Spectral Transformation of Binary and Multiple-Valued Functions *

are two specific neighboring points, F( x, y)

World Scientific Research Journal (WSRJ) ISSN: Research on Fresnel Lens Optical Receiving Antenna in Indoor Visible

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

K-NET bus. When several turrets are connected to the K-Bus, the structure of the system is as showns

Joint Message-Passing Symbol-Decoding of LDPC Coded Signals over Partial-Response Channels

Pruning and Summarizing the Discovered Time Series Association Rules from Mechanical Sensor Data Qing YANG1,a,*, Shao-Yu WANG1,b, Ting-Ting ZHANG2,c

Evaluation of Different Fitness Functions for the Evolutionary Testing of an Autonomous Parking System

Low Complexity H.265/HEVC Coding Unit Size Decision for a Videoconferencing System

Dynamic Programming and Curve Fitting Based Road Boundary Detection

Polynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0

Digital System Design

The Magma Database file formats

Generation of Distributed Arithmetic Designs for Reconfigurable Applications

Cubic Polynomial Curves with a Shape Parameter

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

BOOLEAN MATHEMATICS: GENERAL THEORY

GPUMP: a Multiple-Precision Integer Library for GPUs

. Written in factored form it is easy to see that the roots are 2, 2, i,

Evaluation of Support Vector Machine Kernels for Detecting Network Anomalies

performance to the performance they can experience when they use the services from a xed location.

Interference Aware Channel Assignment Scheme in Multichannel Wireless Mesh Networks

CMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago

Secure Software Upload in an Intelligent Vehicle via Wireless Communication Links

Introduction to Wireless & Mobile Systems. Chapter 6. Multiple Radio Access Cengage Learning Engineering. All Rights Reserved.

Computers and Scientific Thinking

ICS Regent. Communications Modules. Module Operation. RS-232, RS-422 and RS-485 (T3150A) PD-6002

Improved FEC: Improving The Efficiency of Forward Error Correction Coding In Reducing The Network Packet Loss

A Note on Least-norm Solution of Global WireWarping

Self-Test Methodology for At-Speed Test of Crosstalk in Chip Interconnects

Optimization of Multiple Input Single Output Fuzzy Membership Functions Using Clonal Selection Algorithm

An Efficient Implementation of the Gradient-based Hough Transform using DSP slices and block RAMs on the FPGA

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

EE123 Digital Signal Processing

Position and Velocity Estimation by Ultrasonic Sensor

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Behavioral Modeling in Verilog

Transcription:

Improvemet of the Orthogoal Code Covolutio Capabilities Usig FPGA Implemetatio Naima Kaabouch, Member, IEEE, Apara Dhirde, Member, IEEE, Saleh Faruque, Member, IEEE Departmet of Electrical Egieerig, Uiversity of North Dakota, Grad Forks, ND 58202-7165 Uiversity of North Dakota, Grad Forks, ND 58202-7165 Abstract - Whe data is stored, compressed, or commuicated through a media such as cable or air, sources of oise ad other parameters such as EMI, crosstalk, ad distace ca cosiderably affect the reliability of these data. Error detectio ad correctio techiques are therefore required. Orthogoal Code is oe of the codes that ca detect errors ad correct corrupted data. A -bit orthogoal code has /2 1s ad /2 0s. I a previous work these properties have bee exploited to detect ad correct errors. I this paper we preset a ew methodology to ehace error detectio capabilities of the orthogoal code. The techique was implemeted experimetally usig Field Programmable Gate Arrays (FPGA). The results show that the proposed techique improves the detectio capabilities of the orthogoal code by approximately 50%, resultig i 99.9% error detectio, ad corrects as predicted up to (/-1) bits of error i the received impaired code with badwidth efficiecy. Idex Terms - FECC, FPGA, Orthogoal Code Covolutio 1. INTRODUCTION Whe data is stored, compressed, or commuicated through a media such as cable or air, sources of oise ad other parameters such as EMI, crosstalk, ad distace ca cosiderably affect the reliability of these data. Error detectio ad correctio techiques are therefore required. Some of those techiques ca oly detect errors, such as the Cyclic Redudacy Check [1, 2]; others are desiged to detect as well as correct errors, such as Salomo Codes [3]. However, the existig techiques are ot able to achieve high efficiecy ad to meet badwidth requiremets, especially with the icrease i the quatity of data trasmitted. Orthogoal Code is oe of the codes that ca detect errors ad correct corrupted data. Our objective i this paper is to ehace the error cotrol capabilities of orthogoal codes by meas of Field Programmable Gate Array (FPGA) implemetatio. 2. ORTHOGONAL CODES Orthogoal codes are biary valued ad they have equal umber of 1 s ad 0 s. A -bit orthogoal code has /2 1 s ad /2 0 s; i.e., there are /2 positios where 1 s ad 0 s differ [, 5]. Therefore, all orthogoal codes will geerate zero parity bits. The cocept is illustrated by meas of a 8- bit orthogoal code as show i Fig.1. It has 8-orthogoal codes ad 8-atipodal codes for a total of 16-biorthogoal codes. Atipodal codes are just the iverse of orthogoal codes; they are also orthogoal amog themselves. Orthogoal Code Atipodal Code 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 P 0 0 0 0 0 0 0 0 P Fig. 1. Illustratios of the proposed cocept. A 8-bit orthogoal code has 8 orthogoal codes ad 8-atipodal codes for a total of 16 bi-orthogoal codes. All orthogoal ad atipodal codes geerate zero parity. Sice there is a equal umber of 1 s ad 0 s, each orthogoal code will geerate a zero parity bit. Therefore, each atipodal code will also geerate a zero parity bit. A otable distictio i this method is that the trasmitter does ot have to sed the parity bit sice the parity bit is kow to be always zero [7]. Therefore, if there is a trasmissio error, the receiver will be able to detect it by geeratig a parity bit at the receivig ed. Before trasmissio a k-bit data set is mapped ito a uique -bit. For example, a -bit data set is represeted by a uique 8-bit orthogoal code which is trasmitted without the parity bit. Whe received, the data are decoded based o code correlatio. It ca be doe by settig a threshold midway betwee two orthogoal codes. This is give by the followig equatio d = (1) th Where is the code legth ad d th is the threshold, which is midway betwee two orthogoal codes. Therefore, for the 8- bit orthogoal code (Fig. 2), we have d th = 8/ = 2.

TABLE I Orthogoal Codes ad the Correspodig Chip Error Cotrol Capabilities. t 8 1 16 3 32 7 6 15 3. METHODOLOGY AND FPGA IMPLEMENTATION 3.1 Desig Methodology Fig. 2. Illustratio of Ecodig ad Decodig. This mechaism offers a decisio process, where the icomig impaired orthogoal code is examied for correlatio with the eighborig codes for a possible match. The acceptace criterio for a valid code is that a -bit compariso must yield a good auto-correlatio value; otherwise, a false detectio will occur. This is govered by the followig correlatio process, where a pair of -bit codes x 1, x 2... x ad y 1, y 2 y is compared to yield, Rxy (, ) = xy 1 (2) i i i= 1 Where R(x, y) is the auto correlatio fuctio, is the code legth, d th is the threshold defied i (1). Sice the threshold (d th ) is i betwee two valid codes, a additioal 1-bit offset is added to (2) for reliable detectio. The average umber of errors that ca be corrected by meas of this process ca be estimated by combiig (1) ad (2), yieldig, t = R( x, y) = 1 (3) I (3), t is the umber of errors that ca be corrected by meas of a -bit orthogoal code. For example, a sigle error-correctig orthogoal code ca be costructed by meas of a 8-bit orthogoal code ( = 8). Similarly, a three-errorcorrectig orthogoal code ca be costructed by meas of a 16-bit orthogoal code ( = 16), ad so o. Table-1 below shows a few orthogoal codes ad the correspodig errorcorrectig capabilities: Sice there is a equal umber of 1 s ad 0 s, each orthogoal code will geerate a zero parity bit. If the data has bee corrupted durig the trasmissio the receiver ca detect errors by geeratig the parity bit for the received code ad if it is ot zero the the data is corrupted. However the parity bit does t chage for a eve umber of errors, hece the receiver ca oly detect errors 2 /2 combiatios of the received code. Therefore detectio percetage is 50% [6]. Our approach is ot to use the parity geeratio method to detect the errors, but a simple techique based o the compariso betwee the received code ad all the orthogoal code combiatios stored i a look up table. The techique which ivolves a trasmitter ad receiver is described below. 3.2 Trasmitter The trasmitter icludes two blocks: a ecoder ad a shift register. The ecoder ecodes a k-bit data set to =2 k-1 bits of the orthogoal code ad the shift register trasforms this code to a serial data i order to be trasmitted as show i Fig.3. For example, -bit data is ecoded to 8-bit (2 3 ) orthogoal code accordig to the lookup table show i Fig.2. The geerated orthogoal code is the trasmitted serially usig a shift register with the risig edge of the clock. 3.3 Receiver The received code is processed through the sequetial steps, as show i Fig.. The icomig serial bits are coverted ito -bit parallel codes. The received code is compared with all the codes i the lookup table for error detectio. This is doe by coutig the umber of oes i the sigal resultig from XOR operatio betwee the received code ad each combiatio of the orthogoal codes i the lookup table. A couter is used to cout the umber of oes i the resultig - bit sigal ad also searches for the miimum cout. However a value rather tha zero shows a error i the received code. The orthogoal code i the lookup table which is associated with the miimum cout is the closest match for the corrupted received code. The matched orthogoal code i the lookup table is the corrected code, which is the decoded to k-bit data. The receiver is able to correct up to (/)-1 bits i the received impaired code. However, if the miimum cout is

associated with more tha oe combiatio of orthogoal code the a sigal, REQ, goes high.. IMPLEMENTATION AND RESULTS A Sparta-3 hardware board ad ISE Xillix software have bee used for code testig. The simulatio has bee performed usig ModelSim XE software. The simulatio results were verified for most of the combiatios of 8-bit ad some of the 16-bit orthogoal code. The software simulatio results alog with the clock cycles are explaied for the trasmitter ad receiver i the followig sectios..1 Trasmitter Fig.5 shows a example of the results of the trasmitter simulatio correspodig to the iput data value 0110 labeled as data. This data has bee ecoded to the associated orthogoal code 00111100 labeled ortho. The sigal EN is used to eable the trasmissio of the serial bits txcode of the orthogoal code with every risig edge of the clock..2 Receiver Upo receptio, the icomig serial data is coverted ito 8-bit parallel code rxcode. Couter is used to cout the umber of 1 s after XOR operatio betwee the received code ad all combiatios of orthogoal code i the lookup table. Cout gives the miimum cout of oes amog them. The orthogoal code ortho associated with the miimum cout is the closest match for the received code, which is the decoded to the fial data give by sigal data. Three differet cases result from this simulatio. I the first case, the received code has a match i the lookup table. As show i Fig.6, the received code is rxcode= 00111100, cout= 0 ad hece the received code is ot corrupted. The code is the decoded to the correspodig fial data 0110. I the secod case, the received code has o match i the lookup table. As show i Fig.7, the received code is rxcode= 00110100, the value of miimum cout is 1, which reveals a error. The correspodig orthogoal code is ortho= 00111100 which is the closest match for the received code give by the miimum cout, ad the decoded fial data is 0110. I this case the sigle bit error is detected ad corrected by the receiver. I the third case, there is more tha oe possibility of closest match i the lookup table. As show i Fig.8, the received code is rxcode= 00110000. The value of miimum cout is associated with more tha oe orthogoal code ad thus it is ot possible to determie the closest match i the lookup table for the received code. The the sigal labeled REQ goes high, which is a request for a retrasmissio..3 Results The results of the simulatio show that for a k-bit data, the correspodig -bit orthogoal code is able to detect ay faulty combiatio other tha the combiatios of orthogoal code i the lookup table. The umbers of these combiatios are 2 k. Hece the percetage of detectio is give by (2-2 k )/2 %. Similarly, the system is able to correct up to (/)-1 bit error ad the umber of clock cycles required to process the received code are (2+2). For example whe a -bit data is ecoded i to 8- bit orthogoal code; it has 2 = 16 combiatios of orthogoal code. Therefore, out of 256 possible combiatios of 8-bit received code the receiver will ot able to detect error i those codes which are oe of the combiatios of orthogoal code. Hece the detectio percetage for 8-bit orthogoal code is give by (2 8-2 ) /2 8 = 93.57% ad also able to correct sigle bit error. Similarly, the percetage of detectio for 16-bit orthogoal code is 99.95% ad gives 3-bit of error correctio. Table II shows a summary of the results ad their correspodig detectio rates for 8-bit, 16-bit, ad N-bit orthogoal codes. 8-bit Codes 16-bit Codes N-bit Code TABLE II Detectio rate computed from the results correspodig to 8-bit, ad 16-bit orthogoal codes. Number of combiatios N f Number of udetected combiatios Detectio Rate 256 N f =16 93.57 % 65535 N f =32 99.95% 2 N N f =2N (2 N -N f )/ 2 N 5. CONCLUSION The results of the orthogoal code implemetatio show that this techique improved the error detectio from 50% to 93% for 8-bit orthogoal code ad 99.9% for 16-bit orthogoal code. The techique proposed ca be applied to ay ecodig system used for digital trasmissio. Future work icludes improvemet of correctio capasbilities of the orthogoal code ad paralell implemetatio to speed up the data processig. ACKNOWLEDGMENT This work was supported by the ND EPSCoR project through Natioal Sciece Foudatio grat # UND0012168.

-bit orthogoal code k-bit Data Ecoder (Mappig) Parallel to Serial Coverter (Shift register) Serial bits of code clk Fig. 3. Block diagram of the trasmitter. -bit orthogoal code Serial bits of code Serial To Parallel Coverter Error Detectio (XOR & Couter) Error Correctio (Mappig) Decoder Data Bits clk REQ Fig.. Block diagram of the receiver. Fig. 5. Example of the simulatio results of the trasmitter. Fig. 6. Example of case oe simulatio. Fig. 7. Example of case two simulatio.

Fig. 8. Example of case three simulatio. REFERENCES [1] Baicheva, T., S. Doduekov, ad P. Kazakov, Udetected error probability performace of cyclic redudacy- check codes of 16-bit redudacy, IEEE Proc. Comms., Vol. 17, No. 5, Oct. 2000, pp. 253-256. [2] A. Hokai, H. Delic, S. Sari, Two dimesioal CRC for efficiet trasmissio of ATM Cells over CDMA, IEEE Commuicatios Letters, Vol., No., April 2000. [3] Styliaakis V,Toptchiyski S, A Reed-Solomo codig/decodig structure for a ADS modem, Electroics, Circuits ad Systems, 1999. Proceedigs of ICECS apos ; 99. The 6th IEEE Iteratioal Coferece, Volume 1, Issue, 1999, pp. 73 76. [] S. Faruque, Broadbad Commuicatios Based o Code Divisio Parallel Access (CDPA), The Iteratioal Egieerig Cosortium (IEC), Aual Review of Commuicatios, Vol. 57, ISBN: 1-931695- 28-8, Nov. 200. [5] Saleh Faruque, Error Cotrol Codig Based o Orthogoal Codes, Wireless Proceedigs, Vol. 2, pp. 608-615, 200. [6] S.Faruque, A.Dhirde,N.Kaabouch Forward error cotrol codig based o orthogoal code ad its implemetatio usig FPGA, 7th IASTED Iteratioal Coferece, Motreal, Quebec, Caada, May 30 Jue 1, 2007, Upublished. [7] B. Sklar, Digital Commuicatios Fudametals ad Applicatios, Pretice Hall, 1998. [8] Qualcomm, The CDMA Network Egieerig Hadbook, Vol. I, Cocepts i CDMA, 1993.