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

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

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

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

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

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

ВВЕДЕНИЕ

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

В настоящее время для передачи информации на большие расстояния используются исключительно электромагнитные волны (акустические волны пригодны лишь для ограниченных расстояний). При этом пересылка может осуществляться по медным проводам, оптоволоконному кабелю или непосредственно, по схеме передатчик-приемник. В последнем случае используются антенны. Для того чтобы антенна была эффективна, ее размеры должны быть сравнимы с длиной передаваемой волны. Передача сигнала непосредственно по лучу лазера ограничена расстояниями 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. На схеме приведены следующие обозначения: ДТ - датчик. НП - нормирующий преобразователь. АЦП/ЦАП - аналого-цифровой и цифро-аналоговый преобразователи. КУ -кодирующее устройство. ДКУ - декодирующее устройство. ЛС - линия связи. И - индикатор.

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

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

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

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

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

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

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

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

Название

Value

VectorParams1D

B1

-50

on

Rx1

1000

on

T0

298

on

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

Название

Expr

Rx(T)

u(3)*exp(u(2)*(u(4)-u(1))/(u(4)*u(1)))

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

Название

Gain

Multiplication

SaturateOnIntegerOverflow

Gain

0,3

Element-wise(K.*u)

on

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

Название

Inputs

DisplayOption

Mux

4

none

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

Название

IconShape

Inputs

SaturateOnIntegerOverflow

Sum

rectangular

+-

on

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

Название

slope

start

X0

VectorParams1D

Т

9,5

0

298

on

Блоками 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

Название

Gain

Multiplication

SaturateOnIntegerOverflow

Div1

1/2

Element-wise(K.*u)

on

Div2

1/2

Element-wise(K.*u)

on

Div3

1/2

Element-wise(K.*u)

on

Div4

1/2

Element-wise(K.*u)

on

Mult1

2

Element-wise(K.*u)

on

Mult2

2

Element-wise(K.*u)

on

Mult3

2

Element-wise(K.*u)

on

Mult4

2

Element-wise(K.*u)

on

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

Название

Inputs

DisplayOption

Mux

4

none

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

Название

IconShape

Inputs

SaturateOnIntegerOverflow

Sum1

rectangular

+-

on

Sum2

rectangular

+-

on

Sum3

rectangular

+-

on

Sum4

rectangular

+-

on

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

Название

Operator

Int1

floor

Int1

floor

Int1

floor

Int1

floor

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

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

Название

Outputs

BusSelectionMode

Demux

4

off

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

Название

Gain

Multiplication

SaturateOnIntegerOverflow

R0

1

Element-wise(K.*u)

on

R1

2

Element-wise(K.*u)

on

R2

4

Element-wise(K.*u)

on

R3

8

Element-wise(K.*u)

on

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

Название

IconShape

Inputs

SaturateOnIntegerOverflow

Sum

rectangular

++++

on

Sum1

rectangular

++

on

Sum2

rectangular

++

on

Sum3

rectangular

++

on

Sum4

rectangular

++

on

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

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

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

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

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

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

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

Value

VectorParams1D

B1

-50

on

B2

-5

on

B3

-40

on

B4

-45

on

B5

-35

on

Rx1

1000

on

Rx2

1000

on

Rx3

1000

on

Rx4

1000

on

Rx5

1000

on

Таблица 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

Array

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. Построение кодОВ

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

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

Пример.

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

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

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

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

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

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

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

(5.1)

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

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

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

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

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

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

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

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

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

0001

0010

0100

1000

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

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

0001 Ч 1011 = 0001011

0010 Ч 1011 = 0010110

0100 Ч 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). Если принятая комбинация делится на образующий полином без остатка - код принят безошибочно. Остаток от деления свидетельствует о наличии ошибки, но не указывает ее положение.

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

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

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

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

б) если щ > у то:

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

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

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

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

то:

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

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

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

Решение.

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

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

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

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

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

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

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

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

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

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

5) Складываем по модулю 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

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

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

Inputs

Signal in bus

Bus creator

4

signal1, signal2, signal3, signal4

Таблица 6.10 - Параметры блоков Bus selector

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

Signal in bus

Selected signals

Bus selector

signal1, signal2, signal3, signal4

signal4, signal3, signal2, signal1

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

ПРИЛОЖЕНИЕ А

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

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

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

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

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

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

ПРИЛОЖЕНИЕ Б

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

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

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

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


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

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