Автор работы: Пользователь скрыл имя, 08 Июня 2014 в 17:26, курсовая работа
Циклические коды являются подклассом в классе линейных блоковых кодов, удовлетворяющих определенным требованиям. Свое название данные коды получили по причине того, что основной операцией построения кодовых последовательностей (Fi(x)) является цикл, а точнее циклическая перестановка двоичных символов разрешенных кодовых последовательностей. Циклическим кодом называется линейный блоковый код, который представляет собой конечное множество, замкнутое относительно операции циклического сдвига кодовых последовательностей, образующих данный код. С математической точки зрения ЦК является идеалом в линейной коммутативной алгебре многочлена (полинома) n-го порядка по модулю двучлена xn-1 над полем коэффициентов.
ВВЕДЕНИЕ
4
1 Основные сведения о циклических кодах
5
2 Расчет параметров циклического кода
17
3 Разработка структурной схемы канального кодека циклического кода
19
3.1 Разработка структурной схемы кодера циклического кода
19
3.2 Разработка структурной схемы декодера циклического кода
20
4 Разработка функциональной схемы кодека циклического кода
23
4.1 Разработка функциональной схемы кодера
23
4.2 Разработка функциональной схемы декодера
24
5 Разработка принципиальной схемы кодека
26
5.1 Выбор и обоснование элементной базы проектируемого кодека
26
5.2 Разработка принципиальной схемы кодера
27
5.3 Разработка принципиальной схемы декодера
33
Заключение
38
Литература
I тип. Алгоритм кодирования описывается выражением
Структурная реализация кодера показана на рисунке 6.
Рисунок 6 – Структурная реализация кодера I типа
Схема деления отличается от ранее рассмотренной схемы. Здесь коэффициенты m(x) участвуют в обратной связи не через k тактов, а сразу с первого такта.
Принцип работы. Исходное положение: электронный ключ ЭК - в положении 1, триггеры - в нулевом состоянии. В регистре через m тактов образуется остаток r(x). На (m+1)-м такте ЭК переключается в положение 2 и остаток из регистра сдвига выдвигается в линию связи.
Структурная реализация кодирующего устройства приведена на рисунке 7.
Рисунок 7 – Структурная реализация кодера II типа
3) III тип.
Алгоритм кодирования
(13)
где - элементы проверочной матрицы в циклической форме. Для каждого j при i = 0,1,...,m-1 они определяются проверочным полиномом в форме
, где символы .
Структурная реализация кодера с использованием многовходового сумматора по mod2 приведена на рисунке 8.
Рисунок 8 – Структурная реализация кодера III типа
Принцип работы. ЭК - в положении 1. За m тактов регистр заполняется. На (m+1)-м такте ЭК переводится в положение 2. При этом на каждом последующем такте один информационный символ выдается в канал связи и одновременно формируется контрольный символ, который записывается в ячейку регистра. Через (m+k) тактов формирование контрольных символов заканчивается. ЭК переводится в положение 1. В течение последующих m тактов содержание регистра выдается в канал с одновременным заполнением ячеек регистра новой последовательностью информационных символов.
Мажоритарные коды:
Стремление создать наиболее простой двоичный декодер привело к созданию так называемых мажоритарных декодеров, которые являются наипростейшими и могут быть использованы для декодирования двоичных кодов большой длины. Кодирующие устройства используют регистры сдвига с обратными связями по модулю два. Регистр сдвига имеет k ячеек, что равно числу информационных символов. В эти ячейки записывается слово, состоящее из информационных символов, и после сигнала пуск с выхода регистра сдвига за n тактов получаем слово циклического кода. Структура обратных связей регистра сдвига определяется генераторным полиномом
(13)
Например, для циклического кода (21,11) с образующим многочленом получим .
В ячейки регистра сдвига записываются информационные символы в порядке, указанном цифрами в ячейках регистра сдвига. После сигнала “пуск” при каждом такте происходят продвижение символов “1” в ячейках регистра на один символ, а о крайнюю левую ячейку (11) записывается символ, значение которого равно сумме по модулю два символов, находящихся в ячейках 1, 4, 5. 10. В ячейку 11 записываются корректирующие символы, которые являются линейной комбинацией информационных и корректирующих символов, что является характерной чертой линейного блочного кода. Таким образом, генераторный полином определяет уравнения проверок.
Рисунок 9 - Кодер циклического кода (21, 11)
Рассмотрим процедуру мажоритарного декодирования. Будем рассматривать код (21,11).
В соответствии с проверочной матрицей можно записать десять проверочных уравнений:
Выберем теперь такие проверочные уравнения или их комбинации (суммы по модулю два), в которых повторяется какой-либо один символ. Такие соотношения позволяют выразить этот символ несколькими способами в виде линейной комбинации остальных символов. Каждый способ выражения данного символа через линейную комбинацию других символов назовем контрольной проверкой. Определим систему разделенных проверок, как такое множество контрольных проверок, в котором: 1) некоторый заданный символ а, входит в каждую контрольную проверку множества и 2) любой другой символ аj , j i входит не более, чем в одну контрольную проверку. Поэтому искажение одного символа в кодовом слове может нарушить только одну проверку, а которую входят искаженный символ. Две ошибки могут исказить не более двух проверок и t ошибок исказят не более t проверок и т. д. Очевидно, для правильного декодирования данного символа ai достаточно, чтобы система разделенных проверок содержала не менее 2t + 1 контрольных проверок, если при приеме искажено t символов. Тогда значение символа можно определять с помощью решения “по большинству”. Если рассматриваемый код циклический, то для декодирования остальных символов также может быть использована выбранная система разделенных проверок, поскольку контрольным соотношениям удовлетворяет любое кодовое слово и в том числа слово, получаемое из данного циклическим сдвигом. При этом для декодирования символа ai+u достаточно провести циклических сдвиг символов кодового слова на u символов и применить решение по большинству, используя систему разделенных проверок.
Основным препятствием к широкому использованию линейных кодов, контролирующих многократные случайные и зависимые ошибки, являются большие временные и аппаратурные затраты на декодирование кодовых слов. Это связано с параллельным декодированием всего кодового слова, когда за один такт необходимо исправить ошибки во всем слове. Очевидно, что параллельное декодирование кодовых слов не требуется при последовательном приеме сообщений, характерном для большого числа каналов передачи информации. Применение последовательной обработки информации и циклических кодов приводит к процедурам кодирования и декодирования, эффективным как с алгоритмической, так и с вычислительной точки зрения.
Циклические коды являются подклассом в классе линейных кодов, удовлетворяющим дополнительному свойству цикличности. Линейные коды, удовлетворяющие этому свойству, - циклические, т.е. такие коды, которые вместе с каждым кодовым словом (α0, α1, α2, αn-1, αn) содержат также и его циклическую перестановку (α1, α2, αn-1, αn, α0). При таком определении для построения кода достаточно задать одно кодовое слово. Отдельные кодовые слова образуются из исходного путем циклического сдвига и всех линейных комбинаций циклических сдвигов.
В соответствии с техническим заданием на курсовое проектирование циклический код имеет следующие параметры:
(
где n=14 - число символов кодовой последовательности;
k = 6 - количество информационных символов в передаваемом блоке;
= 8 - минимальное кодовое расстояние.
Количество избыточных символов кода, передаваемых в одной кодовой последовательности
l = n-k=14-6=8
двоич. симв.
Кратность исправляемых ошибок
(15)
Вероятность ошибки на выходе декодера определяется по формуле
где - вероятность ошибки кодера;
- число сочетаний.
.
Коэффициент повышения достоверности рассчитывается по формуле
(17)
Относительная избыточность кода
. (18)
Важнейшим параметром циклического кода является система сформированных проверочных уравнений, которая в соответствии с заданием на курсовое проектирование имеет вид
Таким образом, определенные или расчетные параметры кода, и заданный алгоритм декодирования и способ передачи данных позволяет разработать структурные, функциональные и принципиальные схемы кодека.
Для разработки структурных схем кодера определим его основные функции и требуемые для их реализации функциональные блоки (узлы).
Основные функции кодера:
1) формирование l=n-k =14-6=8проверочных символов;
2)формирование "n" (n=14 кодовых символов путем объединения "k" (k=6) информационных и "l" (l=8) проверочных символов в единый кодовый поток.
Для реализации данных функций необходимы следующие функциональные блоки:
- ФПСк – формирователь проверочных символов кодера;
- М2- блок сумматоров по модулю два;
- КОИ-n/1 (КОИ-14/1) - коммутатор объединения информации единый поток.
Кроме того, для нормального функционирования блоков кодера необходимы ФСУ (формирователь сигналов управления) и ключи управления работой кодера.
В соответствии с вышеперечисленным, обобщенная структурная схема кодера будет иметь построение, приведенное на рисунке 10.
Рисунок 10 – Обобщенная структурная схема кодера
Кодер работает следующим образом. В первоначальный момент времени ключ КЛ.1 открыт, а ключ КЛ.2 – закрыт. Передаваемые информационные символы в течении 6-ти тактов одновременно поступают через коммутатор объединения информации КОИ 14/1 в канал связи и на вход ФПСк, где формируются проверочные символы по правилу
По окончанию 6-го такта положение ключей меняется на обратное, т.е. КЛ.1 закрывается, а ключ КЛ.2 открывается и далее в течении 8-ми тактов из ФПСк в канал связи считываются сформированные проверочные символы. По окончанию 14-го такта будет сформирована 1-ая кодовая комбинация циклического кода. Ключи кодера возвращаются в исходное состояние и на вход кодера поступает следующий передаваемый информационный блок, кодирование которого осуществляется аналогичным образом.
Принцип работы кодера циклического кода поясняется временными диаграммами, приведенными на рисунке 11.
Рисунок 11 – Временные диаграммы сигналов управления ключами кодера
Основными функциями декодера являются:
1. Запись принятых кодовых символов в последовательный регистр сдвига (RG);
2. Формирование системы раздельных проверочных уравнений;
3. Декодирование переданных символов или формирование информационных символов;
4. Выдача информационного символа получателю с одновременной записью данного символа в регистр сдвига.
Для реализации данных функций необходимы следующие функциональные блоки:
- последовательный регистр сдвига на n=14 ячеек памяти RG;
- коммутатор K;
- формирователь
системы раздельных
- мажоритарный элемент МЭ;
- ключи управления КЛ;
ФСУд – формирователь сигналов управления декодера
Структурная схема декодера ЦК с параметрами ( ) = (14,6,8) при формировании системы связанных проверок имеет построение, приведенное на рисунке 12.
Принцип работы декодера циклического кода с мажоритарным алгоритмом декодирования поясняется временными диаграммами, приведенными на рисунке 13.
В первоначальный момент декодирования ключ КЛ1 – открыт, а ключ КЛ2 – закрыт. Входные кодовые символы (n=14) через коммутатор записываются в регистр сдвига (RG) с одновременным формированием системы раздельных проверок.
Рисунок 12 - Структурная схема декодера циклического кода
Рисунок 13 – Временные диаграммы сигналов управления ключами декодера
По окончании n=14-го такта положение ключей меняется на обратное, т. е. КЛ1 - закрыт, а КЛ2 - открыт. К этому же моменту времени будут уже получены результаты сформированных связанных проверочных уравнений.
На n+1=14+1=15 такте мажоритарным элементом формируется и выдается первый информационный символ а1, который поступает к получателю информации и по цепи обратной связи через коммутатор (К) на вход последовательного регистра сдвига. По окончании n+2=15+2=17 такта формируется и выдается второй информационный символ а2, а n+3=14+3=18 такта – третий информационный символ а3 . По окончании n+k=14+6=20 такта ключи 1 и 2 возвращаются в исходное состояние и в RG декодера записываются кодовые символы следующей кодовой последовательности и декодирование которых осуществляется аналогичным способом.
В данном разделе основное внимание будет обращено на выбор и обоснование принципа (способа) построения каждого функционального узла (блока) кодека, представленных на структурных электрических схемах кодера и декодера. Критерием выбора принципа построения функциональных блоков кодека является обеспечение минимума сложности аппаратурной реализации.
Формирователь проверочных символов выполняется в виде последовательного регистра сдвига со встроенными сумматорами по модулю два и обратной связью. Число ячеек памяти регистра сдвига определяется максимальной степенью порождающего полинома, т.е. m=8. Нумерацию ячеек памяти принято считать слева направо или справа налево. Нумерацию принимаем справа налево. Число сумматоров по модулю 2 равно весу образующего полинома Р(х) минус единица p=4-1=3. Сумматоры по модулю 2 ставятся перед ячейками памяти, соответствующим ненулевым членам образующего полинома Р(х), исключая его старшую степень. Таким образом, ФПСк будет иметь вид, приведенный на рисунке 14.