close

Вход

Забыли?

вход по аккаунту

?

6 [ПЗ-Задание 1]

код для вставкиСкачать
2 Расчет параметров и характеристик
2.1 Выбор вида модуляции
Модуляция расширяет возможности передачи сообщений по следующим
причинам:
1. увеличение числа сообщений, передаваемых по линии связи путем
использования частотного разделения сигналов.
2. повышение достоверности передаваемых сигналов при использовании
помехоустойчивых видов модуляции.
3. повышается эффективность излучения сигнала при передаче по
радиоканалу.
Существует 2 группы методов модуляции: непрерывные методы модуляции
и импульсные методы модуляции.
При непрерывных методах модуляции в качестве переносчика может
использоваться синусоидальное колебание, или несущая, которая характеризуется
такими параметрами, как амплитуда, частота и фаза. В соответствии с этим
выделяют 3 базовых типа непрерывной модуляции. Также имеются различные их
комбинации, называемые многократными модуляциями.
При амплитудной модуляции для логической единицы выбирается один
уровень амплитуды синусоиды несущей частоты, а для логического нуля –
другой. Этот способ редко используется в чистом виде на практике из–за низкой
помехоустойчивости, но часто применяется в сочетании с другим видом
модуляции – фазовой модуляцией. При этом полоса частот модулированного
сигнала увеличивается вдвое.
При частотной модуляции значения 0 и 1 исходных данных передаются
синусоидами с различной частотой – fo и fi. Этот способ модуляции не требует
сложных схем и обычно применяется при не высоких скоростях. Строго говоря,
спектр ЧМ - сигнала бесконечно велик и для точного воспроизведения сигнала
нужна бесконечная ширина полосы.
Однако боковые полосы частот имеют
ничтожную энергию и ими можно пренебречь. Приближенно полосу частот ЧМ сигнала можно найти по формуле:
FЧМ  2F max (mЧ 1)  2(F max  Fдев )
(1)
Сравнение амплитудной модуляции (АМ) и частотной (ЧМ) модуляций:
1. техническая реализация АМ проще ЧМ.
2. полоса частот при АМ значительно меньше, чем при ЧМ.
3. помехоустойчивость ЧМ значительно выше АМ
При фазовой модуляции передаваемое сообщение изменяет свое значение
фазы φ несущей. Значениям данных 0 и 1 соответствуют сигналы одинаковой
частоты, но с различной фазой, например 0 и 180 градусов или 0,90,180 и 270
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
13
Л
градусов. Так как при частотной модуляции индекс модуляции уменьшается с
увеличением частоты сигнала, а при фазовой модуляции он не зависит от нее, то
ширина полосы ФМ – сигнала оказывается больше, чем при частотной.
Преимуществом ЧМ является также независимость коэффициента ошибок от
сдвига частоты в канале (до  10 Гц) и скачков фазы (до 40). Эти же возмущения
в фазовых УПС приводят к появлению ошибок. Поэтому метод ЧМ является
более предпочтительным при передаче информации по коммутируемым каналам
ТЧ, а также по радио телефонным каналам связи.
В настоящее время широко используются комбинации и модификации этих
методов модуляции. В частности, квадратурная модуляция (англ.: QAM Quadrature Amplitude Modulation) - разновидность амплитудной модуляции
сигнала, которая представляет собой сумму двух несущих колебаний одной
частоты, но сдвинутых по фазе относительно друг друга на 90 градусов, каждая
из которых модулирована по амплитуде своим модулирующим сигналом:
SQAM (t )  I (t ) cos(2f0t )  Q(t ) sin(2f0t ) , где
(2)
I(t) и Q(t) - модулирующие сигналы и f0 - несущая частота.
Квадратурная модуляция применяется для передачи сигналов цветности в
телевизионном стандарте PAL и NTSC, в стереофоническом радиовещании.
Основана на передаче одним элементом модулированного сигнала n бит
информации, где n = 4...8 (т.е. используются 16... 256 дискретных значений
амплитуды). Однако для надежного различения этих значений амплитуды
требуется малый уровень помех (отношение сигнал/помеха не менее 12 дБ при n
= 4). При меньших отношениях сигнал/помеха лучше применять фазовую
модуляцию с четырьмя или восемью дискретными значениями фазы для
представления соответственно 2 или 3 бит информации. Тогда при скорости
модуляции в 1200 бод (т.е. 1200 элементов аналогового сигнала в секунду, где
элемент - часть сигнала между возможными сменами фаз) и четырехфазной
модуляции скорость передачи данных равна 2400 бит/с. Используются также
скорости передачи 4800 бит/с (при скорости модуляции 1600 бод и восьмифазной
модуляции), 9600 бит/с и более при комбинации фазовой и амплитудной
модуляций.
В задании на курсовой проект заданы АЧХ и ФЧХ канала (Таблица 2.1). Для
них вычислим необходимые параметры сигнала.
Таблица 2.1 – Неравномерность остаточного затухания и характеристика группового
времени прохождения при различных частотах.
F, кГц
Δa, Дб
Δτ, мс
F, кГц
Δa, Дб
Δτ, мс
0,1
12
2,18
2,7
0,4
0,2
0,3 0,5 0,7 0,9 1,1 1,3 1,5 1,7
10
6,3
4
1,9 0,7
0
0
0,05
2,13 1,95 1,57 1,25 0,85 0,45 0,3 0,13
2,9 3,1 3,3 3,5 3,7 3,9 4,1 4,3
0,5 0,6 0,7 0,8 0,9 1,6
4
6
0,29 0,29 0,43 0,57 0,84 1,35 1,76 2,03
Изм Лист № Документа
Подпись
Дата
1,9
0,05
0
4,5
8,1
2,12
2,1
0,1
0,05
4,7
10,2
2,35
ТПЖА.230201.031.014 ПЗ
2,3 2,5
0,2 0,3
0,08 0,14
4,9
12,2
2,37
Лист
ист
14
Л
По таблице построен график АЧХ канала (Рисунок 2.1). По графику АЧХ
ниже уровня затухания равного 6 Дб, лежит диапазон частот 3770Гц. Таким
образом, при однополосной амплитудной модуляции максимальная скорость
модуляции равна Bmax = 2ΔF = 7540Гц. При двухполосных АМ, ФМ, ЧМ
модуляциях Bmax ≈ ΔF = 3770Гц. Для удовлетворительной посылки сообщений
на практике выбирают скорость сообщения несколько ниже теоретически
рассчитанной, а именно при однополосной амплитудной модуляции
максимальная скорость модуляции равна Bпр = 0,7 Bmax = 1,4ΔF = 5278Гц. При
обычной АМ, ФМ, ЧМ модуляциях Bпр ≈ 0,7 Bmax = 0,7ΔF = 2639Гц.
Рисунок 2.1 – Характеристика неравномерности остаточного затухания канала
Групповое время запаздывания посылок. Δτгр доп пр = 1/Впр = 1/5278 = 0,189мс
при однополосной АМ и Δτгр доп пр ≈ 1/Впр = 1/2639 = 0,379 мс при двухполосных
АМ, ЧМ, ФМ.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
15
Л
Рисунок 2.2 – Характеристика группового времени прохождения сигнала
Рисунок 2.3 – Определение оптимальной скорости модуляции для двухполосных
видов модуляции
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
16
Л
Рисунок 2.4 – Определение оптимальной скорости модуляции для однополосной АМ
По заданию необходимо использовать двухполосные виды модуляции. ФЧХ
и АЧХ канала не согласованы, поэтому необходимо ввести фазочастотный
корректор, для определения оптимальной скорости модуляции в данном канале.
Скорректируем ФЧХ канала таким образом, чтобы канал подходил для
передачи амплитудно модулированного сигнала.
При корректировке ФЧХ сигнала для амплитудной, частотной модуляции
требуется расширения полосы частот до 3790Гц. Корректированная
характеристика группового времени прохождения изображена на рисунке 2.5.
Решив новую систему уравнений B = 0,7ΔF и B = Ψ(ΔF) можно найти
оптимальную скорость модуляции. Вопт = 3,15КГц. Из стандартного ряда
скоростей модуляции выберем скорость модуляции В = 2,4КГц.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
17
Л
Рисунок 2.5 – Корректированная ФЧХ канала
Рисунок 2.6 – Определение оптимальной скорости модуляции после
корректировки ФЧХ канала
Из ГОСТ 17422-82
Изм Лист № Документа
Подпись
Дата
ближайшей стандартной скоростью модуляции к
ТПЖА.230201.031.014 ПЗ
Лист
ист
18
Л
вычисленной является B = 2400Бод.
При небольших скоростях передачи данных удовлетворяют АМ, ЧМ, ФМ
модуляции. Частотная манипуляция (FSK) весьма помехоустойчива, поскольку
помехи телефонного канала искажают в основном амплитуду, а не частоту
сигнала. Однако при частотной манипуляции неэкономно расходуется ресурс
полосы частот телефонного канала. Поэтому этот вид модуляции применяется в
низкоскоростных протоколах, позволяющих осуществлять связь по каналам с
низким отношением сигнал/шум. Частным случаем FSK является частотная
манипуляция с минимальным сдвигом (MSK), при которой не происходит
скачков фазы и изменение частоты происходит в моменты пересечения несущей
нулевого уровня. MSK уникальна, потому что значение частот соответствующих
логическим "0" и "1" отличаются на величину равную половине скорости
передачи данных. Другими словами, индекс модуляции равен 0,5.
Допустим, что логическая единица будет модулироваться в гармонику с
частотой 2400Гц, логический ноль – гармоникой с частотой 3600Гц. Тогда
цифровой сигнал, изображенный на рисунке 2.7, преобразуется в
манипулированный сигнал на рисунке 2.8. Для модуляции сигнала в данном
проекте будет использоваться MSK.
Рисунок 2.7 – Некоторая кодовая последовательность
Рисунок 2.8 – Сигнал после частотной манипуляции
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
19
Л
2.2 Выбор формата сообщения
Как уже упоминалось, для отделения одного пакета от другого каждый из
них разделяется уникальным маркером. Эта комбинация содержит один байт,
который имеет вид 01111110, т.е. содержит начальный 0 и 6 единиц подряд,
после чего закрывается нулевым битом.
Для достижения прозрачности данных в этой схеме необходимо, чтобы
флаг не присутствовал в поле данных кадра. Это достигается с помощью приема,
известного как вставка 0 бита, бит–стаффинга. Схема вставки бита работает
только во время передачи поля данных кадра. Если эта схема обнаруживает, что
подряд передано, пять 1, то она автоматически вставляет дополнительный 0
(даже если после этих пяти 1 шел 0). Поэтому последовательность 01111110
никогда не появится в поле данных кадра. Аналогичная схема работает в
приемнике и выполняет обратную функцию. Когда после пяти 1 обнаруживается
0, он автоматически удаляется из поля данных кадра.
Выберем размер маркерной комбинации и рассчитаем вероятность
ложного обнаружения маркера и вероятность его пропуска, чтобы система
удовлетворяла заданной категории помехоустойчивости.
1
Pлф  l
2
s
C
i 0
l
i
Pпм 
;
s
C
i s 1
l
i
 p0i  (1  p0 )l 1 ,
