The theory of parallel crc codes based on automaton models

Authors

DOI:

https://doi.org/10.15587/1729-4061.2016.85603

Keywords:

CRC codes, checksum, linear finite-state machine (LFSM), tables lookup

Abstract

A theoretical representation of the CRC codes with the aid of the finite automata in the Galois fields is proposed –linear finite-state machine (LFSM). We examined three types of LSC, which are distinguished by its characteristic matrices: type 1, type 2, and type 3. Three methods of the parallel CRC computation are proposed.

The theorems are proven about the estimation of duration of the CRC computation by tuple-parallel method for three types of LFSM. We presented algorithms for the CRC tuple-parallel computation by the tables lookup for different types of LFSM and demonstrated their hardware implementation. For the symbolic-parallel and symbolic-tuple-parallel methods of CRC computation, symbolic LFSM over the non-binary Galois fields are applied.

In contrast to the known approaches, which consider the problem of high speed only, present article stresses the need for taking into account a capability to detect errors with the aid of generator polynomials of the CRC codes. We proposed the Hamming codes and the Abramson codes in the binary and non-binary Galois fields for this purpose.

Within the framework of single mathematical apparatus – theory of LFSM – it is possible to solve two important tasks simultaneously: to carry out mathematical substantiation of performance efficiency of the methods for parallel CRC computation and to estimate the detection and correction capability of the CRC codes based on LFSM graph models.

Such comprehensive approach is relevant in the practice of various data transmission, storage and compression systems. 

Author Biography

Vasyl Semerenko, Vinnytsia National Technical University Khmelnytske highway, 95, Vinnytsia, Ukraine, 21021

PhD, Associate Professor

Department of computer technique

References

  1. Peterson, W., Brown, D. (1961). Cyclic Codes for Error Detection. Proceedings of the IRE, 49 (1), 228–235. doi: 10.1109/jrproc.1961.287814
  2. Semerenko, V. P. (2015). Theory and practice of crc codes: new results based on automaton models. Eastern-European Journal of Enterprise Technologies, 4 (9 (76)), 38–48. doi: 10.15587/1729-4061.2015.47860
  3. Walma, M. (2007). Pipelined Cyclic Redundancy Check (CRC) Calculation. 2007 16th International Conference on Computer Communications and Networks. doi: 10.1109/icccn.2007.4317846
  4. Krishna Reddy, K. V. (2013). An Optimization Technique for CRC Generation. International Journal of Computer Trends and Technology (IJCTT), 4 (9), 3260–3265. Available http://www.ijcttjournal.org
  5. Hemant, S., Sharma, H., Tomar, S., Kanungo, J. (2015). FPGA implementation of 4-bit parallel Cyclic Redundancy Code. International Journal of Research in Engineering and Technology, 04 (11), 111–113. doi: 10.15623/ijret.2015.0411021
  6. Gawande, S., Ladhake, S. A. (2015). Design and Implementation of Parallel CRC for High Speed Application. International Journal of Science and Research (IJSR), 04 (2), 90–92. Available at: http://www.ijsr.net/archive/v4i2/SUB15590.pdf
  7. Koopman, P., Chakravarty, T. (2004). Cyclic redundancy code (CRC) polynomial selection for embedded networks. International Conference on Dependable Systems and Networks, 2004. doi: 10.1109/dsn.2004.1311885
  8. Nguyen, G. D. (2009). Fast CRCs. IEEE Transactions on Computers, 58 (10), 1321–1331. doi: 10.1109/tc.2009.83
  9. Sheidaeian, H., Zolfaghari, B. (2012). Parallel Computation of CRC Using Special Generator Polynomials. International Journal of Computer Networks & Communications, 4 (1), 39–47. doi: 10.5121/ijcnc.2012.4104
  10. Albertengo, G., Sisto, R. (1990). Parallel CRC generation. IEEE Micro, 10 (5), 63–71. doi: 10.1109/40.60527
  11. Campobello, G., Patane, G., Russo, M. (2003). Parallel crc realization. IEEE Transactions on Computers, 52 (10), 1312–1319. doi: 10.1109/tc.2003.1234528
  12. Gill, A. (1974). Linear sequential machines. Мoscow: Nauka, 288.
  13. Semerenko, V. P. (2015). Teorija cyklichnyh kodiv na osnovi avtomatnyh modelej. Vinnycja: VNTU, 444.
  14. Blahut, R. (1986). Theory and Practice of Error Control Codes. Мoscow: Myr, 576.
  15. Ahmad, A., Hayat, L. (2011). Selection of polynomials for cyclic redundancy check for the use of high speed embedded – an algorithmic procedure. Wseas Transactions on Computers, 10 (1), 16–20.
  16. Semerenko, V. P. (2015). Estimation of the correcting capability of cyclic codes based on their automation models. Eastern-European Journal of Enterprise Technologies, 2 (9 (74)), 16–24. doi: 10.15587/1729-4061.2015.39947

Downloads

Published

2016-12-26

How to Cite

Semerenko, V. (2016). The theory of parallel crc codes based on automaton models. Eastern-European Journal of Enterprise Technologies, 6(9 (84), 45–55. https://doi.org/10.15587/1729-4061.2016.85603

Issue

Section

Information and controlling system