Spreading Codes and Characteristics. Error Correction Codes

Similar documents
Outline. Communications Engineering 1

6. FUNDAMENTALS OF CHANNEL CODER

Revision of Lecture Eleven

Physical Layer: Modulation, FEC. Wireless Networks: Guevara Noubir. S2001, COM3525 Wireless Networks Lecture 3, 1

Basics of Error Correcting Codes

Department of Electronics and Communication Engineering 1

Error Protection: Detection and Correction

Error Control Coding. Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

QUESTION BANK EC 1351 DIGITAL COMMUNICATION YEAR / SEM : III / VI UNIT I- PULSE MODULATION PART-A (2 Marks) 1. What is the purpose of sample and hold

6.02 Fall 2013 Lecture #7

Lecture 17 Components Principles of Error Control Borivoje Nikolic March 16, 2004.

Chapter 1 Coding for Reliable Digital Transmission and Storage

Introduction to Global Navigation Satellite System (GNSS) Signal Structure

Digital Television Lecture 5

Spread Spectrum. Chapter 18. FHSS Frequency Hopping Spread Spectrum DSSS Direct Sequence Spread Spectrum DSSS using CDMA Code Division Multiple Access

TABLE OF CONTENTS CHAPTER TITLE PAGE

Error Control Codes. Tarmo Anttalainen

Bit Error Rate Performance Evaluation of Various Modulation Techniques with Forward Error Correction Coding of WiMAX

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Channel Coding/Decoding. Hamming Method

Performance Analysis of DSSS and FHSS Techniques over AWGN Channel

Lecture #2. EE 471C / EE 381K-17 Wireless Communication Lab. Professor Robert W. Heath Jr.

EECS 380: Wireless Technologies Week 7-8

RADIO SYSTEMS ETIN15. Channel Coding. Ove Edfors, Department of Electrical and Information Technology

Maximum Likelihood Sequence Detection (MLSD) and the utilization of the Viterbi Algorithm

Channel Coding RADIO SYSTEMS ETIN15. Lecture no: Ove Edfors, Department of Electrical and Information Technology

Using TCM Techniques to Decrease BER Without Bandwidth Compromise. Using TCM Techniques to Decrease BER Without Bandwidth Compromise. nutaq.

ERROR CONTROL CODING From Theory to Practice

Block code Encoder. In some applications, message bits come in serially rather than in large blocks. WY Tam - EIE POLYU

16.36 Communication Systems Engineering

IJESRT. (I2OR), Publication Impact Factor: 3.785

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Chapter 3 Convolutional Codes and Trellis Coded Modulation

Introduction to Error Control Coding

EE521 Analog and Digital Communications

Detecting and Correcting Bit Errors. COS 463: Wireless Networks Lecture 8 Kyle Jamieson

Course Developer: Ranjan Bose, IIT Delhi

UNIVERSITY OF MICHIGAN DEPARTMENT OF ELECTRICAL ENGINEERING : SYSTEMS EECS 555 DIGITAL COMMUNICATION THEORY

International Journal of Engineering Research in Electronics and Communication Engineering (IJERECE) Vol 1, Issue 5, April 2015

B SCITEQ. Transceiver and System Design for Digital Communications. Scott R. Bullock, P.E. Third Edition. SciTech Publishing, Inc.

CDMA Systems Engineering Handbook

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1.

LDPC Decoding: VLSI Architectures and Implementations

ECE 6640 Digital Communications

b. When transmitting a message through a transmission medium, the equipment which receives the message should first find out whether it has received

Volume 2, Issue 9, September 2014 International Journal of Advance Research in Computer Science and Management Studies

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

Problem Sheet 1 Probability, random processes, and noise

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

Advanced channel coding : a good basis. Alexandre Giulietti, on behalf of the team

Performance Analysis of n Wireless LAN Physical Layer

CDMA Technology. Pr. S.Flament Pr. Dr. W.Skupin On line Course on CDMA Technology

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING QUESTION BANK. Subject Name: Digital Communication Techniques

TSTE17 System Design, CDIO. General project hints. Behavioral Model. General project hints, cont. Lecture 5. Required documents Modulation, cont.

International Journal of Scientific & Engineering Research Volume 9, Issue 3, March ISSN

Error Correcting Code

Digital Communications I: Modulation and Coding Course. Term Catharina Logothetis Lecture 12

