On Synchronous Variable Length Coding for Discrete Noiseless Chrannels

Similar documents
An introduction to basic information theory. Hampus Wessman

Generalized Kraft Inequality and Arithmetic Coding

Constant Weight Codes: An Approach Based on Knuth s Balancing Method

The Channel Capacity of Constrained Codes: Theory and Applications

Chapter 3 Source Coding. 3.1 An Introduction to Source Coding 3.2 Optimal Source Codes 3.3 Shannon-Fano Code 3.4 Huffman Code

Run-length & Entropy Coding. Redundancy Removal. Sampling. Quantization. Perform inverse operations at the receiver EEE

MAHALAKSHMI ENGINEERING COLLEGE QUESTION BANK. SUBJECT CODE / Name: EC2252 COMMUNICATION THEORY UNIT-V INFORMATION THEORY PART-A

1 Introduction to information theory

A SIMULATION AND GRAPH THEORETICAL ANALYSIS OF CERTAIN PROPERTIES OF SPECTRAL NULL CODEBOOKS

Optimal Block-Type-Decodable Encoders for Constrained Systems

MAHALAKSHMI ENGINEERING COLLEGE-TRICHY QUESTION BANK UNIT V PART-A. 1. What is binary symmetric channel (AUC DEC 2006)

CODING schemes for overloaded synchronous Code Division

Constellation Shaping for Communication Channels with Quantized Outputs

COMMUNICATION SCIENCES AND ENGINEERING

Channel Estimation with Low-Precision Analog-to-Digital Conversion

Dynamic Programming. Shuang Zhao. Microsoft Research Asia September 5, Dynamic Programming. Shuang Zhao. Outline. Introduction.

Entropy and Ergodic Theory Lecture 3: The meaning of entropy in information theory

FIBONACCI NUMBERS AND DECIMATION OF BINARY SEQUENCES

Elementary maths for GMT

Chapter 2 Source Models and Entropy. Any information-generating process can be viewed as. computer program in executed form: binary 0


ECE Advanced Communication Theory, Spring 2009 Homework #1 (INCOMPLETE)

CSCI 2570 Introduction to Nanocomputing

A Mathematical Theory of Communication

Bounded Expected Delay in Arithmetic Coding

Compression and Coding

Shannon s noisy-channel theorem

EC2252 COMMUNICATION THEORY UNIT 5 INFORMATION THEORY

Motivation for Arithmetic Coding

The Continuing Miracle of Information Storage Technology Paul H. Siegel Director, CMRR University of California, San Diego

Chaitin Ω Numbers and Halting Problems

PROCESSING AND TRANSMISSION OF INFORMATION*

ON THE NUMBER OF PRIME IMPLICANTS. 1. Prime implicants related to the number of conjuncts

Information Theory and Coding Techniques

Upper Bounds on the Capacity of Binary Intermittent Communication

Performance of Multi Binary Turbo-Codes on Nakagami Flat Fading Channels

Error Correction Methods

Physical Layer and Coding

Chapter 5: Data Compression

Sloping Binary Numbers: A New Sequence Related to the Binary Numbers

Entropy as a measure of surprise

Built-In Test Generation for Synchronous Sequential Circuits

Information Theory, Statistics, and Decision Trees

arxiv: v1 [cs.it] 5 Sep 2008

Optimized Impulses for Multicarrier Offset-QAM

Discrete Memoryless Channels with Memoryless Output Sequences

Lecture 12. Block Diagram

Source Coding. Master Universitario en Ingeniería de Telecomunicación. I. Santamaría Universidad de Cantabria

ELECTRONICS & COMMUNICATIONS DIGITAL COMMUNICATIONS

UNIT I INFORMATION THEORY. I k log 2

IN this paper, we consider the capacity of sticky channels, a

Chapter 2 Review of Classical Information Theory

Intro to Information Theory

Module 1. Introduction to Digital Communications and Information Theory. Version 2 ECE IIT, Kharagpur

Data Detection for Controlled ISI. h(nt) = 1 for n=0,1 and zero otherwise.

Lecture 2. Fundamentals of the Analysis of Algorithm Efficiency

Section-A. Short Questions

Synchronous Sequential Circuit

