Сравнение опций симуляции во временных и частотных диапазонах для 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 Гц.

  • Два фильтра SAW, смоделированные двумя блоками S-параметров с использованием одного и того же файла данных, sawfilter.s2p. Блок с меткой SAW Filter (time domain) имеет свой параметр Опции моделирования (Modeling options) на вкладке Моделирование (Modeling) в установленном значении Time domain (rationalfit). Блок с меткой SAW Filter (frequency domain) имеет свой параметр Опции моделирования (Modeling options) на вкладке Моделирование (Modeling) в установленном значении Frequency domain и проверяется Автоматическая оценка длительности импульсной характеристики.

  • Блок Scope, который отображает выходы двух блоков S-параметра.

model = 'simrfV2_sparam_t_vs_f';
open_system(model);

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

  1. Тип open_system('simrfV2_sparam_t_vs_f') в Командном окне.

  2. Выберите симуляция > запуск.

Выходы обоих методов очень близки друг к другу. Модель частотного диапазона (фиолетовая кривая) захватывает передаточную функцию (установившееся значение) немного лучше.

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. Выберите симуляция > запуск.

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. Выберите симуляция > запуск.

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 (временной интервал)». Информация о приближении появляется в разделе «Рациональные результаты подгонки» в нижней части диалогового окна 'Моделирования' панели.

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. Выберите симуляция > запуск.

В этом случае модель частотного диапазона обеспечивает лучшее приближение исходных данных.

TF_STEP = 3e-9;
TF_RAMP_TIME = 1e-6;
TF_FREQ = 2.54e9;
TF_END_TIME = 2.5e-6;
set_param(scope, 'YMax','1e-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. Выберите симуляция > запуск.

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

Заключение

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

close gcf;
bdclose(model);
clear model scope;

См. также

S-параметры | Строение | Inport | Вспомогательный порт

Похожие темы

Анализ частотной характеристики системы РФ | Линии электропередачи, основанные на задержке и объединенные модели