(3)
где l – размер маркера, s – количество допустимых ошибок в маркере.
Для достижении заданной помехоустойчивости был выбран маркер
размера l = 32, s = 3. При таких значениях: Pлф = 1,278*10-6, а вероятность
пропуска маркера Pпм = 3,506*10-8.
По заданию на курсовой проект при передаче данных нужно использовать
CRC-контроль. Задан порождающий полином p(x) = 3000058 =
110000000000001012. Следовательно, количество проверочных разрядов r = 16.
2 бита будет отводиться для адреса источника сообщения, так как источников
сообщений 3. В посылку также следует включать номер посылки, но их число, а
следовательно и размер номера посылки будет зависеть от размера самой
посылки. Размер передаваемой информации 104 Байт от каждого источника
информации. Также в начале и в конце блока будут вставлены маркерные
комбинации по 6 бит для определения начала и конца комбинации.
Для нахождения оптимального размера блока нужно было найти
максимальную относительную эффективную скорость по формуле:

P n   n 
Vэф.min  V  1  0 б   1  сл 
 1  P0  nб   nб 
(3)
По формуле 3 при вероятности ошибочного приема сообщения P0 = 10-3
был построен график зависимости относительной эффективной скорости от
размера блока (Рисунок 3.1).
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
20
Л
Рисунок 2.9 – Зависимость относительной эффективной скорости передачи данных от
размера блока данных
По графику видно, что наиболее эффективная скорость при размере блока
Nб = 167. Из ряда стандартных значений размеров блоков наиболее близкий к
оптимальному размер блока Nб = 120.
Данный циклический код с образующим полиномом p(x) = 3000058 =
110000000000001012 теоретически при числе ошибок в канале 10-3, алгоритмы
исправления должен улучшить этот показатель и привести число ошибок, к 10-6
(категория помехоустойчивости Kp = 2 для алфавитно-цифровой информации по
ГОСТ 16521-88) и менее. Допустим, что минимальное кодовое расстояние d = 5.
Пусть ожидается, что информационная часть в блоке будет содержать 100 бит.
Тогда вероятность трансформации при максимальном кодовом расстоянии
меньше заданного допустимого значения:
4
(nPош) j nP
(100 0.001) j 1000.001
Pтр  1  
e  1 
e
 7,668108