Index Coding. Trivandrum School on Communication, Coding and Networking Prasad Krishnan

Algorithmic probability, Part 1 of n. A presentation to the Maths Study Group at London South Bank University 09/09/2015

encoding without prediction) (Server) Quantization: Initial Data 0, 1, 2, Quantized Data 0, 1, 2, 3, 4, 8, 16, 32, 64, 128, 256

NAME... Soc. Sec. #... Remote Location... (if on campus write campus) FINAL EXAM EE568 KUMAR. Sp ' 00

Diversity-Multiplexing Tradeoff in MIMO Channels with Partial CSIT. ECE 559 Presentation Hoa Pham Dec 3, 2007

Capacity of the Discrete Memoryless Energy Harvesting Channel with Side Information

Spiking Neural P Systems with Anti-Spikes as Transducers

Introduction to Binary Convolutional Codes [1]

Adaptive Molecule Transmission Rate for Diffusion Based Molecular Communication

A multiple access system for disjunctive vector channel

On the redundancy of optimum fixed-to-variable length codes

Exact Probability of Erasure and a Decoding Algorithm for Convolutional Codes on the Binary Erasure Channel

PUTNAM PROBLEMS SEQUENCES, SERIES AND RECURRENCES. Notes

CHANNEL FEEDBACK QUANTIZATION METHODS FOR MISO AND MIMO SYSTEMS

Ch. 2 Math Preliminaries for Lossless Compression. Section 2.4 Coding

Constrained Coding Techniques for Advanced Data Storage Devices

Chain Independence and Common Information

Chapter 2 Date Compression: Source Coding. 2.1 An Introduction to Source Coding 2.2 Optimal Source Codes 2.3 Huffman Code

Introduction to Convolutional Codes, Part 1

National University of Singapore Department of Electrical & Computer Engineering. Examination for

CLASSICAL error control codes have been designed

Digital Communications III (ECE 154C) Introduction to Coding and Information Theory

4488 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 10, OCTOBER /$ IEEE

Initialization Algorithms For Convolutional Network Coding

Berlekamp-Massey decoding of RS code

Lecture 4 Noisy Channel Coding

ECE533 Digital Image Processing. Embedded Zerotree Wavelet Image Codec

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong

2018/5/3. YU Xiangyu

A t super-channel. trellis code and the channel. inner X t. Y t. S t-1. S t. S t+1. stages into. group two. one stage P 12 / 0,-2 P 21 / 0,2

BASICS OF DETECTION AND ESTIMATION THEORY

INFORMATION PROCESSING ABILITY OF BINARY DETECTORS AND BLOCK DECODERS. Michael A. Lexa and Don H. Johnson

MMSE DECODING FOR ANALOG JOINT SOURCE CHANNEL CODING USING MONTE CARLO IMPORTANCE SAMPLING

EECS 229A Spring 2007 * * (a) By stationarity and the chain rule for entropy, we have

Algorithms: COMP3121/3821/9101/9801

Principles of Communications

Training-Based Schemes are Suboptimal for High Rate Asynchronous Communication

Coding for Discrete Source

Lecture 3 : Introduction to Binary Convolutional Codes

16.36 Communication Systems Engineering

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

A New Interpretation of Information Rate

Transcription:

INFORMATION AND CONTROL 15, 155--164 (1969) On Synchronous Variable Length Coding for Discrete Noiseless Chrannels P. A. FRANASZEK IBM Watson Research Center, Yorktown Heights, New York A method is presented for finding the shortest variable length codes with a given bit per symbol ratio for discrete noiseless channels. The central feature of the procedure is a dynamic programming algorithm for determining the optimal code paths. Bounds are found for the channel capacity. LIST OF SYMBOLS {z,} = S Set of channel states {ak} Set of channel symbols D Skeleton state transition matrix C Channel capacity N Basic word length a/n Bit per symbol ratio NM Maximum word length ~b (z~, S*) Number of bits which can be transmitted with words starting at state ~ and terminating in states zj C S*. A State transition matrix P Code path I. INTRODUCTION In many digital transmission and recording systems, considerations such as spectral shaping, self-timing and limitations on intersymbol interference require that, before modulation, the data be mapped onto a sequence with special properties. Such suitable sequences often define discrete noiseless channels of the type considered by Shannon (1948), in which restrictions are represented by finite state sequential machines. In practice, the encoding of the binary data onto the channel sequence must 155