CH 4. Air Interface of the IS-95A CDMA System

Performance of Reed-Solomon Codes in AWGN Channel

CH 5. Air Interface of the IS-95A CDMA System

A Survey of Advanced FEC Systems

Implementation of Reed-Solomon RS(255,239) Code

CDMA Technology : Pr. S. Flament Pr. Dr. W. Skupin On line Course on CDMA Technology

Analysis of Civil Navigation Message Format for GPS Modernization

KINGS DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING DIGITAL COMMUNICATION TECHNIQUES YEAR/SEM: III / VI BRANCH : ECE PULSE MODULATION

Digital Transmission using SECC Spring 2010 Lecture #7. (n,k,d) Systematic Block Codes. How many parity bits to use?

CHANNEL MEASUREMENT. Channel measurement doesn t help for single bit transmission in flat Rayleigh fading.

Synchronization of Hamming Codes

Spread Spectrum Basics Spreading Codes IS-95 Features- Transmitter/Receiver Power Control Diversity Techniques RAKE Receiver Soft Handoff

ECE710 Space Time Coding For Wireless Communication HW3

Lecture 3. Direct Sequence Spread Spectrum Systems. COMM 907:Spread Spectrum Communications

Turbo coding (CH 16)

Intro to coding and convolutional codes

Design High speed Reed Solomon Decoder on FPGA

Cross Spectral Density Analysis for Various Codes Suitable for Spread Spectrum under AWGN conditions with Error Detecting Code

MATHEMATICS IN COMMUNICATIONS: INTRODUCTION TO CODING. A Public Lecture to the Uganda Mathematics Society

Implementation of Different Interleaving Techniques for Performance Evaluation of CDMA System

ECE 6640 Digital Communications

Frequency-Hopped Spread-Spectrum

Implementation of Reed Solomon Encoding Algorithm

Techniques to Mitigate Fading Effects

Page 1. Outline. Basic Idea. Hamming Distance. Hamming Distance Visual: HD=2

Spread Spectrum Techniques

B. Tech. (SEM. VI) EXAMINATION, (2) All question early equal make. (3) In ease of numerical problems assume data wherever not provided.

Chapter 2: Signal Representation

Update on GPS L1C Signal Modernization. Tom Stansell Aerospace Consultant GPS Wing

Hybrid ARQ Schemes for Non-Orthogonal Space-Time Block Codes

Syllabus. osmania university UNIT - I UNIT - II UNIT - III CHAPTER - 1 : INTRODUCTION TO DIGITAL COMMUNICATION CHAPTER - 3 : INFORMATION THEORY

Improved concatenated (RS-CC) for OFDM systems

SPREAD-SPECTRUM (SS) techniques are used in many

Intuitive Guide to Principles of Communications By Charan Langton Coding Concepts and Block Coding

Simulink Modelling of Reed-Solomon (Rs) Code for Error Detection and Correction

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Generation and implementation of Pseudorandom codes for Navigation System in FPGA

CHAPTER 2. Instructor: Mr. Abhijit Parmar Course: Mobile Computing and Wireless Communication ( )

Hardware Implementation of BCH Error-Correcting Codes on a FPGA

Quasi-Zenith Satellite System Interface Specification Positioning Technology Verification Service (IS-QZSS-TV-001)

PRINCIPLES OF COMMUNICATIONS

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Transcription:

Spreading Codes and Characteristics and Error Correction Codes Global Navigational Satellite Systems (GNSS-6) Short course, NERTU Prasad Krishnan International Institute of Information Technology, Hyderabad December, 206

Spreading Codes

Talk Outline - Spreading Codes Spreading codes idea Need for spreading codes in GNSS Generating spreading codes for GNSS

What are Spreading Codes? Example Consider that you have a message bit b (can be zero or one). Instead of transmitting b we transmit - b[ 0 0 0 0]. The vector [ 0 0 0 0] is like a carrier - we call it the code. To decode, multiply received vector by [ 0 0 0 0] T.

What are Spreading Codes? Example 4 different bits with 4 orthogonal codes transmitted at the same time. b 0 [ 0 0 0]+ b [0 0 0] + b 2 [0 0 0] + b 3 [0 0 0 ] =b 0 x0 + b x + b 2 x2 + b 3 x3

