LDPC Code Simulation

버전 1.0.0.0 (82.6 KB) 작성자: Shaikh Faisal Zaheer
MATLAB code for LDPC (Low-Density Parity-Check) Codes simulation over the AWGN channel.
다운로드 수: 28.1K
업데이트 날짜: 2005/12/27

라이선스 없음

The zip file contains
1. A 128x256 Regular (3,6) H matrix (if you need to simulate other codes, need to write your own code for generating those parity check matrices). The file '128x256regular_v6.mat' is for those using Matlab 6.5.
2. Files for LDPC code simulation over the AWGN channel.
3. Matlab-based and C-based (C-mex file)implementation of the LDPC decoder. The main simulation script contains the commands for the use of both decoders (there are 2 C-based decoders and one Matlab based). The commands for the decoder that are going to be used need to "uncommented", and those for the other decoder need to be "commented".
3a. To compile the C-mex file, need to install a C compiler (I have used Miscosoft Visual C++ 6.0). Then have to go to the Matlab command window and do
">>mex -setup" (then go through the steps of selecting the desired compiler).
Then do:
">>mex decode_ldpc.cpp" (or ">>mex decode_ldpc_new.cpp"). This will produce a "dll" file by the name of "decode_ldpc.dll" (or "decode_ldpc_new.dll"), and this can then be used by the main script for simulation. I am including already compiled "dll" files which work with Maltab 7.0 (and Matlab 6.5). However if the included "dll" files do not work for you then you have to compile the "*.cpp" files using the method explained above.
3b. The Matlab code uses "Sparse" implementation for the various matrices, and is therefore makes efficient use of memory (this makes some difference if you -like me- use a standard PC for simulation and are using large H matrices that have block length greater than 3000). However if memory and CPU power and not your limitations then the C-based decoder is much faster.
4. The bit errors are counted over the entire code word. The main script needs to be modified for counting bit errors if a systematic matrix is being used.
5. The modulation used is BPSK.

To run a simulation
1. Open the script file by the name of
"generic_simulator_nonsys.m"
2. Load a H (parity-check) matrix
3. Set the SNR range
4. Set maximum number of decoder iteration, and maximum number of errored codewords to count for each SNR point (must be at least 30 for reliable estimate, the papers show results for 100-200 codeword errors. OUCH!!!).
5. Select the C-based OR Matlab-based LDPC decoder.
5A. The decoder "decode_ldpc_new" is much faster than "decode_ldpc" (the difference in speed increases with block length).
6. Run the script and wait for the results :) .

인용 양식

Shaikh Faisal Zaheer (2024). LDPC Code Simulation (https://www.mathworks.com/matlabcentral/fileexchange/8977-ldpc-code-simulation), MATLAB Central File Exchange. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R14
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Error Detection and Correction에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.0.0.0

The update contains a bug fix: the program part for finding 1's in the H matrix for input to the new C-based decoder used the 'hist' function, which sometimes caused an error This problem has now been fixed.