Блочный декодер
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 функционируйте стремится восстанавливать сообщения, которые были закодированы с помощью метода кодирования с коррекцией ошибок. Метод и параметры определения должны совпадать с теми, которые использовались, чтобы кодировать исходное сообщение.
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 должен равняться nM. prim_poly полиномиальный вектор символов или вектор-строка, который дает бинарные коэффициенты, в порядке возрастающих степеней, примитивного полинома для GF (2m) это используется в процессе кодирования. Значение по умолчанию prim_poly gfprimdf(m). Таблица декодирования, которая функциональное использование, чтобы откорректировать одну ошибку в каждой кодовой комбинации syndtable(hammgenM.
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). По определению, порождающий полином для [nK] циклический код должен иметь степень 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 строке vec2matcerr указывает на количество ошибок, откорректированных в rth кодовой комбинации; отрицательное целое число указывает, что существует больше ошибок в rth кодовой комбинации, чем можно откорректировать.
Если code не бинарный вектор, cerr = err.
В зависимости от метода декодирования, decode использует такие функции низшего уровня как hammgen, syndtable, и cyclgen.