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

Исследование и специфика использования инверсного кода и Хемминга. Структурная схема устройства передачи данных, его компоненты и принцип работы. Моделирование датчика температуры, а также кодирующего и декодирующего устройства для инверсного кода.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 30.01.2016
Размер файла 530,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Курсовая работа

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

Введение

инверсный хемминг датчик кодирующий

Развитие вычислительных сетей потребовало при межмашинном обмене информацией передачи больших объемов цифровой информации с высокой скоростью и верностью.

Именно поэтому возникла проблема проектирования средств организации каналов передачи данных эффективно использующих пропускную способность существующих каналов электросвязи и базирующихся на современной технике и технологии цифровых интегральных схем.

Базовые функции по согласованию источников и приемников данных с непрерывными частотно-ограниченными каналами возложена на устройства преобразования сигналов (УПС), которые в значительной мере определяют такие характеристики цифровых каналов, как скорость и верность. Поэтому разработка УПС, обеспечивающих требуемые информационные характеристики систем передачи сигналов данных между территориально удаленными конечными пунктами, является одной из актуальных задач, входящих в комплекс проблем технического обеспечения межмашинного обмена информацией в вычислительных сетях.

Курсовая работа посвящена разработке модели устройства передачи данных по дискретному бинарному каналу связи.

В ходе работы производится моделирование датчиков, первичных преобразователей аналого-цифровых и цифроаналоговых преобразователей (АЦП - ЦАП), линий связи, кодирующих и декодирующих устройств, проектирование исправляющих ошибки кодов.

Моделирование системы будет производиться в пакете автоматизированного проектирования «MATLAB 6.1»

1. Расчетная часть

1.1 Инверсный код

В основу построения инверсного кода положен принцип повторения исходной кодовой комбинации. В тех случаях, когда исходная кодовая комбинация содержит четное число «1», повторяемая комбинация в точности воспроизводит исходную. Если исходная кодовая комбинация содержит нечетное число «1», то повторение происходит в инвертированном виде.

Проверка принятой кодовой комбинации

Суммируются «1» в исходной комбинации, если их число четное, то элементы дополнительной комбинации принимаются в неизменном виде. После этого обе части кодовой комбинации сравниваются поэлементно. При обнаружении хотя бы одного несовпадения кодовая комбинация считается искаженной.

Если количество «1» в исходной комбинации нечетное, элементы дополнительной комбинации инвертируются. После этого производится поэлементное сравнение обеих частей кодовой комбинации и выносится решение о наличии или отсутствии искаженной.

1.2 Код Хемминга

Код Хемминга относится к исправляющим кодам и содержит k-информационных и p=n-k - избыточных (проверочных) символов, где n - значность кода. Избыточная часть кода строится таким образом, чтобы при декодировании можно было бы установить, не только факт наличия ошибки в принятой комбинации, но и указать номер позиции, в которой произошла ошибка. Эта цель достигается за счет многократной проверки принятой комбинации на четность, при этом, количество проверок равно р. Каждой проверкой охватываются часть информационных символов и один из избыточных. При каждой проверке получают двоичный контрольный символ, признак четности:

- если результат четный - контрольный символ = 0,

- если результат нечетный - контрольный символ = 1.

В результате формируется р-разрядная контрольная комбинация, в двоичной форме указывающая десятичный номер позиции кодовой комбинации, в которой произошла ошибка. Для исправления ошибки необходимо инвертировать данный символ кодовой комбинации.

Процедура построения кода

1. Определить р (или n) исходя из k информационных символов: 2k= N =< 2n/(1+n)

2. Разместить информационные символы в соответствующих позициях кодовой комбинации согласно таблице 1 проведения проверок (порядковые номера символов кодовой комбинации считаются слева направо).

Таблица 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 и т.д. Следовательно, в позициях 3, 5, 6, 7, 9 и т.д. должны располагаться информационные символы.

4. Провести проверку принятой кодовой комбинации на приемной стороне по следующим проверочным выражениям:

S1=a1a3a5a7a9,

