Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кодирование информации в радиоэлектронных системах передачи информации

..pdf
Скачиваний:
6
Добавлен:
05.02.2023
Размер:
11.23 Mб
Скачать

151

Рис. 3.46. Линия передачи без преобразований

Всостав линии без преобразований входят:

1.BernoulliBinaryGenerator

2.Binary Symmetric Channel (каналпередачи)

3.Error RateCalculation (анализаторошибок)

4.Display

Характеристики блоков выставить следующие:

Рис. 3.47. Bernoulli Binary Generator

152

Рис. 3.48. Binary Symmetric Channel

Рис. 3.49. ErrorRateCalculation (анализаторошибок)

Представим полученные результаты:

Входная последовательность:

Рис. 3.50. Входная последовательность

153

Рис. 3.51. Выходная последовательность

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

совпадает с комбинацией на выходе, таким образом, передача осуществилась удачно. Что качается ошибок, то их частота равна 0,2029, число обнаруженных ошибок равно 362, общее количество символов по сравнению равно 1784. В данной схеме осуществляется передача информации без преобразований. Если сравнивать этот результат с результатом с кодированием при вероятности ошибки 0,2, то они идентичны. При увеличении вероятности ошибки до 0,3 в декодированной последовательности были найдены ошибки.

 

 

 

 

 

 

154

 

2000

 

 

 

 

 

 

1800

 

 

 

 

 

ошибок

1600

 

 

 

 

 

1400

 

 

 

 

 

1200

 

 

 

 

 

 

 

 

 

 

 

Количество

1000

 

 

 

 

 

800

 

 

 

 

 

600

 

 

 

 

 

400

 

 

 

 

 

 

 

 

 

 

 

 

200

 

 

 

 

 

 

0

 

 

 

 

 

 

0

0,2

0,4

0,6

0,8

1

 

 

 

Вероятность ошибки

 

 

Рис. 3. 53. График зависимости числа обнаруженных ошибок от вероятности ошибки

 

 

для кода (255,223)

 

 

 

20

 

 

 

 

 

 

18

 

 

 

 

 

ошибок

16

 

 

 

 

 

14

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

Количество

10

 

 

 

 

 

8

 

 

 

 

 

6

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

0

 

 

 

 

 

 

0

0,2

0,4

0,6

0,8

1

 

 

 

Вероятность ошибки

 

 

Рис. 3.54. График зависимости числа обнаруженных ошибок от вероятности ошибки

 

 

 

для кода (7,3)

 

 

 

Были рассмотрены особенности кода Рида-Соломона. Построили графики зависимости числа обнаруженных ошибок от вероятности ошибки для кодов (255,223) и (7,3).

Изучена структура кодера и декодера.

1. Код Рида-Соломона — код с 8-битными символами и проверкой на чётность. В коде

(255,223) 223 байта информационных символов, 32 байта проверки на четность.

2. Объем вычислительной мощности, необходимой для кодирования и декодирования кодов Рида-Соломона, зависит от числа символов четности. Большое значение t означает, что

155

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

3. Код RS(255,223) может исправить до 16 ошибок в символах. В худшем случае, могут иметь место 16 битовых ошибок в разных символах (байтах). В лучшем случае,

корректируются 16 полностью неверных байт, при этом исправляется 16 * 8 = 128 битовых ошибок.

4. В результате анализа графиков рисунков 2.19-2.20 можно сделать вывод, что код с длинными последовательностями исправляет больше ошибок.

В разделе начало взяло аналитика выбора тех или иных параметров кодов, таких как,

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

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

программе Matlab 15 были собраны схемы:

1)Кода Хэмминга

2)Кода БЧХ

3)Кода Рида-Соломона

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

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

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

Индивидуальная работа была весьма увлекательна и полезна. С поставленными целями справился успешно.

 

 

Таблица 3.1. Результаты

 

 

 

 

 

Вер-ть ошибки 0,2

Вер-ть ошибки 0,3

 

 

 

 

 

Код

Частота ошибок: 0,25

Частота ошибок: 0,4167

 

Хэмминга

Число обнаруженных ошибок:

Число обнаруженных ошибок: 5

 

(7,4)

3

Общее кол-во символов по

 

 

Общее кол-во символов по

сравнению: 12

 

 

сравнению: 12

 

 

 

 

 

 

Код БЧХ

Частота ошибок: 0,2143

Частота ошибок: 0,4286

 

 

 

 

 

156

(15,7)

Число обнаруженных ошибок:

Число обнаруженных ошибок: 6

 

3

Общее кол-во символов по

 

Общее кол-во символов по

сравнению: 14

 

сравнению: 14

 

 

 

 

Код Р-С

Частота ошибок: 0,2029

Частота ошибок: 0,31

(255,223)

Число обнаруженных ошибок:

Число обнаруженных ошибок:

 

362

553

 

Общее кол-во символов по

Общее кол-во символов по

 

