ea-turbo-v2

所属分类:matlab编程
开发工具:matlab
文件大小:771KB
下载次数:8
上传日期:2013-12-20 00:41:52
上 传 者subisubramanian
说明:  turbo codes in matlab

文件列表:
examples (0, 2010-09-30)
examples\examples (0, 2010-09-30)
examples\examples\1.txt (256, 2010-09-01)
__MACOSX (0, 2013-07-31)
__MACOSX\examples (0, 2013-07-31)
__MACOSX\examples\examples (0, 2013-07-31)
__MACOSX\examples\examples\._1.txt (167, 2010-09-01)
examples\examples\10.txt (262, 2010-09-01)
examples\examples\11.txt (262, 2010-09-01)
examples\examples\15.txt (264, 2010-09-01)
examples\examples\17.txt (259, 2010-09-01)
examples\examples\18.txt (260, 2010-09-01)
examples\examples\1M-1L-1E-NC-R (0, 2010-09-30)
examples\examples\1M-1L-1E-NC-R\1M-1L-1E-NC-R_1.txt (809, 2010-08-16)
__MACOSX\examples\examples\1M-1L-1E-NC-R (0, 2013-07-31)
__MACOSX\examples\examples\1M-1L-1E-NC-R\._1M-1L-1E-NC-R_1.txt (171, 2010-08-16)
examples\examples\1M-1L-1E-NC-R\1M-1L-1E-NC-R_2.txt (811, 2010-08-13)
__MACOSX\examples\examples\1M-1L-1E-NC-R\._1M-1L-1E-NC-R_2.txt (171, 2010-08-13)
examples\examples\1M-1L-1E-NC-R\1M-1L-1E-NC-R_3.txt (875, 2010-08-13)
__MACOSX\examples\examples\1M-1L-1E-NC-R\._1M-1L-1E-NC-R_3.txt (171, 2010-08-13)
examples\examples\1M-1L-1E-NC-R\1M-1L-1E-NC-R_4.txt (875, 2010-08-13)
__MACOSX\examples\examples\1M-1L-1E-NC-R\._1M-1L-1E-NC-R_4.txt (171, 2010-08-13)
examples\examples\1M-2L-1E-NC-R_1.txt (2524, 2010-08-13)
__MACOSX\examples\examples\._1M-2L-1E-NC-R_1.txt (171, 2010-08-13)
examples\examples\1M-3L-1E-NC-R_1.txt (3446, 2010-08-13)
__MACOSX\examples\examples\._1M-3L-1E-NC-R_1.txt (171, 2010-08-13)
examples\examples\1M-4L-1E-NC-R_1.txt (12078, 2010-08-13)
__MACOSX\examples\examples\._1M-4L-1E-NC-R_1.txt (171, 2010-08-13)
examples\examples\2.txt (265, 2010-09-01)
examples\examples\2M-1L-1E-1A-NC-R (0, 2010-09-30)
examples\examples\2M-1L-1E-1A-NC-R\2M-1L-1E-1A-NC-R_1.txt (1747, 2010-08-13)
__MACOSX\examples\examples\2M-1L-1E-1A-NC-R (0, 2013-07-31)
__MACOSX\examples\examples\2M-1L-1E-1A-NC-R\._2M-1L-1E-1A-NC-R_1.txt (167, 2010-08-13)
examples\examples\2M-1L-1E-1A-NC-R\2M-1L-1E-1A-NC-R_2.txt (1747, 2010-08-13)
__MACOSX\examples\examples\2M-1L-1E-1A-NC-R\._2M-1L-1E-1A-NC-R_2.txt (167, 2010-08-13)
examples\examples\2M-1L-1E-1A-NC-R\2M-1L-1E-1A-NC-R_3.txt (1747, 2010-08-13)
__MACOSX\examples\examples\2M-1L-1E-1A-NC-R\._2M-1L-1E-1A-NC-R_3.txt (167, 2010-08-13)
examples\examples\2M-1L-1E-NC-R-D4-codes (0, 2010-09-02)
examples\examples\2M-1L-1E-NC-R-D4-codes\145.txt (152, 2010-09-01)
examples\examples\2M-1L-1E-NC-R-D4-codes\195.txt (150, 2010-09-01)
... ...

