Блочный декодер
msg = decode(code,n,k,'
hamming/
fmt
',prim_poly)
msg = decode(code,n,k,'linear/
fmt
',genmat,trt)
msg = decode(code,n,k,'cyclic/
fmt
',genpoly,trt)
msg = decode(code,n,k)
[msg,err] = decode(...)
[msg,err,ccode] = decode(...)
[msg,err,ccode,cerr] = decode(...)
Входной параметр | Значение по умолчанию |
---|---|
fmt | binary
|
prim_poly | gfprimdf(m) где n = 2^m-1 |
genpoly | cyclpoly (n,k) |
trt | Использование syndtable составлять таблицу декодирования синдрома, сопоставленную с матрицей проверки четности метода |
decode
функционируйте стремится восстанавливать сообщения, которые были закодированы с помощью метода кодирования с коррекцией ошибок. Метод и параметры определения должны совпадать с теми, которые использовались, чтобы кодировать исходное сообщение.
Раздел For All Syntaxes по encode
страница с описанием объясняет значения n
и k
, возможные значения fmt
, и возможные форматы для code
и msg
. Необходимо быть знакомы с соглашениями, описанными там перед тем, чтобы читать остальную часть этого раздела. Используя decode
функция с входным параметром code
это не было создано encode
функциональные ошибки причины силы.
msg = decode(code,n,k,'
декодирует hamming/
fmt
',prim_poly)code
использование метода Хэмминга. Для этого синтаксиса, n
должен иметь форму 2m-1 для некоторого целого числа m больше, чем или равный 3, и k
должен равняться n
M. prim_poly
полиномиальный вектор символов или вектор-строка, который дает бинарные коэффициенты, в порядке возрастающих степеней, примитивного полинома для GF (2 м), который используется в процессе кодирования. Значение по умолчанию prim_poly
gfprimdf
(m). Таблица декодирования, что функциональным использованием, чтобы откорректировать одну ошибку в каждой кодовой комбинации является syndtable
(hammgen
M.
msg = decode(code,n,k,'
декодирует linear/
fmt
',genmat,trt)code
, который является линейным блочным кодом, определенным k
- n
порождающая матрица genmat
. genmat
требуется, как введено. decode
попытки откорректировать ошибки таблица trt
декодирования, где
trt
2^(n-k)
- n
матрица.
msg = decode(code,n,k,'
декодирует циклический код cyclic/
fmt
',genpoly,trt)code
и попытки откорректировать ошибки таблица trt
декодирования, где
trt
2^(n-k)
- n
матрица. genpoly
полиномиальный вектор символов или вектор-строка, который дает коэффициенты, в порядке возрастающих степеней, бинарного полинома генератора кода. Значение по умолчанию genpoly
cyclpoly
(n,k)
. По определению, полином генератора для [n
K
] циклический код должен иметь степень n-k
и должен разделить xn-1
.
msg = decode(code,n,k)
совпадает с msg = decode(code,n,k,'hamming/binary')
.
[msg,err] = decode(...)
возвращает вектор-столбец err
это дает информацию об исправлении ошибок. Если код является сверточным кодом, err
содержит метрические вычисления, используемые в процессе принятия решений декодирования. Для других типов кодов, неотрицательного целого числа в rth строке err
указывает на количество ошибок, откорректированных в rth слове message; отрицательное целое число указывает, что существует больше ошибок в rth слове, чем можно откорректировать.
[msg,err,ccode] = decode(...)
возвращает откорректированный код в ccode
.
[msg,err,ccode,cerr] = decode(...)
возвращает вектор-столбец cerr
чье значение зависит от формата code
:
Если code
бинарный вектор, неотрицательное целое число в rth строке vec2mat
cerr
указывает на количество ошибок, откорректированных в rth кодовой комбинации; отрицательное целое число указывает, что существует больше ошибок в rth кодовой комбинации, чем можно откорректировать.
Если code
не бинарный вектор, cerr = err
.
В зависимости от метода декодирования, decode
использует такие функции низшего уровня как hammgen
, syndtable
, и cyclgen
.