156 FRANASZEK usually be synchronous. By this is meant that the bit per symbol ratio is constant over each word, thus eliminating the need for buffers. Examples of such codes, designed for specific applications, were presented by Sipress (1965) and Gabor (1967). Properties of synchronous codes were studied by Franaszek (1968). In this paper, a construction procedure for the shortest variable (or fixed) length codes with a given bit per symbol ratio is described. The central feature of the method is a dynamic programming algorithm for finding the optimal code paths. An example is included to illustrate the method and to demonstrate the advantage of varying the word length. In addition, bounds are found for the channel capacity. II. THE CHANNEL AND ITS CAPACITY Let S denote the set of channel states. To each ai C S, there corresponds a set of allowable channel symbols l a~} al The transmission of a symbol takes the channel to a new state which is a function of the previous state and the transmitted symbol. It is convenient to define a channel skeleton transition matrix as follows: d.~. ~, = the number of sequences of n channel symbols which Let take the channel from a~ to a s. _D ~ [dij] = [dij], (1) where the brackets denote a matrix. Then, as described in Gill (1962), d n n ~ = [D]~j, n = 1,2,3..., (2) where [=D ~] ~3" denotes the ijth entry of the nth power of D. The capacity is defined as the number of bits per symbol that can be carried by the channel with codes that are arbitrarily long. The capacity of such channels was determined by Shannon (1948) and may be expressed as the logarithm to the base two of the largest real root of the equation where 5~j is the Kronecker delta. det [d~z -~ - &j] = O, (3)

SYNCHRONOUS VARIABLE LENGTH CODING 157 THEOREM. The channel capacity C is bounded by log2 [~j d~.] -- 2 log2 R < C < Iog2 [~j d~] (4) n-+r--1 = = n ' for n >- 1. The R is the number of channel states. It is assumed that the channel states are strongly comiected. Proof. Counting all possible sequences with no constraints on initial or final states, it is clear that Similarly C => log2[ d i~] ~ n The number of states in R. This implies that R--1 n ~J n = 1, 2,... (5) n = 1,2,... i = 1,2,...,R. (6) R E d~ -~ = > ~ d~- (~-1), M => R, (7) y=o as it is possible to reach ~ from ak ~ith at most (R - Since fori = 1,2... R. Hence k=l i) symbols. log~ E:- ~ d~ -~] ~=0 M < C = (S) log2 ~ dm--(r--i)] /~:I ik ] M substitutingn = M -- R + 1 [i ~ ~-(R-~)] =< C, (9) d;:k ~,~=1 M < C, = (10) log2 [~,k=~l d~k] -- 2 log2 R n+r--1 which is the desired result. log2 [~,~=~ d~] < C < (ii) n

158 FRANASZEK Equation (4) may at times be a more convenient method for calculating the capacity than Eq. (3), especially if the number of channel states is large. It should be noted that if n is a power of two, then D n may be obtained by logs (n) matrix multiplications. III. DISCUSSION OF SYNCHRONOUS CODES Although it is known that codes exist with bit per symbol ratios arbitrarily close to C, it is in practice necessary to determine how well one can do with rather short block lengths. This and the following sections are addressed to the problems of the existence and construction of the shortest codes with a given bit per symbol ratio. It is convenient to provide some background from Franaszek (1968). The formulation has been revised for greater ease in deriving the new results. Codes may be of either fixed or of variable length. For the variable length case, the requirement that the code be synchronous, coupled with the assumption that each word carries an integer number of information bits, implies that the word lengths are integer multiples of a basic word length N, where N is the smallest integer for which the bit per symbol ratio is that of two integers. For example, if a/n = 1.5, the basic word length is 2. A necessary and sufficient condition for the existence of a code is the existence of a principal state set S~, with the property that from each a~ E Sr there exist a sufficient number of distinct paths to other principal states to maintain the information rate. If the words are of length gn, g = 1, 2,.-, M, then the number of words available for coding from a given state a~ must s~tisfy the inequality (~,, s~) = LI(~,) + 2-"L2(~) +... + 2-"t'-~JL~,(~) _-> 2 ", (12) where L~ (~.) is the number of words of length gn allowed from ai which terminate in states zq E S~, and a is the number of bits carried by a word of length N. The existence of a principal state set and hence, the existence of a code, may be determined by the following method: Let S* be the set of states which have not been eliminated and ~ C S* a state to be tested. If ~b (ai, S*) =< 2 ", zi is eliminated from S*. Starting with S* = S, the procedure is continued until either all states h~ve been eliminated, or the routine goes through a complete cycle of

