Курсовая работа (т): Устройство передачи данных, содержащее пять каналов передачи

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Таблица 4.2 - Параметры блоков DiscretePulseGenerator Block

Наимено-вание

Pulse Type

Amplitude

Period

Pulse Width

PhaseDelay

Sample Time

Vector Params1D

G1

Sample-based

1

2

1

1

1

on

G2

Sample-based

1

4

2

2

1

on

G3

Sample-based

1

8

4

4

1

on


Таблица 4.2 - Параметры блока Logic Block

Наименование

Operator

Inputs

Logical Operator

XOR

8


Таблица 4.3 - Параметры блоков Mux Block

Наименование

Inputs

DisplayOption

Mux

5

none

Mux1

5

none


Таблица 4.4 - Параметры блока Rounding Block Properties

Наименование

Operator

Rounding Function

round


Таблица 4.5 - Параметры блоков Selector Block Properties

Наимено-вание

Input Type

Element Src

Elements

Row Src

Rows

Column Src

Columns

Input Port Width

Selector 9/1

Vector

Internal

[1 2 3 4 5 6 7 8]

Internal

1

Internal

1

12


Таблица 4.6 - Параметры блоков ToWorkspace Block Properties

Наименование

VariableName

MaxDataPoints

Decimation

SampleTime

Save Format

To Workspace

unbuf

inf

1

-1

Array

To Workspace1

line

inf

1

-1

Array

To Workspace2

bline

inf

1

-1

Array

To Workspace3

error

inf

1

-1

To Workspace4

prebuf

inf

1

-1

Array


Таблица 4.7 - Параметры блока Binary Symmetric Channel Block Properties

Наименование

P

s

E

Binary Symmetric Channel

0,07

2137

on


Таблица 4.8 - Параметры блока Buffer Block Properties

Наименование

N

V

Ts

ic

Buffer

5

0

1

0


Таблица 4.9 - Параметры блока Unbuffer Block Properties

Наименование

num_chans

Ts

Unbuffer

1

5


Блоки Temperature Sensor 1 - 4 реализуют модель датчика температуры с первичным преобразователем. Первичный преобразователь обеспечивает выходной сигнал в пределах разрядности АЦП при заданном диапазоне изменения температуры. Мультиплексор каналов построен на блоках Мих и Unbuffer, последний выполняет прореживание выборок сигналов для сокращения времени вычислений и согласования настроек параметров моделирования и разрядности АЦП. АЦП показан как пользовательская подсистема ADC8/1 и имеет как параллельный, так и последовательный выход данных. Генераторы G1 и G2 используются для маркирования каналов передачи данных, с тем, чтобы на приемной стороне можно было их разделить. Принцип маркирования заключается в том, что каждому каналу присваивается уникальный двухбитовый индекс, зависящий от сочетания частот генераторов G1 и G2. Бинарный канал передачи моделируется при помощи стандартного блока Binary Symmetric Channel.

График принятых сообщений представлен на рисунке Б.2 в приложении Б.

5. Построение кодОВ

.1 Построение кода с удвоением

Код с удвоением характеризуется введением дополнительных символов для каждого символа информационной части комбинации, причем «1» дополняется «0» и преобразуется в «10», а «0» дополняется «1» и преобразуется в «01».

Пример.

Показателем искажения кода будет появление в «парных» элементах сочетаний вида «00» или «11» . Код обнаруживает все ошибки за исключением двукратных в «парных» элементах.

Избыточность кода

5.2 Построение циклического кода

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

Формирование кодовых комбинаций (код, исправляющий одиночные ошибки):

) Рассчитать соотношение между контрольными и информационными символами:

Определить p (или n) исходя из k информационных символов:

                                                            (5.1)

Так как в канале передачи возможно наличие 8 различных команд то для передачи нам потребуется : k ≥ log2 8 = 4 информационных символа.

Графическое решение уравнения 5.1 представлено на рисунке 5.1

Рисунок 5.1 - Определение разрядности кода

передача данные датчик код

Исходя из решения уравнения 5.1 разрядность кода равна 7.

) Выбрать образующий полином по таблицам неприводимых двоичных полиномов или построить. Образующий полином Р(х) следует выбирать минимальной длины, но его порядок должен быть не меньше (n - k), а число ненулевых членов - не меньше минимального кодового расстояния d0.

В качестве образующего многочлена выбираем: х3+х+1

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

Для 4 информационных разрядов матрица имеет следующий вид



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

Образующая матрица имеет вид:

0001 × 1011 = 0001011

