Системы документальной электросвязи
Санкт-Петербургский
Государственный
Университет Телекоммуникаций
имени проф.
М.А. Бонч-Бруевича
Пояснительная
записка к
курсовой
работе
Системы
документальной электросвязи
Студент: Козлов Дмитрий
Группа: СК-71
Задание № 20
Санкт-Петербург
2011 г.
Содержание
система обратная связь сигнал
Корректирующие коды
Модуляция
Классификация систем с обратной связью
1. Анализ возможности заданного циклического кода
.1 Составление поражающей матрицы и матрицы проверок
.2 Составление таблицы всех разрешенных комбинаций
.3 Определение доли необнаруженных ошибок
. Определение эффективности для кода (10,5)
3. Определение
оптимальной длинны блока циклического кода для системы РОС-НП
4. Определение максимальной скорости передачи данных по
каналу связи
5. Определение
эффективной скорости приема сигналов данных и оптимальной длины принимаемых
блоков
. Выбор
помехоустойчивого кода
7. Программная реализация кодирования и декодирования
7.1 Кодирование
.2 Декодирование
.3 Текст программы
Литература
Корректирующие коды
Корректирующие
коды, помехоустойчивые коды, коды обнаружения и исправления ошибки, коды
<#"518078.files/image001.gif">
· Канал с группирующимися ошибками:
По
результатам расчета можно сделать вывод, что эффективность больше на несколько
порядков в канале с независимыми ошибками.
Система с РОС и непрерывной передачей информации
В этих системах передатчик передает непрерывную последовательность
кодовых комбинаций, не ожидая получения сигналов подтверждения. Приемник
стирает те кодовые комбинации, в которых РУ обнаруживает ошибки, а затем
посылает сигнал переспроса. Кодовые комбинации выдаются получателю по мере их
поступления. При реализации такой системы возникают трудности, вызванные
конечным временем передачи и распространения сигналов.
Если передатчик будет повторять кодовые комбинации с запаздыванием на 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
|
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
|
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
|
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).
.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>namespace std;
main()
{cod[10][7];i, j, k, x;<< endl << endl
<< " KYPCOBA9I PA6OTA no CD3C " << endl <<"
CTYDEHTA rpynnbl CK-71 " << endl <<" KO3JIOBA
DMUTPU9I" << endl << endl <<
endl;(i=0;i<10;i++)(j=0;j<7;j++)
{[i][j]=0;
}<<"Enter data (5 symbols, use 'space'
between them)" << endl;(i=0; i<5; i++)
{>> cod[i][0];[i][6]=cod[i][0];
}(i=1;i<5;i++)
{[0][5]=cod[0][0];[0][1]=cod[0][0];[0][2]=cod[0][0];[0][4]=cod[0][0];=cod[i-1][5];=cod[i][0]^k;[i][1]=x;[i][2]=x^cod[i-1][1];[i][3]=cod[i-1][2];[i][4]=x^cod[i-1][3];[i][5]=x^cod[i-1][4];
}(i=5;i<10;i++)
{=cod[i][5];[i][1]=k;[i][2]=k^cod[i-1][1];[i][3]=cod[i-1][2];[i][4]=k^cod[i-1][3];[i][5]=k^cod[i-1][4];[i][6]=cod[i-1][5];
}<<"Encoded
combination:";(i=0;i<10;i++)
{<<" "<<cod[i][6];
}<< endl << endl << endl;dec[16][6],
err[11];(i=0;i<16;i++)(j=0;j<6;j++)
{[i][j]=0;
}<<"Enter the polynom of errors (10
symbols, use 'space' between them)" << endl;(i=1; i<11; i++)
{>>err[i];
}(i=1; i<11; i++)
{[i][0] = cod[i-1][6] ^ err[i];
}(i=1;i<11;i++)
{[i][1]=dec[i-1][5]^dec[i][0];[i][2]=dec[i-1][5]^dec[i-1][1];[i][3]=dec[i-1][2];[i][4]=dec[i-1][5]^dec[i-1][3];[i][5]=dec[i-1][5]^dec[i-1][4];
}(i=11;i<16;i++)
{[i][1]=dec[i-1][5];[i][2]=dec[i-1][5]^dec[i-1][1];[i][3]=dec[i-1][2];[i][4]=dec[i-1][5]^dec[i-1][3];[i][5]=dec[i-1][5]^dec[i-1][4];
}<< endl << "Register contents
:";(j=1; j<6; j++)
{<<" "<<dec[10][j];
}<< endl << endl << endl;check =
0;(i=1; i<6; i++)
{+= dec[10][i];(dec[10][i]!=0)
{<< "!Error detected!" << endl
<< endl;;
}
}(check == 0)
{<< "No errors detected" << endl
<< endl <<"Decoded combination:"<< endl
<<endl;(i=0;i<5;i++)
{<<" "<<cod[i][6];
}<< endl << endl << endl;
}0;
}
Литература
1. Передача
дискретных сообщений, В.П. Шувалов, Н.В. Захарченко, Москва, 1990 г.
2. Методические
указания к лабораторному практикуму по курсу «Микропроцессорная техника в
системах передачи данных», А.В. Буданов, Р.И. Виноградов, О. . Когновицкий, ЛЭИС,
Ленинград, 1988 г.