S2=a2a3a6a7a10,

S3=a4a5a6a7a12,

S4=a8a9a10a11a12,

где S1-S4 - результаты проверочных операций;

а1-а12 - символы кодовой комбинации;

1-12 - номера позиций символов в кодовой комбинации.

Полученное двоичное число S необходимо перевести в десятичный вид. Значение десятичного числа, отличное от «0», указывает номер позиции кодовой комбинации, в которой произошла ошибка. Для ее исправления данный символ необходимо инвертировать.

код команды - 1000

Коэффициент избыточности:

Информационные символы:

Проверочные символы:

7 - ми элементный код Хемминга

Создание ошибки в пятом разряде

Искаженная кодовая комбинация

Номер позиции искаженного разряда:

Восстановление разряда:

Восстановленная кодовая комбинация:

2. Структурная схема устройства передачи данных

Структурная схема устройства передачи данных и команд показана на рисунке 2.1. На схеме приведены следующие обозначения:

- ДТ - датчик;

- НП - нормирующий преобразователь;

- АЦП - аналого-цифровой преобразователь;

- ЦАП - цифро-аналоговый преобразователь;

- КУ - кодирующее устройство;

- ДКУ - декодирующее устройство;

- ЛС - линия связи;

- И - индикатор.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 2.1 - Структурная схема устройства передачи данных и команд

Сигнал с датчика температуры поступает на вход аналого-цифрового преобразователя (АЦП), где подвергается преобразованию в цифровую форму. Далее преобразованный сигнал поступает на вход кодирующего устройства, где происходит кодирование сообщений. При передаче сигналы подвергаются воздействию помех. Принятые сигналы декодируются - приводятся к исходному виду. Цифро-аналоговый преобразователь производит преобразование принятого цифрового сигнала в аналоговый, который поступает на вход индикатора, информируя о состоянии системы.

3. Моделирование датчика температуры

Принцип действия датчика заключается в изменении напряжения на выходе усилителя в зависимости от сопротивления терморезистора. С помощь пакета «MATLAB 6.1» бала спроектирована модель датчика температуры представленная на рисунке 3.1.

Рисунок 3.1 - Модель датчика температуры

Описание блоков использованных при построении модели приведены в таблице 3.1.

Таблица 3.1 - Описание блоков модели датчика температуры

Блок

Тип блока

Назначение

B

Inport

Сопротивление терморезистора

Rx

Inport

ТКС

T

Ramp

Формирует линейный сигнал вида y = slope * time + intial_value,

где slope - скорость изменения выходного сигнала

T0

Constant

Начальная температура

Mux

Mux

Объединение входных сигналов в вектор

Блок

Тип блока

Назначение

Rx(t)

Fcn

Функция изменения напряжения от температуры

Sum

Sum

Вычисление суммы текущих значений сигналов

Gain

Gain

Умножение выходного сигнала на постоянный коэффициент

U(t)

Outport

Выходной сигнал

Параметры блоков, используемых для построения модели, приведены в таблицах 3.2 - 3.8.

Таблица 3.2 - Параметры блоков Inport

Name

Port Number

Port Dimensions

Sample Time

B

1

-1

-1

Rx

2

-1

-1

Таблица 3.3 - Параметры блока Outport

Name

Port Number

Output

When Disabled

Initial Output

U(t)

1

held

0

Таблица 3.4 - Параметры блока Ramp

Name

Slope

Start Time

Initial Output

T

0,22

0

273

Параметр slope (S, формула 3.1) блока Ramp Block Properties определяется как крутизна характеристики, которая позволяет получить необходимый диапазон изменения напряжения:

, (3.1)

где:

Tmax - максимальная температура;

Tmin - минимальная температура;

255 - количество шагов моделирования.

Таблица 3.5 - Параметры блока Constant

Name

Constant Value

T0

273

Таблица 3.6 - Параметры блока Fcn

Name

Expression

Rx(T)

U(3)*EXP (U(2)*(U(4) - U(1))/(U(4)*U(1)))