× 1011 = 0010110

× 1011 = 0101100

1000 × 1011 = 1011000

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

Сгруппируем полученные коды по возрастанию:

1) 0001011 2) 0010110 3) 0101100 4) 1011000 5)0110001

6) 1100010 7) 1000101 8) 0011101 9) 0111010 10) 1110100


Обнаружение и исправление ошибок

Обнаружение и исправление ошибок производится по остаткам от деления принятой комбинации F(x) на образующий полином P(x). Если принятая комбинация делится на образующий полином без остатка - код принят безошибочно. Остаток от деления свидетельствует о наличии ошибки, но не указывает ее положение.

Поиск ошибочных разрядов:

) принятую кодовую комбинацию (КК) разделить на образующий полином;

) определить вес остатка (ω)

а) если ω ≤ σ (допустимая кратность ошибки) то принятую комбинацию складывают по модулю 2 с полученным остатком. Сумма даст исправленную комбинацию.

б) если ω > σ то:

) выполнить циклический сдвиг принятой КК F(x) на один разряд влево. КК, полученную в результате циклического сдвига разделить на Р(х). Если ω ≤ σ, то делимое суммируют с остатком;

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

Полученная в результате комбинация не содержит ошибок.

) Если после первого циклического сдвига и последующего деления вес остатка такой, что ω > σ,

то:

в) повторять операцию пункта а) до тех пор, пока не будет выполнено условие ω ≤ σ . В этом случае комбинацию, полученную в результате циклического сдвига, суммировать с остатком от деления этой комбинации на Р(х);

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

В результате будет получена исправленная комбинация.

Решение.

Предположим, что была передана комбинация №4 и в ней исказился четвертый разряд. Таким образом, принятая комбинация имеет вид: 1010000.

) Делим принятую КК на образующий многочлен


Сравниваем вес полученного остатка ω с возможным для данного кода числом исправляемых ошибок σ. Вес остатка ω=2. Число исправляемых ошибок σ=1, ω > σ.

) Производим циклический сдвиг принятой КК F(x) на один разряд влево и делим на Р(х)


) Повторяем п. 3 до тех пор, пока не будет выполнено условие ω ≤ σ.;


) Складываем по модулю 2 последнее делимое с последним остатком


Производим циклический сдвиг комбинации, полученной в результате суммирования последнего делимого с последним остатком, вправо на 4 разряда (т.к. до этого она четырежды была сдвинута влево): 1000101, 1100010, 0110001, 1011000.

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

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

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

На рисунке А.5 в приложении А показана модель кодирующего и декодирующего устройства для получения кода с удвоением.

Таблицы значений блоков приведены в таблицах 6.1-6.10.

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

Наименование

Value

VectorParams1D

B

-20

on

Rx

350

on


Таблица 6.2 - Параметры блока Display Block

Наименование

Format

Decimation

Floating

SampleTime

Display

short

1

off

-1


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

Наименование

Expr

Fcn

!u(1)

Fcn1

!u(2)

Fcn2

!u(3)

Fcn3

!u(4)

Fcn4

u(7)== u(8)

Fcn5

u(5)== u(6)

Fcn6

u(3)== u(4)

Fcn7

u(1)== u(2)


Таблица 6.4 - Параметры блока Rounding Block

Наименование

Operator

Rounding Function

round


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

Наиме-нование

Dire ction

Count Event

Counter Size

Max Count

Initial Count

Output

Hit Value

Reset Input

Samples Per Frame

Ts

Counter

Up

Non-zero sample

User defined

255

0

Count

32

off

1

1

Counter1

Up

Non-zero sample

User defined

255

0

Count

32

off

1

1

Counter2

Up

Non-zero sample

User defined

255

0

Count

32

off

1

1

Counter3

Up

Non-zero sample

User defined

255

0

Count

32

off

1

1


Таблица 6.6 - Параметры блоков To Workspace Block

Наименование

VariableName

MaxDataPoints

Decimation

Sample Time

SaveFormat

To Workspace

precod

inf

1

-1

Array

To Workspace2

double_coded

inf

1

-1

Array

To Workspace4

error

inf

1

-1

Array


Таблица 6.7 - Параметры блока Binary Symmetric Channel Block Properties

Наименование

P

s

E

Binary Symmetric Channel

0,07

2137

on


Таблица 6.8 - Параметры блоков Mux Block

Наименование

Inputs

DisplayOption

Mux

8

none

Mux1

4

none

Источник: https://www.bibliofond.ru/detail.aspx?id=806349