Синтез кодека кода Рида-Маллера

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    121,88 Кб
  • Опубликовано:
    2013-03-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Синтез кодека кода Рида-Маллера

Введение

В последнее время передача данных является наиболее быстро развивающейся областью техники. Спутниковая связь, локальные и глобальные сети, волоконно-оптическая технология, цифровые сети, сотовая телефонная связь, цифровая сеть с интеграцией служб и модель взаимодействия открытых систем - все это далеко не полный список примеров быстрого развития отрасли связи.

Но во всех этих отраслях существует одна и та же проблема - возникновение ошибок при передаче информации. Решение этой проблемы комплексно, оно включает в себя огромное число всевозможных технических решений, но одним из самых главных, эффективных и дешевых является помехоустойчивое кодирование.

1. Выбор и обоснование параметров кода

В данном курсовом проекте в качестве помехоустойчивого кода примем код Рида-Маллера первого порядка с числом информационных позиций k=6 и мажоритарным декодером.

Коды Рида - Маллера представляют собой класс линейных кодов над GF(2) c простым описанием и декодированием, осуществляемым методом простого голосования. Как правило, эти коды кодируются таким образом, что в результате получается неразделимый код. РМ-коды нашли широкое применение в различных радиоэлектронных системах. При этом используется однородная и регулярная структура порождающей матрицы G, позволяющее упростить декодирование кодов. По этим причинам коды Рида - Маллера играют важную роль в кодировании (коды Рида - Маллера были использованы при передаче фотографий Марса космическим кораблем Маринер в 1972г.).

К основным параметрам РМ - кодов относятся:

а)  - длина кодовой последовательности;

б)  - количество информационных символов, входящих в кодовую последовательность;

в) r=n-k - количество проверочных символов;

г) - минимальное кодовое расстояние;

д) l - порядок кода.

Коды Рида-Маллера первого порядка задаются порождающей матрицей G, первая строка которой состоит из единиц. В качестве столбцов остальных m строк используются все двоичные числа длиной m:


Кодирование РМ-кодов осуществляется стандартным образом - путем умножения исходного вектора на порждающую матрицу:

AG=B.

Как правило, РМ-коды декодиркются мажоритарным способом (в последние годы для декодирования РМ-кодов используются процессоры быстрых преобразований).

2. Синтез кодирующего устройства (кодера)

Используя исходные данные и выражения ,  определим основные параметры кода:

k=m+1  m=5, L=1, , и r=n-k=26 двоичных символов.

Порождающая матрица данного РМ-кода имеет следующеее построение:

Кодирование информации осуществляется путем умножения исходного информационного сообщения Q(x)= на порождающую матрицу, т.е. по правилу

. В этом случая формируются последовательности неразделимого кода, которые содержат по n=32 двоичных символа. Процесс кодирования (формирования кодовых последовательностей) может быть реализован на сумматорах по модуля два. Составим уравнения формирования кодовых символов, которые имеют следующий вид:



2.1 Разработка структурной схемы кодера

Разработку структурной схемы кодера кода Рида-Маллера следует выполнять с определения основных функций кодера, к которым следует отнести:

. Деление (разделение) символов входного информационного потока Q(х) на  информационных подпотоков;

. Формирование проверочных символов из входных информационных символов;

. Объединение 32 проверочных символов в кодовый поток или в поток кодовых символов.

Для реализации данных функций необходимо определить функциональные узлы (блоки) кодера и далее объединить их в структурную электрическую схему. Для кода Рида-Маллера первого порядка основными функциональными узлами являются:

. КРИ -1/6 - коммутатор разделения информации входного потока на  информационных подпотоков;

2. ФПСк - формирователь проверочных символов кодера;

. КОИ -32/1 - коммутатор объединения информации, объединяет 32 проверочных символа в кодовый поток или в поток кодовых символов.

Структурная схема кодера кода Рида-Маллера представлена на рис. 2.1

Рис. 2.1 Структурная схема кодера кода Рида-Маллера первого порядка с (n,k)=(32,6)

.2 Разработка функциональной схемы кодера

код маллер матрица информационный

Для построения функциональных блоков кодека необходимо обеспечение минимума сложности аппаратной реализации.

В соответствии с уравнениями кодирования и алгоритмом декодирования РМ-кода полностью определяется принцип построения функциональной схемы кодера.

Наиболее простым способом построения КРИ-1/6 является использование двух регистров (RG1, RG2) и блока формирования тактовых частот RG1 и RG2. Оба регистра содержат по  ячеек памяти.

Функциональная схема ФПСк реализуется на сумматорах по модулю два.

КОИ-32/1 кодера целесообразно выполнить в виде синхронных мультиплексоров на соответствующее число информационных и управляющих входов, а также формирователя сигналов управления мультиплексором. Формирователь сигналов управления выполнен в виде двоичного счетчика.

Функциональная схема РМ-кода первого порядка с (n,k)=(32,6) представлена на рис. 2.2.

Рис.2.2 Функциональная схема РМ-кода первого порядка с (n,k)=(32,6)

