This is an open access article published by the IET under the Creative Commons Attribution-NonCommercial-NoDerivs License (http://creativecommons.org/licenses/by-nc-nd/3.0/)
In this study, we present SimCommSys, a simulator of communication systems that we are releasing under an open source license. The core of the project is a set of C + + libraries defining communication system components and a distributed Monte Carlo simulator. Of principal interest is the error-control coding component, where various kinds of binary and non-binary codes are implemented, including turbo, LDPC, repeat-accumulate and Reed–Solomon. The project also contains a number of ready-to-build binaries implementing various stages of the communication system (such as the encoder and decoder), a complete simulator and a system benchmark. Finally, SimCommSys also provides a number of shell and python scripts to encapsulate routine use cases. As long as the required components are already available in SimCommSys, the user may simulate complete communication systems of their own design without any additional programming. The strict separation of development (needed only to implement new components) and use (to simulate specific constructions) encourages reproducibility of experimental work and reduces the likelihood of error. Following an overview of the framework, we provide some examples of how to use the framework, including the implementation of a simple codec, the specification of communication systems and their simulation.
References
-
-
1)
-
16. Shannon, C.E.: ‘A mathematical theory of communication’, Bell Syst. Techn. J., 1948, 27, pp. 379–423, (doi: 10.1002/j.1538-7305.1948.tb01338.x).
-
2)
-
3. MacKay, D.J.C., Neal, R.M.: ‘Near Shannon limit performance of low density parity check codes’, Electron. Lett., 1997, 33, (6), pp. 457–458 (doi: 10.1049/el:19970362).
-
3)
-
6. Hunter, J. D.: ‘Matplotlib: a 2D graphics environment’, Comput. Sci. Eng., 2007, 9, pp. 90–95 (doi: 10.1109/MCSE.2007.55).
-
4)
-
20. Barbulescu, S.A., Pietrobon, S.S.: ‘Terminating the trellis of turbo-codes in the same state’, Electron. Lett., 1995, 31, (1), pp. 22–23 (doi: 10.1049/el:19950008).
-
5)
-
1. Arıkan, E.: ‘Channel polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channels’, IEEE Trans. Inf. Theory, 2009, 55, (7), pp. 3051–3073 (doi: 10.1109/TIT.2009.2021379).
-
6)
-
18. Iyengar, A.R., Siegel, P.H., Wolf, J.K.: ‘Write channel model for bit-patterned media recording’, IEEE Trans. Magn., 2011, 47, (1), pp. 35–45 (doi: 10.1109/TMAG.2010.2080667).
-
7)
-
15. Davey, M.C., MacKay, D.J.C.: ‘Reliable communication over channels with insertions, deletions, and substitutions’, IEEE Trans. Inf. Theory, 2001, 47, (2), pp. 687–698 (doi: 10.1109/18.910582).
-
8)
-
13. Briffa, J.A., Buttigieg, V.: ‘Interleavers and termination in unpunctured symmetric turbo codes’, IEE Proc. Commun., 2002, 149, (1), pp. 6–12 (doi: 10.1049/ip-com:20020032).
-
9)
-
15. Bahl, L., Cocke, J., Jelinek, F., Raviv, J.: ‘Optimal decoding of linear codes for minimizing symbol error rate’, IEEE Trans. Inf. Theory, 1974, 20, (2), pp. 284–287 (doi: 10.1109/TIT.1974.1055186).
-
10)
-
9. Briffa, J.A.: ‘A GPU implementation of a MAP decoder for synchronization error correcting codes’, IEEE Commun. Lett., 2013, 17, (5), pp. 996–999 (doi: 10.1109/LCOMM.2013.031913.130203).
-
11)
-
D.J.C. MacKay ,
R.M. Neal
.
Near Shannon limit performance of low density parity check codes.
Electron. Lett.
,
457 -
458
-
12)
-
1. Shannon, C.E.: ‘A mathematical theory of communication’, Bell Syst. Techn. J., 1948, 27, pp. 379–423 (doi: 10.1002/j.1538-7305.1948.tb01338.x).
-
13)
-
S.A. Barbulescu ,
S.S. Pietrobon
.
Terminating the trellis of turbo-codes in the same state.
Electron. Lett.
,
1 ,
22 -
23
-
14)
-
21. Levenshtein, V.I.: ‘Binary codes capable of correcting deletions, insertions and reversals’, Sov. Phys. Dokl., 1966, 10, (8), pp. 707–710.
-
15)
-
16)
-
17. Briffa, J.A., Schaathun, H.G., Wesemeyer, S.: ‘An improved decoding algorithm for the Davey–MacKay construction’. Proc. IEEE Int. Conf. Communications, Cape Town, South Africa, 23–27 May 2010.
-
17)
-
M.C. Davey ,
D.J.C. Mackay
.
Reliable communications over channels with insertions, deletions and substitutions.
IEEE Trans. Inf. Theory
,
2 ,
687 -
698
-
18)
-
24. Miller, R.L., Deutsch, L.J., Butman, S.A.: ‘On the error statistics of Viterbi decoding and the performance of concatenated codes’, NASA STI/Recon Tech. Rep., 1981, 81, (9).
-
19)
-
7. Cristea, B.: ‘Turbo receivers with IT + +’. Second Int. ICST Conf. Simulation Tools and Techniques. ACM, May 2010.
-
20)
-
11. Briffa, J.A., Schaathun, H.G.: ‘Improvement of the Davey–MacKay construction’. Proc. IEEE Int. Symp. Information Theory and its Applications, Auckland, New Zealand, 7–10 December 2008, pp. 235–238.
-
21)
-
18. Iyengar, A.R., Siegel, P.H., Wolf, J.K.: ‘Write channel model for bit-patterned media recording’, IEEE Trans. Magn., 2011, 47, (1), pp. 35–45 (doi: 10.1109/TMAG.2010.2080667).
-
22)
-
12. Briffa, J.A., Schaathun, H.G.: ‘Non-binary turbo codes and applications’. Proc. IEEE Int. Symp. Turbo Codes & Related Topics, Lausanne, Switzerland, 1–5 September 2008, pp. 294–298.
-
23)
-
25. Abrahams, D., Gurtovoy, A.: ‘C + + template metaprogramming: concepts, tools, and techniques from boost and beyond’ (Addison-Wesley Professional, 2004).
-
24)
-
23. McEliece, R.J., Swanson, L.: ‘Reed-Solomon codes and the exploration of the solar system’. , California Institute of Technology, 20th August, 1993. .
-
25)
-
5. Matlab: The language of technical computing’ (MathWorks, Inc., 2012). .
-
26)
-
27)
-
2. Berrou, C., Glavieux, A., Thitimajshima, P.: ‘Near Shannon limit error-correcting coding and decoding: turbo-codes’. Proc. IEEE Int. Conf. Communications, Geneva, Switzerland, May 1993, pp. 1064–1070.
-
28)
-
13. Briffa, J.A., Buttigieg, V.: ‘Interleavers and termination in unpunctured symmetric turbo codes’, IEE Proc. Commun., 2002, 149, (1), pp. 6–12 (doi: 10.1049/ip-com:20020032).
-
29)
-
22. Hunter, J.D.: ‘Matplotlib: a 2d graphics environment’, Comput. Sci. Eng., 2007, 9, (3), pp. 90–95 (doi: 10.1109/MCSE.2007.55).
-
30)
-
E. Arıkan
.
Channel polarization: a method for constructing capacity achieving codes for symmetric binary-input memoryless channels.
IEEE Trans. Inf. Theory
,
3051 -
3073
-
31)
-
6. de Lima, C.H.M., Stancanelli, E.M.G., Rodrigues, E.B., da S.Maciel, J.M., Cavalcanti, F.R.P.: ‘A software development framework based on C + + OOP language for link-level simulation tools’. Int. Telecommunications Symp., 2006, pp. 597–602.
-
32)
-
16. Ratzer, E.A.: ‘Marker codes for channels with insertions and deletions’, Ann. Telecommun., 2005, 60, pp. 29–44.
-
33)
-
L. Bahl ,
J. Cocke ,
F. Jelinek ,
J. Raviv
.
Optimal decoding of linear codes for minimizing symbol error rate.
IEEE Trans. Inf. Theory
,
2 ,
284 -
287
-
34)
-
9. Briffa, J.A.: ‘A GPU implementation of a MAP decoder for synchronization error correcting codes’, IEEE Commun. Lett., 2013, 17, (5), pp. 996–999 (doi: 10.1109/LCOMM.2013.031913.130203).
-
35)
-
10. Buttigieg, V., Briffa, J.A.: ‘Codebook and marker sequence design for synchronization-correcting codes’. Proc. IEEE Int. Symp. Information Theory, St. Petersburg, Russia, 31 July–5 August 2011.
http://iet.metastore.ingenta.com/content/journals/10.1049/joe.2014.0055
Related content
content/journals/10.1049/joe.2014.0055
pub_keyword,iet_inspecKeyword,pub_concept
6
6