j!
j!
j 0
j 0
d 1
(4)
При обнаружении ошибки приемник будет запрашивать новые данные у
передающего устройства. На самом деле, такой код с минимальным кодовым
расстоянием d = 5 может обнаружить 4 ошибки и исправить 2 ошибки в
принятой комбинации.
Количество информационных битов k и количество битов под номер
блока m можно определить, решив уравнение:
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
21
Л
120  16  2  1  k  log2 (int(
80000
))
k
(5)
k = 91. m = 10. Но так как информация передается в формате КОИ-8, то размер
информации в блоке должен быть кратен байту. Это можно добиться путем
уменьшения размера поля номера блока до 6 бит. Номер блока будет
передаваться циклически. Тогда формат сообщения будет следующий:
маркер
32 бит
Адрес
2бита
Номер блока
6 бит
Информация
96 бит
Проверочная часть
16 бит
Рисунок 2.10 – Единичный блок информации и распределение битов
Формат ответного сообщения
Дуплексные и полудуплексные системы передачи данных подразумевают
наличие обратных связей (ОС). Поэтому необходимо выбрать формат ответного
сообщения приемника. Устройства с информационной ОС передают
необходимую информацию передатчику сообщений, а он в свою очередь
принимает решение. Устройство с решающей ОС передают по обратному каналу
управляющие сигналы. В двух этих случаях длины посылок различные.
Для начала необходимо определить все возможные виды ответных
сообщений:
1. Верное принятие сообщения – запрос следующего блока;
2. Передача данных закончена.
Таким образом, потребуется 1 бит для описания вида сообщения:
0 – «верное принятие блока»;
1 – «передача данных закончена»
Для ответного сообщения целесообразно применить асинхронный стартстопный метод, так как:
- сообщения небольшой длительности;
- паузы между сообщениями больше, чем длина сообщения.
Формат сообщения для передачи по обратному каналу с РОС будет иметь
вид, представленный на рисунке:
Старт
Пауза
Информация
Стоп
Рисунок 2.11 – Формат ответного сообщения
Старт-1,5 бита, 0,5 бит - контрольная пауза, 1стоповый бит, информация: 1
бит – причина отправки ответа.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
22
Л
Так как минимальное кодовое расстояние между информационными
частями посылок d = 1. При передаче одной посылки вероятность
трансформации можно найти по формуле:
 d 1 (n  p) j  e ( n p) 
 0 (1  0.001) j  e ( 10.001) 