Таблица 3.7 - Параметры блока Sum

Name

Inon Shape

List Of Signs

Sum

Rectangular

+-

Таблица 3.8 - Параметры блока Gain

Name

Gain

Gain

0.3

Параметр Gain блока Gain выбирается таким образом, чтобы обеспечить необходимое изменение напряжения от 0 до 10 В и равен 0,3.

4. Моделирование АЦП и ЦАП

Для передачи сигналов по дискретному каналу необходимо будет преобразование сигнала в цифровую форму. При приеме цифрового сигнала его необходимо будут снова преобразовать в аналоговую форму. Для этого необходимо построить модели трехразрядных АЦП и ЦАП.

Схема модели трехразрядного АЦП приведена в приложении А. Параметры блоков, использовавшихся для построения модели, приведены в таблицах 4.1 - 4.5.

Таблица 4.1 - Свойства блока Inport

Name

Port number

Port dimensions

Sample time

Inp

1

-1

-1

Таблица 4.2 - Свойства блоков Rouding

Name

Function

Int1

Floor

Int2

Floor

Int3

Floor

Таблица 4.3 - Свойства блоков Gain

Name

Gain

Multiplication

Div1

Ѕ

Element - wise (K.* u)

Div2

Ѕ

Element - wise (K.* u)

Div3

Ѕ

Element - wise (K.* u)

Mult1

2

Element - wise (K.* u)

Mult2

2

Element - wise (K.* u)

Mult3

2

Element - wise (K.* u)

Таблица 4.4 - Свойства блоков Sum

Name

Icon Shape

List Of Signs

Sum1

Rectangular

+-

Sum2

Rectangular

+-

Sum3

Rectangular

+-

Таблица 4.5 - Свойства блоков Outport

Name

Port Number

Output When Disabled

Initial Output

D1

1

Held

0

D2

2

Held

0

D3

3

Held

0

Cont

4

Held

0

Схема модели трехразрядного ЦАП приведена в приложении Б. Параметры блоков, использовавшихся для построения модели, приведены в таблицах 4.6 - 4.9.

Таблица 4.6 - Свойства блоков Inport

Name

Port number

Port Dimensions

Sample time

A1

1

-1

-1

A2

2

-1

-1

A3

3

-1

-1

Cont

4

-1

-1

Таблица 4.7 - Свойства блоков Sum

Name

Icon Shape

List Of Signs

Sum1

Rectangular

++

Sum2

Rectangular

++

Продолжение таблицы 4.7 - Свойства блоков Sum

Name

Icon Shape

List Of Signs

Sum3

Rectangular

++

Sum

Rectangular

++++++++

Таблица 4.8 - Свойства блоков Gain

Name

Gain

Multiplication

R0

1

Element - wise (K.* u)

R1

2

Element - wise (K.* u)

R2

4

Element - wise (K.* u)

Таблица 4.9 - Свойства блока Outport

Name

Port Number

Output When Disabled

Initial Output

Out1

1

Held

0

5. Модель устройства передачи данных

В модели использованы подсистемы датчика температуры, АЦП и ЦАП. Подсистемы АЦП и ЦАП должны содержать соответственно последовательный выход и последовательный вход. Блок Unbuffer применен для конвертирования векторного сигнала в дискретный скалярный. Оператор XOR (Logical operator) используется для реализации кода с проверкой на четность. Блоки G1, G2, G3 (Discrete Pulse Generator) используется для формирования маркеров каналов. Блок Buffer применен для формирования векторного сигнала из дискретного скалярного. Блок Selector (библиотека Signals & Systems) используется для разделения принятых сигналов. Модель устройства передачи данных приведена в приложении В

Параметры блоков примененных для построения модели приведены в таблицах 5.1 - 5.10.

Таблица 5.1 - Свойства блоков Constant

Name

Value

VectorParamsID

B1

-40

on

B2

-30

on

B3

-20

on

B4

-10

on

Rx1

1000

on

Rx2

1000

on

Rx3

1000

on

Rx4

1000

on

