code = bchenc(msg,N,K) кодирует входной сигнал с помощью (NK) Энкодер 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 аргумент.
Советы
Сгенерировать список допустимых (NK) пары наряду с соответствующими значениями возможности исправления ошибок, запуска bchnumerrN).
Допустимые значения для N = 2M– 1, где M является целым числом от 3 до 16. Максимальное допустимое значение N 65,535.
Ссылки
[1] Кларк, Джордж К. младший и J. Затвор Каин. Кодирование с коррекцией ошибок для цифровой связи, Нью-Йорка: нажатие пленума, 1981.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.