Записи с меткой «определения»

Аналого-цифровой интерфейс

Аналого-цифровой интерфейс
Аналого-цифровые интерфейсы предназначены для преобразования аналогового напряжения в логический уровень. Они имитируют входные каскады цифровых ИС. Их схема замещения показана, а. Информация о логическом уровне сигнала на выходе интерфейса А/Ц может направляться двояко:

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

При взаимодействии аналоговых и цифровых компонентов в процессе моделирования описание интерфейса А/Ц (digital output: analog-to-digital) имеет формат
Оххх <+узел интерфейса> <-узел интерфейса> <имя модели А/Ц> + DGTNET =<ижя цифрового узла> <имя модели. вход/выход>
При записи логических уровней в файл описание интерфейса А/Ц имеет формат
Оххх <+узел интерфейса> <-узел интерфейса> <имя модели А/Ц> + [SIGNAME=<имя цифрового сигнала>]
Приведем примеры:
О12 ANALOG_NODE DIGITAL_GND DOUTJ33 DGTLNET=DIG_NODE IO_STD OVCO 17 0 TO_TTL SIGNAME=VCO_OUT; передача данных в файл
Модель аналого-цифрового интерфейса описывается предложением .MODEL <имя модели А/Ц> DOUTPUT [<параметры модели>] Параметры модели аналого-цифрового интерфейса приведены в табл. 4.25.
Параметры аналого-цифрового интерфейса

Идентификатор

Параметр

Значение по умолчанию

Единица измерения

RLOAD

Сопротивление нагрузки

1/GMIN

Ом

CLOAD

Емкость нагрузки

0

Ф

CHGONLY

Флаг преобразования: 0 — преобразование на каждом шаге по времени; 1 — преобразование при наличии изменения входного напряжения (только при записи в файл)

SONAME

Имя логического состояния «0»

SOVLO

Нижний уровень напряжения логического «0»

В

SOVHI

Верхний уровень напряжения логического

«0»

S1NAME

Имя логического состояния «1»

S1VLO

Нижний уровень напряжения логической «1»

В

S1VHI

Верхний уровень напряжения логической «1»

в

S19NAME

Имя логического состояния «19»

S19VLO

Нижний уровень напряжения логического состояния «19»

в

S19VHI

Верхний уровень напряжения логического состояния «19»

в

SXNAME

Имя логического состояния, когда напряжение на узле интерфейса находится вне заданных границ

?

FILE

Имя файла цифрового сигнала (только при записи в файл)

FORMAT

Код формата входного файла цифровых сигналов (только при записи в файл)

1

TIMESTEP

Интервал дискретизации по времени при записи в файл

10- 9

с

TIMESCALE

Масштабный коэффициент при расчете интервала времени TIMESTEP (только при записи в файл)

1

Каждому i-му логическому состоянию соответствует определенный диапазон напряжений SiVL0…SiVH1. До тех пор пока входное напряжение интерфейса
А/Ц V ex не выходит за его границы, логическое состояние на выходе интерфейса А/Ц не изменяется. далее…

Макромодели

Макромодели
Отдельные фрагменты цепи или схемы замещения компонентов имеет смысл оформлять в виде макромоделей (подсхем). Описание макромодели начинается директивой .SUBCKT и заканчивается директивой .ENDS. Между ними помещаются описания компонентов, входящих в состав макромодели:
.SUBCKT <имя макромодели> <список узлов>
+ [OPTIONAL:<< узел интерфейса> = <значение по умолчанию>>*}
+ [PARAMS:<имя параметра>=<значение>*}
+ [ТЕХТ:<<имя текстовой переменной> — <текст>>*]
{описание компонентов}
.ENDS [имя макромодели]
Ключевое слово OPTIONAL используется для спецификации одного или более необязательных узлов макромодели — указываются имя узла и его значение по умолчанию. Если при вызове макромодели эти узлы не указываются, используются их значения по умолчанию, что удобно для задания источников питания цифровых устройств; после ключевого слова PARAMS приводится список параметров, значения которых передаются из основной цепи в макромодель. После ключевого слова TEXT — текстовая переменная, передаваемая из описания основной цепи в описание макромодели (используется только при моделировании цифровых устройств). Между директивами .SUBCKT и .ENDS можно помещать описания других макромоделей и другие директивы. Приведем пример:
* Макромодель ОУ К140УД11. далее…

Циклы for и while

Циклы for и while
Зачастую необходимо циклическое повторение выполнения выражения заданное число раз или до тех пор, пока выполняется определенное условие. Maple 15 имеет обобщенную конструкцию цикла, которая задается следующим образом:
| for <name>| |from <exprl>| |to <expr3>| |by <expr2>| (while <expr4>| do Statement sequence> od;
Здесь name — имя управляющей переменной цикла, exprl, ехрr2 и ехрrЗ — выражения, задающие начальное значение, конечное значение и шаг изменения переменной name, ехрr4 — выражение, задающее условие, пока цикл (набор объектов между словами do и od) будет выполняться.
В ходе выполнения цикла управляющая переменная меняется от значения exprl до значения ехрr2 с шагом, заданным ехрrЗ. Если блок by <ехрr2> отсутствует, то управляющая переменная будет меняться с шагом +1 при ехргКехрг2. Это наглядно поясняет следующий пример:
> for i front 1 to 5 do printd) od;
1
2

4
5
В нем выводятся значения переменной i в ходе выполнения цикла. Нетрудно заметить, что она и впрямь меняется от значения 1 до значения 5 с шагом +1. Следующий пример показывает, что границы изменения управляющей переменной можно задать арифметическими выражениями:
> for i from 7/(2+5) to 2+3 do printd) od:
1
2
3
4
5
А еще один пример показывает задание цикла, у которого переменная цикла меняется от значения 1 до 10 с шагом 2:
> for i from 1 to 10 by 2 do printd) od: 1 3 5 7 9
8 этом случае выводятся нечетные числа от 1 до 9. Шаг может быть и отрицательным:
> for i from 9 to 1 by -2 do print(i) od:
9
7
5
3
1
Следует отметить, что если exprl>expr2 задать заведомо невыполнимое условие, например, ехрr1>ехрг2 и положительное значение шага, то цикл выполняться не будет. Цикл можно прервать с помощью дополнительного блока while <ехрr4>. Цикл с таким блоком выполняется до конца или до тех пор, пока условие ехрг4 истинно.
> for i from 1 to 10 by 2 while i<6 do print(i) od:
1
3
5
Таким образом, конструкция цикла в Maple-языке программирования вобрала в себя основные конструкции циклов for и while. Есть еще одна, более специфическая конструкция цикла:
|for <name>| |in <exprl>| |whi1e <expr2>| do statement sequence> od:
Здесь exprl задает список значений, которые будет принимать управляющая переменная name. далее…

Типовые средства программирования

Типовые средства программирования.

Функции пользователя
Упрощенные функции пользователя
Хотя ядро Maple 15, библиотека и пакеты содержат свыше 3000 функций, всегда может оказаться, что именно нужной пользователю (и порою довольно простой) функции все же нет. Тогда возникает необходимость в создании собственной функции, именуемой функцией пользователя. Начнем описание с обычных функций пользователя, задающих некоторую зависимость от одной или ряда переменных в явном виде.
Основным средством расширения Maple-языка являются модули — процедуры. Однако на первый взгляд они довольно сложны. Есть и более простые способы задания функций пользователя. Один из таких способов заключается просто в присваивании введенной функции (в виде выражения) некоторой переменной: Name:-выражение
Этот прием фактически означает просто операцию присваивания. Следующие примеры иллюстрируют технику работы с такими функциями:

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

Операции с векторами

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

В этих примерах используется функция evalm(M), осуществляющая вычисление матрицы или вектора М.
 ПРИМЕЧАНИЕ 
Рекомендуется перед проведением символьных операций с векторами и матрицами очистить память от предшествующих определений с помощью команды restart. Если какие-то элементы векторов или матриц были ранее определены, это может привести к очень сильным искажениям вида конечных результатов. Очистка памяти устраняет возможность ошибок такого рода.
Операции над матрицами с численными элементами
Над матрицами с численными элементами можно выполнять разнообразные операции. Ниже приведены основные из них:
 
ПРИМЕЧАНИЕ
Рекомендуется внимательно изучить эти примеры и попробовать свои силы в реализации простых матричных операций. далее…

Обратные тригонометрические функции

Обратные тригонометрические функции
К обратным тригонометрическим относятся следующие функции:

  •  arcsin — арксинус;
  •  arccos — арккосинус;
  •  arctan — арктангенс;
  •  arcsec — арксеканс;
  •  arccsc — арккосеканс;
  •  arccot — арккотангенс.

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

К этому классу функций принадлежит еще одна полезная функция: arctan(y.x) = argument(x+I*y)
Она возвращает угол радиус-вектора в интервале от -Pi до Pi при координатах конца радиус-вектора х и у (см. пример ниже):

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

  •  sinh — гиперболический синус;
  •  cosh — гиперболический косинус;
  •  tanh — гиперболический тангенс;
  •  sech — гиперболический секанс;
  •  csch — гиперболический косеканс;
  •  coth — гиперболический котангенс.

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

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

 ПРИМЕЧАНИЕ
 В отличие от тригонометрических гиперболические функции не являются периодическими. Функция гиперболического тангенса имеет симметричную кривую с характерными ограничениями. Поэтому она широко используется для моделирования передаточных характеристик нелинейных систем с ограничением выходного параметра при больших значениях входного параметра.
Обратные гиперболические функции
Как и тригонометрические функции, гиперболические имеют свои обратные функции:

  •  arcsinh — гиперболический арксинус;
  •  arccosh — гиперболический арккосинус; 
  •  arctanh — гиперболический арктангенс;
  •  arcsech — гиперболический арксеканс: 
  •  arccsch — гиперболический арккосеканс: 
  •  arccoth — гиперболический арккотангенс. 

Примеры применения:

Графики обратных гиперболических синуса, косинуса и тангенса представлены снизу. далее…