В этом примере показано, как написать свою собственную модель RF Blockset Circuit Envelope на языке Simscape ® для комплексной симуляции полосы частот. Комплексный сгенерированный модулированный сигнал огибающей радиочастотной схемы находится на несущей с заданной частотой. Этот сгенерированный модулированный сигнал модулирует с другими сигналами, когда система нелинейна. Пример нелинейности реализован с блоком Simscape Component и включает в себя Simscape ssc-файл, чтобы описать нелинейный полином напряжения.
Система состоит из:
Входной сигнал напряжения, линейно увеличивающийся во времени и сгенерированный блоком Simulink Ramp.
Блок RF Blockset Inport для задания Carrier frequencies
(Input_Freq) входного сигнала напряжения. Эта настройка позволяет наблюдать нелинейное поведение системы для различных входных параметров.
Пользовательский нелинейный усилитель напряжения (источник управляемого полиномиального напряжения), смоделированный блоком Simscape Component. Уравнения устройства записываются в области полосы пропускания (времени) и принимают мгновенные значения напряжения V (t) и тока I (t). Эти уравнения интерпретируются решателем огибающей RF Blockset как в области полосы пропускания, так и в области основной полосы (нулевая и ненулевая частоты несущей).
Блок Outport для задания выходов Carrier frequencies
(Output_Freqs). Выходные несущие частоты являются гармониками более высокого порядка (целочисленными кратными) частоты Inport, полученной из-за нелинейности усилителя.
Возможности для отображения величин выходных напряжений на Output_Freqs частотах, как задано в блоке Outport.
Нагрузочные резисторы и узлы заземления, необходимые для создания электрически исправной схемы. По конструкции значения резистора не влияют на выходное напряжение.
Блок Configuration для управления частотами несущих системы, необходимыми для точного моделирования и других свойств симуляции.
model = 'simrfV2_custom_polynomial';
open_system(model);
Дважды кликните блок или тип «Custom Nonlinearity» open_system([model '/Custom Nonlinearity'])
в командном окне, чтобы открыть маску пользовательского блока нелинейности.
Файл simrfV2_custom_vcvs.ssc
описывает пользовательское устройство. Просмотрите исходный код, нажав на ссылку «Исходный код» или напечатав edit simrfV2_custom_vcvs
в командной строке.
Скопируйте файл simrfV2_custom_vcvs.ssc
в директорию, где у вас есть разрешение на запись для переименования и изменения файла. Нажмите кнопку блока mask «Choose source», чтобы заменить текущую реализацию устройства на вашу. Используйте маску Help
для получения дополнительной информации.
Вышеуказанный метод использует блок Simscape Component из библиотеки Simscape Utilities, чтобы избежать процесса сборки библиотеки. Для получения дополнительной информации см. документацию по собственным компонентам.
В данном примере входная и выходная частоты по умолчанию установлены в 0
и результатом является симуляция полосы пропускания. Входная величина напряжения линейно увеличивается во времени, Vin (t) = t, и пользовательское соотношение нелинейности Vout (Vin) показано в возможности.
Модель моделируется после ввода следующего в командное окно
sim(model);
Наблюдайте ответ, произведенный кубическим полиномом, заданным в модели 'Custom Nonlinearity'. Насыщенное выходное напряжение происходит в момент времени 0.7
секунд и соответствует вход напряжению 0.7 V
.
Установите входную несущую частоту равной 1 GHz
и выходные частоты для первых пяти гармоник входа. Для ненулевой входной частоты несущей RF Blockset интерпретирует вход как комплексный сгенерированный модулированный сигнал. Этот комплексный сгенерированный модулированный сигнал имеет только синфазную часть, заданную.
В командной строке введите следующее:
Input_Freq = 1e9; Output_Freqs = (1:5)*Input_Freq; sim(model);
Поскольку коэффициенты c0 и c2 равны нулю, выход имеет только нечетные гармоники (1 GHz
, 3 GHz
и 5 GHz
) пока выходное напряжение не достигнет насыщения. Другие гармоники введены для больших значений входа напряжения из-за эффектов насыщения.
Отношение между выходными кривыми, полиномиальными коэффициентами и коэффициентами IP2/IP3/P1db хорошо изучено в литературе [1,2].
Модель RF Blockset может быть написана как электрическая модель во временной области на языке Simscape. Уравнение модели может включать много типов характеристик, таких как производные и история (не показана в этом примере). Как и в любом другом языке описания модели, моделист отвечает за валидность модели:
Уравнения непротиворечивы.
Уравнения не могут быть вырожденными, нестабильными или прерывистыми. Избегайте отрицательных сопротивлений, больших нелинейностей и резких переходов.
Модель не производит ошибок сходимости во время симуляции.
Кундерт, Кен. «Точное и быстрое измерение IP2 и IP3.» The Designers Guide Community, Version 1b, 22 мая 2002 года.
Чен, Джесси. Моделирование систем РФ. The Designers Guide Community, Version 1, 6 March 2005.
bdclose(model)
Configuration | Inport | Outport