ДОНБАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра «Специализированные компьютерные системы»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению курсовой работы
по дисциплине «Обработка сигналов и изображений»
на тему «Моделирование устройства передачи данных по бинарному каналу»
Алчевск 2004
|
|
СОДЕРЖАНИЕ |
|
1 |
Цель работы |
3 |
|
2 |
Содержание и оформление расчетно-пояснительной записки |
3 |
|
3 |
Порядок выполнения работы |
3 |
|
|
3.1 |
Модель устройства передачи данных |
4 |
|
3.2 |
Построение кода |
6 |
|
3.2.1 Код с удвоением числа элементов |
6 |
|
|
3.2.2 Инверсный код |
6 |
|
|
3.2.3 Код Хемминга |
7 |
|
|
3.2.4 Циклический код |
10 |
|
|
3.3 |
Модель кодирующего и декодирующего устройства |
14 |
4 |
Задание |
16 |
|
Перечень рекомендуемой литературы |
17 |
||
Приложение А |
18 |
2
1 ЦЕЛЬ РАБОТЫ
Курсовая работа посвящена разработке модели устройства передачи данных по дискретному бинарному каналу связи. В работе отражаются вопросы моделирования датчиков, первичных преобразователей аналого-цифровых и цифроаналоговых преобразователей (АЦП – ЦАП), линий связи, кодирующих и декодирующих устройств, проектирования исправляющих ошибки кодов.
2 СОДЕРЖАНИЕ И ОФОРМЛЕНИЕ РАСЧЕТНО-ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ
Расчетно-пояснительная записка состоит из следующих разделов: задание, содержание, введение, расчетная часть, моделирование, заключение, список использованной литературы, приложения.
Задание выбирается из п.4 данных методических указаний по варианту, указанному преподавателем. Во введении необходимо кратко (1 – 3 стр.) охарактеризовать пути и способы решения поставленной задачи. Расчетная часть является основным разделом расчетно-пояснительной записки и содержит расчеты, необходимые для построения модели устройства, также в ней приводится расчет кода для передачи команд управления и дополнительного кода. Раздел моделирования содержит разработанные модели, описание их работы и настроек, а также описание пользовательских подсистем. Результаты моделирования по желанию могут быть помещены в приложение. В заключении (1 – 2 стр.) необходимо привести оценку разработанного устройства, указав его недостатки и пути их устранения.
Расчетно-пояснительная записка оформляется на листах формата А4 с рамкой, рукописным способом или с использованием оргтехники. Пример оформления титульного листа приведен в приложении А.
3 ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Структурная схема устройства передачи данных и команд показана на рис. 1. На схеме приведены следующие блоки: ДТ – датчик, НП – нормирующий преобразователь, АЦП/ЦАП – аналого-цифровой и цифро-аналоговый преобразователи, КУ - кодирующее устройство, ДКУ – декодирующее устройство, ЛС – линия связи, И –
3
индикатор.
ЛС
ДТ |
АЦП |
КУ |
ДКУ |
ЦАП |
И |
Рисунок 1 – Структурная схема устройства передачи данных и команд.
Моделирование работы устройства разбивается на два этапа: моделирование устройства передачи данных о состоянии технологического процесса (в данной работе это температура) и передача команд управления объектом. В соответствии с этим подходом разрабатываются две независимые модели: устройства передачи данных и кодирующего-декодирующего устройства передачи команд управления.
3.1 Модель устройства передачи данных
Данная модель состоит из следующих составных частей: модель датчика температуры с первичным преобразователем, мультиплексор каналов данных, АЦП, блок контроля четности, маркеры каналов, линия связи, демультиплексор каналов данных, ЦАП, индикатор.
Модель устройства передачи данных показана на рис. 2. Блоки Temperature Sensor 1 – 4 реализуют модель датчика температуры с первичным преобразователем. Первичный преобразователь должен обеспечивать выходной сигнал в пределах разрядности АЦП при заданном диапазоне изменения температуры (см. п.4). Мультиплексор каналов построен на блоках Mux и Unbuffer, последний выполняет прореживание выборок сигналов для сокращения времени вычислений и согласования настроек параметров моделирования и разрядности АЦП. АЦП показан как пользовательская подсистема ADC8/1 и имеет как параллельный, так и последовательный выход данных. Генераторы G1 и G2 используются для маркирования каналов передачи данных, с тем, чтобы на приемной стороне можно было их разделить. Принцип маркирования заключается в том, что каждому каналу присваивается уникальный двухбитовый индекс, зависящий от сочетания частот генераторов G1 и G2. Бинарный канал передачи моделируется при помощи стандартного блока Binary Symmetric Channel.
4
Рисунок 2 – Модель устройства передачи данных
Демультиплексор каналов данных построен на базе блока Selector 9/1. Блоки Scope используются для наблюдения сигнала на передающей и приемной стороне. Блоки To Workspace применяются для контроля преобразования данных путем их записи в рабочую область MatLab.
При построении данной модели необходимо в соответствии с заданием обеспечить измерение температуры в заданном диапазоне по всем каналам. Для удобства наблюдения результатов, можно задать отличающиеся параметры терморезисторов (начальное сопротивление и ТКС). Работу устройства необходимо промоделировать для различных значений вероятности помех в канале передачи (см. задание) и построить зависимость числа ошибок, возникающих в канале, от вероятности помех.
3.2 Построение кода
3.2.1 Код с удвоением числа элементов
Код с удвоением характеризуется введением дополнительных символов для каждого символа информационной части комбинации, причем «1» дополняется «0» и преобразуется в «10», а «0» дополняется «1» и преобразуется в «01».
Пример.
10101 Þ 10 01 10 01 10 (1001100110)
Показателем искажения кода будет появление в «парных» элементах сочетаний вида «00» или «11» . Код обнаруживает все ошибки за исключением двукратных в «парных» элементах.
Избыточность кода r = 0.5 (n = 2k)
3.2.2 Инверсный код
В основу построения инверсного кода положен принцип повторения исходной кодовой комбинации. В тех случаях, когда исходная кодовая комбинация содержит четное число «1», повторяемая комбинация в точности воспроизводит исходную. Если исходная кодовая комбинация содержит нечетное число «1», то повторение происходит в инвертированном виде.
Пример.
01010 Þ 01010 01010 - исходная кодовая комбинация содержит четное число единиц
6
01110 Þ 01110 10001 - исходная кодовая комбинация содержит нечетное число единиц
Проверка принятой кодовой комбинации Суммируются «1» в исходной комбинации, если их число четное, то элементы
дополнительной комбинации принимаются в неизменном виде. После этого обе части кодовой комбинации сравниваются поэлементно. При обнаружении хотя бы одного несовпадения кодовая комбинация считается искаженной.
Если количество «1» в исходной комбинации нечетное, элементы дополнительной комбинации инвертируются. После этого производится поэлементное сравнение обеих частей кодовой комбинации и выносится решение о наличии или отсутствии искажений.
3.2.3 Код Хемминга
Код Хемминга относится к исправляющим кодам и содержит k - информаци-
онных и ρ = n – k - избыточных (проверочных) символов, где n – значность кода. Избыточная часть кода строится таким образом, чтобы при декодировании можно былобы установить, не только факт наличия ошибки в принятой комбинации, но и указать номер позиции, в которой произошла ошибка. Эта цель достигается за счет многократной проверки принятой комбинации на четность, при этом, количество проверок равно ρ. Каждой проверкой охватываются часть информационных символов и один из избыточных. При каждой проверке получают двоичный контрольный символ, признак четности:
если результат четный – контрольный символ = 0, если результат нечетный – контрольный символ = 1.
В результате формируется ρ – разрядная контрольная комбинация, в двоичной форме указывающая десятичный номер позиции кодовой комбинации, в которой произошла ошибка. Для исправления ошибки необходимо инвертировать данный символ кодовой комбинации.
Процедура построения кода
1. Определить ρ (или n) исходя из k информационных символов:
2k = N £ 2n
1+ n
7
2. Разместить информационные символы в соответствующих позициях кодовой комбинации согласно таблице проведения проверок (порядковые номера символов кодовой комбинации считаются слева направо).
Таблица 1 – Таблица проведения проверок
№ про- |
Номера проверяемых позиций |
Номера позиций кон- |
|
верки |
трольных символов |
||
|
|||
|
|
|
|
1 |
1, 3, 5, 7, 9, 11, 13 … |
1 |
|
2 |
2, 3, 6, 7, 10 … |
2 |
|
3 |
4, 5, 6, 7, 12 … |
4 |
|
4 |
8, 9, 10, 11, 12 |
8 |
|
|
|
|
3.Сформировать контрольные символы исходя из условия обеспечения четности контрольных сумм (см. ниже проверочные операции), разместив их в свободных позициях кодовой комбинации. С целью упрощения операций кодированиядекодирования целесообразно выбирать такое размещение контрольных символов в кодовой комбинации, при котором каждый из них включается в минимальное число проверяемых групп символов. Таким образом, удобно размещать контрольные символы на позициях, номера которых встречаются только в одной из проверяемых групп: 1, 2, 4, 8 и т.д. (см. табл. 1). Следовательно, в позициях 3, 5, 6, 7, 9 и т.д. должны располагаться информационные символы.
4.Провести проверку принятой кодовой комбинации на приемной стороне по следующим проверочным выражениям:
S1 = a1 Å a3 Å a5 Å a7 Å a9 ,
S2 = a2 Å a3 Å a6 Å a7 Å a10 ,
S3 = a4 Å a5 Å a6 Å a7 Å a12 ,
S4 = a8 Å a9 Å a10 Å a11 Å a12 ,
гдеS1 – S4 – результаты проверочных операций; а1 – а12 – символы кодовой комбинации;
1 – 12 – номера позиций символов в кодовой комбинации.
Полученное двоичное число S необходимо перевести в десятичный вид. Значение десятичного числа, отличное от «0», указывает номер позиции кодовой комбинации, в которой произошла ошибка. Для ее исправления данный символ необходимо инвертировать
8
Приведенные выражения могут быть использованы для вычисления значений контрольных символов а1, а2, а4, а8, при условии S1=S2=S3=S4 = 0 (см. п. 3).
Пример.
Представить двоичную комбинацию 10011 кодом Хемминга (решение в MathCad).
ORIGIN:= 1 k := 5
100
80
2n 60
1+ n
2k 40
20
0 |
|
|
|
|
|
|
|
|
|
|
|
2 |
4 |
6 |
8 |
10 |
|||||||
|
|
|
|
|
|
|
n |
|
|
|
|
k |
2n |
|||
2 |
|
|
|
|
|
|
|
+ n |
|
1 |
n := 9 S := 0
Информационные символы
a3 := 1 a5 := 0 a6 := 0 a7 := 1
Проверочные символы
a1 := S Å a3 Å a5 Å a7 Å a9 a2 := S Å a3 Å a6 Å a7
a4 := S Å a5 Å a6 Å a7 a8 := S Å a9
aT = ( 1 0 1 1 0 0 1 1 1)
a9 := 1
a1 = 1 a2 = 0 a4 = 1 a8 = 1
девятиэлементный код Хемминга
Коррекция искажения
e := 5 номер искажаемого символа
ae = 1 aer := a
aerT = ( 1 0 1 1 1 0 1 1 1) |
искаженная КК |
Проверка |
|
S1 := a1 Å a3 Å a5 Å a7 Å a9 |
ER4 := S1 |
S2 := a2 Å a3 Å a6 Å a7 |
ER3 := S2 |
9
S3 := a4 Å a5 Å a6 Å a7 |
ER2 := S3 |
S4 := a8 Å a9 |
ER1 := S4 |
ERT = ( 0 1 0 1) |
|
p := ER1×23 + ER2×22 + ER3×21 + ER4×20
номер позиции искаженного символа
p = 5
ap := Øap
aT = ( 1 0 1 1 0 0 1 1 1) восстановленная КК
3.2.4 Циклический код
Циклические коды могут быть использованы для обнаружения и коррекции как одиночных, так и систематических ошибок. Основное их свойство состоит в том, что каждая кодовая комбинация может быть получена путем циклической перестановки символов комбинации, принадлежащей к данному коду.
Формирование кодовых комбинаций (код, исправляющий одиночные ошибки)
1.Рассчитать соотношение между контрольными и информационными симво-
лами (см. п.3.2.3).
2.Выбрать образующий полином по таблицам неприводимых двоичных полиномов или построить. Образующий полином Р(х) следует выбирать минимальной длины, но его порядок должен быть не меньше (n – k), а число ненулевых членов – не меньше минимального кодового расстояния d0.
3.Построить единичную транспонированную матрицу, у которой число столбцов (строк) равно числу информационных разрядов.
4.Составить образующую матрицу путем умножения элементов единичной транспонированной матрицы на образующий полином.
5.Комбинациями искомого кода являются строки образующей матрицы и все возможные суммы по модулю 2 различных сочетаний строк образующей матрицы.
Обнаружение и исправление ошибок Обнаружение и исправление ошибок производится по остаткам от деления
принятой комбинации F(x) на образующий полином P(x). Если принятая комбинация делится на образующий полином без остатка – код принят безошибочно. Остаток от деления свидетельствует о наличии ошибки, но не указывает ее положение.
10