SYNCHRONOUS VARIABLE LENGTH CODING 159 remaining states without further elimination. In the latter case, the remaining states are the principal states. For the fixed length case, (~i, S*) is particularly easy to determine: (,~i, S*) = ~ dr, (13) 1 Ea* where N is the code word length. If codes of variable length are permitted, the construction of a code involves the problem of discovering whether a set of paths exist which satisfy Eq. (12). In the following section, this problem is solved by finding an optimal path set. IV. CODE PATH OPTIMIZATION This section presents a method for finding a set of code paths with the following properties: (1) The paths are of lengths in, j = i, 2,..., M. (2) All paths start from ~i and terminate in states ck C S*. (3) States in which paths of length gn terminate are not entered with gn symbols with paths of longer length. This is equivalent to imposing the prefix property on words starting from a given state. (4) The paths maximize (zl, S*) while minimizing the sum of the code path lengths M W(~, S*) = ~ gnng( ~). (14) i=l Let S*[n, aj be the subset of states belonging to S* which are reachable from ~ in n steps. This is the set of states for which di~- # 0 ~ith as E S*. Consider a path P of length (3/ - 1)N leading from ~r~ to ~k ~ S*[ (M - 1 )N, ~,]. If P is terminated at ~k, then its contribution to ~( ~, S*) is 2 -"I (~r-2)j. If P is continued beyond ~k, then the maximum contribution to ~(~i, S*) is ~ (~,, s*) = 2 -"~'-" ~2 d ~. (15) cjes*[ Mhr,o'i] Clearly, it does not pay to continue P beyond ck if 2 d~ =< 2 =. (16) 3 E ~* [ M N,~',i ] Termination of P at ck when the above condition holds with an equality that insures that W ( i, S*) is minimized for the maximum ~ (~, S*).

160 FRANASZEK The set of states which are members of S*[(M - 1)N, 0,] for which Eq. (16) holds ~dll be denoted by T[(M - 1)N, ~,]. Similarly, one may define terminal state sets T[(M - V)N, ~] S*[(M -- V)N, ~i], V = 1, 2,..., M - 1, at which it is desirable to terminate paths of length (M ~ V)N. The sets T[(M - V)N, z~.] may be recursively computed from T[ (M - V + j)n, z,],j = 1, 2,, V - 1. That is, a state is tested for inclusion in a terminal state by forming the optimal paths beyond that point. A state ~ C S*[(M - V)N, ~.] is a member of T[(M ~ V)N, z~] if ( E d~5) ak E T [ (M--V+I)W,~) az~t[(m--v+i)n,z,] omet[(m--v+2)y,gt~ : (17~ + 2-oE ~-" ( ~:... ai~ T[ ( M--V+l)N,al] E E d ~... d~) <= 2 ~. The maximum of ~b (ai, S*) is given by max~(~,s*)=( E d,~) ck E T [N,~, ] +2 -~( E E d~od~) %~T[N,a,] O'mET[2N,~i] (18) + 2-~M-~( E... E... E d,5...dos). ae~ T[N,al) ag~ T[ ( M--1)N,arC S*[ MN, ~] The code paths corresponding to max ~ (~, S*) m~y be obtained from the state transition matrix A, where a,j is the disjunction (+) of channel outputs corresponding to a transition from z~ to zj. Powers of A are formed by combining the above (+) operation with concatenation. The concatenation of a sequence of symbols and the null symbol (~) results in the null symbol. Let P~ (~)

SYNCHRONOUS VARIABLE LENGTH CODING 161 be the set of words of length rn available from state z~. Then, P~(~>= E a,~ q6t[n,e~] P2 (~) E N N aiqaql qct[n,~] IET[2N,~i] = aiqaqz... am~ q~t[n,cr~] / T[2N,~] where aiq V. EXAMPLE Consider a digital magnetic recorder in which intersymbol interference is controlled by requiring that each transition between saturation levels be separated by at least two baud intervals. The state-transition diagram for this constrained sequence is shown in Fig. i. The D matrix is given by D = 0. (21) The capacity of the channel is o C ~.551 bits/digit (22) 0 FIG. I

162 FRANASZEK It appears reasonable to assume that fairly short codes exist which carry one bit for every two channel symbols. Setting M = 1 in the optimization procedure, one may show that the shortest fixed length code with this efficiency has a channel block length of 14. D 14 = 41 88. (23) 60 129 All three states are principal states. The alphabet size required for coding from each state is 27 = 128 words. 3 d~ = 129 (24) 3 j=l d~ = 189 (25) 3 E dl} = 277. (26) j=l It is of interest to see how well one can do with a variable block length code. The bit per symbol ratio is 1/2, so that N = 2. It will be shown that a variable length code with a maximum word length of four exists which has the above ratio of bits per symbol. The quantities a, M and N are given by From o~=1 M=2 N=2. (27) (28) (29) D 4 = 1, (30) 1 it can be seen that, starting with S* = S, S[4, a~] = S[4, a2] = S[4, a3] = (a,, a~, as) = S. (31)

SYNCHRONOUS VARIABLE LENGTH CODING 163 Starting with ~,, and S* = S, the quantity (zl, ~*) ~-ill be maximized. so that F il, moreover 3*[2, (~,1 = (*a (33) 3 F: d~ = 3 > 2; (34) J=l so that T[2, ~1] is empty. Hence 3 max~(g~,s*) = 2 -~. d~.= 6 < 2, a so that 31 is eliminated from S*. Consider state ~. and 8*[4, ~] = (~=, ~), 3*[2, ~] = ~3 T[2, ~2] consists of ~a, since 2 -~ E d~; = 1. aje,s$ The maximum of ~(~2, S*) is given by d ~. 2-i 2 3 ~+ Z:Z:d. = :. < 2, j~3 k~l so that ~2 is eliminated from S*, which now contains onjy ~. so that era E T[2, ~3]. The maximum of (aa, 3") is given by ~ + 2-1 E dl; d~ -- 2, y~8 (35) (36) (37) (3s) (39) (40) (41) (42)

164 FRANASZ:EK so that z~ is not eliminated from S*. Moreover, z3 is the only remaining state. Hence, it must be a principal state. The available code alphabet is given below: Word 1. 0 0 Word 2. 0 1 0 0 Word 3. 1 0 0 0 A code may be constructed as follows: Binary Block Code Word 0 O0 10 0100 11 1000 The coder could operate by observing whether the received bit was either a one or a zero. In the latter case, 0 0 would be transmitted. Otherwise, the coder would transmit a 0 1 0 0 or a 1 0 0 0 depending on whether the next symbol was a one or a zero. The scheme may be implemented by including two-symbol delays in coding and decoding. The above example illustrates the advantage of variable length block codes. It shows how a code with a 128 word dictionary may be replaced by one with only three words. Thus, the extra effort involved in considering variable-length codes is at times worthwhile. VI. CONCLUSION A method has been presented for the construction of the shortest variable length synchronous codes for discrete noiseless channels. The optimal paths are found by a dynamic programming algorithm. It was shown that varying the word length at times results in a significant decrease in code complexity. Bounds were found for the channel capacity. RECEIVED: April 7, 1969 REFERENCES FRAN.~SZEK, P. A. (1968), Sequence-state coding for digital transmission. Bell System Tech. J. 47, 143-157. GABOR, A. (1967), Adaptive coding for self-clocking recording. IEEE Transactions on Electronic Computers. EC-16,866-867. GILL, A. (1962),"Introduction to the Theory of Finite-State Machines," McGraw- Hill, New York. SHANNON, C. E. (1948), A mathematical theory of communication. Bell System Tech. J. 27,379-423. SIPRESS, J. M. (1965), A new class of selected ternary pulse transmission plans for digital transmission lines. IEEE Trans. Comm. Tech. COiYI-13,366-372.