Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Block encoder

`code = encode(msg,n,k,'`

`linear/`

* fmt*',genmat)

code = encode(msg,n,k,'

`cyclic/`

`fmt`

code = encode(msg,n,k,'

`hamming/`

`fmt`

code = encode(msg,n,k)

[code,added] = encode(...)

The `encode`

function encodes messages using
one of the following error-correction coding methods:

Linear block

Cyclic

Hamming

For all of these methods, the codeword length is `n`

and
the message length is `k`

.

`msg`

, which represents the messages, can have one of several formats. The
**Information Formats** table shows which formats
are allowed for `msg`

, how the argument
* fmt* should reflect the format of

`msg`

, and how the format of the output `code`

depends on these choices. The examples in the table are for ```
k =
4
```

. If `fmt`

`binary`

**Information Formats**

Dimension
of `msg` | Value of fmt Argument | Dimension of `code` |
---|---|---|

Binary column or row vector | `binary` | Binary column or row vector |

Example: ```
msg = [0 1 1
0, 0 1 0 1, 1 0 0 1].'
``` | ||

Binary matrix with `k` columns | `binary` | Binary matrix with `n` columns |

Example: ```
msg = [0 1 1
0; 0 1 0 1; 1 0 0 1]
``` | ||

Column or row vector of
integers in the range [0, `2^k-1` ] | `decimal` | Column or row vector of
integers in the range [0, `2^n-1` ] |

Example: ```
msg = [6, 10,
9].'
``` |

If `2^n`

or `2^k`

is large, use the default
** binary** format instead of the

`decimal`

`code = encode(msg,n,k,'`

encodes `linear/`

* fmt*',genmat)

`msg`

using `genmat`

as
the generator matrix for the linear block encoding method. `genmat`

,
a `k`

-by-`n`

matrix, is required
as input.`code = encode(msg,n,k,'`

encodes `cyclic/`

* fmt*',genpoly)

`msg`

and
creates a systematic cyclic code. `genpoly`

is a polynomial
character vector or a row vector that gives the coefficients,
in order of ascending powers, of the binary generator polynomial.
The default value of `genpoly`

is `cyclpoly`

`(n,k)`

. By definition,
the generator polynomial for an [n,k] cyclic code must have degree
n-k and must divide x`code = encode(msg,n,k,'`

encodes `hamming/`

* fmt*',prim_poly)

`msg`

using
the Hamming encoding method. For this syntax, `n`

must
have the form 2`k`

must equal `n`

-m. `prim_poly`

is
a polynomial character vector or
a row vector that gives the binary coefficients, in order of ascending
powers, of the primitive polynomial for GF(2`prim_poly`

is
the default primitive polynomial `gfprimdf`

(m).`code = encode(msg,n,k)`

is
the same as `code = encode(msg,n,k,'hamming/binary')`

.

`[code,added] = encode(...)`

returns
the additional variable `added`

. `added`

is
the number of zeros that were placed at the end of the message matrix
before encoding in order for the matrix to have the appropriate shape.
“Appropriate” depends on `n`

, `k`

,
the shape of `msg`

, and the encoding method.

Depending on the encoding method, `encode`

relies
on such lower-level functions as `hammgen`

and `cyclgen`

.

Was this topic helpful?