Таблица 5.2 - Свойства блоков DiscretePulseGenerator

Name

Pulse

Type

Amplitude

Period

Pulse

Width

Phase

Delay

Sample

Time

Vecor

ParamsID

G1

Sample-

based

1

2

1

1

1

on

G2

Sample-

based

1

4

2

2

1

on

Таблица 5.3 - Свойства блока Logical Operator

Name

Operator

Inputs

Logical Operator

XOR

8

Таблица 5.4 - Свойства блоков Mux

Name

Inputs

DisplayOption

Mux

4

bar

Mux1

4

bar

Таблица 5.5 - Свойства блока Rouding

Name

Operator

Rouding Function

round

Таблица 5.6 - Свойства блока Selector

Name

Input

Type

Element

Src

Elements

RowSrc

Rows

Column

Src

Columns

Input

Port

Width

Selector

9/1

Vector

Internal

[1 2 3 4 5 6 7 8]

Internal

1

Internal

1

11

Таблица 5.7 - Свойства блоков ToWorkspace

Name

Variable

Name

Max

Data Points

Decimation

Sample

Time

Save

Format

ToWorkspace

unbuf

inf

1

-1

Array

ToWorkspace1

line

inf

1

-1

Array

ToWorkspace2

bline

inf

1

-1

Array

ToWorkspace3

error

inf

1

-1

Array

ToWorkspace4

prebuf

inf

1

-1

Array

Таблица 5.8 - Свойства блока Binary Symmetric Channel

Name

P

S

E

Binary Symmetric Channel

0,1

2137

on

По условиям задания курсовой работы вероятность возникновения ошибок в канале передачи данных составляет 0,03, соответственно параметр P равен 0,03.

Таблица 5.9 - Свойства блока Buffer

Name

N

V

Ts

ic

Buffer

5

0

1

0

Таблица 5.10 - Свойства блока Unbuffer

Name

num_chans

Ts

Unbuffer

1

5

Настройки окружения симуляции приведены в таблице 4.11.

Таблица 5.11 - Параметры симуляции

Параметр

Значение

Параметр

Значение

Solver

StepDiscrete

AbsTol

1e-6

ZeroCross

On

Refine

1

StartTime

0.0

InitialStep

auto

StopTime

255

FixedStep

1

RelTol

1e-3

MaxStep

auto

После выполнения симуляции передачи данных через канал были получены входные и выходные осциллограммы сигналов изображенные на рисунках 5.1 и 5.2, полученные при помощи блоков Source Output.

Рисунок 5.1 - Осциллограмма исходного сигнала

Рисунок 5.2 - Осциллограмма принятого сигнала

Для построения зависимость количества ошибок в канале связи от вероятности возникновения ошибки параметр Error probability блока Binary Symmetric Channel следует варьировать в диапазоне 0 до 0,1 с шагом 0,005. Для контроля возникновения ошибок используется переменная error, формируемая на нижнем выходе блока Binary Symmetric Channel. Для подсчета числа ошибок была использована следующая программа на языке MatLab:

clc;

eNumb=0;

a=size(line);

for cRow=1:a(1);

for cCol=1:a(2);

if error (cRow, cCol)==1

eNumb=eNumb+1;

end

end

end

eNumb

С помощью приведенной программы произвели подсчет ошибок. Для данной максимальной вероятности ошибок в бинарном канале связи Р=0.1 получили число ошибок:

eNumb = 336

Переменная eNumb использована как счетчик числа ошибок. В результате выполнения программы в окне Command window выводится размер переменной error и количество ошибок, возникших при передаче сигнала по каналу связи. Последовательность моделирования следующая:

1) задается параметр Error probability блока Binary Symmetric Channel и проводится моделирование работы системы;

2) запускается на выполнение приведенная выше программа;

3) полученное значение количества ошибок заносится в массив ERRORS, имеющий 2 столбца и 16 строк. В первом столбце записываются значения вероятностей ошибок, во втором - количество ошибок.

Последовательность 1-3 повторяется до достижения верхней границы диапазона варьирования параметра Error probability.

