Санкт-Петербургский
Государственный Университет Телекоммуникаций
имени проф. М.А. Бонч-Бруевича
Пояснительная записка к
курсовой работе
Системы документальной электросвязи
Студент: Козлов Дмитрий
Группа: СК-71
Задание № 20
Санкт–Петербург
2011 г.
Содержание
система обратная связь сигнал
Корректирующие коды
Модуляция
Классификация систем с обратной связью
1. Анализ возможности заданного циклического кода
1.1 Составление поражающей матрицы и матрицы проверок
1.2 Составление таблицы всех разрешенных комбинаций
1.3 Определение доли необнаруженных ошибок
2. Определение эффективности для кода (10,5)
3. Определение оптимальной длинны блока циклического кода для системы РОС-НП
4. Определение максимальной скорости передачи данных по каналу связи
5. Определение эффективной скорости приема сигналов данных и оптимальной длины принимаемых блоков
6. Выбор помехоустойчивого кода
7. Программная реализация кодирования и декодирования
7.1 Кодирование
7.2 Декодирование
7.3 Текст программы
Литература
Корректирующие коды
Корректирующие коды, помехоустойчивые коды, коды обнаружения и исправления ошибки, коды, позволяющие по имеющейся в кодовой комбинации избыточности обнаруживать и исправлять определённые ошибки, появление которых приводит к образованию ошибочных или запрещенных комбинаций. Применяются при передаче и обработке информации в вычислительной технике, телеграфии, телемеханике и технике связи, где возможны искажения сигнала в результате действия различного рода помех. Кодовые слова К. к. содержат информационные и проверочные разряды (символы). В процессе кодирования при передаче информации из информационных разрядов в соответствии с определёнными для каждого К. к. правилами формируются дополнительные символы — проверочные разряды. При декодировании из принятых кодовых слов по тем же правилам вновь формируют проверочные разряды и сравнивают их с принятыми; если они не совпадают, значит, при передаче произошла ошибка. Существуют коды, обнаруживающие факт искажения сообщения, и коды, исправляющие ошибки, т. е. такие, с помощью которых можно восстановить первичную информацию. Линейный код - это такой код кодирование и декодирование которого производится при помощи линейных операций.
Широкое распространение получил класс линейных кодов, которые называются циклическими. Название этих кодов происходит от их основного свойства: если кодовая комбинация a1
, a2
, …an
-1
, an
принадлежит циклическому коду, то комбинация an
, a1
, a2
, …, an
-1
; an
-1
, an
, a1
, …, an
-2
и т.д., полученные циклической перестановкой элементов, также принадлежат этому коду.
Общим свойством всех разрешенных кодовых комбинаций циклических кодов является их делимость без остатка на некоторый выбранный полином, называемый производящим. Синдромом ошибки в этих кодах является наличие остатка от деления принятой кодовой комбинации на этот полином. Описание циклических кодов и их построение обычно проводят с помощью многочленов (полиномов). Цифры двоичного кода можно рассматривать как коэффициенты многочлена переменной x.
Кодовые комбинации циклического кода описываются полиномами, обладающими определенными свойствами. Они определяются свойствами и операциями той алгебраической системы, к которой принадлежит множество полиномов. В частности, в этой алгебраической системе, которая носит название поля Галуа, действие над коэффициентами полиномов производится по модулю 2. Умножение полиномов должно производиться по модулю некоторого полинома p(x). Эти два условия определяют замкнутость указанных операций: их применение не приводит к кодовым комбинациям, длина которых больше длины заданного кода n.
Корректирующая и обнаруживающая способность кодов зависит от кодового расстояния d между словами, численно равного минимальному числу ошибок, которое может превратить одно слово в другое. Например, имеется кодовая комбинация: 0111100; 0100101; 0010110. Первая группа (слово) отличается от второй в трёх разрядах, вторая от третьей — в четырёх разрядах, первая от третьей — в трёх разрядах. Минимальное расстояние d между этими словами равно 3. Если в первом слове произойдёт 3 ошибки, то оно может превратиться либо во второе, либо в третье слово; при декодировании такая ошибка не будет обнаружена. Максимальное число ошибок, которое в данном случае может быть обнаружено, равно 2. Если в первом слове произошла ошибка во втором разряде, то полученное слово отличается от второго в четырёх разрядах, от третьего — в двух разрядах, от первого — в одном разряде. Согласно методу максимального правдоподобия, при декодировании делается вывод, что, вероятнее всего, передавалось первое слово. Для правильного декодирования необходимо, чтобы максимальное число ошибок в передаваемом слове превращало его в слово, отличающееся от исходного в наименьшем числе разрядов. Чтобы исправлять все комбинации из t ошибок, необходимо и достаточно, чтобы d ³ 2t+ 1.
Ошибки в передаваемых словах могут возникать вследствие либо независимых искажений разрядов (в этом случае применяют, например, коды типа кода Хэмминга), либо искажений группы рядом стоящих разрядов (для таких случаев разработаны коды, исправляющие одиночные пачки ошибок, и коды, исправляющие более одной пачки ошибок); для обнаружения ошибок в процессе вычислений на ЭВМ разработаны так называемые арифметические коды.
Модуляция
Воздействуя на тот или иной параметр (амплитуду, фазу, частоту) получаем амплитудную, частотную и фазовую модуляцию. Все эти методы преобразования исходного (модулирующего) спектра частот первичного сигнала, позволяющие обеспечить передачу информации по каналу связи с характеристиками типа полосового фильтра. Перенос спектра, реализуемый в процессе модуляции, позволяет также решить задачу построения многоканальных систем с частотным разделением каналов (ЧРК).
Простейшим видом модуляции является амплитудная (АМ). В этом случае частота модулируемого напряжения не меняется и остается равной ωн
; начальная фаза может быть различной в зависимости от момента начала модуляции, а амплитуда изменяется в соответствии с законом изменения первичного (модулирующего) сигнала.
Частотная модуляция (ЧМ) является другим способом переноса спектра первичного сигнала в заданный диапазон частот, но в отличие от АМ этот способ преобразования спектра является нелинейным. При двоичной ЧМ модулятор должен вырабатывать отрезки гармонических колебаний с частотами f1
или f2
(f2
>f1
) соответствующие передаче нуля и единицы. Для этого можно использовать два переключаемых генератора. Сигнал на выходе модулятора может рассматриваться как суперпозиция двух АМ сигналов, один из которых имеет несущую f1
, а другой f2
.
При фазовой модуляции (ФМ) амплитуда и частота несущей остаются неизменными, а меняется фаза. Для лучшего различения двух сигналов на приеме необходимо, чтобы они максимально отличались друг от друга по фазе. При передаче «1» сигнал по фазе совпадает с несущей, а при передаче «0» отличается по фазе на 180°. Равенство полос частот, занимаемых АМ и ФМ сигналами, предполагает также и равенство максимально возможных скоростей модуляции. Большая, чем при АМ, амплитуда спектральных составляющих обуславливает большую, чем при АМ, помехоустойчивость.
При квадратурной амплитудной модуляции (КАМ, QAM - Quadrature Amplitude Modulation) изменяется как фаза, так и амплитуда сигнала, что позволяет увеличить количество кодируемых бит и при этом существенно повысить помехоустойчивость. В настоящее время используются способы модуляции, в которых число кодируемых на одном бодовом интервале информационных бит может достигать 8...9, а число позиций сигнала в сигнальном пространстве - 256...512.
Квадратурное представление сигналов является удобным и достаточно универсальным средством их описания. Квадратурное представление заключается в выражении колебания линейной комбинацией двух ортогональных составляющих — синусоидальной и косинусоидальной:
S(t)=x(.t)sin(wt+(p)+y(t)cos(wt+(p),
где x(t) и y(t) — биполярные дискретные величины.
Такая дискретная модуляция (манипуляция) осуществляется по двум каналам на несущих, сдвинутых на 90° друг относительно друга, т.е. находящихся в квадратуре (отсюда и название представления и метода формирования сигналов).
Классификация систем с обратной связью
Ошибки в каналах обычно группируются, состояние канала может быть самым различным. Следовательно, если применять корректирующий код в СПИ(система передачи информации) без обратной связи, то при значительной плотности ошибок он будет неэффективен по помехоустойчивости, а при небольшой плотности ошибок он будет неэффективен по скорости передачи. Обычно корректирующий код рассчитывают на постоянную плотность помех, поэтому СПИ без обратной связи применяют в системах с постоянным временем задержки информации, а также если отсутствует канал обратного направления или его создание невозможно.
Необходимо избыточность, вводимую в передаваемую информацию, соразмерять с состоянием дискретного канала в каждый момент времени. Например, рост числа ошибок должен быть связан с ростом избыточности. Избыточность вводится в передатчике, а о состоянии канала можно судить по результатам приема информации. Чтобы регулировать
избыточность, надо чтобы приемник информировал передатчик о числе ошибок. Поэтому водится канал обратной связи. СПИ с каналом обратной связи делятся на системы с решающей обратной связью (РОС), системы с информационной обратной связью (ИОС) и системы с комбинированной обратной связью (КОС). В системах с РОС приемник, приняв кодовую комбинацию и выполнив ее анализ на наличие ошибок, принимает окончательное решение либо о выдаче кодовой комбинации потребителю, либо о ее стирании и посылке по обратному каналу сигнала переспроса. Системы с РОС называют системами с переспросом или системами с автоматическим запросом ошибок. В случае принятия кодовой комбинации без ошибок приемник формирует и направляет в канал обратной связи сигнал подтверждения. Передатчик, получив сигнал подтверждения, передает следующую кодовую комбинацию. Активная роль принадлежит приемнику, а по каналу обратной связи передается сигнал решения, вырабатываемый приемником. В системах с ИОС по каналу обратной связи передаются сведения о поступающих в приемник кодовых комбинациях (или их элементах) до окончательной обработки и принятия заключительного решения. Возможно, что осуществляется ретрансляция кодовой комбинации от приемника к передатчику. Такие системы называются ретрансляционными. Возможно, что приемник вырабатывает специальные сигналы, имеющие меньший объем, чем полезная информация, но характеризующие качество ее приема. Эти сигналы от приемника по каналу обратной связи также направляются к передатчику. Если количество информации, передаваемой по каналу обратной связи (квитанция), равно количество информации в сообщении, передаваемом по прямому каналу, то ИОС называется полной. Если же информация квитанции отражает лишь некоторые признаки сообщения, то ИОС называется укороченной. Полученная по каналу обратной связи квитанция анализируется передатчиком. По результатам анализа передатчик принимает решение о передаче следующей кодовой комбинации или о повторении ранее переданных комбинаций. После этого передатчик передает служебные сигналы о принятом решении, а затем соответствующие кодовые комбинации. В соответствии с полученными от передатчика служебными сигналами приемник или выдает накопленную кодовую комбинацию получателю, или стирает ее и запоминает как вновь переданную. В системах с укороченной ИОС меньше загрузка канала обратной связи, но больше вероятность появления ошибок по сравнению с системами с полной ИОС.
В системах с КОС решение о выдаче кодовой комбинации получателю или о повторной передаче может приниматься как в приемнике, так и в передатчике, а канал ОС использоваться как для передачи квитанции, так и для решения. Системы с ОС делятся на системы с ограниченным и неограниченным числом повторений. При ограниченном числе повторений вероятность ошибки больше, но меньше время задержки.
Если СПИ с обратной связью отбрасывает информацию в забракованных кодовых комбинациях, то эта система без памяти. В противном случае СПИ с обратной связью называют системой с памятью. Системы с ОС являются адаптивными системами передачи информации, т.к. передача по каналу автоматически приводится в соответствие с конкретными условиями прохождения сигналов. Каналы обратной связи образуются методами частотного или временного разделения от каналов передачи полезной информации. Для защиты от искажений сигналов, передаваемых по каналу ОС, применяют корректирующие коды, многократную и параллельную передачи. В настоящее время известны многочисленные алгоритмы работы систем с ОС. Наиболее распространенными среди них являются системы:
· РОС с ожиданием сигнала ОС;
· РОС с безадресным повторением и блокировкой приемника;
· РОС с адресным повторением.
Системы с ожиданием после передачи кодовой комбинации либо ожидают сигнал обратной связи, либо передают ту же кодовую комбинацию, но передачу следующей кодовой комбинации начинают только после получения подтверждения по ранее переданной комбинации.
Системы с блокировкой осуществляют передачу непрерывной последовательности кодовых комбинаций при отсутствии сигналов ОС по предшествующим n комбинациям. После обнаружения ошибок в (n+1)-й комбинации выход системы блокируется на время приема n комбинаций, в запоминающем устройстве приемника системы ПДС стираются n ранее принятых комбинаций и посылается сигнал переспроса. Передатчик повторяет передачу n последних переданных кодовых комбинаций.
Системы с адресным повторением отличает то, что кодовые комбинации с ошибками отмечаются условными номерами, в соответствии с которыми передатчик производит повторную передачу только этих комбинаций.
В системе с РОС по прямому каналу передаются информационные комбинации длиной n единичных элементов и команды решения, а по каналу обратной связи – служебные комбинации. В системе с ИОС по прямому каналу передаются информационные комбинации длиной k единичных элементов и команды решения, а по каналу ОС – проверочные комбинации длиной n-k единичных элементов.
Исследования показали, что при заданной верности передачи оптимальная длина кода в системах с ИОС несколько меньше, чем в системах с РОС, что удешевляет реализацию устройств кодирования и декодирования. Однако общая сложность реализации систем с ИОС больше, чем систем с РОС. Поэтому системы с РОС нашли более широкое применение. Системы с ИОС применяют в тех случаях, когда обратный канал может быть без ущерба для других целей эффективно использован для передачи квитанций.
1. Анализ возможности заданного циклического кода
Исходные данные:
· задан циклический код (10, 5);
· образующий полином x5
+ x4
+ x3
+ x + 1;
· образован дискретный канал с помощью модема;
· Вероятность ошибки po
= 7*10-4
(для канала с независимыми ошибками);
· Вероятность ошибки po
= 7*10-4
(для канала с группирующимися ошибками);
· система РОС-НП (Решающая система с обратной связью – непрерывная передача с блокировками);
· количество накопителей h = 5;
· Pно доп
= 10-6
.
· Коэффициент группирования ошибок α = 0,6
1.1 Составление порождающей матрицы и матрицы проверок
Задан образующий полином: p(x) = x5
+ x4
+ x3
+ x + 1
Составим порождающую матрицу:
p(x) * x4
|
x9
+ x8 + x7 + x5 + x4 |
1110110000 | |||
p(x) * x3
|
x8
+ x7 + x6 + x4 + x3 |
0111011000 | |||
G(1
0 ,5) = |
p(x) * x2
|
= | x7
+ x6 + x5 + x3 + x2 |
= | 0011101100 |
p(x) * x1
|
x6
+ x5 + x4 + x2 + x1 |
0001110110 | |||
p(x) * x0
|
x5
+ x4 + x3 + x + 1 |
0000111011 |
Строки складываются, таким образом, чтобы слева получилась единичная матрица 5х5.
Результат сложения строк:
1 + 2 + 4 | 10000 11110 |
2 + 3 + 5 | 01000 01111 |
3 + 4 | 00100 11010 |
4 + 5 | 00010 01101 |
5 | 00001 11011 |
Полученный результат – порождающая матрица.
Составим матрицу проверок Н(10,5)
. Она состоит из транспонированной R матрицы и единичной матрицы 5х5.
Н(10, 5)
= |
10101 10000 |
11111 01000 | |
11010 00100 | |
11101 00010 | |
01011 00001 |
С помощью матрицы проверок находим dmin
= 3, так как минимальное количество столбцов равно трем, которые при сложении по mod2 дают столбец из всех нулей.
Эти столбцы – 3, 5, 10.
1.2 Составление таблицы всех разрешенных комбинаций
Таблица разрешенных комбинаций составляется путем сложения двух, трех, четырех и пяти строк образующей матрицы.
Код (10,5) имеет 25
= 32 разрешенных комбинаций.
Первая комбинация состоит из пятнадцати нулей (в таблице она не указана).
W – вес кодовой комбинации, указывает на количество единиц в данной кодовой комбинации.
Табл. 1. Таблица всех разрешенных комбинаций
Число вариантов | № п/п | № строки | Информационные элементы | Избыточные элементы | Вес | ||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | w | |||
С1
5 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 5 |
2 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 5 | |
3 | 3 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 4 | |
4 | 4 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 4 | |
5 | 5 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 5 | |
С2
5 |
6 | 1+2 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 4 |
7 | 1+3 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | |
8 | 1+4 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 5 | |
9 | 1+5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 4 | |
10 | 2+3 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 5 | |
11 | 2+4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | |
12 | 2+5 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 4 | |
13 | 3+4 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 6 | |
14 | 3+5 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 3 | |
15 | 4+5 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 5 | |
С3
5 |
16 | 1+2+3 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 6 |
17 | 1+2+4 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 6 | |
18 | 1+2+5 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 5 | |
19 | 1+3+4 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 5 | |
20 | 1+3+5 | 1 | <0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 8 | |
21 | 1+4+5 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 4 | |
22 | 2+3+4 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | |
23 | 2+3+5 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 6 | |
24 | 2+4+5 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 6 | |
25 | 3+4+5 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | |
С4
5 |
26 | 1+2+3+4 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 6 |
27 | 1+2+3+5 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 5 | |
28 | 1+2+4+5 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 7 | |
29 | 1+3+4+5 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 6 | |
30 | 2+3+4+5 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 6 | |
С5
5 |
31 | 1+2+3+4+5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 9 |
Вес кодовой комбинации | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Число комбинаций | 3 | 6 | 11 | 8 | 1 | 1 | 1 |
1.3 Определение доли необнаруженных ошибок
При ошибках кратности больше 3, возможна ситуация, когда полином будет точно таким же, как и результат сложения по mod2 каких-либо разрешенных кодовых комбинаций. Тогда принятая кодовая комбинация, содержащая такой полином ошибки, будет считаться разрешенной, что приведет к искажению информации. Составим таблицу, в которой рассчитывается доля необнаруженных ошибок для заданного циклического кода.
Табл. 2. Доля необнаруженных ошибок
Кратность ошибки i | Число вариантов ошибок Сi
15 |
Число вариантов необнаруженных ошибок bi
|
Доля необнаруженных ошибок | |
bi
/ Сi 15 |
1/2n-k
|
|||
1 | 10 | - | - | |
2 | 45 | - | - | |
3 | 120 | 3 | 2,5 * 10-2
|
|
4 | 210 | 7 | 3,33 * 10-2
|
|
5 | 252 | 10 | 3,97 * 10-2
|
3,125 * 10-2
|
6 | 210 | 8 | 3,8 * 10-2
|
|
7 | 120 | 1 | 8,33 * 10-3
|
|
8 | 45 | 1 | 2,22 * 10-2
|
|
9 | 10 | 1 | 0,1 | |
10 | 1 |
2. Определение эффективности для кода (10,5)
Исходные данные:
· задан циклический код (10, 5);
· Вероятность ошибки po
= 7*10-4
(для канала с независимыми ошибками);
· Вероятность ошибки po
= 7*10-4
(для канала с группирующимися ошибками);
· Минимальное кодовое расстояние dmin
= 3;
· Коэффициент группирования ошибок α = 0,6.
Эффективность определяется для режима обнаружения ошибок, и для двух типов каналов по следующим формулам:
· Канал с независимыми ошибками:
· Канал с группирующимися ошибками:
По результатам расчета можно сделать вывод, что эффективность больше на несколько порядков в канале с независимыми ошибками.
Система с РОС и непрерывной передачей информации
В этих системах передатчик передает непрерывную последовательность кодовых комбинаций, не ожидая получения сигналов подтверждения. Приемник стирает те кодовые комбинации, в которых РУ обнаруживает ошибки, а затем посылает сигнал переспроса. Кодовые комбинации выдаются получателю по мере их поступления. При реализации такой системы возникают трудности, вызванные конечным временем передачи и распространения сигналов.
Если передатчик будет повторять кодовые комбинации с запаздыванием на h комбинаций, то порядок комбинаций, получаемых ПИ(получатель информации), будет нарушен. Этого не должно быть, поэтому в приемнике есть специальное устройство и буферный накопитель (БН) значительной емкости, не менее ih, где i - число повторений. После обнаружения ошибки приемник стирает комбинацию с ошибкой и блокируется на h комбинаций, а передатчик по сигналу переспроса повторяет h последних кодовых комбинаций. Эти системы называются системами с непрерывной передачей и блокировкой или системами С РОС-нпбл. Данные системы еще называются системами с автоматическим запросом ошибок.
3. Определение оптимальной длинны блока циклического кода для системы РОС-НП
Исходные данные:
· Вероятность необнаруженных ошибок Рно доп
= 10-6
;
· количество накопителей h = 5.
Необходимо найти такой код, который при обеспечении требуемой вероятности необнаруженных ошибок Рно доп
обеспечивал бы максимальную скорость передачи R.
,
где
– скорость кода, – скорость алгоритма.
Расчет скоростных параметров ведется по формулам:
Вероятность необнаруженных ошибок рассчитывается для канала с группирующимися ошибками по следующей формуле:
Все расчеты сведены в таблицу 3.
Табл. 3.
n | k | dmin
|
Rk
|
Pно
|
Ra
|
R |
15 | 11 | 3 | 0,733 | 8,33*10-5
|
0,996 | 0,73 |
7 | 5 | 0,433 | 4,24*10-6
|
0,996 | 0,465 | |
5 | 7 | 0,333 | 9,27*10-7
|
0,996 | 0,333 | |
31 | 26 | 3 | 0,838 | 5,57*10-5
|
0,995 | 0,834 |
21 | 5 | 0,677 | 1,42*10-6
|
0,995 | 0,674 | |
16 | 7 | 0,580 | 3,87*10-8
|
0,995 | 0,513 | |
63 | 57 | 3 | 0,904 | 3,7*10-5
|
0,993 | 0,898 |
51 | 5 | 0,810 | 4,71*10-7
|
0,993 | 0,804 | |
47 | 7 | 0,746 | 2,57*10-8
|
0,993 | 0,741 | |
127 | 120 | 3 | 0,945 | 2,45*10-5
|
0,991 | 0,936 |
113 | 5 | 0,890 | 1,56*10-7
|
0,991 | 0,882 | |
108 | 7 | 0,850 | 4,26*10-9
|
0,991 | 0,843 | |
255 | 247 | 3 | 0,968 | 1,62*10-5
|
0,988 | 0,957 |
239 | 5 | 0,937 | 5,15*10-8
|
0,988 | 0,926 | |
233 | 7 | 0,913 | 7,03*10-10
|
0,988 | 0,903 | |
511 | 502 | 3 | 0,982 | 1,07*10-5
|
0,984 | 0,967 |
493 | 5 | 0,965 | 1,7*10-8
|
0,984 | 0,949 | |
486 | 7 | 0,951 | 1,16*10-10
|
0,984 | 0,936 |
По данным расчета определяется и строится график 1 для определения оптимальной длины блока. На графике 1 указаны скорости для кодов: (15,5), (31,16), (63,47), (127,108), (255,233), (511,486).
График 1
По результатам, полученным с помощью графика, можно сделать вывод, что оптимальная длина блока равна nоп
=511 , а максимальная скорость.
4. Определение максимальной скорости передачи данных по каналу связи с заданными параметрами, при определенном способе модуляции и оптимальном приемнике
Исходные данные:
· задан циклический код (10, 5);
· Вероятность ошибки po
= 10-6
(для канала с независимыми ошибками);
· Вероятность необнаруженных ошибок p0 доп
= 10-6
· Вероятность необнаруженных ошибок p0 доп
= 8,5*10-4
(для ЧМ)
· Вероятность необнаруженных ошибок p0 доп
= 7,5*10-4
(для ФМ)
· Вероятность необнаруженных ошибок p0 доп
= 10-4
(для АФМ)
· Скорость передачи Bзад
= 24000 Бод
Здесь, в качестве основного параметра характеризующего канал связи, используется вероятность ошибки p в зависимости от отношения средних мощностей сигнала и помех h, где последняя представляет собой аддитивный белый шум.
Зависимость p и h представляется в виде графика: по оси ординат в логарифмическом масштабе откладываются значения вероятности ошибки при приеме единичного элемента, а по оси абсцисс значения отношения сигнал/помеха h2
в децибелах (дБ).
дБ
При построении такого графика для определенного вида модуляции используются формулы:
Здесь – функция Крампа, значения которой приведены в прил.2. [3].
Определим значения p при различных значениях h. Полученные расчеты сведены в таблицу 4.
Табл. 4.
h, дБ | ЧМ | ФМ | АФМ |
1 | 0,159 | 0,081 | 0,088 |
2 | 0,023 | 0,0025 | 0,073 |
3 | 1,35*10-3
|
1,1*10-5
|
0,064 |
4 | 3,15*10-5
|
5*10-8
|
0,055 |
Из полученных расчетов построим график 2.
2
График 2
Максимальная скорость Bmax
определим с помощью графика 2 из следующего выражения:
где
Bmax
– скорость при po
= 10-6
,
h1
– значение при po
= 10-6
,
h2
– значение при p0 доп
(для различных видов модуляции)
Значения h1
и h2
для расчета сведем в таблицу 5.
Табл. 5.
Тип модуляции | h1
|
h2
|
ЧМ | 22.6 | 9.6 |
ФМ | 11.3 | 5.4 |
АФМ | 17744 | 5598 |
Определим максимальную скорость:
Для ЧМ:
Для ФМ:
Для АФМ:
Вывод: максимальная скорость передачи будет при передаче с помощью амплитудной фазовой модуляции.
5. Определение эффективной скорости приема сигналов данных и оптимальной длины принимаемых блоков
С целью обеспечения заданной достоверности при передаче данных применяют обратные связи и помехоустойчивое кодирование, использование которых приводит к появлению избыточности и, следовательно, к уменьшению скорости передачи данных.
Эффективная скорость передачи Вэф
будет зависеть от состояния канала связи, оптимальной длины передаваемых блоков и числа служебных разрядов. Блоки данных передаются кадрами, которые состоят из nсл1
байт служебных разрядов, rбайт проверочных разрядов и k байт информационных разрядов. Обратная связь осуществляется с помощью управляющих кадров, которые состоят из nсл2
байт служебных разрядов.
Эффективная скорость определяется по формуле:
,
где
– число байт в принимаемом блоке;
k – число информационных байт;
r – число проверочных байт; r = 16 бит;
p – вероятность ошибки единичного элемента.
Первая часть формулы указывает на уменьшение скорости за счет внесения служебных блоков, а вторая – уменьшение за счет переспросов.
Изменяя k от 15 до 500, и подставив эти значения в формулу для расчета эффективной скорости, получим график 3.
График 3
Из данного графика 3 видно, что оптимальная длина блока для АФМ равна:
nопт
= k + r + nсл
= 168 + 16 + 8 = 192 Бит = 24 Байт , при этом Bmax
= 58500 Бод
6. Выбор помехоустойчивого кода
При приеме сообщений необходимо обеспечить вероятность ошибки не более 10-6
, используют помехоустойчивые коды, исправляющая и обнаруживающая способность которых определяются их кодовым расстоянием d.
Определим вероятность необнаруженной ошибки Pно
в принятом блоке по следующей формуле:
,
где – число сочетаний из n по i;
t00
– число ошибок обнаруживаемых кодом;
Рассчитанное значение вероятности необнаруженных ошибок удовлетворяет неравенству.
7. Программная реализация кодирования и декодирования
Задан имитационный метод программной реализации.
Метод заключается в моделировании кодера и декодера циклического кода (10,5).
7.1 Кодирование
В основе кодирующего устройства лежит схема деления на порождающий многочлен g(x) = x5
+ x4
+ x3
+ x + 1 с предварительным умножением на x5
. Число ячеек памяти в регистре равно числу избыточных элементов в кодовой комбинации (5). Обратные связи подключены в соответствии с ненулевыми коэффициентами g(x) , следовательно, общее число обратных связей равно числу компонентов g(x) (или весу в двоичном представлении). Число сумматоров по модулю 2 равно числу знаков «+» в записи g(x) в виде многочлена. Вход схемы подключен после ячейки r4
для осуществления предварительного умножения кодируемого сообщения на x5
. Схема работает следующим образом. Информационные символы поступают на вход кодирующего устройства, начиная со старшей степени, и одновременно на выход схемы – в канал связи. В это время на схему И1
в цепи обратной связи поступают 5 тактовых импульсов и со входа информационные импульсы поступают через цепь обратной связи в разряды регистра r0
, r1
, r2
, r3
, r4
. Как только все 5 информационных символов поступят в устройство, совокупность n-k - символов в разрядах регистра совпадет с остатком от деления на g(x), т.е. разряды регистра содержат проверочные символы r(x) кодовой комбинации. По прошествии 5 тактов подача тактовых импульсов в схему И1
прекращается, т.е. линия обратной связи разрывается и 5 проверочных символов, сформированных в регистре, через схему И2
, на которую начинают поступать тактовые импульсы от 6-го до 10-го такта, выводятся в канал связи сразу же за информационными элементами.
Таким образом, за 10 тактов с выхода схемы в канал поступает вся кодовая комбинация циклического (10,5) – кода.
7.2 Декодирование
Кодовая комбинация вводится в схему деления на g(x), и одновременно информационные элементы этой принятой комбинации записываются в накопитель информационных разрядов. После ввода последнего элемента кодовой комбинации в схему деления разряды регистра сдвига этой схемы будут содержать остаток от деления принятой комбинации на g(x).
В случае, когда остаток чисто нулевой, комбинация считается принятой верно, если же остаток не равен нулю, то фиксируется ошибка. С целью принятия решения о наличии или отсутствии ошибок в комбинации содержимое разрядов регистра после завершения деления вводится в схему ИЛИ.
Если ошибки отсутствуют (или не обнаружены), то на выходе схемы получаем сигнал “0”, по которому информация из накопителя информационных разрядов выдается потребителю информации. В том случае, когда на выходе схемы ИЛИ появляется сигнал “1”, а это произойдет, когда хотя бы в одном из разрядов регистра после деления появится “1”, т.е. полученный остаток не равен нулю, информационные разряды из накопителя потребителю не выдаются и фиксируется ошибка.
7.3 Текст программы
Программа написана на языке C++.
#include <iostream>
using namespace std;
int main()
{
int cod[10][7];
int i, j, k, x;
cout << endl << endl << " KYPCOBA9I PA6OTA no CD3C " << endl <<" CTYDEHTA rpynnbl CK-71 " << endl <<" KO3JIOBA DMUTPU9I" << endl << endl << endl;
for(i=0;i<10;i++)
for(j=0;j<7;j++)
{
cod[i][j]=0;
}
cout<<"Enter data (5 symbols, use 'space' between them)" << endl;
for (i=0; i<5; i++)
{
cin >> cod[i][0];
cod[i][6]=cod[i][0];
}
for(i=1;i<5;i++)
{
cod[0][5]=cod[0][0];
cod[0][1]=cod[0][0];
cod[0][2]=cod[0][0];
cod[0][4]=cod[0][0];
k=cod[i-1][5];
x=cod[i][0]^k;
cod[i][1]=x;
cod[i][2]=x^cod[i-1][1];
cod[i][3]=cod[i-1][2];
cod[i][4]=x^cod[i-1][3];
cod[i][5]=x^cod[i-1][4];
}
for(i=5;i<10;i++)
{
k=cod[i][5];
cod[i][1]=k;
cod[i][2]=k^cod[i-1][1];
cod[i][3]=cod[i-1][2];
cod[i][4]=k^cod[i-1][3];
cod[i][5]=k^cod[i-1][4];
cod[i][6]=cod[i-1][5];
}
cout<<"Encoded combination:";
for(i=0;i<10;i++)
{
cout<<" "<<cod[i][6];
}
cout << endl << endl << endl;
int dec[16][6], err[11];
for(i=0;i<16;i++)
for(j=0;j<6;j++)
{
dec[i][j]=0;
}
cout<<"Enter the polynom of errors (10 symbols, use 'space' between them)" << endl;
for (i=1; i<11; i++)
{
cin>>err[i];
}
for (i=1; i<11; i++)
{
dec[i][0] = cod[i-1][6] ^ err[i];
}
for(i=1;i<11;i++)
{
dec[i][1]=dec[i-1][5]^dec[i][0];
dec[i][2]=dec[i-1][5]^dec[i-1][1];
dec[i][3]=dec[i-1][2];
dec[i][4]=dec[i-1][5]^dec[i-1][3];
dec[i][5]=dec[i-1][5]^dec[i-1][4];
}
for(i=11;i<16;i++)
{
dec[i][1]=dec[i-1][5];
dec[i][2]=dec[i-1][5]^dec[i-1][1];
dec[i][3]=dec[i-1][2];
dec[i][4]=dec[i-1][5]^dec[i-1][3];
dec[i][5]=dec[i-1][5]^dec[i-1][4];
}
cout << endl << "Register contents :";
for(j=1; j<6; j++)
{
cout<<" "<<dec[10][j];
}
cout << endl << endl << endl;
int check = 0;
for (i=1; i<6; i++)
{
check += dec[10][i];
if (dec[10][i]!=0)
{
cout << "!Error detected!" << endl << endl;
break;
}
}
if (check == 0)
{
cout << "No errors detected" << endl << endl <<"Decoded combination:"<< endl <<endl;
for(i=0;i<5;i++)
{
cout<<" "<<cod[i][6];
}
cout << endl << endl << endl;
}
return 0;
}
Литература
1. Передача дискретных сообщений, В.П. Шувалов, Н.В. Захарченко, Москва, 1990 г.
2. Методические указания к лабораторному практикуму по курсу «Микропроцессорная техника в системах передачи данных», А.В. Буданов, Р.И. Виноградов, О. . Когновицкий, ЛЭИС, Ленинград, 1988 г.