872 research outputs found

    A parallel Viterbi decoder for block cyclic and convolution codes

    No full text
    We present a parallel version of Viterbi's decoding procedure, for which we are able to demonstrate that the resultant task graph has restricted complexity in that the number of communications to or from any processor cannot exceed 4 for BCH codes. The resulting algorithm works in lock step making it suitable for implementation on a systolic processor array, which we have implemented on a field programmable gate array and demonstrate the perfect scaling of the algorithm for two exemplar BCH codes. The parallelisation strategy is applicable to all cyclic codes and convolution codes. We also present a novel method for generating the state transition diagrams for these codes

    Decoding of Repeated-Root Cyclic Codes up to New Bounds on Their Minimum Distance

    Full text link
    The well-known approach of Bose, Ray-Chaudhuri and Hocquenghem and its generalization by Hartmann and Tzeng are lower bounds on the minimum distance of simple-root cyclic codes. We generalize these two bounds to the case of repeated-root cyclic codes and present a syndrome-based burst error decoding algorithm with guaranteed decoding radius based on an associated folded cyclic code. Furthermore, we present a third technique for bounding the minimum Hamming distance based on the embedding of a given repeated-root cyclic code into a repeated-root cyclic product code. A second quadratic-time probabilistic burst error decoding procedure based on the third bound is outlined. Index Terms Bound on the minimum distance, burst error, efficient decoding, folded code, repeated-root cyclic code, repeated-root cyclic product cod

    On the Decoding Complexity of Cyclic Codes Up to the BCH Bound

    Full text link
    The standard algebraic decoding algorithm of cyclic codes [n,k,d][n,k,d] up to the BCH bound tt is very efficient and practical for relatively small nn while it becomes unpractical for large nn as its computational complexity is O(nt)O(nt). Aim of this paper is to show how to make this algebraic decoding computationally more efficient: in the case of binary codes, for example, the complexity of the syndrome computation drops from O(nt)O(nt) to O(tn)O(t\sqrt n), and that of the error location from O(nt)O(nt) to at most max{O(tn),O(t2log(t)log(n))}\max \{O(t\sqrt n), O(t^2\log(t)\log(n))\}.Comment: accepted for publication in Proceedings ISIT 2011. IEEE copyrigh

    Decoding Generalized Reed-Solomon Codes and Its Application to RLCE Encryption Schemes

    Get PDF
    This paper compares the efficiency of various algorithms for implementing quantum resistant public key encryption scheme RLCE on 64-bit CPUs. By optimizing various algorithms for polynomial and matrix operations over finite fields, we obtained several interesting (or even surprising) results. For example, it is well known (e.g., Moenck 1976 \cite{moenck1976practical}) that Karatsuba's algorithm outperforms classical polynomial multiplication algorithm from the degree 15 and above (practically, Karatsuba's algorithm only outperforms classical polynomial multiplication algorithm from the degree 35 and above ). Our experiments show that 64-bit optimized Karatsuba's algorithm will only outperform 64-bit optimized classical polynomial multiplication algorithm for polynomials of degree 115 and above over finite field GF(210)GF(2^{10}). The second interesting (surprising) result shows that 64-bit optimized Chien's search algorithm ourperforms all other 64-bit optimized polynomial root finding algorithms such as BTA and FFT for polynomials of all degrees over finite field GF(210)GF(2^{10}). The third interesting (surprising) result shows that 64-bit optimized Strassen matrix multiplication algorithm only outperforms 64-bit optimized classical matrix multiplication algorithm for matrices of dimension 750 and above over finite field GF(210)GF(2^{10}). It should be noted that existing literatures and practices recommend Strassen matrix multiplication algorithm for matrices of dimension 40 and above. All our experiments are done on a 64-bit MacBook Pro with i7 CPU and single thread C codes. It should be noted that the reported results should be appliable to 64 or larger bits CPU architectures. For 32 or smaller bits CPUs, these results may not be applicable. The source code and library for the algorithms covered in this paper are available at http://quantumca.org/
    corecore