Способы контроля правильности передачи информации

Способы контроля правильности передачи информации

Способы контроля правильности передачи информации

Контроль передачи информации



=== Скачать файл ===



















59. Способы контроля правильности передачи информации. Метод четности. Метод Хэмминга.

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ. Способы контроля правильности передачи данных

Управление правильностью помехозащищенностью передачи информации выполняется с помощью помехоустойчивого кодирования. Различают коды, обнаруживающие ошибки, и корректирующие коды, которые дополнительно к обнаружению еще и исправляют ошибки. Помехозащищенность достигается с помощью введения избыточности. Устранение ошибок с помощью корректирующих кодов такое управление называют Forward Error Control реализуют в симплексных каналах связи. В дуплексных каналах достаточно применения кодов, обнаруживающих ошибки Feedback or Backward Error Control , так как сигнализация об ошибке вызывает повторную передачу от источника. Это основные методы, используемые в информационных сетях. Простейшими способами обнаружения ошибок являются контрольное суммирование, проверка на нечетность. Однако они недостаточно надежны, особенно при появлении пачек ошибок. Поэтому в качестве надежных обнаруживающих кодов применяют циклические коды. Различают коды, обнаруживающие ошибки , и корректирующие коды , которые дополнительно к обнаружению еще и исправляют ошибки. Простейшими способами обнаружения ошибок являются контрольное суммирование, проверка на четность. П роверка на четность. Двоичный код с одним дополнительным проверочным разрядом четности, доводящим количество единиц в кодовом слове включая проверочный разряд до четного числа, позволяет обнаруживать одну ошибку. Для этого надо на приемной стороне или при воспроизведении сигнала сосчитать число единиц в кодовом слове. Если оно не является четным, то в канале произошла ошибка. К од с одной проверкой на четность является простейшим и его возможности очень скромны. Он находит применение в каналах с очень малой вероятностью ошибок. Увеличивая избыточность и вводя дополнительные проверочные разряды, можно не только обнаруживать сам факт ошибки, но и определять позицию ошибки и исправлять ее. Это можно сделать, например, представляя данные одного информационного слова в виде двумерной матрицы и вводя дополнительные разряды четности в строки и столбцы матрицы. Д ля исправления ошибки надо всего лишь найти строку и столбец матрицы, в которых произошли нарушения четности числа единиц, и заменить символ, принадлежащий найденным строке и столбцу на противоположный. Р ассмотренный код хорошо иллюстрирует принципы обнаружения и исправления ошибок, но для использования на практике он мало подходит, так как избыточность его очень велика, хотя она и сокращается с ростом длины информационной части слова. Примером корректирующего кода является код Хэмминга. В коде Хемминга вводится понятие кодового расстояния d расстояния между двумя кодами , равного числу разрядов с неодинаковыми значениями. Возможности исправления ошибок связаны с минимальным кодовым расстоянием dmin. L-разрядный контролирующий код есть инвертированный результат поразрядного сложения то есть сложения по модулю 2 номеров тех информационных разрядов, значения которых равны 1. Теперь вместе с основным кодом будет передан и дополнительный. На приемном конце вновь рассчитывается дополнительный код и сравнивается с переданным. Фиксируется код сравнения поразрядная операция отрицания равнозначности , и если он отличен от нуля, то его значение есть номер ошибочно принятого разряда основного кода. Пусть принятый код , его дополнительный код , код сравнения , то есть ошибка в четвертом разряде. К числу эффективных кодов, обнаруживающих одиночные, кратные ошибки и пачки ошибок, относятся циклические коды CRC - Cyclic Redundance Code. Они высоконадежны и могут применяться при блочной синхронизации, при которой выделение, например, бита нечетности было бы затруднительно. Один из вариантов циклического кодирования заключается в умножении исходного кода на образующий полином g x , а декодирование - в делении на g x. Если остаток от деления не равен нулю, то произошла ошибка. Сигнал об ошибке поступает на передатчик, что вызывает повторную передачу. Образующий полином есть двоичное представление одного из простых множителей, на которые раскладывается число Xn-1, где Xn обозначает единицу в n-м разряде, n равно числу разрядов кодовой группы. На приемном конце над кодом С выполняется операция О. Если остаток не равен нулю, то при передаче произошла ошибка и нужна повторная передача кода А. Выполнение операции расчета циклического кода показано на рис. П оложительными свойствами циклических кодов являются малая вероятность необнаружения ошибки и сравнительно небольшое число избыточных разрядов. Этот полином используется в протоколе V. В этом протоколе возможен и образующий полином для четырех избыточных байтов. Арифметические методы Принципы арифметического кодирования были разработаны в конце х годов В результате арифметического кодирования строка символов заменяется. Арифметическое кодирование позволяет обеспечить высокую степень сжатия, особенно в случаях, когда сжимаются данные, где частота появления различных символов сильно варьируется. Однако сама процедура арифметического кодирования требует мощных вычислительных ресурсов, и до недавнего времени этот метод мало применялся при сжатии передаваемых данных из-за медленной работы алгоритма. Лишь появление мощных процессоров, особенно с RISC-архитектурой, позволило создать эффективные устройства арифметического сжатия данных. Алгоритм , положенный в основу метода словарей, был впервые описан в работах израильских исследователей Якова Зива и Абрахама Лемпеля, которые впервые опубликовали его в г. В последующем алгоритм был назван Lempel-Ziv, или сокращенно LZ.. В его основе лежит идея замены наиболее часто встречающихся последовательностей символов строк в передаваемом потоке ссылками на 'образцы', хранящиеся в специально создаваемой таблице словаре. Сжатие данных по методу Лемпеля-Зива. Лемель и Зив используют следующую идею: В дальнейшем в сжатом сообщении вместо исходной последовательности записывается назначенный код. При декодировании повторяются аналогичные действия и потому становятся известными последовательности символов для каждого кода. Одна из алгоритмических реализаций этой идеи включает следующие операции. Первоначально каждому символу алфавита присваивается определенный код коды - порядковые номера, начиная с 0. Выбираются следующие два символа и заменяются своими кодами. Одновременно этой комбинации двух символов присваивается свой код. Обычно это номер, равный числу уже использованных кодов. Так, если алфавит включает 8 символов, имеющих коды от до , то первая двух символьная комбинация получит код , следующая - код и т. Выбираются из исходного текста очередные 2, 3, N символов до тех пор, пока не образуется еще не встречавшаяся комбинация. Тогда этой комбинации присваивается очередной код, и поскольку совокупность А из первых N-1 символов уже встречалась, то она имеет свой код, который и записывается вместо этих N-1 символов. Каждый акт введения нового кода назовем шагом кодирования. При декодировании код первого символа, а затем второго и третьего заменяются на символы алфавита. При этом становится известным код комбинации второго и третьего символов. В следующей позиции могут быть только коды уже известных символов и их комбинаций. Процесс декодирования продолжается до исчерпания сжатого текста. Сколько двоичных разрядов нужно выделять для кодирования? Ответ может быть следующим: В приведенном примере LZ-код оказался даже длиннее исходного кода, так как обычно короткие тексты не дают эффекта сжатия. Эффект сжатия проявляется в достаточно длинных текстах и особенно заметен в графических файлах. Непосредственным предшественником алгоритма LZW явился алгоритм LZ78, опубликованный в г. Этот алгоритм воспринимался как математическая абстракция до г. Welch опубликовал свою работу с модифицированным алгоритмом, получившим в дальнейшем название LZW Lempel-Ziv-Welch. Алгоритм LZW заменяет последовательности символов отдельными кодами. Он не производит анализ поступающего потока данных. Вместо этого он добавляет каждую новую строку символов в таблицу строк. Компрессия происходит за счет замены в выходном потоке последовательности символов ее кодом. Коды, которые алгоритм LZW помещает в выходной поток, могут быть произвольной длины, но должны содержать больше бит, чем одиночный символ. Первые кодов по умолчанию представляют собой стандартную таблицу символов. Оставшиеся коды соответствуют строкам, которые обрабатывает алгоритм. Простые реализации алгоритма работают с кодами битной длины. Это означает, что коды соответствуют одиночным байтам, а коды соответствуют подстрокам. LZW сжатие отлично работает с файлами, содержащими большое число повторяющихся данных, например с текстами и монохромными битмапами. Уже сжатые файлы, не содержащие повторяющейся информации, при обработке по этому алгоритму могут стать больше! Алгоритм LZW построен вокруг так называемой таблицы фраз словаря , которая отображает строки символов сжимаемого сообщения в коды фиксированной длины, равные 12 бит. Таблица обладает свойством предшествования, то есть для каждой фразы словаря, состоящей из некоторой фразы w и символа К, фраза w тоже содержится в словаре. В настоящее время патент принадлежит компании Unisys. Алгоритм LZW определяется как часть стандарта ITU-T V. В качестве примера, поясняющего принципы сжатия, рассмотрим простой метод Шеннона-Фано. В чистом виде в современных СПД он не применяется, однако позволяет проиллюстрировать принципы, заложенные в более сложных и эффективных методах. Согласно методу Шеннона-Фано для каждого символа формируется битовый код, причем символы с различными частотами появления имеют коды разной длины. Чем меньше частота появления символов в файле, тем больше размер его битового кода. Соответственно, чаще появляющийся символ имеет меньший размер кода. Код строится следующим образом: Затем их разделяют на две группы так, чтобы в каждой из них были примерно равные суммы частот символов. Первые биты кодов всех символов одной половины устанавливаются в 'О', а второй — в 'I'. После этого каждую группу делят еще раз пополам и так до тех пор, пока в каждой группе не останется по одному символу. Допустим, файл состоит из некоторой символьной строки aaaaaaaaaabbbbbbbbccccccdddddeeeefff, тогда каждый символ этой строки можно закодировать как показано в табл. Однако, показанный способ Шеннона-Фано не всегда приводит к построению однозначного кода. Хотя в верхней подгруппе средняя вероятность символа больше и, следовательно, коды должны быть короче , возможны ситуации, при которых программа сделает длиннее коды некоторых символов из верхних подгрупп, а не коды символов из -нижних подгрупп. Действительно, разделяя множество символов на подгруппы, можно сделать большей по вероятности как верхнюю, так и нижнюю подгруппы. В качестве примера такой ситуации служат приведенные ниже две таблицы, где одни и те же символы с одинаковыми вероятностями появления в файле имеют различную кодировку. Более удачен в данном отношении метод Хаффмена. Он позволяет однозначно построить код с наименьшей средней длиной, приходящейся на символ. Более универсален широко известный метод Хаффмена, относящийся к статистическим методам сжатия. Идея метода - часто повторяющиеся символы нужно кодировать более короткими цепочками битов, чем цепочки редких символов. Строится двоичное дерево, листья соответствуют кодируемым символам, код символа представляется последовательностью значений ребер эти значения в двоичном дереве суть 1 и 0 , ведущих от корня к листу. Листья символов с высокой вероятностью появления находятся ближе к корню, чем листья маловероятных символов. Распознавание кода, сжатого по методу Хаффмена, выполняется по алгоритму, аналогичному алгоритмам восходящего грамматического разбора. Например, пусть набор из восьми символов A, B, C, D, E, F, G, H имеет следующие правила кодирования:. Тогда при распознавании входного потока в стек распознавателя заносится 1, но 1 не совпадает с правой частью ни одного из правил. Поэтому в стек добавляется следующий символ 0. Полученная комбинация 10 распознается и заменяется на А. В стек поступает следующий символ 1, затем 1, затем 0. Сочетание совпадает с правой частью правила для D. Теперь в стеке AD, заносятся следующие символы и т. Недостаток метода заключается в необходимости знать вероятности символов. Если заранее они не известны, то требуются два прохода: Однако двухпроходность не всегда возможна. Этот недостаток устраняется в однопроходных алгоритмах адаптивного сжатия, в которых схема кодирования есть схема приспособления к текущим особенностям передаваемого потока символов. Поскольку схема кодирования известна как кодеру, так и декодеру, сжатое сообщение будет восстановлено на приемном конце. Обобщением этого способа является алгоритм, основанный на словаре сжатия данных. В нем происходит выделение и запоминание в словаре повторяющихся цепочек символов, которые кодируются цепочками меньшей длины. В соответствии с постановлением администрации района от Методические рекомендации по выполнению курсовой работы общие положения. Основными целями курсовой работы являются: Анализ электрохимических методов получения хлорсодержащих реагентов для обеззараживания воды Л. В последние годы в России постоянно совершенствуется нормативная база в области промышленной безопасности, ужесточающая требования к условиям произво Сохрани ссылку в одной из сетей: Способы контроля правильности передачи данных в компьютерных сетях; Управление правильностью помехозащищенностью передачи информации выполняется с помощью помехоустойчивого кодирования. Поэтому в качестве надежных обнаруживающих кодов применяют циклические коды Коды с обнаружением и исправлением ошибок. Код Хемминга В коде Хемминга вводится понятие кодового расстояния d расстояния между двумя кодами , равного числу разрядов с неодинаковыми значениями. Основной вариант циклического кода, широко применяемый на практике, отличается от предыдущего тем, что операция деления на образующий полином заменяется следующим алгоритмом: Пример получения циклического кода П оложительными свойствами циклических кодов являются малая вероятность необнаружения ошибки и сравнительно небольшое число избыточных разрядов. Общепринятое обозначение образующих полиномов дает следующий пример: Выбирается первый символ сообщения и заменяется на его код. Процесс продолжается до исчерпания исходного текста. Таблица 1 Исходный текст 0. Пусть исходный текст представляет собой двоичный код первая строка таблицы 1 , то есть символами алфавита являются 0 и 1. Коды этих символов соответственно также 0 и 1. Образующийся по методу Лемпеля-Зива код LZ-код показан во второй строке таблицы 1. В третьей строке отмечены шаги кодирования, после которых происходит переход на представление кодов А увеличенным числом разрядов R. Алгоритм LZW Непосредственным предшественником алгоритма LZW явился алгоритм LZ78, опубликованный в г. Как работает LZW Алгоритм LZW заменяет последовательности символов отдельными кодами. Достоинства и недостатки LZW сжатие отлично работает с файлами, содержащими большое число повторяющихся данных, например с текстами и монохромными битмапами. LZW сжатие очень быстрое Алгоритм LZW построен вокруг так называемой таблицы фраз словаря , которая отображает строки символов сжимаемого сообщения в коды фиксированной длины, равные 12 бит. Методы Шеннона-фано и Хаффмена В качестве примера, поясняющего принципы сжатия, рассмотрим простой метод Шеннона-Фано. Пример построения кода Шеннона-Фано Символ Частота появления Код а 10 11 b 8 10 с 6 d 5 е 4 f 3 Итак, если обычно каждый символ кодировался 7—8 битами, то теперь требуется максимум 3 бита. Например, пусть набор из восьми символов A, B, C, D, E, F, G, H имеет следующие правила кодирования: Cisco предлагает модели от простейших маршрутизаторов для малого офиса серия до мультигигабитных устройств, размещаемых в ядре Интернета серия Программа разработана в соответствии с требованиями государственного образовательного стандарта, предъявляемыми к минимуму содержания дисциплины и в соответствии с примерной программой дисциплины, утвержденной департаментом образовательных. Эталонная модель взаимосвязи открытых систем. Данный курс является дисциплиной общепрофессионального цикла и включает в себя изучение совокупности средств, способов и методов человеческой деятельности, направленных на создание и применение телекоммуникационных компьютерных систем и сетей.

Вязать сапожки спицами схема

Болезнь суставов пальцев рук симптомы

Как установить яндекс метрику

Через сколько котят можно забирать от матери

Можно ли полоскать горло содой

Мудрость веков цитаты и притчи

Мужик помогает вытащить руку из раковины

Переводчик google з англійської на українську

Если мужчине нравится когда ему ласкают

Стоматология клин ул гагарина расписание врачей

Перестал работать интернет на айфоне

Число 5 сонник

Где сделать новый медицинский полис

Тест на зрения ютуб

Сколько стоит монета 50 копеек 2001

Прелести женщины крупным планом

Структура правового отношения субъекты объекты

Павлова случай с картошкой рассказ

Способы полученияи химические свойства этилена

Рубка сруба в чашу своими руками технология

Report Page