What are Spreading Codes? Example 4 different bits with 4 orthogonal codes transmitted at the same time. b 0 [ 0 0 0]+ b [0 0 0] + b 2 [0 0 0] + b 3 [0 0 0 ] =b 0 x0 + b x + b 2 x2 + b 3 x3 Note that xi xj T = { if i = j 0 if i j Can get the bit b i by multiplying with xi T. (i represents the shift in time).

What are Spreading Codes? - Finding Delays Example Consider that a coded bit b comes with an arbitrary unknown delay (0 j 3). Received vector = bxj (0 j 3). Then can we find out the delay j and bit b? Multiplying with xi (0 i 3) does the trick.

More generally - Pseudo-Random-Noise Sequences Consider two or more binary sequences ({+, }) sequence which have good autocorrelation properties and good cross correlation properties. Such sequences are called Pseudo-Random-Noise sequences.

More generally - Pseudo-Random-Noise Sequences Consider two or more binary sequences ({+, }) sequence which have good autocorrelation properties and good cross correlation properties. Such sequences are called Pseudo-Random-Noise sequences. Good autocorrelation property of a sequence x x i x T j has a high value if i = j and low value if i j. Good cross-correlation property of sequences x and y x i y T j has a low value for any i, j.

How are PNR sequences useful in GNSS? Each satellite has its own unique PRN sequence, and uses it to modulate data transmitted to receivers. Ranging Good autocorrelation properties Find Delay due to separation between Rx and Satellite Tx. Delay (from multiple satellites) User Location.

How are PNR sequences useful in GNSS? Each satellite has its own unique PRN sequence, and uses it to modulate data transmitted to receivers. Ranging Good autocorrelation properties Find Delay due to separation between Rx and Satellite Tx. Delay (from multiple satellites) User Location. Saving spectrum Good cross-correlation properties Decode info from different satellites. Multiple satellites can transmit over the same frequency.

How are PNR sequences useful in GNSS? Each satellite has its own unique PRN sequence, and uses it to modulate data transmitted to receivers. Ranging Good autocorrelation properties Find Delay due to separation between Rx and Satellite Tx. Delay (from multiple satellites) User Location. Saving spectrum Good cross-correlation properties Decode info from different satellites. Multiple satellites can transmit over the same frequency. Gain in SNR Same bit is encoded in a long PRN sequence redundancy. Redundancy provides SNR gain (and hence lowers prob. of error).

Generating Pseudo-Random-Noise PN Sequences deterministically generated, yet possess properties of randomly generated sequences PN sequences generated using linear feedback shift registers.

Linear Feedback Shift Registers i - Output of the shift-register circuit is transformed to if it is 0, and if it is. Output sequence is given by 2 c i+m = g m c i+m + g m 2 c i+m 2 +... + g c i+ + c i (mod 2)

Characteristic Polynomial of LFSR Since the operation is binary addition, the above output equation can be rewritten as where g 0 = g m = m g l c i+l = 0, l=0 The characteristic polynomial of the LFSR is given by g(x) = m g l x l We are interested in special kinds of LFSRs which can output PRN sequences. l=0

Primitive Polynomial Every polynomial g(x) with coefficients in binary field having g(0) = divides x N + for some N. The smallest N for which this is true is called the period of g(x). An irreducible polynomial of degree m whose period is 2 m is called a primitive polynomial

MLS Generator m-sequences : Examples of PRN sequences DANISH GPS CENT Random sequences can be generated using a maximum-length sequence (MLS) generators Clock + 2 3 4 5 6 7 8 9 0 MLS Output n is the length of the shift register (0 for GPS) An LFSR produces an m-sequence (maximum length) if and Length of the MLS is : only if its characteristic polynomial is a primitive polynomial In the above example, N the polynomial 2 n MLS is g(x) = + x 3 + x 0 2009 Danish GPS Center 20

Delay and Add Property of m-sequences The cyclic shift of an m-sequence is also an m-sequence The sum of an m-sequence and a cyclic shift of itself is also an m-sequence

Autocorrelation Function of m-sequences Let (s t ) be an m-sequence of period N = 2 n Then the autocorrelation of the m-sequence is { 2 n if τ = 0(mod2 n ) θ s,s (τ) = if τ 0(mod2 n )

The normalized periodic autocorrelation function of an m- Plot of Autocorrelation Function N j i j sequence, defined asρ( i ) = ( ) is equal to for N j= 0 Normalized i = 0(mod autocorrelation N) and /N function for i 0(mod N) c c + - i i ρ ( i ) = (# of 0 s in c T c - # of s in c T c ) N - proved easily by shift and add property

Gold Sequences m-sequences have good auto-correlation properties but poor cross-correlation properties (cross-correlation can be high, which we don t want). Two m-sequence generators are used to generate a Gold Sequence which has good cross-correlation properties

Generating Gold Sequences C/A Code Generator DANISH GPS CENTER 0.23 MHz clock 0 G generator + 2 3 4 5 6 7 8 9 0 G code Reset circuit Phase selector S S2 + + C/A code (Gold code). 2 3. 4 5 6 7 8 9 0 G2 generator + Epoch detector 20 G2 code 50Hz clock for navigation data 2009 Danish GPS Center 22

ration: nomials Gold Sequences in GPS DANISH GPS CENTER x 8 x 9 x 0 7 8 9 0. 7 8 9 0

Forward Error Correction

Talk Outline - Error Correcting Codes Need for Error Correction Error Correcting Codes (general principles and examples) Encoding and Decoding of a Block Code (Hamming Code) Types of Error Correcting Codes (in GNSS) Encoding and Decoding of Convolutional Codes

Channel Coding Sender 0 (- p) p p (- p) Receiver 0 p : cross-over probability, say 0. The bit cross-over probability p (< 0.5) is a property of the channel. Free to manipulate the input and output to the channel. Encode messages to codewords (add redundancy cleverly) : Reduce effective Prob(error).

A trivial code example - Repetition code Repeat the same bit three times Message 0 [0 0 0] (codeword), Message [ ]. Decode by Majority logic. For the above channel, probability of error comes down (Check!).

General ideas behind FEC for the binary symmetric channel Messages Channel Code Encoder Codeword Channel Noisy codewords Channel Code Decoder Message estimate Decoder decides the Tx codeword c based on received Noisy Codeword y. Decoding rule : Decoding for the most likely codeword. (Choose that c which maximizes p(y c)).

General ideas behind FEC for the binary symmetric channel Messages Channel Code Encoder Codeword Channel Noisy codewords Channel Code Decoder Message estimate Decoder decides the Tx codeword c based on received Noisy Codeword y. Decoding rule : Decoding for the most likely codeword. (Choose that c which maximizes p(y c)). Probability that every transmitted bit is flipped is p < 0.5 If you don t code at all, the rule decodes to the bit that was received as it is.

General ideas behind FEC for the binary symmetric channel For a code of length n: Choose the codeword which is closest to Rx Vector y in terms of number of flipped bits. Minimum Hamming Distance Rule.

General ideas behind FEC for the binary symmetric channel For a code of length n: Choose the codeword which is closest to Rx Vector y in terms of number of flipped bits. Minimum Hamming Distance Rule. Example Repetition Code The Majority Decoder is infact the Minimum Hamming Distance Decoder. The Repetition Code can correct any single-bit error.

General ideas behind FEC for the binary symmetric channel For a code of length n: Choose the codeword which is closest to Rx Vector y in terms of number of flipped bits. Minimum Hamming Distance Rule. Example Repetition Code The Majority Decoder is infact the Minimum Hamming Distance Decoder. The Repetition Code can correct any single-bit error. Increase n to decrease P(error). Rate n : For bit of message, we need to send n coded bits. (Pretty bad!)

Can we do better? - Linear Block Codes k message bits Code word of length n bits Each set of k message bits maps to a unique codeword Each of the n bits is a linear combina9on of k message bits n = length of the code, k = dimension of the code

Linear Block Codes Let u be the message vector and c is the corresponding codeword. How to get c from u? Linear Block Codes used a Linear Map c = ug G is a full-rank matrix of size k n (k n). The code is a (n, k) linear block code.

Linear Block Codes Let u be the message vector and c is the corresponding codeword. How to get c from u? Linear Block Codes used a Linear Map c = ug G is a full-rank matrix of size k n (k n). The code is a (n, k) linear block code. Repetition Code G = ( ). Message u {, 0}. Codewords are [ ] and [0 0 0].

Linear Block Codes - Examples Hamming Codes - a class of single error correcting codes. Reed Solomon Codes. Example The (7, 4) Hamming Code G = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.

Error Correcting Capability of a Block Code

Error Correcting Capability of a Block Code

Error Correcting Capability of a Block Code A block code can correct t errors if and only if Hamming balls of size t around codewords don t intersect. Minimum distance of the code must be at least 2t +. Linearity = Minimum weight of the code is at least 2t +.

Decoding - The Parity Check Matrix The Parity Check Matrix : A full-rank n k n matrix such that GH T = 0. For the Hamming Code : 0 0 0 H = 0 0 0. 0 0 0

Decoding Received vector y = c + e. Compute s = yh T = ch T + eh T = xgh T + eh T = eh T. Corresponding to any error vector of weight upto t there is an unique syndrome.

Syndrome Decoding Syndrome decoding for errors of weight upto t.. Find the syndrome s 2. Find e corresponding to s. 3. Find c = r e. Map it back to x.

Types of Codes used in GNSS n and Application Table 2. Channel coding comparison Coding NAV CNAV Galileo CNAV-2 Hamming Yes No No No Convolution No Yes Yes No CRC No Yes Yes Yes Interleaving No No Yes Yes LDPC No No No Yes BCH No No No Yes ame The LC signal provides the first navigation signal using modern advanced FEC-LDPC (Low Density Parity

Convolutional Encoding Convolutional codes are used in applications that require good performance with low encoding complexity. Convolution codes have memory that utilises previous bits to encode or decode following bits (block codes are memoryless)

Convolutional Encoding + y [n] x[n] D x[n- ] D x[n- 2] Encoder + y 2 [n] y [n] = x[n] x[n ] x[n 2] y 2 [n] = x[n] x[n 2] Rate 2 convolutional encoder Constraint length for each input is 2

State Diagram 0 / 0/00 00 0/0 0/ 0 /0 /00 0/0 /0 State diagram State transitions are given by input/output

Example Encoding 0 / 0/00 00 0/0 0/ 0 /0 /00 0/0 /0 State diagram Input: 00000000 Output: 00 0 00 0 0 0 0 00 0 00

Brute Force Approach Going through the list of possible transmit sequences and comparing Hamming distance is highly complex A transmit sequence of N bits has 2 N possible strings, exponential complexity Low Complexity Decoder: Viterbi Decoder - decoding on trellis

Branch Metric State Time: i Received 00 i+ 00 0/00 0 / 2 0 0/0 /0 0 0/ 2 /00 0 0/0 /0 The branch metric for hard decision decoding. In this example, the receiver gets the parity bits 00 Two of the branch metrics are 0, corresponding to the only states and transitions where the corresponding Hamming distance is 0 Other non-zero branch metrics correspond to cases where there are bit errors

Computing Path Metric Value of PM[s, i] - total number of bit errors detected when comparing the received parity bits to the most likely transmitted message, considering all messages that could have been sent by the transmitter until time step i If the transmitter is at state s at time step i +, then it must have been in only one of two possible states at time step i, say α and β Path Metric update is given by PM[s, i+] = min(pm[α, i]+bm[α s], PM[β, i]+bm[β s])

Viterbi Decoding: Step Rcvd: 00 0 0 0 0 00 0 2 0

Viterbi Decoding: Step 2 Rcvd: 0 00 0 00 0 2 3 2 0 2 0 0 3 2 2

Viterbi Decoding: Step 3 Rcvd: 0 00 0 00 0 2 3 2 0 2 0 0 3 2 2 Showing only survivor paths

Viterbi Decoding: Step 4 Rcvd: 0 00 0 00 0 2 3 2 2 3 0 2 3 2 0 0 3 2 3 3 2 2 4

Viterbi Decoding: Step 5 Rcvd: 0 00 0 00 0 2 3 2 2 3 0 2 3 2 0 0 3 2 3 3 2 2 4 To produce the message, start from final state with smallest path metric and word backwards and then reverse the bits

Hard Decision Decoding Hard decision decoding digitizes the received voltagee signals by comparing it to a threshold, before passing it to the decoder Loss of Information 0.50000 and 0.99999 are both treated as by the decoder even it is more likely that 0.99999 is a Hamming distance as branch metric

Soft Decision Decoding Soft Decision Decoding does not digitise the incoming samples prior to decoding If the convolutional code produces p parity bits and p corresponding analog samples are v = v, v 2,..., v p, a soft decision branch metric is given by BM soft [u, v] = p (u i v i ) 2 i=

Thanks!