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

Тип:
Добавлен:

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

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

Введение

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

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

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

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

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

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

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

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

.1 Инверсный код

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

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

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

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

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

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

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

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

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

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

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

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

Таблица 1 - Таблица проведения проверок

№ проверкиНомера проверяемых позицийНомера позиций контрольных символов11,3,5,7,9,11,13,…122,3,6,7,10,…234,5,6,7,12,…448,9,10,11,12,…8инверсный хемминг датчик кодирующий

3. Сформировать контрольные символы исходя из условия обеспечения четности контрольных сумм, разметив их в свободных позициях кодовой комбинации. С целью упрощения операции кодирования декодирования целесообразно выбирать такое размещение контрольных символов в кодовой комбинации, при котором каждый из них включается в минимальное число проверяемых групп символов. Таким образом, удобно размещать контрольные символы на позициях, номера которых встречаются только в одной из проверяемых групп: 1, 2, 4, 8 и т.д. Следовательно, в позициях 3, 5, 6, 7, 9 и т.д. должны располагаться информационные символы.

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

S1=a1a3a5a7a9,2=a2a3a6a7a10,3=a4a5a6a7a12,4=a8a9a10a11a12,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ДТ - датчик;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

БлокТип блокаНазначениеBInportСопротивление терморезистораRxInportТКСTRampФормирует линейный сигнал вида y = slope * time + intial_value, где slope - скорость изменения выходного сигналаT0ConstantНачальная температураMuxMuxОбъединение входных сигналов в векторБлокТип блокаНазначениеRx(t)FcnФункция изменения напряжения от температурыSumSumВычисление суммы текущих значений сигналовGainGainУмножение выходного сигнала на постоянный коэффициентU(t)OutportВыходной сигнал

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

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

NamePort NumberPort DimensionsSample TimeB1-1-1Rx2-1-1

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

NamePort NumberOutput When DisabledInitial OutputU(t)1held0

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

NameSlopeStart TimeInitial OutputT0,220273

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

,(3.1)

где:

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

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

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

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

NameConstant ValueT0273

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

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

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

NameInon ShapeList Of SignsSumRectangular+-

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

NameGainGain0.3

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

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

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

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

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

NamePort numberPort dimensionsSample timeInp1-1-1

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

NameFunctionInt1FloorInt2FloorInt3Floor

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

NameGainMultiplicationDiv1½Element - wise (K.* u)Div2½Element - wise (K.* u)Div3½Element - wise (K.* u)Mult12Element - wise (K.* u)Mult22Element - wise (K.* u)Mult32Element - wise (K.* u)

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

NameIcon ShapeList Of SignsSum1Rectangular+-Sum2Rectangular+-Sum3Rectangular+-

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

NamePort NumberOutput When DisabledInitial OutputD11Held0D22Held0D33Held0Cont4Held0

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

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

NamePort numberPort DimensionsSample timeA11-1-1A22-1-1A33-1-1Cont4-1-1

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

NameIcon ShapeList Of SignsSum1Rectangular++Sum2Rectangular++

NameIcon ShapeList Of SignsSum3Rectangular++SumRectangular++++++++

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

NameGainMultiplicationR01Element - wise (K.* u)R12Element - wise (K.* u)R24Element - wise (K.* u)

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

NamePort NumberOutput When DisabledInitial OutputOut11Held0

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

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

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

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

NameValueVectorParamsIDB1-40onB2-30onB3-20onB4-10onRx11000onRx21000onRx31000onRx41000on

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

NamePulse TypeAmplitudePeriodPulse WidthPhase DelaySample TimeVecor ParamsIDG1Sample- based12111onG2Sample- based14221on

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

NameOperatorInputsLogical OperatorXOR8

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

NameInputsDisplayOptionMux4barMux14bar

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

NameOperatorRouding Functionround

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

NameInput TypeElement SrcElementsRowSrcRowsColumn SrcColumnsInput Port WidthSelector 9/1VectorInternal[1 2 3 4 5 6 7 8]Internal1Internal111

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

NameVariable NameMax Data PointsDecimationSample TimeSave FormatToWorkspaceunbufinf1-1ArrayToWorkspace1lineinf1-1ArrayToWorkspace2blineinf1-1ArrayToWorkspace3errorinf1-1ArrayToWorkspace4prebufinf1-1Array

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

NamePSEBinary Symmetric Channel0,12137on

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

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

NameNVTsicBuffer5010

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

Namenum_chansTsUnbuffer15

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

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

ПараметрЗначениеПараметрЗначениеSolverStepDiscreteAbsTol1e-6ZeroCrossOnRefine1StartTime0.0InitialStepautoStopTime255FixedStep1RelTol1e-3MaxStepauto

После выполнения симуляции передачи данных через канал были получены входные и выходные осциллограммы сигналов изображенные на рисунках 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;=0;=size(line);cRow=1:a(1);cCol=1:a(2);error (cRow, cCol)==1=eNumb+1;

end

end

eNumb

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

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

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

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

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

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

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

=

0

.0050 9.0000

.0100 26.0000

.0150 44.0000

.0200 68.0000

.0250 82.0000

.0300 101.0000

.0350 117.0000

.0400 141.0000

.0450 172.0000

.0500 191.0000

.0550 212.0000

.0600 229.0000

.0750 243.0000

.0800 261.0000

.0850 277.0000

.0900 301.0000

.0950 317.0000

.1000 336.0000

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

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

Модель подсистемы кодирования инверсным кодом представлена на рисунке 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 с.: ил. - (Серия «Учебник для вузов»).

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

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

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

Приложение А

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

Приложение Б

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

Приложение В

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

Copyright © 2018 WorldReferat.ru All rights reserved.