DOI: 10.20295/2223-9987-2026-2-176-186 ISSN: 2223-9987

Algorithm for Computing Minimum Code Distances of CRC as a Block Code

Anton Blyudov, Georgiy Pronin

Objective: to develop an algorithm for determining the minimum code distance of a CRC as a block code for various data part lengths. To develop a method for determining the feasibility of using CRC as a block noise-protection code (in this article, it is implied that for a certain number of data bits, the minimum code distance will be equal to two). Methods: computer simulation using the general-purpose interpreted programming language Python was used for experimental studies. The analytical review method and the theory of noise-protection coding were applied for theoretical studies. Results: a method for determining the upper bounds of minimum code distances for CRC codes is described and applied as an auxiliary tool. A method for determining the number of data bits at which the use of CRC as a noise-protection code ceases to be effective is described. An algorithm for calculating the minimum code distances of a CRC as a block code for various numbers of data bits is proposed and described. The algorithm yields parameters for codes with different minimum Hamming distances, for which the ratio of the minimum code distance to the number of data bits is the maximum possible for a given polynomial. Parameters for block codes for popular CRC8 polynomials are obtained. Practical significance: an algorithm has been developed that allows one to determine the parameters of sought-after codes formed by CRC polynomials up to and including CRC32 in a reasonable time. This allows one to determine minimum code distances for a different number of data bits, provided that the minimum code distance is greater than two. Results from applying the algorithm to popular CRC8 polynomials are presented.

More from our Archive