Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Помехоустойчивое кодирование

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 1.6.2024

Оглавление

[1] Оглавление

[2] Введение

[3]
Анализ задания

[4] Структурная схема кодека

[5] Карта памяти

[6] Структурная схема алгоритма кодирования и декодирования.

[7]
Схема подключения внешних портов ввода/вывода

[8] Код программы

[9]     ;кодирование    

[10] Вывод

[11] Список используемой литературы


Введение

Помехоустойчивое кодирование широко используется в системах передачи информации для повышения достоверности. Введение избыточности позволяет исправлять появляющиеся в  линии связи ошибки.

Систематическим (n,k,d)  кодом  называется блочный код, у которого  первые    символов - информационные, а остальные n-k - проверочные. Параметр  является расстоянием Хемминга и соответствует минимальному числу символов, на которое отличаются любые два кодовых слова. Такой код может исправлять не менее (n-1)/2 ошибок.

Кодовое слово можно формально представить в виде многочлена степени (n-1) от , причём коэффициенты при соответствующих степенях  являются символами кодового слова.

.

В систематическом коде коэффициенты при xn-1,….,xn-k будут всегда выбираться в качестве информационных, а последние  символов, т.е. коэффициенты при xn-k-1,xn-k-2,..,x0 в качестве проверочных символов (рис.1).

Рис.1 Расположение информационных и проверочных битов.

Представление кодового слова в виде многочлена степени (n-1) позволяет характеризовать блочный циклический код также двумя многочленами: порождающим  и проверочным . Действия над многочленами выполняются в поле Галуа по модулю 2.

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

.

Степень многочлена  меньше, чем , степень многочлена . Отсюда

и следовательно - кодовый многочлен (так как делится на порождающий многочлен).

Так как степень  меньше, чем , то все слагаемые в этом многочлене степеней  и больше, равны нулю.

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

Если в качестве  выбирать последовательно степени  , то коэффициенты многочленов

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

,    

                                                    

где - единичная матрица размерности х, а -матрица коэффициентов многочленов - остатков размерности (n-k)xk.

Процесс кодирования сводится к перемножению строки информационных символов на порождаюцую матрицу

.

Код, порождаемый матрицей  является также нулевым пространством матрицы

.

Следовательно, произведение кодового вектора  на транспонированную матрицу  приводит к нулевому вектору

,

где   .

Воздействие помех можно формально представить как прибавление по модулю 2 к передаваемому кодовому вектору  вектора помех. Тогда принятый вектор

                                                .                    

              

Синдромом называется произведение принятого вектора на транспонированную проверочную матрицу

.

Получим  .        

Следовательно, синдром определяется только вектором ошибок. Анализируя синдром, можно определить позиции в кодовом векторе, где произошли ошибки. Считается, что имеется синхронизация по кадрам и по тактам.

Рис. 2 Временная диаграмма поступления данных и информации на микроконтроллер.


Анализ задания

В данном курсовом проекте  будет спроектирован кодек блочного кода на микроконтроллере в соответствии с исходными данными:

Скорость передачи информационных символов равна 9600 Бод, длина кода  n=21, длина информационного блока k=6, порождающий многочлен g(x)=.

Данные поступают в параллельном виде, передаются в параллельном.

Будет использован микроконтроллер Freescale M68HC11, регистр MM74C164.

Структурная схема кодека

рис. 3

Структурная схема кодека, основанного на микроконтроллере M68HC11

Структурная схема восьми разрядного микроконтроллера M68HC11 приведена на рисунке 4.

Mode control  схема выбора режима

Timer system  система таймера

Interrupt logic  логика прерываний

A/D     converter  АЦП

Address/Data   Шина адреса/данных

Control    Регистр  управления

CPU     Ядро


рис. 4 Структурная схема микроконтроллера M68HC11


Карта памяти

рис. 5 Карта памяти микроконтроллера

Структурная схема алгоритма кодирования и декодирования.

На рисунке 6 изображены схемы кодирования и декодирования информации.

рис. 6 схема кодирования декодирования


Схема подключения внешних портов ввода/вывода

На рисунке 7 приведена схема подключения портов ввода и вывода устройства. Где ША - шина адреса, ШД - шина данных.

рис. 7 Электрическая схема устройства


Код программы 

    ;кодирование    

cpu 6811    ;

org $00ee    ;вектор прерывания

jmp $d100    ;скачок на подпрограмму прерывания

org $c800    ;основная программа

ldx #$d000   ;ячейка для использования индексной        ;адресации x в дальнейшем

ldd #$F774   ;запись правой части матрицы

 std 0,x    ;

ldd #$7BBA   ;

std 2,x    ;

ldd #$CAF8            ;

std 4,x    ;

ldd #$657C   ;

std 6,x    ;

ldd #$32BE   ;

std 8,x    ;

ldd #$EE6A              ;

std 10,x    ;

ldd #$8000   ;

std 12,x    ;

ldd #$4000   ;

std 14,x    ;

ldd #$2000   ;

std 16,x    ;

ldd #$1000   ;

std 18,x    ;

ldd #$0800   ;

std 20,x    ;

ldd #$0400   ;

std 22,x    ;

ldd  #$0200

std 24,x    ;

ldd  #$0100

std 26,x    ;

ldd  #$0080

std 28,x    ;

