Сравните опции симуляции времени и частотного диапазона для S-параметров

Этот пример показывает, как использовать два различных вариантов для моделирования 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);

Запустите симуляцию с настройками по умолчанию

  1. Введите open_system('simrfV2_sparam_t_vs_f') в подсказке Командного окна.

  2. Выберите 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. Другими словами, конверт был намного медленнее, чем поставщик услуг. Когда время пандуса приближается к периоду поставщика услуг, соответствующие эффекты времени лучше получены моделью временного интервала (желтая кривая).

Продолжать пример:

  1. Введите TF_RAMP_TIME = 1e-9; TF_END_TIME = 1e-7; в подсказке Командного окна.

  2. Выберите 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);

Результат симуляции частотного диапазона может быть улучшен путем уменьшения временного шага симуляции и вручную установки импульсного времени длительности.

Продолжать пример:

  1. Введите TF_STEP = 5e-10; в подсказке Командного окна.

  2. Снятие флажка Автоматически оценивает импульсную длительность ответа в панели моделирования блока Saw filter (frequency domain) и задает Импульсную Длительность Ответа как 1e-7.

  3. Выберите 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-параметра.

Продолжать пример:

  1. Введите TF_FREQ = 2.54e9; TF_RAMP_TIME = 1e-6; TF_STEP = 3e-9; TF_END_TIME = 2.5e-6; в подсказке Командного окна.

  2. Выберите 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-параметров обнуляется, история входа больше не учитывается. Однако, модель получает передаточную функцию (установившееся значение) правильно. Это - быстрый и надежный способ смоделировать идеальные устройства, когда переходные эффекты могли быть проигнорированы.

Продолжать пример:

  1. Задайте Impulse Response Duration блока Saw filter (frequency domain) как 0.

  2. Выберите Simulation> Run.

set_param(sparam_freq, 'ImpulseLength', '0');
sim(model);
open_system(scope);

Заключение

В большинстве практических систем РФ время - и методы частотного диапазона дает подобные ответы. Метод временного интервала лучшие получения эффекты временного интервала быстро изменяющихся конвертов, но полагается на rationalfit приближение исходных данных. Метод частотного диапазона чувствителен к шагу времени симуляции; эта опция рекомендуется, когда модель временного интервала не обеспечивает хорошую подгонку.

close gcf;
bdclose(model);
clear model scope;
Для просмотра документации необходимо авторизоваться на сайте