|
Кодирующее устройство для кода ФайераКодирующее устройство для кода ФайераМинистерство общего и профессионального образования РФ Московский энергетический институт (Технический Университет) Филиал в городе Смоленске Кафедра Вычислительной Техники Расчётно-пояснительная записка к курсовой работе по дисциплине: " Передача информации " Тема : " Кодирующее устройство для кода Файра". Преподаватель: Каевченко М. А. Группа: ВМ-1-97 Студент: Иванов А. Е. К защите: Смоленск 2000 г. Аннотация. Курсовая работа по курсу "Передача информации". Преподаватель : Каевченко Михаил Антонович. Автор работы: Иванов Алексей Евгеньевич. Название работы: “Кодирующее устройство для кода Файра ” Количество страниц: Количество иллюстраций: Цель курсовой работы: Построить математическую модель заданного корректирующего кода, найти образующую матрицу кода, технически реализовать средства для его кодирования/декодирования (на уровне принципиальной схемы). В главе 1 расчетно-пояснительной записки выполнен обзор теоретических аспектов, связанных с циклическими кодами. В главе 2 расчетно-пояснительной записки выполнена разработка принципиальной схемы кодирующего устройства. В главе 3 расчетно-пояснительной записки выполнен анализ технического задания. Глава 4 расчетно-пояснительной записки содержит описание работы кодирующего устройства. Глава 5 расчетно-пояснительной записки обосновывается выбор элементов и узлов в принципиальной схеме. Глава 6 расчетно-пояснительной записки содержит спецификации на разрабатываемую систему (модульная структура, описание пользовательского интерфейса, спецификация на программные модули). В главе 7 расчетно-пояснительной записки выбран метод тестирования, приведены результаты тестирования. Глава 8 расчетно-пояснительной записки содержит инструкцию пользователя по работе в системе и ограничение на разработанную программу. Введение. Два научных направления призваны сыграть особую роль в научно-техни- ческом прогрессе. Это- теория систем и теория информации. Особенность указанных научных направлений состоит в их всеобщности. Действительно, теория систем и теория информации имеют прямое отношение ко всем другим наукам, к явлениям любой физической природы и ко всем видам деятельности человека. Достаточно привести такое категорическое утверждение по этому поводу: “Информация есть всеобщее свойство материи и мера организация систем”. В ходе научно-технической революции наука об информации развивалась как дисциплина, имеющая ряд направлений. Деятельность людей связана с переработкой и использованием материалов, энергии и информации. Соответственно развивались научные технические дисциплины, отражающие вопросы технологии, энергетики и информатики. Информационная техника является сравнительно новой отраслью, получившее наибольшее развитие на этапе развития и применения электронных вычислительных машин (ЭВМ) и автоматизированных систем управления (АСУ). В ряду новых дисциплин (исследование операций, системотехника, административное управление) информационные наука и техника занимают одно из базовых положений. К информационной технике относятся средства, служащие для восприятия, подготовки, передачи, переработки, хранения и представления какой-либо информации, получаемой от человека, природы, машины, вообще от какого-либо объекта наблюдения и управления. Комплексное применение этих средств приводит к созданию больших и сложных информационных систем. С передачей и обработкой информации связаны действия любого автоматического устройства, поведение живого существа, творческая деятельность человека, развитие науки и техники, экономические и социальные преобразования в обществе и сама жизнь. Если материал (вещество) и энергия сравнительно полно изучены, то законы получения, преобразования и использования информации еще являются не известной областью, таящей в себе много неожиданных проявлений. Современные системы телемеханики лучше защищены от помех за счет более совершенных кодов, а сжатие данных позволяет увеличить объем передаваемой информации по тем же каналам связи. В данной работе будет рассмотрен помехозащищенный (или корректирующий) код – код Файра. Это циклический код, обнаруживающий и исправляющий пакеты ошибок. Особенности этого кода будут рассмотрены дальше. 1. Теоретическое введение. 1.1. Постановка задачи. Построить математическую модель заданного корректирующего кода, найти образующую матрицу кода, технически реализовать средства для его кодирования/декодирования (на уровне принципиальной схемы). Тип кода: Файра Число передаваемых сообщений: 63 Кодирующая способность кода: bs=3 br=4 1.2. Понятие двоичных циклических кодов. 1.2.1. Общие понятия и определения. Любой групповой (n, k) – код может быть записан в виде матрицы, включающей k линейно-независящих строк по n символов, и, наоборот, любая совокупность k линейно-независящих n-разрядных кодовых комбинаций может рассматриваться как образующая матрица некоторого группового кода. Среди всего многообразия таких кодов можно выделить коды, у которых строки образующих матриц связаны дополнительным условием цикличности. Все строки образующей матрицы такого кода могут быть получены циклическим сдвигом одной комбинации, называемой образующей для данного кода. Коды, удовлетворяющие этому условию, получили название циклических. Циклические коды относятся к числу блоковых систематических кодов, в которых каждая комбинация кодируется самостоятельно (в виде блока) таким образом, что информационные k и контрольные m символы всегда находятся на определенных местах. Возможность обнаружения и исправления практически любых ошибок при относительно малой избыточности по сравнению с другими кодами, а также простота схемной реализации аппаратуры кодирования и декодирования сделали эти коды широко распространенными. Теория циклических кодов базируется на теории групп и алгебре многочленов над полем Галуа. Многочлен (полином), который можно представить в виде произведения многочленов низших степеней, называют приводимым (в данном поле), в противном случае не приводимым. Неприводимые многочлены играют роль, сходную с простыми числами в теории чисел. Неприводимые многочлены P(X) можно записать в виде десятичных или двоичных чисел, либо в виде алгебраического многочлена. Многочлен в поле двоичных чисел называется неприводимым, если он делится без остатка только на себя или на единицу. В основу циклического кодирования положено использование неприводимого многочлена P(X), который применительно к циклическим кодам называется образующим, генератором или производящим многочленом (полиномом) . 1.2.2. Методы построения циклических кодов. В качестве информационных символов k для построения циклических кодов берут комбинацию двоичного кода на все сочетания. В общем случае, если заданную кодовую комбинацию G(X) умножить на образующий многочлен P(X) , получится циклический код, обладающий теми или иными корректирующими свойствами в зависимости от выбора P(X). Однако в этом коде контрольные символы m будут располагаться в самых разнообразных местах кодовой комбинации. Такой код не является систематическим, что затрудняет его схемную реализацию. Ситуацию можно значительно упростить, если контрольные символы приписать в конце кода, т. е. после информационных символов. Для этой цели удобно воспользоваться следующим методом. 1. Умножаем кодовую комбинацию G(X), которую мы хотим закодировать, на одночлен Xm , имеющий ту же степень, что и образующий многочлен P(X). 2. Делим произведение G(X)Xm на образующий многочлен P(X). G(X)Xm / P(x)=Q(X)+R(X)/P(X), (1.1) где Q(X) - частное от деления; R(X) – остаток. Умножая выражение (1) на P(X) и перенося R(X) в другую часть равенства, согласно правилам алгебры двоичного поля, т. е. без перемены знака на обратный, получаем F(X)=G(X)P(x)= G(X)Xm+R(X). (1.2) Таким образом, согласно (2) , циклический код, т.е. закодированное сообщение F(X), можно образовать двумя способами: 1) умножением одной из комбинаций двоичного кода на все сочетания [комбинация Q)(X) к той же группе того же кода, что и заданная комбинация G(X)] на образующий многочлен P(X). 2) умножением заданной кодовой комбинации G(X) на одночлен Xm, имеющий ту же степень, что и образующий многочлен P(X), с добавлением к этому произведению остатка R(X), полученного после деления произведения G(X)Xm на образующий многочлен P(X). Свойства образующего многочлена: 1. Все разрешенные комбинации циклического кода делятся на образующий многочлен без остака. 2. На образующий многочлен делится без остатка двучлен Xn+1. 1.3. Технические средства кодирования для двоичных циклических кодов. Основу кодирующих и декодирующих устройств двоичных циклических кодов составляют регистры сдвига с обратными связями, позволяющие осуществлять как умножение, так и деление многочленов с приведением коэффициентов по модулю 2. Все известные кодирующие устройства для любых типов циклических кодов, выполненные на регистрах сдвига, можно к двум типам схем согласно методам кодирования рассмотренным выше. С помощью схем первого типа вычисляются значения проверочных символов путем непосредственного деления многочлена G(X)Xm на образующий многочлен P(X). Это делается с помощью регистра сдвига, содержащего n-k разрядов (рис.1.1). В этой схеме коэффициенты кодируемого многочлена участвуют в обратной связи не через n-k сдвигов, а сразу с первого такта. Это позволяет устранить разрыв между информационными и проверочными символами. Рис. 1.1. Кодирующее устройство для циклического кода на основе (n-k) – разрядного регистра сдвига. В исходном состоянии ключ К1 находится в положении 1, а ключ К2 замкнут. Информационные символы одновременно поступают как в линию связи, так и в регистр сдвига, где за k тактов образуется остаток. Затем ключ К2 размыкается, ключ К1 переходит в положение 2 и остаток поступает в линию связи. С помощью схем второго типа вычисляют значения проверочных символов как линейную комбинацию информационных символов, т. е. построены на основе систематических кодов. Кодирующее устройство строится на основе k- разрядного регистра сдвига. Выходы ячеек памяти подключаются к сумматору в цепи обратной связи в соответствии с видом генераторного многочлена 1.4. Коды Файра. Под пакетом ошибок длинной b понимают такой вид комбинации помехи, в котором между крайними разрядами, пораженными помехами, содержится b-2 разряда. Коды Файра могут исправлять пакет ошибок длинной bs и обнаруживать пакет ошибок длинной br (в кодах Файра понятие кодового расстояния d не используются). Образующий многочлен кода Файра P(X)ф определяется из выражения P(X)ф= P(X)(Xc-1), (1.3) Где P(X) – неприводимый многочлен степени [pic]L. Из принципа построения кода следует, что L ? bs, (1.4) с ? bs+ br-1 (1.5) При этом с не должно делится нацело на число e, где e=2L -1 (1.6) Неприводимый многочлен P(X) выбирают из таблицы, согласно уравнению (4), но так, чтобы удовлетворялось условие (6). Длинна слова n равна наименьшему общему кратному чисел c и e, так как только в этом случае многочлен Xn+1 делится на P(X)ф без остатка: n=НОК(e,c) (1.7) Число контрольных символов m=c+L (1.8) ВЫВОДЫ. В данной главе были рассмотрены теоретические аспекты построения двоичных циклических кодов. Также было выбрано кодирующее устройство на основе n-k разрядного регистра. Выяснили, что сперва необходимо найти образующий многочлен (по соответствующим формулам), а потом на основе этого многочлена строить кодирующее устройство. В последующих главах будет приведена реализация кодирующее устройство кода Файра на ЭВМ и приведена принципиальная схема кодера. 2. Разработка схемы кодирующего устройства. 2.1. Построение кода Файра. Согласно техническому заданию и в соответствии с данными, полученными на курсовую работу образующий многочлен Файра P(X)ф. Согласно формуле (1.4) находим L ? 3 , откуда можно принять L=3. Из соответствующих таблиц выбираем неприводимый многочлен P(X)=x3+x+1= 1011. В соответствии с формулой (1.5): c ? 3+4-1 ? 6 , откуда можно принять с=6. По формуле (1.6) получаем е=23-1=7. Видим, что с на е нацело не делится. Число проверочных разрядов, подставляя в формулу (1.8) значения L и C, получим m=6+3=9 . Тогда длинна кода в соответствии с (1.7) равна n = НОК(6,7) = 42 Тогда код Файра имеет вид (42,33). Образующий многочлен Файра P(X)ф равен P(X)ф=(x3+x+1)(x6+1)=x9+x7+x6+x3+x+1=1011001011 (2.1) 2.2. Структурная схема кодирующего устройства. В соответствии с многочленом (2.1) схема получения проверочных символов будет иметь 9-ти разрядный регистр с двумя ключами. Структурная схема кодера представлена на рис. 2.1 Рис 2.1. Структурная схема кодера. ВЫВОДЫ. В данной главе получен образующий многочлен Файра, а также количество информационных символов и проверочных. По виду образующего многочлена определяется расположение сумматоров в кодирующем устройстве, а также количество разрядов в регистре сдвига. Далее будет рассмотрена работа принципиальной схемы и реализованной программы. 3. Анализ технического задания. Согласно техническому заданию на курсовую работу необходимо построить математическую модель заданного корректирующего кода, найти образующую матрицу кода, технически реализовать средства для его кодирования/декодирования (на уровне принципиальной схемы), разработать многомодульную программу реализующую кодирующее устройство на ЭВМ.. Программа должна иметь стандартный интерфейс, удовлетворяющий принятым нормам, работать правильно на всех допустимых персональных ЭВМ, текст программы должен быть удобно-читаемый и понятный пользователю. С целью упрощения процесса разбора текста программы, программа состоит из нескольких модулей, каждый из которых выполняет определённые функции. Можно выделить пять основных модуля: V Основная программа. В нём происходит обработка результатов выполнения остальных модулей программы. А именно: интерфейс, модуль ввода данных, модуль вывода данных, модуль обработки ошибок. Происходит выполнение алгоритма. V Модуль ввода. В нём происходит диалог пользователя с программой. В частности здесь происходит ввод информационных символов. V Модуль вывода. Здесь реализован вывод результатов выполнения программы в удобной для чтения форме. Результаты представлены в виде таблицы. Также здесь реализован вывод образующей матрицы. V Модуль обработки ошибок. В нём обрабатываются ошибки при вводе и реализована защита программы от сбоев. V Интерфейс. В этом блоке реализован интерфейс программы взаимодействия пользователя с ЭВМ. Интерфейс состоит из горизонтального меню и строки статуса. Основные пункты меню: V О программе. В этом пункте представлена краткая информация о программе. V Задание. Изложена полная постановка задачи. V Работа. Здесь реализован ввод данных и выполнение основного алгоритма, получение результатов и вывод их на экран в удобной для чтения форме. Программа должна корректно заканчивать свою работу, без ошибочных ситуаций. ВЫВОДЫ. В данной главе рассмотрены условия реализации программы и поставлены конкретные цели. Здесь было упоминание о модульной структуре программы, в следующей главе модульная структура будет рассмотрена подробнее. Также будут рассмотрены аспекты, связанные с реализацией пользовательского интерфейса. Работа устройства. Принципиальная схема кодирующего устройства приведена в приложении. Данные на вход кодирующего устройства поступают начиная со старшего разряда. Информация поступает на DD12.1 сумматор по модулю 2, выполненный на ИМС К555ИП5. Как только мы включили питание на схему, то через цепочку R4, C3, DD17.2, DD17.3 происходит начальный сброс счетчиков DD10, DD11. Это получается потому что в начальный момент времени, при резком подключении питания конденсатор С3 не успевает зарядится. На нем получается логический ноль. Этот ноль через инверторы DD14.2, DD14.3, выполненные на К155ЛИ1, преобразуется в единицу и поступает на входы счетчиков РЕ, счетчик переходит в режим записи, результате чего происходит запись в счетчики данных со входов D1-D4. Но так как эти входы заземлены, то на выходы счетчика запишутся нули. Произошло начальное обнуление. По истечении короткого промежутка времени конденсатор С3 заряжается до уровня логической единицы и счетчики переходят в режим счета импульсов. Так как счетчики обнулялись то на триггер DD15.2 на инверсный вход R поступает ноль и триггер установится в ноль. Этот ноль на выходе инвертора DD14.1становится единицей и поступает на инверсный вход R триггера DD15.1. Триггер хранит свое предыдущее нулевое значение, так как вход K заземлен, а на J поступает ноль со счетчика. Тогда на элемент DD13.3 будет поступать нулевой уровень. Но DD13.3 является элементом “И”, поэтому на его выходе всегда будет ноль. С другой стороны с инверсного выхода триггера на “И” поступает логическая единица и выходной сигнал будет зависеть от входного. Эта же единица поступает на DD13.5. Элементы DD13.3, DD13.4, DD13.5 выполняют роль ключей. Когда на выходе триггера DD15.1 логический ноль, то замкнут ключи К1, а К2 находится в положении 1 [см. Теоретическое введение], сигнал со входа напрямую поступает на выход, а в регистрах формируется остаток. Если на выходе триггера DD15.1 логическая единица, то ключи К1 разомкнут, а К2 находится в положении 2 . Входной сигнал через ключ DD13.4 поступает на выход ,а через ключ DD13.5 на вход регистра DD1. Запись в регистр происходит последовательно со сдвигом влево, в соответствии с тактируемыми импульсами. В схеме девять регистров (Степень образующего многочлена). Каждый регистр выполняет задержку на один такт. Пока триггер DD15.1 находится в нуле в регистрах за K-тактов вычисляются проверочные символы. Триггер DD15.2 управляет работой счетчиков и триггером DD15.1. Как только счетчики досчитали до k ,т.е. прошло k символов то DD15.1 перебрасывается в единицу, ключи DD13.5, DD13.4 открываются, а DD13.3 закрывается и из регистров на вход поступают проверочные символы за n-k тактов. Когда счетчик досчитает до n триггер DD15.2 перебросится в единицу и произойдет обнуление регистров, счетчиков и триггера DD15.1, т. е. схема готова принимать новую комбинацию. Временные диаграммы работы кодера приведены в приложении . ВЫВОДЫ. В данной главе была подробна описана работа принципиальной схемы. Далее будет рассмотрена отдельные элементы принципиальной схемы и их описание. 5.Выбор узлов принципиальной схемы. 5.1. Расчет генератора тактовых импульсов Генератор тактовых импульсов на ИМС DD1 К555АГ3. Принципиальная схема генератора приведена на рис.5.1. Период колебаний импульсов получаемых с автогенератора Т = 1 мс. Длительность импульса: tи = 0.5Т = 0.5 мс. Длительность паузы: tп = 0.5Т = 0.5 мс. Рассчитаем параметры RC элементов генератора: [pic]; [pic]; Задаваясь С1 = С2 = 0.1 мкФ, имеем: R1 = 5 кОм; R2 = 5 кОм. 5.2. Счетчик К555 ИЕ10 Для подсчета числа импульсов используем два счетчика К555 ИЕ10. Микросхема К555 ИЕ10 - это синхронный, четырехразрядный, реверсивный, двоично-десятичный счетчик с предварительной записью и выходом переноса. Условное обозначение и цоколевка даны на рис. 5.2. Особенностью данного счетчика является его построение по синхронному принципу, т. е. все триггеры переключаются одновременно от одного тактового импульса. Счетчик запускается положительным перепадом тактового импульса, подаваемым на вход синхронизации С. Сброс всех триггеров в нулевое состояние асинхронный по общему входу сброса R, т. е. осуществляется напряжением низкого уровня, независимо от сигналов действующих на входах С, РЕ, СЕР, СЕТ. Счетчик устанавливается в предварительное состояние при наличии на входе параллельной загрузки РЕ напряжения низкого уровня. В этом случае разрешена подача сигналов на триггер через входы параллельной установки D0 - D3 в момент прихода положительного перепада на вход С. Страницы: 1, 2 |
|
|||||||||||||||||||||||||||||
|
Рефераты бесплатно, реферат бесплатно, сочинения, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |