Этот пример показывает, как использовать два различных вариантов для моделирования S-параметров с библиотекой RF Blockset™ Circuit Envelope. Временной интервал (rationalfit) метод создает аналитическую рациональную модель, которая аппроксимирует целую область значений данных. Это - предпочтительный метод, когда хорошая подгонка могла быть достигнута с небольшим количеством полюсов. Когда данные имеют много деталей или высокий уровень шума, эта модель становится большой и медленной, чтобы моделировать.
Метод частотного диапазона основан на свертке, где основополосный импульсный ответ зависит от шага времени симуляции и несущей частоты.
Система состоит из:
Входной сигнал конверта смоделирован с блоками Simulink. Входной сигнал является пандусом, который идет от 0 до 1 в TF_RAMP_TIME
; начальное значение TF_RAMP_TIME
установлено к 1e-6
s. Несущей частотой сигнала является TF_FREQ
; начальное значение TF_FREQ
установлено к Гц 2.4e9
.
Два ВИДЕЛ фильтры, смоделированные двумя блоками S-параметра с помощью того же файла данных, sawfilter.s2p
. Блок маркировал SAW Filter (time domain)
, имеет его параметр опций Моделирования в наборе вкладки Modeling к Time domain (rationalfit)
. Блок маркировал SAW Filter (frequency domain)
, имеет его параметр опций Моделирования в наборе вкладки Modeling к Frequency domain
и Автоматически, оценочная импульсная длительность ответа проверяется.
Блок Scope, который отображает выводы двух блоков S-параметра.
model = 'simrfV2_sparam_t_vs_f';
open_system(model);
Введите open_system('simrfV2_sparam_t_vs_f')
в подсказке Командного окна.
Выберите Simulation> Run.
Выходные параметры из обоих методов очень друг близко к другу. Модель частотного диапазона (фиолетовая кривая) получает передаточную функцию (установившееся значение) немного лучше.
scope = [model '/Scope']; open_system(scope); set_param(scope, 'YMax','0.45'); set_param(scope, 'YMin','0'); set_param(scope, 'TimeRange',num2str(1.01*TF_END_TIME)); sim(model);
В предыдущей симуляции времени нарастания конверта TF_RAMP_TIME = 1e-6
был многими порядками величины, больше, чем период поставщика услуг сигнализирует о T = 1/TF_FREQ = 4.1667e-10
. Другими словами, конверт был намного медленнее, чем поставщик услуг. Когда время пандуса приближается к периоду поставщика услуг, соответствующие эффекты времени лучше получены моделью временного интервала (желтая кривая).
Продолжать пример:
Введите TF_RAMP_TIME = 1e-9; TF_END_TIME = 1e-7;
в подсказке Командного окна.
Выберите Simulation> Run.
TF_RAMP_TIME = 1e-9;
TF_END_TIME = 1e-7;
set_param(scope, 'TimeRange',num2str(1.01*TF_END_TIME));
sim(model);
open_system(scope);
Результат симуляции частотного диапазона может быть улучшен путем уменьшения временного шага симуляции и вручную установки импульсного времени длительности.
Продолжать пример:
Введите TF_STEP = 5e-10;
в подсказке Командного окна.
Снятие флажка Автоматически оценивает импульсную длительность ответа в панели моделирования блока Saw filter (frequency domain)
и задает Импульсную Длительность Ответа как 1e-7
.
Выберите Simulation> Run.
TF_STEP = 5e-10; sparam_freq = [model '/SAW Filter (frequency domain)']; set_param(sparam_freq, 'AutoImpulseLength', 'off'); set_param(sparam_freq, 'ImpulseLength', '1e-7'); sim(model); open_system(scope);
Приближение рациональной функции не точно. Чтобы видеть ошибку приближения, дважды кликните блок "SAW Filter (time domain)". Информация о приближении появляется под "Рациональными подходящими результатами" в нижней части диалоговой панели 'Моделирования'.
open_system([model sprintf('/SAW Filter (time domain)')]);
Для получения дополнительной информации выберите панель 'Visualization' и нажмите кнопку 'Plot'.
rationalfit алгоритм (пунктирная кривая) делает очень хорошее задание для большинства частот. Однако иногда это не получает резкие изменения данных S-параметра.
simrfV2_click_dialog_button('Block Parameters: SAW Filter (time domain)', 'PlotButton');
С другой стороны метод частотного диапазона точно воспроизводит установившееся поведение во всех несущих частотах (по определению). Выполнение симуляции для TF_FREQ = 2.54e9
приводит к решительно различным результатам между двумя методами S-параметра.
Продолжать пример:
Введите TF_FREQ = 2.54e9; TF_RAMP_TIME = 1e-6; TF_STEP = 3e-9; TF_END_TIME = 2.5e-6;
в подсказке Командного окна.
Выберите Simulation> Run.
В этом случае модель частотного диапазона обеспечивает лучшее приближение исходных данных.
TF_STEP = 3e-9; TF_RAMP_TIME = 1e-6; TF_FREQ = 2.54e9; TF_END_TIME = 2.5e-6; set_param(scope, 'YMax','6e-3'); set_param(scope, 'TimeRange',num2str(1.01*TF_END_TIME)); sim(model); open_system(scope);
Существует особый случай, который мог быть очень полезным на практике. Когда "Импульсная Длительность Ответа" блока s-параметров обнуляется, история входа больше не учитывается. Однако, модель получает передаточную функцию (установившееся значение) правильно. Это - быстрый и надежный способ смоделировать идеальные устройства, когда переходные эффекты могли быть проигнорированы.
Продолжать пример:
Задайте Impulse Response Duration
блока Saw filter (frequency domain)
как 0
.
Выберите Simulation> Run.
set_param(sparam_freq, 'ImpulseLength', '0'); sim(model); open_system(scope);
В большинстве практических систем РФ время - и методы частотного диапазона дает подобные ответы. Метод временного интервала лучшие получения эффекты временного интервала быстро изменяющихся конвертов, но полагается на rationalfit приближение исходных данных. Метод частотного диапазона чувствителен к шагу времени симуляции; эта опция рекомендуется, когда модель временного интервала не обеспечивает хорошую подгонку.
close gcf; bdclose(model); clear model scope;