Прежде чем можно будет записать модель Verilog-A объекта схемы РФ, необходимо создать объект rfmodel.rational
представлять компонент.
Существует два способа создать объект модели РФ:
Можно соответствовать модели рациональной функции к данным компонента с помощью функции rationalfit
.
Можно использовать конструктора rfmodel.rational
, чтобы задать представление остатка полюса компонента непосредственно.
В этом разделе рассматриваются использование модели рациональной функции. Для получения дополнительной информации об использовании конструктора смотрите страницу с описанием rfmodel.rational
.
Когда вы используете функцию rationalfit
, чтобы создать объект rfmodel.rational
, который представляет компонент РФ, аргументы, которые вы задаете, влияют, как быстро получившаяся модель Verilog-A запускается в средстве моделирования схемы.
Можно использовать функцию rationalfit
только с этими двумя обязательными аргументами. Синтаксис:
model_obj = rationalfit(freq,data)
где
model_obj
является указателем на объект модели рациональной функции.
freq
является вектором значений частоты, которые соответствуют значениям данных.
data
является вектором, который содержит данные, чтобы соответствовать.
Для более быстрой симуляции создайте объект модели с самым маленьким количеством полюсов, требуемых точно представлять компонент. Чтобы управлять количеством полюсов, используйте синтаксис:
model_obj = rationalfit(freq,data,tol,weight,delayfactor)
где
tol
соответствующий относительной погрешности допуск, в децибелах. Задайте самый большой приемлемый допуск к своему приложению. Используя более трудный допуск значения могут обеспечить функцию rationalfit
, чтобы добавить больше полюсов в модель, чтобы достигнуть лучшей подгонки.
weight
— вектор, который задает взвешивание подгонки на каждой частоте.
delayfactor
— значение, которое управляет суммой задержки, раньше соответствовало данным. Задержка вводит фазу, переключают на нижний регистр частотный диапазон, который может потребовать, чтобы большое количество полюсов соответствовало использованию модели рациональной функции. Когда вы задаете величину задержки, функция rationalfit
представляет задержку как экспоненциальный сдвиг фазы. Этот сдвиг фазы позволяет функции соответствовать данным с помощью меньшего количества полюсов.
Эти аргументы описаны подробно на странице ссылки на функцию rationalfit
.
Можно также задать количество полюсов непосредственно с помощью аргумента npoles
. Точность модели не гарантируется с подходом, таким образом, вы не должны будете задавать npoles
, когда точность очень важна. Для получения дополнительной информации об аргументе npoles
смотрите страницу с описанием rationalfit
.
Если вы планируете интегрировать модуль Verilog-A в большой проект для симуляции с помощью подробных моделей, таких как модели схемы транзисторного уровня, время симуляции, использованное модулем Verilog-A, может оказать тривиальное влияние на полное время симуляции. В этом случае нет никакой причины занять время, чтобы оптимизировать модель рациональной функции компонента.
Для получения дополнительной информации об аргументах функции rationalfit
смотрите страницу с описанием rationalfit
.
Вы используете метод writeva
, чтобы создать модуль Verilog-A, который описывает объект модели РФ. Этот метод пишет модуль в заданный файл. Используйте синтаксис:
status = writeva(model_obj,'obj1',{'inp','inn'},{'outp','outn'})
записать модуль Verilog-A для объекта модели model_obj
к файлу obj1.va
. Модуль имеет дифференциальные входные сети, inp
и inn
, и дифференциальные выходные сети, outp
и outn
. Метод возвращает status
, логическое значение true
, если операция успешна и false
в противном случае.
Страница с описанием writeva
описывает аргументы метода подробно.
Пример экспорта модуля Verilog-A появляется в примере RF Toolbox™, Моделируя Высокоскоростную Основную плату (Часть 5: Модель Рациональной функции к Модулю Verilog-A).