This set of Matlab programs "EA-Turbo" is freely available under the terms of the GNU General Public License v3. Please find a copy of the license included in the main directory. You are legally obliged to abide by the terms of this software license. The author of these software programs is Mark M. Wilde. You can contact him via email mwilde@gmail.com or find more information on how to contact him at http://markwilde.com. Zunaira Babar has provided an important edit to two of the files that significantly enhances the performance of the quantum turbo decoding algorithm. Mark M. Wilde acknowledges Min-Hsiu Hsieh for significant help, advice, and encouragement during the development of these software files. He developed them during an August 2010 visit with Min-Hsiu Hsieh at the ERATO-SORST project in Tokyo, Japan and subsequently during the first week of September 2010 upon his return to Montreal. He conducted extensive simulations with them for the month of September 2010 by exploiting about 70 Ubuntu Linux servers in the School of Computer Science at McGill University. Zunaira Babar conducted extensive simulations of these codes on the supercomputers at University of Southampton after adding her enhancement to the quantum turbo decoding algorithm. The software "EA-Turbo" supports the results in the paper "Entanglement-assisted quantum turbo codes", authored by Mark M. Wilde, Min-Hsiu Hsieh, and Zunaira Babar. The paper is about quantum turbo error-correcting codes that exploit entanglement shared between the sender and receiver before communication begins. There are four directories in "EA-Turbo": 1) "examples" contains many text files that detail examples of entanglement-assisted quantum convolutional encoders. Most of these examples encoders are recursive and non-catastrophic, two properties that are important for their use in an entanglement-assisted quantum turbo code. 2) "find-encoders" contains Matlab programs for finding good entanglement-assisted quantum convolutional encoders. The user should first configure a quantum convolutional encoder near the top of the file "find_encoders.m". The user should then run "find_encoders.m". The program will randomly generate a Clifford unitary, verify whether it is non-catastrophic, verify whether it is recursive, and if it possesses both properties, the program will approximate its distance spectrum (there is also a way to compute exactly using Cramer's rule, and this is at the end of "compute_adj_mtrix.m". The user can specify what he would like the minimum distance to be, and if the encoder passes all of the above specifications, the program will write the specification of the encoder to a text file. The program runs indefinitely until the user decides to halt it. 3) "other-structures" is a directory similar to "find-encoders", but it allows one to generate random Clifford encoders acting on information qubits, ancilla qubits, ebits, classical bits, and gauge qubits. One can then analyze whether a randomly generated encoder is recursive and non-catastrophic (though, an encoder without ebits cannot have both of these properties simultaneously---this is proven in the above paper.) 4) "iterative-decoding-mex" is perhaps the most important directory in this software distribution. It allows a user to simulate the performance of an entanglement-assisted quantum turbo code on a Pauli channel. The user should find a particular configuration in the "configs" subdirectory and drop it into the main directory (the user specify one of his own configurations). A configuration file should have a decimal representation of both the inner and outer constituent encoders. One can generate the decimal representation by exploiting the file "produce_trans.m" in the "find-encoders" directory. After running the configuration file in Matlab, the user should run the "main.m" file. This file will output updates of the simulation progress, and the running time depends on the encoder, the total number of logical qubits, etc. An EXAMPLE of the commands to run in Matlab are as follows: >> config_PTO1R_PTO1REA_noise_0_26_numlog_500 >> main The "main.m" program exploits C files that interface with Matlab via MEX, and the user should compile each of these files before running (though, note that this software distribution contains binaries compiled for Windows and Linux). To compile them, one should run the following commands in Matlab: mex SISO_local_update_last_guy.c row_matrix_multiply.c mex SISO_local_update.c row_matrix_multiply.c mex SISO_forward.c row_matrix_multiply.c mex SISO_backward_nonterminated.c row_matrix_multiply.c mex SISO_backward_terminated.c row_matrix_multiply.c

近期下载者

相关文件


收藏者