* Self-Corrected Min-Sum, fixed point, layered schedule: `DECMETHOD='scmsla [-]I Q'`

* Self-Corrected Min-Sum, fixed point, layered schedule, by parallel processing: `DECMETHOD='scmspp [-]I Q P'`

where:

*`Z` is the lifting factor (size of the square sub-matrices),

*`M` is the number of block rows of the quasi-cyclic matrix,

*`N` is the number of block columns of the quasi-cyclic matrix,

*`HB(i,j)` is the right-rotation factor (modulus `Z`) of the `ZxZ` identity matrix of block row `i`, block column `j`. Negative values of `HB(i,j)` indicate the `ZxZ` zero matrix.

*`gen-file` is the file containing the code's generator matrix

*`I` is the maximum number of iterations; if positive the decoding stops when a valid code word is encountered or after `I` iterations; if negative the decoding stops after `I` iterations

*`Q` is the bit-width of fixed point data

*`P` is the number of parallel decoding units

To test one of the supported standard codes type:

## Running tests for a standard code

```bash

$ make test STANDARD=name Z=z M=m N=n

```

Supported standard codes are specified using four variables:

where:

*`STANDARD`: short name of a supported standard

*`Z`: lifting factor (e.g. 27, 54 or 81 for 802.11n)

*`M`: number of block rows of the quasi-cyclic matrix (e.g. 12 for 802.11n)

*`N`: number of block columns of the quasi-cyclic matrix (e.g. 24 for 802.11n)

*`name` is the short name of one of the supported standards (`802.11n`, `3GPP`),

*`Z` is the lifting factor (size of the square sub-matrices),

*`M` is the number of block rows of the quasi-cyclic matrix,

*`N` is the number of block columns of the quasi-cyclic matrix

To get the list of the supported standard codes type:

Currently supported standards are `802.11n` and `3GPP`. To get the list of all supported standard codes and their `Z`, `M`, `N` parameters, type:

```bash

$ make list

```

For more information about the available goals and customizable make variables, type:

Example to run a test for the 3GPP code base graph 1 with `Z=384`, on 10 code words, transmitted over a AWGN channel with 0.4 noise standard deviation (8 dB SNR), decoded using layered SCMS with 16 iterations and 8 bits fixed-point data:

*`Z` is the lifting factor (size of the square sub-matrices),

*`M` is the number of block rows of the quasi-cyclic matrix,

*`N` is the number of block columns of the quasi-cyclic matrix,

*`HB(i,j)` is the right-rotation factor (modulus `Z`) of the `ZxZ` identity matrix of block row `i`, block column `j`. Negative values of `HB(i,j)` indicate the `ZxZ` zero matrix.

Then:

```bash

host> make test QCMATRIX=foo.txt [VARIABLE=VALUE...]

```

<!-- vim: set tabstop=4 softtabstop=4 shiftwidth=4 noexpandtab textwidth=0: -->

<!-- vim: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab textwidth=0: -->