Кодер КРМ работает следующим образом. Символы входного информационного потока Q(x) разделяются в КРИ-1/6 на шесть подпотоков. Информационные символы данных подпотоков поступают одновременно на соответствующие входы ФПСк, выполненного на сумматорах по модулю два. В ФПСк из символов информационных подпотоков формируются проверочные символы. Сформированные проверочные символы поступают на соответствующие входы КОИ-32/1, который объединяет символы проверочного подпотока в единый поток кодовых символов F(x).

.3 Разработка электрической принципиальной схемы кодера

Язык ассемблера - это символическое представление машинного языка. Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Отсюда понятно, что, несмотря на общее название, язык ассемблера для каждого типа компьютера свой. Это касается и внешнего вида программ, написанных на ассемблере, и идей, отражением которых этот язык является.

Для реализации кодера используем микроконтроллер серии PIC17C43, основные параметры которого приведены в таблице 2.3.1 .

Таблица 2.3.1

Особенности

PIC17C43

Максимальная частота операции

33МГц

Диапазон рабочего напряжения

2,5-6 В

Память Программы x16 (программируемое ПЗУ)

4K

ОЗУ данных (байты)

454

Аппаратный множитель (8 x 8)

Да

Timer0 (16-разрядный + постсчетчик на 8 битов)

Да

Timer1 (8 битов)

Timer2 (8 битов)

Да

Timer3 (16-разрядный)

Да

(16-разрядные) вводы сбора данных

2

PWM выводы (до 10 битов)

2

USART/SCI

Да

Сброс Включения питания

Да

Контрольный Таймер

Да

Внешние Прерывания

Да

Источники Прерывания

11

Кодовая защита памяти программы

Да

порты ввода - вывода

33

Типы пакета

40-pin DIP 44-pin PLCC 44-pin MQFP 44-pin TQFP


Особенности микроконтроллера:

20 мА втек. и 35 мА вытек. ток, 2 линии ввода/вывода с втек./вытек. током 60 мА; 2 модуля захвата с возможностью внешнего расширения; перемножение 8-ми пар операндов за 1 такт.

Описание выводов микроконтроллера PIC17C43 представлено в таблице 2.3.2.

Таблица 2.3.2

Имя

Описание

OSC1/CLKIN

Ввод генератора в кристалле/резонаторе или емкостно-резистивном режиме генератора.

OSC2/CLKOUT

Вывод генератора. Соединяется с кристаллом или резонатором в кристалле, режим генератора. В емкостно-резистивном генераторе или внешних режимах часов OSC2 порт выводит CLKOUT, который имеет одну четверть частоты OSC1 и обозначает норму{разряд;скорость} цикла команды.

MCLR/VPP

Ввод/программирование напряжения (VPP) Это - активный низкий ввод сброса к чипу.

RA0/INT  RA1/T0CKI   RA2  RA3 RA4/RX/DT  RA5/TX/CK

Двунаправленный порт ввода - вывода, кроме RA0 и RA1, которые являются только вводом. RA0/INT может также быть выбран как внешнее прерывание ввода. Прерывание может быть конфигурировано, чтобы осуществлятся по положительному или отрицательный фронту. RA1/T0CKI может также быть выбран как внешний ввод прерывания, которые могут быть конфигурированы, чтобы находиться на положительном или отрицательный фронте. RA1/T0CKI может быть также выбран часами, вводитсят на таймер/счетчике Timer0. Высокое напряжение, высокий поток, открывает порт ввода - вывода линии утечки. Высокое напряжение, высокий поток, открывает порт ввода - вывода линии утечки. RA4/RX/DT может также быть выбран как USART, т.к получает асинхронные или синхронные данные. RA5/TX/CK может также быть выбран как USART, т. к. передает асинхронные или синхронная времена.

RB0/CAP1 RB1/CAP2 RB2/PWM1 RB3/PWM2 RB4/TCLK12 RB5/TCLK3 RB6 RB7

ПОРТ B - двунаправленный порт ввода - вывода, порт с конфигурированным программным обеспечением и со слабым напряжением-ups. RB0/CAP1 может также быть линией ввода CAP1. RB1/CAP2 может также быть линией ввода CAP2. RB2/PWM1 может также быть линией вывода PWM1. RB3/PWM2 может также быть линией вывода PWM2. RB4/TCLK12 может также быть внешний ввод часов к Timer1 и Timer2. RB5/TCLK3 может также быть внешний ввод часов к Timer3.

RC0/AD0 RC1/AD1 RC2/AD2 RC3/AD3 RC4/AD4 RC5/AD5 RC6/AD6 RC7/AD7

ПОРТ C - двунаправленный порт ввода- вывода. Это - также более низкая половина системной шины 16 битов шириной в режиме микропроцессора или расширенном{продленном} режиме микроконтроллера. В мультиплексной системе шинная конфигурация этих линий - вывод адреса, также как ввод данных или вывод.

RD0/AD8 RD1/AD9 RD2/AD10 RD3/AD11 RD4/AD12 RD5/AD13 RD6/AD14 RD7/AD15