4
Pт р  1  
(6)
  1  
  9,995 10 ,
j!
j!
 j 0

 j 0

где p - вероятность ошибки.
Для достижения необходимого значения вероятности трансформации
отправленного сообщения, которое удовлетворяет заданной категории
помехоустойчивости системы передачи данных, и во избежание ситуаций, в
которых нельзя однозначно правильно принять решение, необходимо повторить
информационную часть сообщения 3 раза. Тогда вероятность трансформации
сообщения:
Pт р3  Pт3р  9,985 1010
Старт
1,5 бит
Пауза
0,5 бит
Информация
3 бит
Стоп
1 бит
Рисунок 2.12 – Единичный блок информации и распределение битов
Т.о. формат ответного сообщения будет изображен на рисунке 2.1. Для
РОС будет использоваться стартстопный метод фазирования.
2.3 Расчет среднего времени запаздывания информации
Для прямого канала связи
Среднее время запаздывания информации определяется по формуле:
W=C+T
(7)
где T = Тпер+ Тсб + Tобр,
С – среднее время ожидания сообщением обслуживания на выходе
источника информации,
Тпер – время передачи информации от 1 источника к приемнику,
Тсб – время сбора информации приемником,
Tобр – время обработки приемником сообщения.
Для настоящей СПД время передачи Тпер данных намного превосходит
время сбора и обработки, так что формулу 5 можно записать в следующем
упрощенном виде:
W = C + Tпер
(8)
С учетом того, что необходимо передать 104 Байт информации по 96 бит в
каждом блоке, количество посылок M = 80000бит/96бит = 834
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
23
Л
Длина посылок L = 120Бит, следовательно, время передачи одной посылки
можно найти по формуле Tпер 
Время
передачи
от
tц  Tпер  N  44,48 3  133,44 с
L  M 834132

 44,48с
B
2400Гц
3
источников
сообщения
(9)
будет
равным
(10)
С – среднее время ожидания сообщением обслуживания на выходе
источника информации при циклическом обслуживании находится по формуле
Хинчина-Поллачека.
 t2
C
2  (1    tц )
ц
(11)
где λ – интенсивность поступления заявок на обслуживание с источников
информации.
В нашем случае среднее время ожидания обслуживания
107 133,442
0,0017806
C

 0,00089с  0,89 мс
2  (1  107 133,44) 2  0,9999866
Общее время запаздывания информации будет равным
W = tц + Tпер = 133,44c + 1,18мс ≈ 133,44 с.
Для обратного канала связи
Длина посылок L = 6Бит, следовательно, время передачи одной посылки
L M
6

 0,0025с
