Simulating the Operation of Turbo Codes through the Monte Carlo Method, Comparison between MATLAB, C and C#

The immense diversity of the ways of building a turbo code (TC) and the firm mathematical unpredictability of their performance clearly leads (the user or designer) to simulate the operation of the TCs. The particularity of the TCs of using recursive algorithms in the decoding process, as well as the necessity of memorizing the data sequences in order to interlace them, imposes certain restrictions on the simulators. Also, having as target very small bit error/frame rates (BER/FER), the TC simulator is required a high processing speed and a fine resolution. If the necessary memory does not depend on the programming environment and does not, actually, raise any problems for the storage capacity of the present-day PCs, the speed and resolution are critical parameters. This paper compares turbo code simulators developed in Matlab, C and C#. The purpose of this comparison is that of revealing the advantages and disadvantages implied by every programming environment. The accuracy of the estimation of performances as well as the processing speed are compared.

[1]  Catherine Douillard,et al.  The Minimum Likelihood APP Based Early Stopping Criterion for Multi-Binary Turbo Codes , 2006 .

[2]  Christian Bettstetter,et al.  Turbo decoding with tail-biting trellises , 1998, 1998 URSI International Symposium on Signals, Systems, and Electronics. Conference Proceedings (Cat. No.98EX167).

[3]  G. Marsaglia,et al.  The Ziggurat Method for Generating Random Variables , 2000 .

[4]  D. Divsalar,et al.  On the Design of Turbo Codes , 1995 .

[5]  Claude Berrou,et al.  Turbo codes with rate-m/(m+1) constituent convolutional codes , 2005, IEEE Transactions on Communications.

[6]  Lajos Hanzo,et al.  Turbo Coding, Turbo Equalisation and Space-Time Coding for Transmission over Fading Channels , 2002 .

[7]  M. E. Muller,et al.  A Note on the Generation of Random Normal Deviates , 1958 .

[8]  Claude Berrou,et al.  Computing the minimum distance of linear codes by the error impulse method , 2002, Global Telecommunications Conference, 2002. GLOBECOM '02. IEEE.

[9]  Michael C. Fu,et al.  Guest editorial , 2003, TOMC.

[10]  G. Marsaglia,et al.  A New Class of Random Number Generators , 1991 .

[11]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[12]  Cleve B. Moler,et al.  Numerical computing with MATLAB , 2004 .

[13]  John Cocke,et al.  Optimal decoding of linear codes for minimizing symbol error rate (Corresp.) , 1974, IEEE Trans. Inf. Theory.