ldd  #$0040

std 30,x    ;

ldd  #$0020

std 32,x    ;

ldd  #$0010

std 34,x    ;

ldd  #$0008

std 36,x    ;

ldd  #$0004

std 38,x    ;

ldd  #$0002

std 40,x

clr      #$d00f

staa $d011    ;счетчик

 сli     ;разрешение прерываний

bra *    ;замкнутый цикл

org $d100    ;подпрограмма прерывания

         clr     #$d010   ;создание и очистка кармана

 ldaa #6   

ldab $1F03   ;загрузка информационного блока из        ;порта в аккумулятор b

m2 rolb     ;циклический сдвиг

bcc m1    ;проверка 1 или 0 во флаге переноса

ldaa $d00f             ;загрузка из кармана в аккумулятор

eora 0,x    ;сумматор по модулю 2

         staa    $d00f

         ldaa    $d010

         eora     1,x

 staa $d010    ;возвращение в карман

m1 inx     ;

dec $d011    ;уменьшение содержимого ячейки на 1

bne m2    ;если после 16 повторений цикла не 0, то       ;возвращение на m2

         inx

         inx

ldaa $d010    ;загрузка содержимого кармана

staa $1F04   ;вывод проверочного блока

     ;декодирование

ldaa $1F03   ;загрузка информационного блока из        ;порта в аккумулятор a

staa $d200    ;копирование информационного блока в        ;ячейку

ldaa $1F04   ;загрузка проверочного блока из порта в        ;аккумулятор a

staa $d202    ;копирование проверочного блока в        ;ячейку

 ldaa #6    ;

staa $d203    ;

ldaa #5    ;

staa $d204    ;

 clr $d205    ;

ldx #$d000   ;ячейка для использования индексной        ;адресации x в дальнейшем

m4 lsl $d200    ;логический сдвиг влево содержимого        ;данной ячейки

bcc m3    ;проверка обнуления счетчика если да то       ;переход по метке

ldaa $d205    ;загрузка в аккумулятор содержимого        ;ячейки

eora 0,x    ;сумматор по модулю 2

staa $d205    ;загрузка из аккумулятора в ячейку

m3 inx     ;

dec $d203    ;

bne m4    ;безусловный переход

m6 lsl $d202    ;логический сдвиг влево содержимого        ;данной ячейки

bcc m5    ;проверка обнуления счетчика если да то       ;переход по метке

ldaa $d205    ;загрузка в аккумулятор значения ячейки

eora 0,x    ;сумматор по модулю 2

staa $d205    ;загрузка из аккумулятора в ячейку

m5 inx     ;

dec $d204    ;

bne m6    ;безусловный переход

ldy #$d100   ;ячейка для использования индексной        ;адресации y в дальнейшем

ldab #$d205   ;запись из памяти в аккумулятор ячейки

aby     ;суммирование в индексном регистре до        ;ячейки d205

ldaa 0,y    ;

eora $1F03   ;сумматор по модулю 2

staa $1F05   ;декодированная последовательность


Вывод

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

41,8(+/- 8,25) микросекунд или 167,5 (+/- 33)  машинных тактов.

В этом расчете не учитывается время обработки прерывания, скорость обработки данных будет выше 9600 бод, следовательно, требования выполняются.


Список используемой литературы

1. С.Ф. Барретт, Д.Дж. Пак. Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12 \HCS12 с применением языка С. – М.: Издательский дом «ДМК-пресс», 2007.-640с.

2. А.В. Микушин, А.М. Сажнев, И.В. Сединин. Цифровые устройства и микропроцессоры: учебное пособие. – СПб.:БХВ- Петербург, 2010.-832с.: ил.

3. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов.-М.: МИР,1978.

4. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки.-М.: МИР,1976.

5. О.Д. Вальпа. Полезные схемы с применением микроконтроллеров и ПЛИС. М: Изд. дом «Додека – ХХ1»,2006.

6. Лекции по предмету ЦУМП.

13




1. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата технічних наук К
2. Контрольная работа- Экспертиза научной и практической ценности документов.html
3. невообразимую смесь
4. Определение числа предприятий объема продукции среднесписочного числа работников
5. Реферат- Особенности рассмотрения споров о защите деловой репутации
6. Оцінка впливу проектів на навколишнє середовище
7. западного похода киевского князя Всеволода Ольговича 40х гг
8. Лабораторная работа 333 Исследование альфаизлучения с помощью сцинтилляционного счетчика
9. А. Пискунов
10. Тема урока Необходимые для изучения темы понятия
11. а встречается в открытом грунте на север заходит только в теплицах повреждая главным образом огурцы и томат
12. ЗАБЕЗПЕЧЕННЯ ПРАВ НАЦІОНАЛЬНИХ МЕНШИН У ПОЛЬЩІ Програма нормативної навчальної дисципліни
13. Доклад- Семенов Сергей
14. Развитие новых жанров искусства как технической революции
15. тема прессы для различных категорий читателей
16. Пояснительная записка1
17. . Понимание того что ты делаешь.
18. это основанная на праве и законности организация общественной жизни отражающая качественное состояние общ.html
19. n~mie dont il ~tit fier
20. ru Все книги автора Эта же книга в других форматах Приятного чтения Дэниэл Киз Цветы для Элджер