B
2400Гц
В нашем случае среднее время ожидания обслуживания С = 0
можно найти по формуле Tпер 
(13)
T. о. общее время запаздывания информации будет равным W = Tпер = 0,025c.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
24
Л
2.4 Вывод к главе 2
В данной главе для заданного канала тональной частоты с определенными
характеристиками был выбран оптимальный метод модуляции сигнала,
рассчитана техническая скорость потока информации. Так же был выбран
наиболее оптимальный по длине блок, которому соответствует максимальная
эффективная скорость передачи данных. В соответствии с полученной длиной
блока был выбран формат сообщения для данной СПД. Передаваемые
сообщения соответствуют заданной категории помехоустойчивости системы.
Рассчитано среднее время запаздывания информации при передаче по прямому
и обратному каналу связи.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
25
Л
3 Разработка структурных схем и алгоритмов
функционирования СПД
3.1 Разработка структурной схемы передающего устройства
В общем, виде структурная схема передающего устройства состоит из
следующих блоков: устройства управления (УУ), буферного накопителя(БН),
кодирующего устройства(КУ), анализатора обратного канала связи(АОКС),
формирователя маркерной комбинации(ФМК), датчика номера блока(ДНБ),
датчика служебной комбинации(ДСК), формирователя сигналов обмена(ФСО),
блока начальной установки(БНУ), блока аварийной индикации и
сигнализации(БАСИ), формирователя тактовых импульсов(ФТИ), счетчика
числа повторных запросов(СПЗ), ВБ – выполняет функцию бит-стаффинга.
Информация передаётся в цифровом виде. В свою очередь от передатчика
к каждому источнику должен передаваться сигнал запроса на передачу и сигнал
готовности обслуживания. Кроме того, от каждого источника необходимо
организовать линию подтверждения запроса на обслуживание. В случае
положительного ответа на подтверждение, источнику информации отправляется
сигнал «Готов», а последний в свою очередь отправляет данные. Данные
сигналы обмена формирует ФСО1. Номера опрашиваемых источников
информации формирует устройство управления.
БНУ при включении устройства или при каких-либо неустранимых
ошибках в работе устройства обнуляет все счетчики, регистры, т.е. переводит
передатчик в исходной состояние.
В блоке проверки и преобразования информации БППИ, информация,
полученная от источников, преобразуется в вид, удобный для кодирования,
выполняется эффективное кодирование.
ДНБ, который формирует номер передаваемого блока, включает в
качестве основной части двоичный счетчик, который тактируется сигналами УУ.
Датчик служебной комбинации, в соответствии с сигналами от УУ,
формирует в нашем случае номер источника информации. Датчик служебной
комбинации в нашем случае будет обладать памятью для запоминания адреса
источника от которого была передана информация. Это необходимо для
организации повторной отправки неправильно принятых сообщений.
Кодирующее устройство, используя в качестве входных данных выходные
данные БППИ, ДНБ, ДСК, формирует сообщение для передачи по каналу связи.
Буферный накопитель предназначен для временного хранения данных,
поступивших от источников информации.
При неверной передаче от приемника в узел СПЗ поступают сигналы из
обратного канала связи. Если количество неверных передач одного и того же
сообщения превысило допустимую, принимается решение об отказе от его
повторной пересылки.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
26
Л
Формирователь тактовых импульсов исполняет функцию синхронизации с
приемным устройством, такое же устройство находится на приемной стороне
СПД.
БАСИ предназначен для индикации аварийных ситуаций в работе
передающей части устройства.
Для организации согласованной работы всего устройства служит
устройство управления. Устройство управления призвано выносить различные
управляющие команды в соответствии с алгоритмом работы проектируемой
системы. Структурная схема передающего устройства представлена на рисунке
3.1
Блок ВБ выполняет функцию вставки 0 бита в комбинации в длинные
последовательности из единиц(бит-стаффинг).
Информация
Запрос
Источник
информации
1
КУ
Данные
КС
УПС
ВБ
Подтверждение
Готов
ОКС
ДНБ
Информация
БН
ДСК
ФМК
Запрос
Источник
информации
3
БППИ
БНУ
Подтверждение
Готов
Информация
УУ
ФТИ
Запрос
Подтверждение
ФСО1
Готов
БАСИ
СПЗ
АОКС
ОС
Рисунок 3.1 – Структурная схема передающего устройства
3.2 Разработка структурной схемы приемного устройства
В общем, виде структурная схема принимающего устройства состоит из
следующих блоков: формирователь сигналов обратной связи (ФСОС),
формирователя тактовых импульсов (ФТИ), формирователей сигналов обмена
ФСО1,2 , регистра служебной комбинации (Рг Ск), дешифратора служебной
комбинации (Дш Ск), блока циклового фазирования (БЦФ), блока аварийной
сигнализации и индикации (БАСИ), устройства управления (УУ), буферного
накопителя (БН), декодирующего устройства (ДКУ), входного регистра (Вх Рг),
блока преобразования и выдачи информации (БПВИ), УБ – блок для удаления
излишних вставленных нулевых бит.
БЦФ служит для определения начала блока информации. Декодер
декодирует информацию, которая поступает от устройства приема/передачи.
Буферный накопитель принимает данные от декодирующего устройства и
хранит их в течение одного цикла работы, после чего по сигналу от
уставляющего устройства выдает ООД. ФТИ необходимо для формирования
синхропоследовательности, которая синхронизирует работу устройств на
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
27
Л
приемной стороне. Как и в схеме передающей части в схеме приемной части
присутствует БНУ, БАСИ, выполняющие ту же функцию.
БПВИ преобразует информацию и передает ее следующему узлу СПД –
устройству сопряжения.
Для организации согласованной работы всего устройства служит
устройство управления. Устройство управления призвано выносить различные
управляющие команды в соответствии с алгоритмом работы проектируемой
системы. Структурная схема принимающего устройства представлена на
рисунке 3.2
УБ
Данные
Рг Ск
Вх Рг
ДКУ
Дш Ск
Синхронизация
БН
ФТИ
БПВИ
УУ
Информация
БНУ
От УПС
БЦФ
БАСИ
ФСО1
Управление
ФСОС
ФПЭ
к УПС
КУ
Рисунок 3.2 – Структурная схема принимающего устройства
Так как разрабатываемая система дуплексного типа, то на обеих сторонах
СПД должен быть как приемная часть УЗО, так и передающая.
В приемной части формировать ответные сообщения будет ФСОС,
включающий формирователь пускового элемента и КУ, которое будет
кодировать адрес источника информации и номер неправильно принятого блока.
На передающей стороне находится узел АОКС, который выполняет функции
декодирования сообщения и выделения пускового элемента в
кодовой
последовательности.
3.3 Алгоритм работы передатчика
Алгоритм
функционирования передатчика разрабатывается
вне
зависимости, на каких элементах будет реализована СПД.
При включении устройства производятся начальные установки всех
устройств (обнуление регистров, счетчиков и т.д.). Устройство управления
выбирает из ПЗУ адрес первого источника информации и опрашивает его,
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
28
Л
выставляя сигнал “Запрос”. Если источник информации не готов к передаче
устройство управления выбирает из ПЗУ адрес следующего источника
информации. Если источник информации готов к передаче он выставляет сигнал
“Подтверждение запроса”. Устройство управление выставляет сигнал “готов”,
когда оно готово к приему данных. Данные от источника информации
записывается в буферный накопитель. Далее устройство управление формирует
сигнал для датчика номера блока и датчика служебной комбинации. УУ
формирует сигнал на отправку маркерной комбинации , далее на кодирование
информации. Данные, передаваемые в дискретный канал связи кодируются
помехоустойчивым кодом. Сформированные кодером проверочные биты
добавляются к информационным (номер блока, адрес, данные). Аналогичным
образом формируются последующие блоки.
Далее из анализатора обратного канала связи считывается квитанция на
перезапрос: если она “отрицательная” (сообщение пришло верно), то
отправляется
следующий
блок
информации.
Если
квитанция
положительная(передана вся информация), передающая часть завершает свою
работу. В случае отсутствия ответного сообщения, УУ обращается к буферному
накопителю, из которого еще не была удалена переданная неправильно
информационная часть. Формируется повторное сообщение, которое далее
кодируется и отправляется в канал связи. В том случае, если количество
повторных запросов превышает допустимое число, происходит обнуление СПЗ
и отправляется следующее сообщение. В случае сбоя в работе передатчика, а
именно: в случае отсутствия сигналов от источников, в случае отказа каких либо
узлов передающей части БАСИ сигнализирует об этом. Блок-схема описанного
алгоритма работы представлена на рисунке 3.3
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
29
Л
Начало
1
Начальная
установка
С
2
Запрос к
источникуi
3
Подтверждение
B
да
4
нет
E
Сигнал
«Готов» от УУ
5
Пересылка
данных в БППИ
и запись в БН
6
Формировани
е номера
блока
7
Формирование
адреса
источника
8
Кодирование
информации
9
Пересылка
маркера
D
Рисунок 3.3 – Блок-схема алгоритма работы передающей части СПД
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
30
Л
E
D
10
Пересылка
информации
11
i=i+1
12
Наличие
ответного
сообщения
нет
14
да
13
Информация
передана
полностью
Количество
отправок
превышает
допустимую
нет
15
Обращение к
ранее
переданному
блоку
да
конец
нет
16 Увеличение
числа
записанного в
СПЗ
19
Сброс ПЗ
С
D
да
17
Индикация
аварийной
ситуации
18
Сброс ПЗ
С
Рисунок 3.3(Продолжение) – Блок-схема алгоритма работы передающей части СПД
3.4 Алгоритм работы приемника
При включении устройства производятся начальные установки всех
устройств (обнуление регистров, счетчиков и т. д. ). Система начинает поиск
маркера, который будет означать начало блока данных. Синхронизация
приемной части, подстройка формирователя тактовых импульсов будет
проходить автоматически по выявлении на выходе УПС импульсов
информации, т.е. будет иметь место самосинхронизация. При выявлении
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
31
Л
маркерной комбинации УУ разрешает работу декодера, который определяет
наличие ошибки в принятой кодовой комбинации. Если ошибок нет, то данные
передаются в буферный накопитель, а далее в БПВИ. В случае выявления
ошибки, по обратному каналу связи передающей части отправляется сообщение
о необходимости повторной передачи, с данными о номере оправленного блока
и адресе источника.
Завершение работы происходит при отключении ССПИ. Блок-схема
алгоритма, описанного выше, представлена на рисунке 3.4
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
32
Л
Начало
1
Начальная
установка
A
2
Выявление
маркерной
комбинации
1
Декодирование
3
да
Передано без
ошибок
нет
5
Пересылка
информации из
входного
регистра в БН
6
Разрешающий
сигнал для
БПВИ
7
Формирование
ответного
собщения
8
Отправка
ответного
сообщения
A
Рисунок 3.4 – Блок-схема алгоритма работы приемной части СПД
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
33
Л
Вход
Изм Лист № Документа
Подпись
Дата
x0
x8
x1
x9
+
x10
x2
x11
x3
x12
x4
x13
x5
x14
x6
+
x7
x15
k2
k1
1
2
Выход
Рисунок 3.5 – Структурная схема кодера циклического кода с образующим полиномом 3000058
+
3.5 Структурная схема кодера циклического кода
ТПЖА.230201.031.014 ПЗ
Лист
ист
34
Л
Изм Лист № Документа
n тактов
Подпись
Дата
+
x0
x8
9
x1
x9
2
+
10
x10
x2
11
3
x11
x3
1
2
3
4
5
6
7
x12
x4
15
16
12
4
1 juju
13
5
14
n+1 такт
x13
x5
6
15
+
x7
&win Ошибка
x14
x6
7
x15
Рисунок 3.6 – Структурная схема декодера CRC-кода с образующим полиномом 3000058
Вход &win
1
8
16
3.6 Структурная схема декодера CRC-кода
ТПЖА.230201.031.014 ПЗ
Лист
ист
35
Л
3.7 Вывод к главе 3
В главе 3 данного курсового проекта разработаны структурные схемы
передающей и приемной частей системы передачи данных, алгоритмы
функционирования приемной и передающей частей, структурные схемы кодера
и декодера CRC-кода.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
36
Л
4 Разработка кодирующего и декодирующего устройства
4.1
Описание программы
Общие сведения
Программа Сodeс.exe, которая представляет собой законченный,
исполнимый файл написана на языке С++. Разработана в интегрированной среде
разработки Borland C++ Builder 5.
Назначение программы
Назначение данной программы – демонстрация контроля ошибок при
передаче сообщений циклическим кодом, что подразумевает кодирование
информации циклическим кодом и выявление наличия ошибок при приеме
сообщения (декодирование без исправления ошибок). Чтобы показать
правильность кодирования, декодирования, выявления ошибок передается лишь
один блок, который содержит 88 бит информации и заданное ранее количество
проверочных бит.
Входные и выходные данные
К входным данным относятся:
- образующий полином циклического кода, который можно сгенерировать
случайным образом, загрузить полином из файла или выбрать полином p(x) =
3000058;
- информационная последовательность, которая может быть сформирована
случайным образом или загружена из файла;
- вектор ошибки, который задается пользователем.
Информация, порождающий полином, вектор ошибки представляют собой
массивы переменных булевского типа, размер которых 1байт. При записи
полинома в файл массив преобразуется в ASCII-код, который в дальнейшем
можно редактировать в текстовых редакторах.
К выходным данным относятся:
- массив проверочной части;
- массив принятого сообщения;
- результат декодирования сообщения.
Результатом декодирования является решение о верности принятого
сообщения.
Массив принятой кодовой комбинации и проверочная часть – массивы
булевского типа. Принятую комбинацию можно записать в файл.
Описание логической структуры
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
37
Л
Данная программа содержит одну экранную форму, которая содержит
визуальные элементы для отображения передаваемых и принимаемых массивов
информации, для вывода остатков из регистров кодера циклического кодека
которой, векторов ошибки, управляющие кнопки для вывода справки,
инициирования некоторых действий программного кодека.
Последовательность действий при работе с программой:
1. Сначала выбирается порождающий полином циклического кода: либо
загружается из файла, либо генерируется случайным образом в соответствии с
размером указанным в поле «Степень полинома», либо выбирается полином,
указанный в задании к курсовому проекту.
2. После генерируется случайным образом, либо загружается из файла
информационная последовательность, которая далее подлежит кодированию. Для
этого предназначены кнопки «Сформировать» и «Открыть файл».
Сформированную последовательность можно сохранить в файл. При выборе
какой-либо клетки в строке информационной последовательности бит в массиве
информации инвертируется.
3. При нажатии кнопки «Закодировать» информация кодируется,
формируется проверочная часть, которую можно просмотреть в строке
«Проверочная часть».
4. Далее можно сформировать вектор ошибки, который изначально равен
нулевой строке. При выборе какой-либо клетки бит в векторе ошибки
инвертируется.
5. По нажатии кнопки «Принять сообщение» в последней таблице
выводится принятая комбинация, а в поле «Результат» вывод о правильности
принятия сообщения.
При работе с файлами используются диалоговые окна, поэтому исключены
возможность неверной работы с файлами, возможность ошибок при их
отсутствии.
При реализации данной программы используются класс codec, содержащий
функции кодирования и декодирования и необходимые для того переменные,
функции, которые будут описаны позднее.
Используемые переменные
В класс формы, кроме стандартных объектов, были добавлены следующие
переменные и объекты:
- codec * first; (указатель на объект класса codec)
- bool * ptr; (вспомогательный указатель булевского типа)
- bool * inf; (указатель на массив информации булевского типа)
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
38
Л
- bool * err; (указатель на массив вектора ошибки булевского типа)
- bool * rec; (указатель на массив принятого сообщения булевского типа)
- bool * pla; (вспомогательный указатель булевского типа, используемый при
загрузке полинома в класс codec)
- TFileStream * information; (указатель на поток файла, для загрузки массива
информации)
- TFileStream * message; (указатель на поток файла, для сохранения массива
принятого сообщения)
- TFileStream * polynom; (указатель на поток файла, для загрузки и
сохранения массива полинома)
В классе codec используются следующие переменные и функции:
- int degr - степень полинома
- bool * poly - адрес полинома
- bool * reg - адрес остатка
- bool * syn - адрес синдрома
- bool * copy - адрес массива копии информации
- int change_poly(bool *, int) – функция изменения полинома
- bool * code(bool *) - функция кодирования
- bool decode(bool *) - функция декодирования
- bool * get_reg() { return reg;} – возврат остатка из регистра кодера
- bool * get_poly() { return poly;} - возврат адреса полинома
- bool * get_syn()
{return syn;} - возврат синдрома
- int get_degr() {return degr;} – возврат степени образующего полинома
- codec() – конструктор класса
Для всей программы в целом нецелесообразно составлять алгоритм ее
работы, так как все действия инициируются нажатием каких-либо кнопок, т.е.
алгоритм не имеет четкой структуры.
Приведем лишь алгоритмы основных функций класса codec.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
39
Л
начало
bool * code(bool *
inf)
F
Выделение дин.
памяти под
массив копии
сообщения
j=i
i=0
Цикл по j
j > i+degr
Цикл по i
i >= 88
copy[j]=
copy[j]^poly[j-i]
G
j = j +1
copy[i] = inf[i]
i = i +1
i = i +1
i = 88
Выделение
памяти под
массив регистра
проверочных бит
Цикл по i
i >= 88+degr
i=0
copy[i] = 0
Цикл по j
i ≥ degr
i = i +1
reg[i]= copy[i+88]
i = i +1
i=0
Удаление
массива копии
Цикл по i
i ≥ 88
copy[i] = 1
Возврат адреса
массива
провероных бит
да
нет
F
G
конец
bool * code(bool *
inf)
Рисунок 4.1 – Блок-схема алгоритм функции кодирования информационной
последовательности.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
40
Л
начало
bool * code(bool *
inf)
H
i=0
i=0
Цикл по i
i > 88
Цикл по i
i ≥ degr
нет
rec[i] = 1
syn[i] = rec[i+87]
да
i = i +1
j=i
Цикл по j
j > i+degr
i=0
rec[j]= rec[j]^poly[ji]
Цикл по i
i ≥ degr
j = j +1
syn[i] = 1
Выделение
динамической
памяти под массив
синдрома
возврат 1
i = i +1
H
возврат 0
Рисунок 4.2 – Блок-схема алгоритма функции декодирования сообщения
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
41
Л
Начало int
change_poly(bool *
pla, int d)
Удаление массива
полинома poly
d>1
да
degr = d
i=0
Выделение дин.
памяти под массив
полинома размера
degr
нет
degr = 16
i=0
Выделение дин.
памяти под массив
полинома
размера 17
Цикл по i
i > 14
Цикл по i
i > degr
poly[i]= 0
poly[j]= pla[i]
i = i +1
i = i +1
poly[16] = 1
poly[15] = 1
poly[2] = 1
poly[0] = 1
возврат degr
Рисунок 4.3 – Блок-схема алгоритма функции изменения образующего полинома
Вызов и загрузка
Размер исполнимого файла 480Кб. Размер прилагаемого файла справки
720Кб. Файлы сообщения, информации, образующих полиномов можно не
использовать. К программе прилагается файл справки Windows. При исполнении
программа занимает в оперативной памяти около 6Мб.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
42
Л
4.2 Тестирование программной реализации
Тест 1
Входные данные:
Образующий полином по заданию p(x) = 3000058 = 110000000000001012
Произвольная информационная последовательность:
I(x) = 100001000110001110011101100111011111001011110111000100110100
11110000110100000000100101002
Нулевой вектор ошибки:
E(x) = 0000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000002
Выходные данные:
Декодированная комбинация:
M(x) = 100001000110001110011101100111011111001011110111000100110100
11110000110100000000100101002
Проверочная комбинация:
R(x) = 11011010011101102
Вывод сообщения об правильно принятой комбинации
Тест 2
Входные данные:
Образующий полином загруженный из файла p(x) = 10112
Информационная часть, загруженная из файла и содержащая одни лишь
единичные биты:
I(x) = 1111111111111111111111111111111111111111111
111111111111111111111111111111111111111111112
Полностью единичный вектор ошибки
E(x) = 1111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111112
Выходные данные:
Декодированная комбинация:
M(x) = 000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000002
Проверочная комбинация:
R(x) = 1112
Вывод сообщения об ошибочно принятой комбинации
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
43
Л
Тест 3
Входные данные:
Образующий полином загруженный из файла p(x) = 10112
Информационная часть, загруженная из файла и содержащая одни лишь
единичные биты:
I(x) = 1000010001100011100111011001110111110010111
10111000100110100 11110000110100000000100101002
Полностью единичный вектор ошибки
E(x) = 1111000000000000000000000000000000000000000000000000000000000
0000000000000000000000000002
Выходные данные:
Декодированная комбинация:
M(x) = 0111010001100011100111011001110111110010111 10111000100110100
11110000110100000000100101002
Проверочная комбинация:
R(x) = 11011010011101102
Вывод сообщения об ошибочно принятой комбинации
Т.о. программа успешно прошла предложенные ей тесты.
4.3 Вывод к главе 4
В главе 4 данного курсового проекта разработана программная реализация
кодера и декодера циклического кода, также приведены алгоритмы основных
функций из класса codec, приведены тесты программы. Листинг программы
приведен в приложении Б.
Изм Лист № Документа
Подпись
Дата
ТПЖА.230201.031.014 ПЗ
Лист
ист
44
Л
Документ
Категория
Радиоэлектроника
Просмотров
58
Размер файла
1 219 Кб
Теги
задание
1/--страниц
Пожаловаться на содержимое документа