AN IFORMATION THEORETIC APPROACH TO BIT STUFFING FOR NETWORK PROTOCOLS Jack Keil Wolf Center for Magnetic Recording Research University of California,

Slides:



Advertisements
Similar presentations
Lecture 2: Basic Information Theory TSBK01 Image Coding and Data Compression Jörgen Ahlberg Div. of Sensor Technology Swedish Defence Research Agency (FOI)
Advertisements

Decoding of Convolutional Codes  Let C m be the set of allowable code sequences of length m.  Not all sequences in {0,1}m are allowable code sequences!
Elementary Linear Algebra
Rules of Matrix Arithmetic
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Coordinatate systems are used to assign numeric values to locations with respect to a particular frame of reference commonly referred to as the origin.
Data Compression CS 147 Minh Nguyen.
Lecture 6; The Finite Element Method 1-dimensional spring systems (modified ) 1 Lecture 6; The Finite Element Method 1-dimensional spring systems.
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Information and Coding Theory
Information Theory EE322 Al-Sanie.
Capacity of Wireless Channels
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
MATH 685/ CSI 700/ OR 682 Lecture Notes
Applications of Numbered Undirected Graphs Gary s. Bloom and Solomon w. Golomb.
INTRODUCTORY STATISTICS FOR CRIMINAL JUSTICE
Visual Recognition Tutorial
2/8/05 1 Constrained Coding Techniques for Advanced Data Storage Devices Paul H. Siegel Director, CMRR Electrical and Computer Engineering University of.
10/15/01 1 The Continuing Miracle of Information Storage Technology Paul H. Siegel Director, CMRR University of California, San Diego.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
Approximation Algorithms
Santa Clara, CA USA August An Information Theory Approach for Flash Memory Eitan Yaakobi, Paul H. Siegel, Jack K. Wolf University of California,
3/23/04 1 Information Rates for Two-Dimensional ISI Channels Jiangxin Chen and Paul H. Siegel Center for Magnetic Recording Research University of California,
Variable-Length Codes: Huffman Codes
Copyright © Cengage Learning. All rights reserved.
Generalized Communication System: Error Control Coding Occurs In Right Column. 6.
Time-Varying Encoders for Constrained Systems - Jonathan J. Ashley, Brian H. Marcus Jungwon Lee
Noise, Information Theory, and Entropy
Sequential circuit design
Chapter 5: z-scores.
LIAL HORNSBY SCHNEIDER
Data Representation Number Systems.
STATISTIC & INFORMATION THEORY (CSNB134)
INFORMATION THEORY BYK.SWARAJA ASSOCIATE PROFESSOR MREC.
1 1.1 © 2012 Pearson Education, Inc. Linear Equations in Linear Algebra SYSTEMS OF LINEAR EQUATIONS.
Copyright © 2013, 2009, 2005 Pearson Education, Inc. 1 5 Systems and Matrices Copyright © 2013, 2009, 2005 Pearson Education, Inc.
Systems and Matrices (Chapter5)
Institute for Experimental Mathematics Ellernstrasse Essen - Germany Data communication line codes and constrained sequences A.J. Han Vinck Revised.
UNIVERSAL COLLEGE OF ENGINEERING AND TECHNOLOGY PREPARED BY:- Chirag Parmar ( ) Kashish Soni ( ) Maitrey Bhatt( )
User Cooperation via Rateless Coding Mahyar Shirvanimoghaddam, Yonghui Li, and Branka Vucetic The University of Sydney, Australia IEEE GLOBECOM 2012 &
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
COMMUNICATION NETWORK. NOISE CHARACTERISTICS OF A CHANNEL 1.
1/11/05 1 Capacity of Noiseless and Noisy Two-Dimensional Channels Paul H. Siegel Electrical and Computer Engineering Center for Magnetic Recording Research.
Erasure Coding for Real-Time Streaming Derek Leong and Tracey Ho California Institute of Technology Pasadena, California, USA ISIT
Communication System A communication system can be represented as in Figure. A message W, drawn from the index set {1, 2,..., M}, results in the signal.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Digital Logic Lecture 3 Binary Arithmetic By Zyad Dwekat The Hashemite University Computer Engineering Department.
Basic Concepts of Information Theory Entropy for Two-dimensional Discrete Finite Probability Schemes. Conditional Entropy. Communication Network. Noise.
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
Entropy (YAC- Ch. 6)  Introduce the thermodynamic property called Entropy (S)  Entropy is defined using the Clausius inequality  Introduce the Increase.
International Iran conference on Quantum Information September 2007, Kish Island Evaluation of bounds of codes defined over hexagonal and honeycomb lattices.
Convolutional Coding In telecommunication, a convolutional code is a type of error- correcting code in which m-bit information symbol to be encoded is.
Basic Concepts of Information Theory A measure of uncertainty. Entropy. 1.
1 CSCD 433 Network Programming Fall 2013 Lecture 5a Digital Line Coding and other...
Channel Coding Theorem (The most famous in IT) Channel Capacity; Problem: finding the maximum number of distinguishable signals for n uses of a communication.
REU 2009-Traffic Analysis of IP Networks Daniel S. Allen, Mentor: Dr. Rahul Tripathi Department of Computer Science & Engineering Data Streams Data streams.
1 Objective To provide background material in support of topics in Digital Image Processing that are based on matrices and/or vectors. Review Matrices.
Network Topology Single-level Diversity Coding System (DCS) An information source is encoded by a number of encoders. There are a number of decoders, each.
1 CSCD 433 Network Programming Fall 2016 Lecture 4 Digital Line Coding and other...
Data Communication and Networking Digital Transmission Chapter 4.
Functions Defined on General Sets
Dr. Clincy Professor of CS
Finish Ch 2 and Review Dr. Clincy Professor of CS Exam 1 – Sept 13th
Floating Point Numbers - continuing
Copyright © Cengage Learning. All rights reserved.
ECE 352 Digital System Fundamentals
Error Correction Coding
Presentation transcript:

