Циклические коды. Кодирование.

  Рет қаралды 22,912

Codes and Signals

Codes and Signals

Күн бұрын

Подробно рассматривается кодирование несистематическим и систематическим циклическим кодом (7, 4). Даны схемы кодирования, основанные на регистре сдвига и сумматорах.
***************************
Также смотри мой сайт: codesandsignal...

Пікірлер: 45
@yulok6
@yulok6 3 жыл бұрын
Спасибо, очень полезный и понятный урок!
@ИгорьКорсиков-ч5у
@ИгорьКорсиков-ч5у 7 жыл бұрын
Спасибо за урок!
@Anatolii_V_Novikov
@Anatolii_V_Novikov 7 жыл бұрын
Игорь Корсиков, пожалуйста!
@АленаКорелова-ю2т
@АленаКорелова-ю2т 6 жыл бұрын
Анатолий, добрый день! Большое спасибо за доступные уроки! У меня вопрос я попытался ввести ошибку при не систематическом декодировании в S5 разряде - r0, r1, r2 получилось 001, что верно, а принятое сообщение а0,а1,а2,а3 с волной получилось 1011, что мы и передавали. Получается ошибка есть, а сообщение верное. И еще вопрос если я не правильно посчитал, и сообщение а0, а1,а2,а3 будет неверным, то дальше для коррекции частное по таблице x, на какой вектор нужно умножить неправильное сообщение а0, а1,а2,а3 с волной чтобы его скорректировать! Спасибо!
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
Добрый день, благодарю за коммент. Начну со второй части вопроса: корректор из таблицы надо прибавлять, а не умножать!
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
Если r0r1r2=001, то остаток r(x)=x^2, что может быть при ошибке в бите s2, а у вас почему-то в s5...
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
Пусть порождающщий полином g(x)=x^3+x+1, а слово а=1011, т.е. a(x)=1+x^2+x^3. Тогда s=1111111. Делая ошибку в бите s5, получим принятое кодовое слово v=(1111101). Этому соответствует полином ошибок e(x)=x^5, полином остаток res(x)=x^2+x+1 и корректор corr(x)=x^2+1. Деля v(x)=1+x+x^2+x^3+x^4+x^6 на порождающий полином, получаем частное a~(x)=x^3 и остаток r~(x)=x^2+x+1. Корректируя частное, получаем исправленное слово a(x)=a~(x)+corr(x)=x^3 + x^2+1, т.е. a=(a0,a1,a2,a3)=1011. Корректор вычисляется как corr(x)=[res(x)-e(x)] / g(x), причем для двоичных кодов вычитание можно заменить суммой по модулю два.
@АленаКорелова-ю2т
@АленаКорелова-ю2т 6 жыл бұрын
Анатолий извините меня пожалуйста, я из-за не внимательности принял отсчет битов S младшим разрядом сверху. Спасибо вам большое за разьяснение!
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
Алена Корелова, а, бывает.
@iicmd3067
@iicmd3067 5 жыл бұрын
Вот вы говорите, что S(x) при делении g(x) всегда даёт в остатке 0, но в первом примере, где у вас получилось 1111111, то есть S(x)=x^6+x^5+x^4+x^3+x^2+x+1, при делении на g(x)=x^3+x^2+1 имеет ненулевой остаток. Я что-то не так понял?
@Anatolii_V_Novikov
@Anatolii_V_Novikov 5 жыл бұрын
Подскажите на какой это минуте? Я по памяти помню, что этот длинный полином делится без остатка
@iicmd3067
@iicmd3067 5 жыл бұрын
@@Anatolii_V_Novikov на 10:35 мы получили ответ x^6 + x^5 + ••• + 1. Мы получили его после вычитания модуля двойки из 3x^3 в предыдущем многочлене. Предыдущий многочлен, до преобразования делился на образующий многочлен, а после преобразования уже не делится. Я сначала думал, что допустил арифметическую ошибку в делении, но затем воспользовался www.mathsolution.ru/math-task/polynom-div и там получился схожий результат
@Anatolii_V_Novikov
@Anatolii_V_Novikov 5 жыл бұрын
@@iicmd3067 3x^3 сравнимо с x^3 по модулю 2, т.к. 3 = 1 mod 2. Все там верно.
@aleksandrbolbenkov2185
@aleksandrbolbenkov2185 3 жыл бұрын
схема построена для полинома x^3+x^2+1. тогда все верно :)
@iicmd3067
@iicmd3067 5 жыл бұрын
можете, пожалуйса, объснить: как определить образующий полином (образующий многочлен)? У меня задание по циклическому коду(15, 4), и я пытаюсь разобраться что и откуда берётся
@Anatolii_V_Novikov
@Anatolii_V_Novikov 5 жыл бұрын
Добрый день. Полином можно взять из таблиц. Также можно разложить на множители нуль-полином x^n - 1, где в вашем случае n = 15. Например, на сайте live.sympy.org, введя код factor(x**15-1,modulus=2)
@Anatolii_V_Novikov
@Anatolii_V_Novikov 5 жыл бұрын
Разложив нуль-полином, выбирайте полином степени r=n-k=15-4=11. Как я понял, у вас код (15,4), где 4 - число информационных бит. Если 4 - это число проверочных бит, то надо брать полином 4 степени.
@Anatolii_V_Novikov
@Anatolii_V_Novikov 5 жыл бұрын
Также могу порекомендовать книгу Сагаловича Ю. Л. Введение в алгебраические коды. Но на неё требуется время.
@iicmd3067
@iicmd3067 5 жыл бұрын
@@Anatolii_V_Novikov спасибо, так понятнее
@kolyankorolev963
@kolyankorolev963 4 жыл бұрын
@@Anatolii_V_Novikov здравствуйте, не высчитывает полином для (31,4). Пишет Error. Как найти тогда полином?
@mtkn4192
@mtkn4192 3 жыл бұрын
Спасибо большое за обяснение. НО здесь 6:52 генераторный полином g(x)=1*x^3+0*x^2+1*x+1 имеет 4 члена. значит пров.биты - 4. кажется это ошибка
@Anatolii_V_Novikov
@Anatolii_V_Novikov 3 жыл бұрын
Нет, там всё верно. Степень порождающего полинома равна числу проверочных символов
@lyaisantukhvatullina1608
@lyaisantukhvatullina1608 2 жыл бұрын
Здравствуйте. На какой доске Вы работаете?
@Anatolii_V_Novikov
@Anatolii_V_Novikov 2 жыл бұрын
Здравствуйте, не понял Вас, на электронной видимо
@kikeonfun3037
@kikeonfun3037 4 жыл бұрын
Добрый день. Есть задание: "Закодировать циклическим кодом информационный вектор 1011. Вектор образующего полинома равен 1011." не понимаю как закодировать их. ведь добавляемые три проверочные бита так и остаются нулями (1011000 / 1011). Можете объяснить? Спасибо
@Anatolii_V_Novikov
@Anatolii_V_Novikov 4 жыл бұрын
Добрый. Обращайтесь к вашему преподавателю.
@Александр-е3х7й
@Александр-е3х7й 7 жыл бұрын
двоичные числа считаются с права на лево (а3 а2 а1 а0). Результат другой получается S=(1000101).
@Anatolii_V_Novikov
@Anatolii_V_Novikov 7 жыл бұрын
Ну что я могу сказать... Ищите ошибку.
@yurash1274
@yurash1274 6 жыл бұрын
потеряли х в степени 5
@andrewkozyrev2139
@andrewkozyrev2139 6 жыл бұрын
Благодарю. А можно про расширенные CRC-коды.
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
Спасибо. Вы имели ввиду коды Рида-Соломона и БЧХ коды? С этим пока разбираюсь, ролика на эту тему пока нет.
@andrewkozyrev2139
@andrewkozyrev2139 6 жыл бұрын
Нет, я имел ввиду расширенную циклическую контрольную сумму CRC(m+1). Если обычные коды умножаются на x^(n-k) для записи проверочной суммы; имеют генераторный полином вида g(x) неприводимый и примитивный. То расширенные коды имеют также возможность обнаружить любые нечётные ошибки; имеют генераторный полином G(x), который умножается на (1+x) в добавок. Очень хотелось бы увидеть видео с таким содержанием. А так, всё настолько хорошо объясняется в Ваших видео, что я сумел разобраться в обычных систематических циклических групповых CRC кодах. А есть ли несистематические? нециклические или негрупповые или эти эпитеты лишние?
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
Про НЕ систематические я объяснял, это когда s(x)=g(x)a(x).
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
НЕ циклические есть, полиномиальные. Не всякий порождающий многочлен даёт циклический код.
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
Про расширенные коды я не вижу смысла говрить. Есть пособие Сагаловича Ю Введение в алгебраические коды, там много чего есть)
@alexanderkratko1866
@alexanderkratko1866 3 жыл бұрын
Почти все уроки посмотрел, все очень круто, не планируете рассмотреть мягкое декодирование. Если нет, то где можно на примере его посмотреть?
@Anatolii_V_Novikov
@Anatolii_V_Novikov 3 жыл бұрын
Здравствуйте, спасибо) по поводу мягкого декодирования я рассмотрел декодирование ldpc кодов, алгоритм sum product. Циклические коды тоже можно так декодировать, потому что они являются линейными блочными кодами
@Bogush1995
@Bogush1995 6 жыл бұрын
Добрый день ! Как с вами можно связаться ?
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
Андрей Енотов, nawww83@gmail.com
@Bogush1995
@Bogush1995 6 жыл бұрын
Анатолий Новиков может вк есть ? Или воцап?
@Anatolii_V_Novikov
@Anatolii_V_Novikov 6 жыл бұрын
vk.com/id354040982
Циклические коды. Декодирование.
1:13:15
Codes and Signals
Рет қаралды 6 М.
Сверточные коды. Кодирование.
34:08
Codes and Signals
Рет қаралды 9 М.
POV: Your kids ask to play the claw machine
00:20
Hungry FAM
Рет қаралды 21 МЛН
отомстил?
00:56
История одного вокалиста
Рет қаралды 7 МЛН
Amazing Parenting Hacks! 👶✨ #ParentingTips #LifeHacks
00:18
Snack Chat
Рет қаралды 22 МЛН
My daughter is creative when it comes to eating food #funny #comedy #cute #baby#smart girl
00:17
Лекция 228. Кодирование битов при последовательной передаче
17:33
Электротехника и электроника для программистов
Рет қаралды 36 М.
Код Хаффмана
15:04
Kirsanov2011
Рет қаралды 23 М.
But what are Hamming codes? The origin of error correction
20:05
3Blue1Brown
Рет қаралды 2,4 МЛН
POV: Your kids ask to play the claw machine
00:20
Hungry FAM
Рет қаралды 21 МЛН