В этом примере показано, как использовать две различные опции для моделирования 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);
Тип open_system('simrfV2_sparam_t_vs_f')
в Командном окне.
Выберите симуляция > запуск.
Выходы обоих методов очень близки друг к другу. Модель частотного диапазона (фиолетовая кривая) захватывает передаточную функцию (установившееся значение) немного лучше.
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;
в Командном окне.
Выберите симуляция > запуск.
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
.
Выберите симуляция > запуск.
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-параметра.
Чтобы продолжить пример:
Тип TF_FREQ = 2.54e9; TF_RAMP_TIME = 1e-6; TF_STEP = 3e-9; TF_END_TIME = 2.5e-6;
в Командном окне.
Выберите симуляция > запуск.
В этом случае модель частотного диапазона обеспечивает лучшее приближение исходных данных.
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-параметров устанавливается в нуль, история входа больше не принимается во факторе. Тем не менее, модель правильно захватывает передаточную функцию (установившееся значение). Это быстрый и надежный способ моделирования идеальных устройств, когда переходные эффекты могут быть проигнорированы.
Чтобы продолжить пример:
Задайте Impulse Response Duration
от Saw filter (frequency domain)
блок как 0
.
Выберите симуляция > запуск.
set_param(sparam_freq, 'ImpulseLength', '0'); sim(model); open_system(scope);
В большинстве практичных систем РФ методы временной и частотной областей дают аналогичные ответы. Метод временной области лучше захватывает эффекты временной области быстро изменяющихся огибающих, но опирается на рациональное приближение исходных данных. Метод частотного диапазона чувствителен к временному шагу симуляции; эта опция рекомендуется, когда модель временной области не обеспечивает хорошую подгонку.
close gcf; bdclose(model); clear model scope;
S-параметры | Строение | Inport | Вспомогательный порт
Анализ частотной характеристики системы РФ | Линии электропередачи, основанные на задержке и объединенные модели