AN IFORMATION THEORETIC APPROACH TO BIT STUFFING FOR NETWORK PROTOCOLS Jack Keil Wolf Center for Magnetic Recording Research University of California, San Diego La Jolla, CA DIMACS Workshop on Network Information Theory Rutgers University March 17-19, 2003

Acknowledgement Some of this work was done jointly with: Patrick Lee Paul Bender Sharon Aviran Jiangxin Chen Shirley Halevy (Technion) Paul Siegel Ron Roth (Technion)

Constrained Sequences and Network protocols In many protocols, specific data patterns are used as control signals. These prohibited patterns must be prevented from occurring in the data. In any coding scheme that prohibits certain patterns from occurring, the number of constrained (or coded) bits must exceed the number of data bits.

Relationship to Information Theory The average number of data bits per constrained bit is called the rate of the code. The Shannon capacity is the maximum rate of any code. Practical codes usually have rates strictly less than the Shannon capacity.

Bit Stuffing Bit stuffing is one coding technique for preventing patterns from occurring in data. The code rate for bit stuffing is always less than the Shannon capacity. Here we show how to make the code rate for bit stuffing equal to the Shannon capacity.

Bit Stuffing and Protocols Definition from Webopedia: ( “bit stuffing-The practice of adding bits to a stream of data. Bit stuffing is used by many network and communication protocols for the following reasons: To prevent data being interpreted as control information. For example, many frame- based protocols, such as X.25, signal the beginning and end of a frame with six consecutive 1’s. Therefore, if the actual data has six consecutive 1 bits in a row, a zero is inserted after the first 5 bits… Of course, on the receiving end, the stuffed bits must be discarded…” data: … This won’t work: transmit: … But this will: transmit: …

A Diversion: Binary (d,k) Constrained Sequences The X.25 constraint is a special case of a binary (d,k) constraint used in digital storage systems. Such binary sequences have at least d and at most k 0’s between adjacent 1’s. For d > 0 and finite k, the sequences are produced by the edge labels when taking tours of the graph: 01d-1dd+1k-1k … …

Binary (0, k ) Constrained Sequences For d=0 and finite k, allowable sequences are produced by the edge labels of the graph: 012k-1k

Binary (d, ∞ ) Constrained Sequences For infinite k, the sequences are produced by the edge labels when touring the graph: 012d-1d  0   

Back to Protocols By complementing the bits in a (0,5) code, we will produce sequences that have no more than 5 consecutive 1’s. Thus, after complementing the bits, any (0,5) code can be used in the X25 protocol.

Bit Stuffing In this talk we will investigate the code rates which can be achieved with bit stuffing and compare these rates with the Shannon capacity. We will use as our constraint, binary (d,k) codes, although our technique applies to a much wider class of codes. We will begin with plain vanilla bit stuffing which gives rates strictly less than capacity. Then we show how bit stuffing can be modified to yield rates equal to capacity for some values of d and k. Finally we show how bit stuffing can be further modified to yield rates equal to capacity for all values of d and k.

Bit Stuffing for (d,k) Codes For any value of d and k (0 < d < k), one can use bit stuffing to form sequences that satisfy the constraint. The bit stuffing encoding rule is: Step 1. If last bit is a 1, stuff d 0’s. Go to next step. (Skip this step if d=0.) Step 2. If last k bits are 0’s stuff a 1. Return to first step. (Skip this step if k=∞.) 01d-1dd+1k-1k … …

Rate for Bit Stuffing vs Shannon Capacity of (d,k) Codes The rate for bit stuffing is the average number of information bits per transmitted symbol. The rate here is computed for i.i.d. binary data with equally likely 0’s and 1’s. The Shannon capacity of a (d,k) constrained sequence is the maximum rate of any encoder-decoder that satisfies the constraint. Therefore the rate for bit stuffing is less than or equal to the Shannon capacity of the constraint.

Shannon Capacity of a (d,k) Constraint Define N(n) as the number of distinct binary sequences of length n that satisfy the constraint. Then, for every 0 < d < k, exists and is called the Shannon capacity of the code.

Shannon Capacity Shannon (1948) gave several methods for computing the capacity of (d,k) codes. For finite k, he showed that the following difference equation describes the growth of N(n) with n: N(n)=N(n-(d+1))+N(n-(d+2))+ … +N(n-(k+1)). By solving this difference equation, Shannon showed that the capacity, C = C(d,k), is equal to the base 2 logarithm of the largest real root of the equation: x k+2 - x k+1 - x k-d+1 +1 = 0.

Bit Stuffing and Shannon Capacity If one uses bit stuffing on uncoded data, except for ` the trivial case of (d=0, k=∞), the rate always is strictly less than the Shannon capacity. The rate here is computed for i.i.d. binary data with equally likely 0’s and 1’s. But by a modification to bit stuffing, using a distribution transformer, we can improve the rate and sometimes achieve capacity.

Slight Modification to Bit Stuffing A distribution transformer converts the binary data sequence into an i.i.d. binary sequence that is p- biased for 0 < p < 1. The probability of a 1 in this biased stream is equal to p. The distribution transformer can be implemented by a source decoder for a p-biased stream. The conversion occurs at a rate penalty h(p), where h(p) = -plog(p)-(1-p)log(1-p). We can choose p to maximize the code rate and sometimes achieve capacity.

Bit Stuffing with Distribution Transformer Distribution Transformer p-Bias … Bit Stuffer … Distribution Transformer p-Bias … … ½ 1-p p Inverse Distribution Transformer … … Bit Unstuffer

Slight Modification to Bit Stuffing As shown by Bender and Wolf, after optimizing p, the code rate can be made equal to the Shannon capacity for the cases of (d, d+1) and (d,∞), sequences for every d > 0. However, even after choosing the optimum value of p, the code rate is strictly less than the Shannon capacity for all other values of d and k.

Code Rate vs. p (B&W)

Code Rate/Capacity vs k for Fixed d: Optimum p (B&W)

Two Questions Why does this technique achieve capacity only for the cases: k = d+1 and k = ∞ ? Is it possible to achieve capacity for other cases? To answer these questions we make a slight diversion.

A Further Diversion: Bit Stuffing and 2-D Constraints Bit stuffing has been used to generate two dimensional constrained arrays. Details of this work are in a series of papers, the latest entitled “Improved Bit-Stuffing Bounds on Two-Dimensional Constraints” which has been submitted to the IEEE Transactions on Information Theory by: Shirley HalevyTechnion Jiangxin ChenUCSD Ron RothTechnion Paul SiegelUCSD MeUCSD

Two Dimensional Constraints Two dimensional constrained arrays can have applications in page oriented storage. These arrays could be defined on different lattices. Commonly used are the rectangular lattice and the hexagonal lattice. Example 1: Rectangular lattice with a (1, ∞) constraints on the rows and columns: Example 2: Hexagonal lattice with a (1, ∞) constraints in 3 directions:

Capacity and Two Dimensional Constrained Arrays Calculating the Shannon capacity for two dimensional constrained arrays is largely an open problem. The exact value of the capacity for the rectangular (1, ∞) constraint is not known. However, Baxter has obtained the exact value of the capacity of the hexagonal (1, ∞) constraint. In some cases where the two dimensional capacity is not known, we have used bit stuffing to obtain tight lower bounds to the capacity.

Two Dimensional Bit Stuffing: Rectangular Lattice with (1, ∞) Constraint A distribution transformer is used to produce a p- biased sequence. The p-biased sequence is written on diagonals Every time a p-biased 1 is written, a 0 is inserted (that is stuffed) to the right and below it. In writing the p-biased sequence on diagonals, the positions in the array containing stuffed 0’s are skipped.

Bit Stuffing and Two Dimensional Constrained Arrays Suppose we wish to write the p-biased sequence …

“Double Stuffing” with the (1, ∞) Constraint Sometimes a p-biased 1 results in only one stuffed 0 since there is already a stuffed 0 to the right of it. In writing the sequence …, 1 5 results in only a single stuffed 0, since 1 4 having been written above and to the right of it, already has written the other 0. That is, 0 4,5 is a “double” stuffed ,

Multiple p-Biased Transformers This suggests having two values for p: one, p 0, for the case where the bit above and to the right of it is a 0 and the other, p 1, when that bit is a 1. Doing this and optimizing we obtain: p 0 = p 1 = code rate= (which is within 0.1% of capacity) This suggests using multiple p’s in one dimension to improve the code rate.

Shannon Capacity and Edge Probabilities The maximum entropy (i.e., the capacity) of a constraint graph induces probabilities on the edges of the graph. For finite k, the Shannon capacity is achieved when the edges of the graph are assigned the probabilities as indicated below where C = log( ). 012d-1d -(d+1) d+1 (1- -(d+1) ) kd+2  -(d+2) / (1- -(d+1) )} -(d+2) / (1- -(d+1) )  

Shannon Capacity and Edge Probabilities And for the (d, ∞) constraint, the Shannon capacity is achieved when the edges of the graph are assigned the probabilities as indicated: 012d-1d -(d+1) 1- -(d+1)   

Why Bit Stuffing Sometimes Achieved Capacity for B&W The graphs for the two cases of constraints that achieved capacity are shown below : Note that for both graphs, only one state has two edges emanating from it. Thus, only one bias suffices and the optimum p for both cases is: p= -(d+1). For other values of d and k, there will be more than one state with two exiting edges. 1  -(d+1) 1 1 -(d+1) (d,d+1) Constraint (d, ∞ ) Constraint -(d+1) 11

Capacity Achieving Bit Stuffing This suggests a better scheme which achieves capacity for all values of d and k. For k finite, there are (k-d) states in the graph with two protruding edges. The binary data stream is converted into (k-d) data streams, each by a different distribution transformer. The p’s of each of the transformers are chosen to emulate the maxentropic edge probabilities for the the (k-d) states with two protruding edges.

Block Diagram of Encoder Distribution Transformer p d -Bias Distribution Transformer P d+1 -Bias Distribution Transformer p (k-1) -Bias Smart DeMux Bit Stuffer Smart Mux

Bit Stuffing with Average Rate Equal to the Shannon Capacity Example: (1,3) Code The maxentropic probabilities for the branches are: Thus, one distribution transformer should have p= and the second distribution transformer should have p= Run Length Probabilities LengthProbability

Bit Stuffing with Average Rate Equal to the Shannon Capacity Example: (2,4) Code The maxentropic probabilities for the branches are: Thus, one distribution transformer should have p= and the second distribution transformer should have p= But only one distribution transformer is needed. Why? Run Length Probabilities LengthProbability

Bit Flipping and Bit Stuffing For the (2,4) case, one can use one distribution transformer and bit flipping in conjunction with bit stuffing to achieve capacity. For k finite, we next examine such a system for arbitrary (d,k): Distribution Transformer p-Bias Bit Stuffer Controlled Bit Flipper

Questions What is the optimal bit flipping position? When can we improve the rate by bit flipping? Can we achieve capacity for more constraints, using bit flipping? If not, how far from capacity are we? 01dd+1kk-1 p 11 1-p ?? p... pp 1-p 1 p

Answers (Aviran) For all (d,k) with d≥1, d+2≤k<∞ and p<0.5: – the optimal flipping position is k-1. For all (d,k) with d≥1, d+2≤k<∞: – flipping improves the rate over original bit stuffing. Capacity is achieved only for the (2,4) case. 01dd+1kk-1 p 1 1-p... p 1-p 1 p 1 k-2 1-p p

Numerical Results

Topics Missing From This Talk A lot of interesting mathematics. Results for more general one and two dimensional constraints. A list of unsolved problems.