сравнению: 1784

сравнению: 1784

 

 

 

3.2. Циклические избыточные коды CRC (Cyclic redundancy check) [16]

Циклический избыточный код (CRC). Наиболее известными из методов

обнаружения ошибок передачи данных являются [1]:

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

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

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

157

– нечувствительность контрольной суммы к чётному числу ошибок в одной колонке и самому порядку следования символов в блоке.

Контроль циклически избыточным кодом – CRC. Это гораздо более мощный и широко используемый метод обнаружения ошибок передачи информации. Он обеспечивает обнаружение ошибок с высокой вероятностью. Кроме того, этот метод обладает рядом других полезных моментов, которые могут найти своё воплощение в практических задачах.

Циклический избыточный код (англ. Cyclic redundancy code, CRC) – алгоритм вычисления контрольной суммы, предназначенный для проверки целостности передаваемых данных. Алгоритм CRC обнаруживает все одиночные ошибки, двойные ошибки и ошибки в нечётном числе бит. Понятие циклических кодов достаточно широкое, однако на практике его обычно используют для обозначения только одной разновидности, использующей циклический контроль (проверку) избыточности.

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

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

Основная идея алгоритма CRC состоит в представлении сообщения в виде огромного двоичного числа, делении его на другое фиксированное двоичное число и использовании остатка этого деления в качестве контрольной суммы [2]. Получив сообщение, приёмник может выполнить аналогичное действие и сравнить полученный остаток с «контрольной суммой».

На рисунках 2.1-2.2 изображено графическое представление кодирования и декодирования CRC-кода [3]:

158

Рис. 3.55. Принцип работы кодера CRC

Рис. 3.56. Принцип работы декодера CRC

Степенью CRC-полинома W называют позицию самого старшего единичного бита.

Например, степень полинома 100112 равна 4.

Для вычисления CRC используют полиномиальную арифметику. Вместо представления делителя, делимого (сообщения), частного и остатка в виде положительных целых чисел,

можно представить их в виде полиномов с двоичными коэффициентами или в виде строки

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

 

 

 

Например, десятичное число 23 в 16-ричной и 2-ичной системах будет

иметь вид

2310=1716=101112, что совпадает с полиномом: 1 x4 0 x3

1 x2

1 x1

1 x0 или

упрощённо: x4 x2 x1 1.

 

 

 

159

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

Как правило, контрольная сумма добавляется к исходному сообщению и полученное расширенное сообщение передаётся через канал связи.

На другом конце канала приёмник может сделать одно из возможных действий (оба варианта совершенно равноправны):

1.Выделить текст полученного сообщения, вычислить для него контрольную сумму и сравнить её с переданной.

2.Вычислить контрольную сумму для всего переданного сообщения, и посмотреть,

получится ли в результате нулевой остаток.

Поскольку исходное сообщение может быть очень большим (до нескольких Мбайтов) и

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Декодир

 

 

Биты

 

CRC-кодер

 

Передатчик

 

Канал

 

Приёмник

 

 

CRC-

 

 

 

 

 

 

 

 

 

декодер

 

ованные

 

 

 

 

 

связи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

биты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.57. Обобщенная структурная схема исследования CRC кодов

Самый популярный и рекомендуемый IEEE полином для CRC-32 используется в

Ethernet, FDDI; также этот многочлен является генератором кода Хемминга. Использование другого полинома — CRC-32C — позволяет достичь такой же производительности при длине исходного сообщения от 58 бит до 131 кбит, а в некоторых диапазонах длины входного сообщения может быть даже выше — поэтому в наши дни он тоже пользуется популярностью. К примеру, стандарт ITU-T использует CRC-32C с целью обнаружения ошибок в полезной нагрузке.

Ниже в таблице перечислены наиболее распространённые многочлены — генераторы

CRC [4]:

Таблица 3.2. Распространённые полиномы CRC кодов

 

160

 

 

Название

Полином

 

 

CRC-1

x+1 (используется в аппаратном контроле ошибок, также известен

 

как бит чётности)

 

 

CRC-4-ITU

x4+x+1

 

 

CRC-5-ITU

x5+x4+x2+1

 

 

CRC-5-USB

x5+x2+1

 

 

CRC-6-ITU

x6+x+1

 

 

CRC-7

x7+x3+1 (системы телекоммуникации, ITU-T G.707, ITU-T G.832,

 

MMC, SD)

 

 

CRC-8

x8 + x7 +x6+ x4+x2+1

 

 

CRC-16-IBM

x16+x15+x2+1 (Bisync, Modbus, USB, ANSI X3.28)

 

 

CRC-16-CCITT

x16+x12+x5+1 (X.25, HDLC, XMODEM, Bluetooth, SD)

 

 

CRC-30

x30+x29+x21+x20+x15+x13+ x12+ x11+ x8+ x7+ x6+ x2+ x+1 (CDMA)

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]