Перед записью модели Verilog-A объекта RF-цепи необходимо создать 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 в противном случае.
write подробно описывает аргументы метода.
Пример экспорта модуля Verilog-A появляется в RF Toolbox™ примере «Моделирование высокоскоростной объединительной платы (рациональная функция в модуль Verilog-A)».