Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


2.4.6 Math – блоки математических операций

Блок вычисления модуля Abs

Назначение:

Выполняет вычисление абсолютного значения величины сигнала.

Параметры:

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

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

Рис. 2.55. Пример использования блока Abs

Блок Abs может использоваться также для вычисления модуля сигнала комплексного типа. На рис. 2.56 показан пример вычисления модуля комплексного сигнала вида:

.

Модуль этого сигнала, как и следовало ожидать, равен 1 для любого момента времени.

Рис. 2.56. Пример использования блока Abs для вычисления модуля

комплексного сигнала

 

 

Блок вычисления суммы Sum

Назначение:

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

Параметры:

1.     Icon shape – Форма блока. Выбирается из списка.

·   round – окружность,

·   rectangular – прямоугольник.

2.     List of sign – Список знаков. В списке можно использовать следующие знаки: + (плюс), - (минус) и | (разделитель знаков).

3.     Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Количество входов и операция (сложение или вычитание) определяется списком знаков параметра List of sign, при этом метки входов обозначаются соответствующими знаками. В параметре List of sign можно также указать число входов блока. В этом случае все входы будут суммирующими.

Если количество входов блока превышает три, то удобнее использовать блок Sum прямоугольной формы.

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

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

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

Примеры использования блока Sum показаны на рис. 2.57.

 

Блок умножения Product

Назначение:

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

Параметры:

1.     Number of inputs – Количество входов. Может задаваться как число или как список знаков. В списке знаков можно использовать знаки «´» (умножить) и «/» (разделить).

2.     Multiplication – Способ выполнения операции. Может принимать значения (из списка):

·   Element-wise – Поэлементный.

·   Matrix – Матричный.

 

 

 

Рис. 2.57. Примеры использования блока Sum

 

 

 

 

3.     Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Если параметр Number of inputs задан списком, включающим, кроме знаков умножения, также знаки деления, то метки входов будут обозначены символами соответствующих операций.

Блок может использоваться для операций умножения или деления скалярных векторных или матричных сигналов. Типы входных сигналов блока должны совпадать. Если в качестве количества входов указать цифру 1 (один вход), то блок можно использовать для определения произведения элементов вектора.

Примеры использования блока Product при выполнении скалярных и поэлементных операций показаны на рис. 2.58.

 

Рис. 2.58. Примеры использования блока Product при выполнении

скалярных и поэлементных операций

 

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

 

Рис. 2.59. Примеры использования блока Product при выполнении матричных операций

 

 

 

Блок определения минимального или максимального

 значения MinMax

Назначение:

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

Параметры:

1.     Function –  Выходной параметр. Выбирается из списка:

·   min – Минимальное значение.

·   max – Максимальное значение.

2.     Number of input ports – Количество входных портов.

Входные сигналы блока могут быть скалярными или векторными. Блок определяет максимальное или минимальное значение из всех скалярных сигналов, поступающих на его входы. Если входные сигналы являются векторными, то блок выполняет поэлементную операцию поиска минимального или максимального значения. В этом случае размерности векторов должны совпадать. Если количество входных портов блока задано равным 1, то блок может использоваться для нахождения минимального или максимального значения во входном векторе.

Примеры использования блока MinMax показаны на рис. 2.60.

Рис. 2.60. Примеры использования блока MinMax

 

 

 

Блок округления числового значения

 Rounding Function

Назначение:

Выполняет операцию округления числового значения.

Параметры:

Function – Способ округления (выбирается из списка):

·         floor – Округление до ближайшего меньшего целого.

·         ceil – Округление до ближайшего большего целого.

·         round – Округление до ближайшего целого.

·         fix – Округление отбрасыванием дробной части.

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

Выходной сигнал блока будет иметь тип double или single.

Примеры использования блока Rounding Function показаны на рис. 2.61.

Рис. 2.61. Примеры использования блока Rounding Function

 

Блок логических операций Logical Operation

Назначение:

Реализует одну из базовых логических операций.

Параметры:

1.     Operator – Вид реализуемой логической операции (выбирается из списка):

·         AND – Логическое умножение (операция И).

·         OR – Логическое сложение (операция ИЛИ).

·         NAND – Операция И-НЕ.

·         NOR – Операция ИЛИ-НЕ.

·         XOR – Исключающее ИЛИ (операция сложения по модулю 2).

·         NOT – Логическое отрицание (НЕ).

2.     Number of input ports – Количество входных портов.

Выходным сигналом блока является 1, если результат вычисления логической операции есть «ИСТИНА», и 0, если результат – «ЛОЖЬ».

Входные сигналы блока могут быть скалярными, векторными или матричными. Если входные сигналы – векторы или матрицы, то блок выполняет поэлементную логическую операцию, при этом размерность входных сигналов должна совпадать. Если часть входных сигналов – векторы или матрицы, а другая часть входных сигналов – скаляры, то блок выполняет логическую операцию для скалярных входных сигналов и каждого элемента векторных или матричных сигналов. Размерность выходного сигнала в этом случае будет определяться размерностью векторных или матричных входных сигналов.

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

Входные сигналы могут быть как действительного, так и логического типа (boolean).

Примеры использования блока Logical Operation показаны на рис. 2.62.

 

 

 

Блок комбинаторной логики Gombinatorical Logic

Назначение:

Преобразует входные сигналы в соответствии с таблицей истинности.

Параметры:

Truth table – Таблица истинности.

Блок Combinatorical Logic обеспечивает преобразование входного сигнала в соответствии с правилами, определяемыми таблицей истинности. Таблица истинности представляет собой список возможных выходных значений блока. Такое описание работы устройств принято в теории конечных автоматов. Число строк в таблице истинности определяется соотношением:

number of rows = 2 * number of inputs,

где    number of inрuts – число входных сигналов,

              number of rows – число строк таблицы истинности.

Рис. 2.62. Примеры использования блока Logical Operation

Входные сигналы при составлении таблицы истинности считаются заданными. Они определяют индекс (номер) строки, в которой записываются выходные значения блока. Индекс каждой строки определяется выражением:

row index = 1 + u(m)*20 + u(m-1)*21 + … + u(1)*2m-1,

где row index – индекс строки,

m – количество входных сигналов (элементов во входном векторе),

u(1) – первый входной сигнал (первый элемент входного вектора),

u(m) – последний входной сигнал (последний элемент входного вектора).

Например, в случае операции логического И (AND) для двух операндов выражение, определяющее индекс строки, будет выглядеть следующим образом:

row index = 1 + u(2)*20 + u(1)*21.

Ниже приведен пример формирования таблицы истинности операции логического И (AND) для двух операндов:

 

 

Таблица 2.1 Таблица истинности операции логического И

 

Вход 2

Вход 1

Выражение для
индекса строки

Значение
индекса строки

Таблица истинности
(Выход)

0

0

1

0

1

0

2

0

0

1

3

0

1

1

4

1

 

На рис. 2.63 показан пример реализации операции логического И с помощью блока Combinatorical Logic. Параметр блока Truth table задан выражением [0;0;0;1].

 

Рис. 2.63. Пример использования блока Combinatorical Logic

 

 



<< ПредыдущаяОглавлениеСледующая >>