Таким образом, получили зависимость числа ошибок в канале от их вероятности, отраженную в массиве ERRORS изображенную на рисунке 5.3.

ERRORS =

0 0

0.0050 9.0000

0.0100 26.0000

0.0150 44.0000

0.0200 68.0000

0.0250 82.0000

0.0300 101.0000

0.0350 117.0000

0.0400 141.0000

0.0450 172.0000

0.0500 191.0000

0.0550 212.0000

0.0600 229.0000

0.0750 243.0000

0.0800 261.0000

0.0850 277.0000

0.0900 301.0000

0.0950 317.0000

0.1000 336.0000

Рисунок 5.3 - Содержимое массива ERRORS

6. Модель кодирующего и декодирующего устройства для инверсного кода

При построении кодирующего устройства исходными данными является вид кода, применяемый при передаче команд управления - инверсный код.

Модель подсистемы кодирования инверсным кодом представлена на рисунке 6.1.

Рисунок 6.1 - Модель устройства подсистемы кодирования инверсным кодом

Блок XOR выполняет проверку четности «1» в исходной кодовой комбинации (когда количество «1» четно результат работы блока «0» иначе «1»), затем кодовая комбинация дополняется при помощи блока Switch инвертированными битами, если содержится нечетное число «1» в исходной комбинации или точной копией исходной комбинации, если число «1» было четным.

Модель подсистемы декодирования сигнала закодированного кодом с удвоением представлена на рисунке 6.2.

Блоки Selector применяются для выбора информационных и поверочных бит.

При помощи блока XOR проверяется количество «1» в исходной комбинации, если их число четное, то элементы дополнительной комбинации принимаются в неизменном виде (через блок Switch). После этого обе части кодовой комбинации сравниваются поэлементно. При обнаружении хотя бы одного несовпадения кодовая комбинация считается искаженной.

Если количество «1» в исходной комбинации нечетное, элементы дополнительной комбинации инвертируются (блок NOT). После этого производится поэлементное сравнение обеих частей кодовой комбинации и выносится решение о наличии или отсутствии искаженной.

Блоки Fnc и Counter используются для подсчета числа ошибок в принимаемых битах. Блоки Fnc выполняют сравнение исходных битов с контрольными и если они совпадают, то на блок Counter подается сигнал и его значение увеличивается на единицу

Рисунок 6.2 - Подсистема декодирования инверсного кода

Модель устройства для передачи сигнала закодированного кодом с удвоением представлена на рисунке 6.3, в ней использованы описанные подсистемы кодировании и декодирования сигнала.

Рисунок 6.3 - Модель устройства передачи сигнала закодированного инверсным кодом

Заключение

В ходе выполнения курсовой работы создана модель устройства передачи данных, содержащая четыре канала передачи данных. Разработанная модель устройства передачи данных соответствует поставленной задаче. Модель содержит необходимый набор устройств и блоков, реализующих передачу данных и команд с заданной вероятностью помех.

С помощью данной модели можно наглядно проследить преобразования данных от источника информации до получателя.

Перечень ссылок

1. Бобровников Л.З. Электроника: учебник для вузов. 5-е изд., перераб. и доп. - СПб.: Питер, 2004. - 560 с.: ил. - (Серия «Учебник для вузов»).

2. Темников Ф.Е. и др. Теоретические основы информационной техники: Учеб. пособие для вузов. - М: Энергия, 1979. - 512 с.

3. Черных И.В. SIMULINK: среда создания инженерных приложений / Под общ. Ред. к.т.н. В.Г. Потемкина. - М.: ДИАЛОГ-МИФИ, 2003. - 496 с.

4. Методические указания к выполнению курсовой работы по дисциплине «Обработка сигналов и изображений» на тему «Моделирование устройства передачи данных по бинарному каналу». Алчевск, 2004.

Приложение А

Модель трехразрядного АЦП

Приложение Б

Модель трехразрядного ЦАП

Приложение В

Модель устройства передачи данных

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.