какие цели нужно стремиться достичь при выборе способа кодирования
ЛЕКЦИЯ 14. МЕТОДЫ КОДИРОВАНИЯ
Общие положения
Кодирование – способ представления информации. Для передачи сигналов по линиям с различной физической природой (провода, волокно, радиолиния) часто необходимо различное представление данных, то есть необходимо применять разные способы кодирования.
При выборе способа кодирования необходимо стремиться к достижению нескольких целей:
— минимизировать ширину спектра сигнала, полученного после кодирования;
— обеспечить синхронизацию между передатчиком и приемником;
— обеспечить устойчивость к шумам;
— обнаруживать и по возможности исправлять ошибки;
— минимизировать мощность передатчика.
Узкий спектр при заданной полосе пропускания линии позволит увеличить скорость передачи данных. Пусть есть 2 способа кодирования, в первом ширина спектра сигнала F = тактовой частоте смены сигналов f (F=f), а во втором способе F=0,8f. Тогда при одной и той же полосе В первый способ позволит передавать данные со скоростью В бит/с, а второй – (1/0,8)В=1,25В.
Синхронизация передатчика и приемника необходима, чтобы приемник точно знал в какой момент времени нужно считывать очередную порцию информации. При обмене данными между близко расположенными устройствами используется отдельная тактирующая линия, по которой передаются тактовые импульсы. В сетях это не используется по причинам: 1) экономия на проводах; 2) неодинаковость линий приводит тому, что тактовые сигналы отстают либо опережают информационные и синхронизм пропадает.
В сетях применяются самосинхронизирующие коды, сигналы которых несут указания о том, в какой момент нужно распознавать очередной бит или несколько бит. Любой резкий перепад сигнала – фронт – может быть указанием на необходимость синхронизации.
Распознавание и коррекцию ошибок сложно провести средствами физического уровня, чаще это проводится средствами более высоких уровней.
Компьютерные сети
You are here
Выбор способа кодирования
При выборе способа кодирования нужно одновременно стремиться к достижению нескольких целей:
Наши партнеры:
— Возможно эта информация Вас заинтересует:
— Посмотрите интересные ссылочки вот тут:
Более узкий спектр сигнала позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных. Спектр сигнала в обще м случае зависит как от способа кодирования, так и от тактовой частоты передатчика.
Тогда при одной и той же полосе пропускания В первый способ позволит передавать данные со скоростью В бит/с, а второй (1/0,8)В = 1,25 В бит/с.
Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в какой момент времени считывать новую порцию информации с линии связи. При передач е дискретной информации время всегда разбивается на такты одинаковой длительности, и приемник старается считать новый сигнал в середине каждого такта, то есть синхронизировать свои действия с передатчиком.
Проблема синхронизации в сетях решается сложнее, чем при обмене данными между близко расположенными устройствами, например между блоками внутри компьютера или же между компьютером и принтером. На небольших расстояниях хорошо работает схема, основанная на отдельной тактирующей линии связи (рис. 1), так что информация снимается с линии данных только в момент прихода тактового импульса. В сетях использование этой схемы вызывает трудности из-за неоднородности характеристик проводников в кабелях. На больших расстояниях неравномерность скорости распространения сигнала может привести к тому, что тактовый импульс придет настолько позже или раньше соответствующего сигнала данных, что бит данных будет пропущен или считан повторно. Другой причиной, по которой в сетях отказываются от использования тактирующих импульсов, является экономия проводников в дорогостоящих кабелях.
Рис. 1 Синхронизация приемника и передатчика на небольших расстояниях
В сетях для решения проблемы синхронизации применяются так называемые самосинхронизирующиеся коды, сигналы которых несут для приемника указания о том, в какой момент времени начать распознавание очередного бита (или нескольких битов, если код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала — фронт — может служить указанием на необходимость синхронизации приемника с передатчиком.
При использовании синусоид в качестве несущего сигнала результирующий код обладает свойством самосинхронизации, так как изменение амплитуды несущей частоты дает возможность приемнику определить момент очередного такта.
Распознавание и коррекцию искаженных данных сложно осуществить средствами физического уровня, поэтому чаще всего эту работу берут на себя протоколы, лежащие выше: канальный, сетевой, транспортный или прикладной. В то же время распознавание ошибок на физическом уровне экономит время, так как приемник не ждет полного помещения кадра в буфер, а отбраковывает его сразу при распознавании ошибочных битов внутри кадра.
Требования, предъявляемые к методам кодирования, являются взаимно противоречивыми, поэтому каждый из рассматриваемых далее популярных методов кодирования обладает своими достоинствами и недостатками в сравнении с другими.
Выбор способа кодирования
? минимизировать ширину спектра сигнала, полученного в результате кодирования;
? обеспечивать синхронизацию между передатчиком и приемником;
? обеспечивать устойчивость к шумам;
? обнаруживать и по возможности исправлять битовые ошибки;
? минимизировать мощность передатчика.
Более узкий спектр сигнала позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных. Спектр сигнала в общем случае зависит как от способа кодирования, так и от тактовой частоты передатчика. Пусть мы разработали два способа кодирования, причем в каждом такте передается один бит информации. Пусть также в первом способе ширина спектра сигнала F равна тактовой частоте смены сигналов f, то есть F = f, а второй способ дает зависимость F = O,8f. Тогда при одной и той же полосе пропускания В первый способ позволит передавать данные со скоростью В бит/с, а второй (1/0,8)В = 1,25 В бит/с.
Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в какой момент времени необходимо считывать новую порцию информации с линии связи. При передаче дискретной информации время всегда разбивается на такты одинаковой длительности, и приемник старается считать новый сигнал в середине каждого такта, то есть синхронизировать свои действия с передатчиком.
Проблема синхронизации в сетях решается сложнее, чем при обмене данными между близко расположенными устройствами, например между блоками внутри компьютера или же между компьютером и принтером. На небольших расстояниях хорошо работает схема, основанная на отдельной тактирующей линии связи (рис. 9.7), так что информация снимается с линии данных только в момент прихода тактового импульса.
|
В сетях для решения проблемы синхронизации применяются так называемые самосинхронизирующиеся коды, сигналы которых несут для приемника указания о том, в какой момент времени нужно осуществлять распознавание очередного бита (или нескольких битов, если код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала — фронт — может служить указанием на необходимость синхронизации приемника с передатчиком.
При использовании синусоид в качестве несущего сигнала результирующий код обладает свойством самосинхронизации, так как изменение амплитуды несущей частоты дает возможность приемнику определить момент очередного такта.
Распознавание и коррекцию искаженных данных сложно осуществить средствами физического уровня, поэтому чаще всего эту работу берут на себя протоколы, лежащие выше: канальный, сетевой, транспортный или прикладной. С другой стороны, распознавание ошибок на физическом уровне экономит время, так как приемник не ждет полного помещения кадра в буфер, а отбраковывает его сразу при распознавании ошибочных битов внутри кадра.
Требования, предъявляемые к методам кодирования, являются взаимно противоречивыми, поэтому каждый из рассматриваемых ниже популярных методов кодирования обладает своими достоинствами и недостатками в сравнении с другими.
Выбор способа кодирования
При выборе способа кодирования нужно одновременно стремиться к достижению нескольких целей:
□ минимизировать ширину спектра сигнала, полученного в результате кодирования;
□ обеспечивать синхронизацию между передатчиком и приемником;
□ обеспечивать устойчивость к шумам;
□ обнаруживать и по возможности исправлять битовые ошибки;
□ минимизировать мощность передатчика.
Более узкий спектр сигнала позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных. Спектр сигнала в общем случае зависит как от способа кодирования, так и от тактовой частоты передатчика. Пусть мы разработали два способа кодирования, причем в каждом такте передается один бит информации. Пусть также в первом способе ширина спектра сигнала F равна тактовой частоте смены сигналов f, то есть F = f, а второй способ дает зависимость F = 0,8f. Тогда при одной и той же полосе пропускания В первый способ позволит передавать данные со скоростью В бит/с, а второй (1/0,8)В = 1,25 В бит/с.
Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в какой момент времени необходимо считывать новую порцию информации с линии связи. При передаче дискретной информации время всегда разбивается на такты одинаковой длительности, и приемник старается считать новый сигнал в середине каждого такта, то есть синхронизировать свои действия с передатчиком.
Проблема синхронизации в сетях решается сложнее, чем при обмене данными между близко расположенными устройствами, например между блоками внутри компьютера или же между компьютером и принтером. На небольших расстояниях хорошо работает схема, основанная на отдельной тактирующей линии связи (рис. 9.7), так что информация снимается с линии данных только в момент прихода тактового импульса. В сетях использование этой схемы вызывает трудности из-за неоднородности характеристик проводников в кабелях. На больших расстояниях неравномерность скорости распространения сигнала может привести к тому, что тактовый импульс придет настолько позже или раньше соответствующего сигнала данных, что бит данных будет пропущен или считан повторно. Другой причиной, по которой в сетях отказываются от использования тактирующих импульсов, является экономия проводников в дорогостоящих кабелях.
|
В сетях для решения проблемы синхронизации применяются так называемые самосинхронизирующиеся коды, сигналы которых несут для приемника указания о том, в какой момент времени нужно осуществлять распознавание очередного бита (или нескольких битов, если код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала — фронт — может служить указанием на необходимость синхронизации приемника с передатчиком.
При использовании синусоид в качестве несущего сигнала результирующий код обладает свойством самосинхронизации, так как изменение амплитуды несущей частоты дает возможность приемнику определить момент очередного такта.
Распознавание и коррекцию искаженных данных сложно осуществить средствами физического уровня, поэтому чаще всего эту работу берут на себя протоколы, лежащие выше: канальный, сетевой, транспортный или прикладной. С другой стороны, распознавание ошибок на физическом уровне экономит время, так как приемник не ждет полного помещения кадра в буфер, а отбраковывает его сразу при распознавании ошибочных битов внутри кадра.
Требования, предъявляемые к методам кодирования, являются взаимно противоречивыми, поэтому каждый из рассматриваемых ниже популярных методов кодирования обладает своими достоинствами и недостатками в сравнении с другими.
Кодирование для чайников, ч.1
Не являясь специалистом в обозначенной области я, тем не менее, прочитал много специализированной литературы для знакомства с предметом и прорываясь через тернии к звёздам набил, на начальных этапах, немало шишек. При всём изобилии информации мне не удалось найти простые статьи о кодировании как таковом, вне рамок специальной литературы (так сказать без формул и с картинками).
Статья, в первой части, является ликбезом по кодированию как таковому с примерами манипуляций с битовыми кодами, а во второй я бы хотел затронуть простейшие способы кодирования изображений.
0. Начало
Давайте рассмотрим некоторые более подробно.
1.1 Речь, мимика, жесты
1.2 Чередующиеся сигналы
В примитивном виде кодирование чередующимися сигналами используется человечеством очень давно. В предыдущем разделе мы сказали про дым и огонь. Если между наблюдателем и источником огня ставить и убирать препятствие, то наблюдателю будет казаться, что он видит чередующиеся сигналы «включено/выключено». Меняя частоту таких включений мы можем выработать последовательность кодов, которая будет однозначно трактоваться принимающей стороной.
1.3 Контекст
2. Кодирование текста
Текст в компьютере является частью 256 символов, для каждого отводится один байт и в качестве кода могут быть использованы значения от 0 до 255. Так как данные в ПК представлены в двоичной системе счисления, то один байт (в значении ноль) равен записи 00000000, а 255 как 11111111. Чтение такого представления числа происходит справа налево, то есть один будет записано как 00000001.
Итак, символов английского алфавита 26 для верхнего и 26 для нижнего регистра, 10 цифр. Так же есть знаки препинания и другие символы, но для экспериментов мы будем использовать только прописные буквы (верхний регистр) и пробел.
Тестовая фраза «ЕХАЛ ГРЕКА ЧЕРЕЗ РЕКУ ВИДИТ ГРЕКА В РЕЧКЕ РАК СУНУЛ ГРЕКА РУКУ В РЕКУ РАК ЗА РУКУ ГРЕКУ ЦАП».
2.1 Блочное кодирование
Информация в ПК уже представлена в виде блоков по 8 бит, но мы, зная контекст, попробуем представить её в виде блоков меньшего размера. Для этого нам нужно собрать информацию о представленных символах и, на будущее, сразу подсчитаем частоту использования каждого символа: