Устройство передачи данных, содержащее пять каналов передачи

ВВЕДЕНИЕ


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

В настоящее время для передачи информации на большие расстояния используются исключительно электромагнитные волны (акустические волны пригодны лишь для ограниченных расстояний). При этом пересылка может осуществляться по медным проводам, оптоволоконному кабелю или непосредственно, по схеме передатчик-приемник. В последнем случае используются антенны. Для того чтобы антенна была эффективна, ее размеры должны быть сравнимы с длиной передаваемой волны. Передача сигнала непосредственно по лучу лазера ограничена расстояниями 100-3000м и становится неустойчивой при наличии осадков даже для инфракрасных длин волн. Между тем человек воспринимает акустические колебания в диапазоне 20-12000 Гц и для целей пересылки звука (например, телефония) требуется именно этот диапазон частот. Динамический диапазон частот в этом случае равен 600, а для высококачественного воспроизведения звука он в два раза шире. При решении этой проблемы используется преобразование частот и различные методы модуляции. Каналы передачи данных ненадежны, да и само оборудование обработки информации работает со сбоями. По этой причине важную роль приобретают механизмы детектирования ошибок. Ведь если ошибка обнаружена, можно осуществить повторную передачу данных и решить проблему. Если исходный код по своей длине равен полученному коду, обнаружить ошибку передачи не предоставляется возможным. Простейшим способом обнаружения ошибок является контроль по четности. Обычно контролируется передача блока данных (М бит). Этому блоку ставится в соответствие кодовое слово длиной N бит, причем N>M. Избыточность кода характеризуется величиной 1-M/N. Вероятность обнаружения ошибки определяется отношением M/N (чем меньше это отношение, тем выше вероятность обнаружения ошибки, но и выше избыточность). При передаче информации она кодируется таким образом, чтобы с одной стороны характеризовать ее минимальным числом символов, а с другой - минимизировать вероятность ошибки при декодировании получателем. Для выбора типа кодирования важную роль играет так называемое расстояние Хэмминга. Пусть А и Б две двоичные кодовые последовательности равной длины. Расстояние Хэмминга между двумя этими кодовыми последовательностями равно числу символов, которыми они отличаются. Можно показать, что для детектирования ошибок в n битах, схема кодирования требует применения кодовых слов с расстоянием Хэмминга не менее N+1. Можно также показать, что для исправления ошибок в N битах необходима схема кодирования с расстоянием Хэмминга между кодами не менее 2N+1. Таким образом, конструируя код, мы пытаемся обеспечить расстояние Хэмминга между возможными кодовыми последовательностями больше, чем оно может возникнуть из-за ошибок. Широко распространены коды с одиночным битом четности. В этих кодах к каждым М бит добавляется 1 бит, значение которого определяется четностью (или нечетностью) суммы этих М бит. Так, например, для двухбитовых кодов 00, 01, 10, 11 кодами с контролем четности будут 000, 011, 101 и 110. Если в процессе передачи один бит будет передан неверно, четность кода из М+1 бита изменится. Добавление бита четности уменьшает вероятность необнаруженной ошибки почти в 1000 раз. Использование одного бита четности типично для асинхронного метода передачи. В синхронных каналах чаще используется вычисление и передача битов четности как для строк, так и для столбцов передаваемого массива данных. Такая схема позволяет не только регистрировать но и исправлять ошибки в одном из битов переданного блока. Контроль по четности достаточно эффективен для выявления одиночных и множественных ошибок в условиях, когда они являются независимыми. При возникновении ошибок в кластерах бит метод контроля четности неэффективен и тогда предпочтительнее метод вычисления циклических сумм (CRC). В этом методе передаваемый кадр делится на специально подобранный образующий полином. Дополнение остатка от деления и является контрольной суммой.

Исправлять ошибки труднее, чем их детектировать или предотвращать. Процедура коррекции ошибок предполагает два совмещенные процесса: обнаружение ошибки и определение места (идентификация сообщения и позиции в сообщении). После решения этих двух задач, исправление тривиально - надо инвертировать значение ошибочного бита. В наземных каналах связи, где вероятность ошибки невелика, обычно используется метод детектирования ошибок и повторной пересылки фрагмента, содержащего дефект. Для спутниковых каналов с типичными для них большими задержками системы коррекции ошибок становятся привлекательными. Здесь используют коды Хэмминга или коды свертки. Код Хэмминга представляет собой блочный код, который позволяет выявить и исправить ошибочно переданный бит в пределах переданного блока. Обычно код Хэмминга характеризуется двумя целыми числами, например, (11,7) используемый при передаче 7-битных ASCII-кодов. Такая запись говорит, что при передаче 7-битного кода используется 4 контрольных бита (7+4=11). При этом предполагается, что имела место ошибка в одном бите и что ошибка в двух или более битах существенно менее вероятна. С учетом этого исправление ошибки осуществляется с определенной вероятностью. Обобщением кодов Хэмминга являются циклические коды BCH (Bose-Chadhuri-Hocquenghem). Это коды с широким выбором длины и возможностей исправления ошибок. Циклические коды характеризуются полиномом g(x) степени n-k, g(x) = 1 + g1x + g2x2 + … + xn-k. g(x) называется порождающим многочленом циклического кода. Если многочлен g(x) n-k и является делителем многочлена xn + 1, то код C(g(x)) является линейным циклическим (n,k)-кодом. Число циклических n-разрядных кодов равно числу делителей многочлена xn + 1. [1]

1. СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА ПЕРЕДАЧИ ДАННЫХ И КОМАНД


Структурная схема устройства передачи данных и команд показана на рисунке 1.1. На схеме приведены следующие обозначения: ДТ - датчик. НП - нормирующий преобразователь. АЦП/ЦАП - аналого-цифровой и цифро-аналоговый преобразователи. КУ -кодирующее устройство. ДКУ - декодирующее устройство. ЛС - линия связи. И - индикатор.


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


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


2. РАСЧЕТ И МОДЕЛИРОВАНИЕ ДАТЧИКА ТЕМПЕРАТУРЫ


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

С помощью пакета автоматизированного проектирования Simulink пакета MathLab 6.5 проектируется модель датчика температуры, представленная на рисунке А.1 в приложении А.

Параметры блоков использованных в модели представлены в таблицах 2.1-2.6.


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

НазваниеValueVectorParams1DB1-50onRx11000onT0298on

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

НазваниеExprRx(T)u(3)*exp(u(2)*(u(4)-u(1))/(u(4)*u(1)))

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

НазваниеGainMultiplicationSaturateOnIntegerOverflowGain0,3Element-wise(K.*u)on

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

НазваниеInputsDisplayOptionMux4none

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

НазваниеIconShapeInputsSaturateOnIntegerOverflowSumrectangular+-on

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

НазваниеslopestartX0VectorParams1DТ9,50298on

Блоками Constant задаются исходные данные (сопротивление терморезистора, коэффициент В, начальная температура в Кельвинах). С помощью блока Ramp задается необходимый диапазон изменения температуры.

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


К/В(2.1)


Описанные выше блоки объединяются блоком Mux и поступают на вход блока Fcn Block Properties, где задается функция изменения напряжения от температуры. После сложения в блоке Sum сигнал поступает на вход блока Gain, с помощью которого задается диапазон изменения выходного напряжения.

Параметр Gain блока Gain Block Properties выбирается таким образом, чтобы обеспечить необходимую разрядность АЦП и равный 0,3 он обеспечивает изменение напряжения от 10 до 60В.

График изменения выходного напряжения от изменения температуры датчика приведен на рисунке Б.1 в приложении Б.


3. МОДЕЛИРОВАНИЕ АЦП И ЦАП


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

Модели четырехразрядных преобразователей представлены на рисунках А.2 и А.3 в приложении А.

Параметры блоков, использованных при моделировании АЦП, представлены в таблицах 3.1-3.4.


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

НазваниеGainMultiplicationSaturateOnIntegerOverflowDiv11/2Element-wise(K.*u)onDiv21/2Element-wise(K.*u)onDiv31/2Element-wise(K.*u)onDiv41/2Element-wise(K.*u)onMult12Element-wise(K.*u)onMult22Element-wise(K.*u)onMult32Element-wise(K.*u)onMult42Element-wise(K.*u)on

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

НазваниеInputsDisplayOptionMux4none

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

НазваниеIconShapeInputsSaturateOnIntegerOverflowSum1rectangular+-onSum2rectangular+-onSum3rectangular+-onSum4rectangular+-on

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

НазваниеOperatorInt1floorInt1floorInt1floorInt1floor

Параметры блоков, использованных при моделировании ЦАП, представлены в таблицах 3.5-3.7.


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

НазваниеOutputsBusSelectionModeDemux4off

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

НазваниеGainMultiplicationSaturateOnIntegerOverflowR01Element-wise(K.*u)onR12Element-wise(K.*u)onR24Element-wise(K.*u)onR38Element-wise(K.*u)on

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

НазваниеIconShapeInputsSaturateOnIntegerOverflowSumrectangular++++onSum1rectangular++onSum2rectangular++onSum3rectangular++onSum4rectangular++on

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

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


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

Модель устройства передачи данных показана на рисунке А.4 в приложении А.

Параметры блоков приведены в таблицах 4.1-4.9.


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

НаименованиеValueVectorParams1DB1-50onB2-5onB3-40onB4-45onB5-35onRx11000onRx21000onRx31000onRx41000onRx51000on

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

Наимено-ваниеPulse TypeAmplitudePeriodPulse WidthPhaseDelaySample TimeVector Params1DG1Sample-based12111onG2Sample-based14221onG3Sample-based18441on

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

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

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

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

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

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

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

Наимено-ваниеInput TypeElement SrcElementsRow SrcRowsColumn SrcColumnsInput Port WidthSelector 9/1VectorInternal[1 2 3 4 5 6 7 8]Internal1Internal112

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

НаименованиеVariableNameMaxDataPointsDecimationSampleTimeSave FormatTo Workspaceunbufinf1-1ArrayTo Workspace1lineinf1-1ArrayTo Workspace2blineinf1-1ArrayTo Workspace3errorinf1-1ArrayTo Workspace4prebufinf1-1Array

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

НаименованиеPsEBinary Symmetric Channel0,072137on

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

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

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

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

Блоки 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)01100016) 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

НаименованиеValueVectorParams1DB-20onRx350on

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

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

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

НаименованиеExprFcn!u(1)Fcn1!u(2)Fcn2!u(3)Fcn3!u(4)Fcn4u(7)== u(8)Fcn5u(5)== u(6)Fcn6u(3)== u(4)Fcn7u(1)== u(2)

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

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

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

Наиме-нованиеDire ctionCount EventCounter SizeMax CountInitial CountOutputHit ValueReset InputSamples Per FrameTsCounterUpNon-zero sampleUser defined2550Count32off11Counter1UpNon-zero sampleUser defined2550Count32off11Counter2UpNon-zero sampleUser defined2550Count32off11Counter3UpNon-zero sampleUser defined2550Count32off11

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

НаименованиеVariableNameMaxDataPointsDecimationSample TimeSaveFormatTo Workspaceprecodinf1-1ArrayTo Workspace2double_codedinf1-1ArrayTo Workspace4errorinf1-1Array

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

НаименованиеPsEBinary Symmetric Channel0,072137on

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

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

Таблица 6.9 - Параметры блок Bus creator

НаименованиеInputsSignal in busBus creator4signal1, signal2, signal3, signal4Таблица 6.10 - Параметры блоков Bus selector

НаименованиеSignal in busSelected signalsBus selectorsignal1, signal2, signal3, signal4signal4, signal3, signal2, signal1

ЗАКЛЮЧЕНИЕ


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

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


ПЕРЕЧЕНЬ ССЫЛОК


. Л.Ф. Куликовский, В.В. Мотов, Теоретические основы информационных процессов. Москва Высшая школа 1987.

. Кузьмин И. В., Кедрус В. А. «Основы информации кодирования». К.: «Вища шлола», 1997.

. Ильин В. А. «Телеуправление и телеизмерение» М.: Энергия, 1982.


ПРИЛОЖЕНИЕ А


«Модели устройств»


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


Рисунок А.2 - Модель четырехразрядного АЦП.


Рисунок А.3 - Модель четырехразрядного ЦАП.


Рисунок А.4.- Модель устройства передачи данных.

Рисунок А.5 - Модель кодирующего и декодирующего устройств.


ПРИЛОЖЕНИЕ Б


«Графики зависимостей»


Рисунок Б.1 - Исходное сообщение

Рисунок Б.2 - Принятое сообщение


Теги: Устройство передачи данных, содержащее пять каналов передачи  Курсовая работа (теория)  Информатика, ВТ, телекоммуникации
Просмотров: 4298
Найти в Wikkipedia статьи с фразой: Устройство передачи данных, содержащее пять каналов передачи
Назад