Learn more about us or of things related to us.


UCLA Electrical Engineering »
About Our Research Area »
Annual Research Review (2013) »


Directions to UCLA Engineering »

Published Codes and Design Tools

LDPC Codes for Flash Memories

The LDPC codes for flash memories can be found in the .zip file that you can download below. The zip file includes three .txt LDPC parity check matrices. Each line represents an edge between a check node and variable node. The third number in each line is just an indicator with 0 indicating the end of the file.

The degree distribution of the codes is as follows:

Code 1:
λ(x) = 2.0054E-5x0 + 0.035776x1 + 0.39869x2 + 0.0084827x8 + 0.037701x9 + 0.51933x18
ρ(x) = 0.15662x54 + 0.84338x55

Code 2:
λ(x) = 1.7701E-5x0 + 0.031579x1 + 0.46923x3 + 0.0074877x8 + 0.033278x9 + 0.45841x18
ρ(x) = 0.0010975x61 + 0.73267x62 + 0.26623x63

Code 3:
λ(x) = 0.032172x1 + 0.002681x2 + 0.55764x3 + 0.40751x23
ρ(x) = 0.10366x57 + 0.89634x58


Nonlinear Trellis Codes

These are the specifications of the nonlinear trellis codes presented in “Non linear Trellis Codes for Binary-Input Binary-Output Multiple Access Channels With Single-User Decoding”, M. Griot, A.I. Vila Casado, W.-Y. Weng, H. Chan, J. Wang and R. Wesel. IEEE Transactions on Communications, vol. 60, No. 2, pp 364 - 374, February 2012.

All the codes are feed-forward encoders with the following trellis structure:

Trellis Structure

Row Combining Codes

The row combining codes can be found in the .zip file below. The codes are in the sub-matrix format. That is, each entry corresponds to a (p x p) sub-matrix that can be either the all-zero matrix or an identity matrix shifted to the right. The cyclic shift identifies the non-zero matrices and the zero-matrices are identified by a -1.


Cross-Layer Optimization

A cross-layer optimization tool based on TCOM2011 can be found in the .zip file below. The .zip file includes a .m file and a .fig file. In order to run the code, ensure that the two files are in the same folder. Then use MATLAB to run the .m file by typing the name of the .m file in MATLAB command window.


Please cite as:
T. A. Courtade and R. D. Wesel, "Optimal Allocation of Redundancy Between Packet-Level Erasure Coding and Physical-Layer Channel Coding in Fading Channels," IEEE Transactions on Communications, Vol. 59, No. 8, pp 2101 - 2109, August 2011.

Tight Bounds on the Mutual Information of the Binary Input AWGN Channel

As mentioned from [33] located in the Conference Publication section. The files below are Matlab code implementing the bounds.

Non-Binary LDPC Codes

Non-binary LDPC with symbols from GF(256) for three different information blocks of 96, 192, and 288 bits used in [Vakilinia et al. ISIT 2014] and [Vakilinia et al. ITW 2014]

The format of the .txt files (check matrices) is as follows:
number of variable nodes
number of check nodes
number of edges
highest variable-node degree
highest check-node degree
variable-node number        degree
check-node number           degree
variable-node number        check-node number

Rate-Compatible PBRL LDPC codes

Rate-compatible protograph-based Raptor-like (PBRL) LDPC codes for information block sizes of 16368 and 16384.

The format of the .txt files (check matrices) is as follows:

# variable nodes                 # check nodes             # edges
variable-node number        degree                         0 punctured, 1 transmitted
check-node number           degree
variable-node number        check-node number


High-Rate Irregular LDPC Code Design

This manuscript catalogs all stopping sets up to weight five of Low-density Parity-Check (LDPC) codes. The catalog is related, in general, to graphs and connected components and, in particular, to the design of high-rate irregular LDPC codes with a moderate block-length (n=2000 bits) by tackling the problem of minimum distance of an LDPC code. A code design example by utilizing this catalog is explained in paper [118] of our Conference Publications. The conference paper also provides an enumeration algorithm to enumerate these stopping sets in an LDPC code. Such a catalog, along with a low-complexity enumeration algorithm, can be used in general to also build (high-rate) LDPC codes or to label Non-binary LDPC (NB-LDPC) codes as explained in [118].