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

osi / lab5 / kr_osi

.pdf
Скачиваний:
18
Добавлен:
06.02.2016
Размер:
181.22 Кб
Скачать

ДОНБАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра «Специализированные компьютерные системы»

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению курсовой работы

по дисциплине «Обработка сигналов и изображений»

на тему «Моделирование устройства передачи данных по бинарному каналу»

Алчевск 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

Соседние файлы в папке lab5