code = bchenc(msg,N,K) кодирует входной сигнал с помощью (N, K) энкодер BCH, который использует полином генератора узкого смысла. Для описания кодирования Bose–Chaudhuri–Hocquenghem (BCH) см. [1].
code = bchenc(msg,N,K,paritypos) добавляет или предварительно ожидает символы четности к закодированному входному сигналу, чтобы сформировать вывод.
Установите параметры BCH для массива Галуа GF (2).
M = 4;
n = 2^M-1; % Codeword length
k = 5; % Message length
nwords = 10; % Number of words to encode
Создайте сообщение.
msgTx = gf(randi([0 1],nwords,k));
Найдите возможность исправления ошибок.
t = bchnumerr(n,k)
t = 3
Закодируйте сообщение.
enc = bchenc(msgTx,n,k);
Повреждение до битов t в каждой кодовой комбинации.
noisycode = enc + randerr(nwords,n,1:t);
Декодируйте шумный код.
msgRx = bchdec(noisycode,n,k);
Подтвердите это, сообщение правильно декодировалось.
isequal(msgTx,msgRx)
ans = logical
1
Увеличьте число возможных ошибок и сгенерируйте другую шумную кодовую комбинацию.
t2 = t + 1;
noisycode2 = enc + randerr(nwords,n,1:t2);
Декодируйте новую полученную кодовую комбинацию.
[msgRx2,numerr] = bchdec(noisycode2,n,k);
Определите, декодировалось ли сообщение правильно путем исследования количества исправленных ошибок, numerr. Записи -1 соответствуют декодированию отказов, которые происходят, когда кодовая комбинация имеет больше ошибок, чем можно исправить для заданной пары [n,k].
numerr
numerr = 10×1
1
2
-1
2
3
1
-1
4
2
3
Две из десяти переданных кодовых комбинаций не были правильно получены.
msg — Обменивайтесь сообщениями, чтобы закодировать Массив Галуа символов по GF (2)
Обменивайтесь сообщениями, чтобы закодировать, заданный как массив Галуа символов по GF (2). Каждый K - строка элемента msg представляет слово сообщения, где крайний левый символ является старшим значащим символом.
Длина кодовой комбинации, заданная как целое число формы N = 2M–1, где M является целым числом от 3 до 16. Для получения дополнительной информации смотрите Советы.
Пример: 15 для M=4
KПередайте длину целое число
Передайте длину, заданную как целое число. N и K должны произвести узкий смысл код BCH.
Пример: 5 задает массив Галуа с пятью элементами
paritypos — Положение четности 'end' (значение по умолчанию) | 'beginning'
Положение четности, заданное как 'end' или 'beginning'. Символы четности в конце или начало каждого слова в выходном массиве Галуа.
Закодированное сообщение, возвращенное как массив Галуа. Символы четности в конце или начало каждого слова в выходном массиве Галуа. Чтобы задать положение символов четности, используйте аргумент paritypos.
Советы
Сгенерировать список допустимых (N, K) пары наряду с соответствующими значениями возможности исправления ошибок, запускают bchnumerr (N).
Допустимые значения для N = 2M–1, где M является целым числом от 3 до 16. Максимальное допустимое значение N 65,535.
Ссылки
[1] Кларк, Джордж К. младший и J. Затвор Каин. Кодирование с коррекцией ошибок для цифровой связи, Нью-Йорка: нажатие пленума, 1981.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.