ПОРТ D - двунаправленный ввод - вывод Порт. Это - также старший байт 16-разрядной системной входной шины в режиме микропроцессора или расширенный{продленный} режим микроконтроллера. В мультиплексной системе шинная конфигурация этих линий - вывод адреса, также как ввод данных или вывод.

RE0/ALE RE1/OE  RE2/WR

ПОРТ E - двунаправленный порт ввода - вывода. В режиме микропроцессора или расширенном {продленном} микроконтроллерном режиме, это - фиксатор адреса. Адрес нужно запереть на отрицательном фронте ожидаемого времени актуальности адреса вывода. В микропроцессоре или расширенном{продленном} режиме микроконтроллера, этот вывод позволяет управлять выходом(OE) (активный низкий) В микропроцессоре или расширенном{продленном} режиме микроконтроллера, управление выводом (WR) (активный низкий).

TEST

Испытательный выбор режима. Всегда связывается с VSS для нормальной работы.

VSS

Общий(земля).

VDD

Напряжение питания.


3. Синтез декодирующего устройства (декодера)

Для синтеза декодера кода Рида-Маллера реализующего мажоритарный метод декодирования, необходимо сформировать систему раздельных проверочных уравнений (проверок). Система раздельных проверок формируется на основе порождающей матрицы G и имеет следующую структуру:

              

Для определения  необходимо использовать ранее полученные значения ,а также результат уравнения истинности .

Данный код позволяет обнаружить 15 и исправитьр

3.1. Разработка структурной схемы декодера

К основным функциям декодера относятся:

1. Разделение символов входного потока F(х) на n=32 подпотока.

2. Формирование последовательности проверочных символов декодера.

3.      Объединение к=6 проверочных символов декодера в один поток или поток кодовых слов.

Для данного кода Рида-Малера основными функциональными узлами декодера являются:

КРИ-1/32 - коммутатор разделения символов принятого потока F(х) на n=32 подпотоков.

ФПСд - формирователь проверочных символов декодера (аналогичен ФПСк).

КОИ-6/1 - коммутатор объединения информации, объединяет 6 информационных символов в кодовый поток или в поток кодовых символов.

Структурная схема декодера будет иметь следующее построение (рис. 3.2.).

Рис. 3.2 Структурная схема декодера кода Рида-Маллера первого порядка с (n,k)=(32,6)

.2 Разработка функциональной схемы декодера

Наиболее простым способом построения КРИ-1/32 является использование двух регистров (RG1, RG2) и блока формирования тактовых частот RG1 и RG2. Оба регистра содержат по  ячеек памяти.

Функциональная схема ФПСд реализуется на сумматорах по модулю два и мажоритарныж элементах.

КОИ-6/1 кодера целесообразно выполнить в виде синхронного мультиплексора на соответствующее число информационных и управляющих входов, а также формирователя сигналов управления мультиплексором. Формирователь сигналов управления выполнен в виде двоичного счетчика.

Функциональной схемы декодера кода Рида-Маллера первого порядка с (n,k)=(32,6) представлена на рис 3.2.

Декодер КРМ работает следующим образом. Кодовый поток F(x) поступает на вход КРИ-1/32, где он разделяется на 32 подпотоков. Далее потоки поступают на вход ФПСд. В ФПСд из символов информационных подпотоков формируются проверочные символы, поступающие на мажоритарные элементы, на выходе которых формируются декодированные символы. В КОИ-1/6 происходит их объединение в единый поток.

Рис. 3.2 Функциональной схемы декодера кода Рида-Маллера первого порядка с (n,k)=(32,6)

3.3   
Разработка принципиальной схемы декодера

Для реализации декодера реализующего мажоритарный алгоритм декодирования используем микроконтроллер серии PIC17C43, т. к. реализовать мажоритарный элемент на логических элементах очень сложно. Основные параметры микроконтроллера приведены в таблице 2.3.1, а описание выводов микроконтроллера PIC17C43 представлено в таблице 2.3.2.

Заключение

В данной курсовой работе был разработан кодек кода Рида-Маллера с параметрами (32;6;16), который обнаруживает 15 и исправляет 7ошибок. Для данного кода были построены структурная, функциональная и принципиальная схемы кодирующего и декодирующего устройств. Принципиальные схемы кодера и декодера были реализованы на микроконтроллере PIC17C43.

Литература

1. Конопелько В. К., Липницкий В. А., Дворников В. Д. и др. Теория прикладного кодирования: Учеб. Пособие. В 2 т. Т. 2. - Мн.: БГУИР, 2004. - 398 с.: ил.

. Блейхут Р. Теория и практика кодов, контролирующих ошибки. Москва: Мир, 1986 г.

. Мак-Вильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих ошибки. М.: Связь, 1979 г.

. Дмитриев В. И. Прикладная теория информации. М.: Высшая школа, 1989г.

. Королёв А. И. Коды и устройства помехоустойчивого кодирования информации. Минск, 2010.

. Сташин В. В., Урусов А. В., Мологонцева O. Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. М.: Энергоатомиздат, 1990г.

Похожие работы на - Синтез кодека кода Рида-Маллера

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!