В этом примере показано, как смоделировать фильтр RF, пользующийся Библиотекой Конверта Схемы. В этом примере вы сравниваете амплитуды сигнала ввода и вывода, чтобы изучить затухание сигнала.
Этот пример использует полосовой фильтр LC, спроектированный, чтобы иметь полосу пропускания 200 МГц. Фильтр использует три тональных входных сигнала, чтобы продемонстрировать свойство затухания фильтра для частот-полосы и внутриполосного. Тоны входного сигнала:
700 МГц — Центральная частота полосы пропускания фильтра
600 МГц — Более низкая частота ребра полосы пропускания фильтра
900 МГц — Частота вне полосы пропускания фильтра
Переменные модели Define для блоков, которые совместно используют значения параметров с помощью InitFcn
:
В Simulink® редактор, нажмите Modeling. В панели инструментов, в SETUP> Model Settings, нажимают Model Properties.
В диалоговом окне Model Properties, на вкладке Callbacks в панели Model callbacks, выбирают InitFcn
.
В Model initialization function разделяют на области, введите:
amp = ones(1,3) freq = [600 700 900]*1e6 stepsize = 1/500e6
Нажмите OK.
На панели инструментов Simulink измените время остановки Симуляции в 0.
В редакторе Simulink нажмите Simulation In the PREPARE, кликните по Model Settings в Configuration and Simulation Во вкладке Solver в изменении Solver options Solver к discrete (no continuous states)
.
Система фильтра состоит из LC Ladder, Inport, Outport и блоков Configuration. Физическая часть модели использует двунаправленные сигналы RF.
Блоки, используемые в системе:
Блок | Путь к библиотеке | Использование | Количество |
---|---|---|---|
Constant | Simulink> Sources | Сгенерировать действительное и комплексное постоянное значение | 1 |
Inport | RF Blockset> Circuit Envelope> Utilities | Преобразовывать входной сигнал Simulink во входной сигнал RF Blockset™ | 1 |
Configuration | RF Blockset> Circuit Envelope> Utilities | Устанавливать параметры в масштабе всей системы для симуляции RF Blockset | 1 |
LC Ladder | RF Blockset> Circuit Envelope> Elements | К моделям затухание сигнала | 1 |
Outport | RF Blockset> Circuit Envelope> Utilities | Преобразовывать сигналы RF Blockset в Сигналы Simulink | 1 |
db Conversion | DSP System Toolbox> Math Functions> Math Operations | Преобразовывать данные о величине в децибелы | 2 |
Math Function | Simulink> Math Operations | Выполнять математические функции | 2 |
To workspace | Simulink> Sinks | Записывать данные к MATLAB® рабочая область для графического вывода | 2 |
Terminator | Simulink> Commonly Used Blocks> Terminator | Отключать угловую основную полосу выход блока Outport | 1 |
Соедините блоки как показано на рисунке:
Сгенерируйте входной сигнал с тремя тонами с помощью этих блоков:
Постоянный блок задает амплитуду сигнала.
Inport блок конфигурирует частоты трех тонов.
Блок Configuration задает размер шага.
В Constant диалоговое окно блока установило значение Constant к amp
, как задано в InitFcn
.
В блоке Inport:
Установите Source type на Power
.
Установите Carrier frequencies на freq
, как задано в InitFcn
. freq
переменная устанавливает частоту трех тонов к 600 МГц, 700 МГц и 900 МГц соответственно.
Нажмите OK.
В the Configuration диалоговом окне блока:
Установите Step size на step size
, как задано в InitFcn
.
Очистите Simulate noise.
Нажмите OK.
Основные тоны и гармоники обновляются автоматически, когда вы запускаете модель.
В диалоговом окне блока LC Ladder:
Установите Ladder topology на LC Bandpass Pi
.
Нажмите Apply и затем нажмите OK.
В блоке Outport:
Установите Sensor type на Power
.
Установите Output на Magnitude and Angle Baseband
.
Установите Carrier frequencies на freq
, как задано в InitFcn
.
Нажмите OK.
В редакторе Simulink соедините порт Ang блока Outport с блоком Terminator, чтобы отключить угловую основную полосу выход.
В Math Function и диалоговых окнах блока Math Function 1, набор Function к magnitude^2
и нажмите OK. Блок придает величине квадратную форму сигнала ввода и вывода.
В dB Conversion и диалоговых окнах блока dB Conversion 1, набор Input Signal к Power
и нажмите OK. Блок преобразует сигналы ввода и вывода в дБ.
В To Workspace, изменение Variable name к In
. В To Workspace 1, изменение Variable name к Out
. В обоих диалоговые окна блока измените набор Save format в Array
и нажмите OK.
Используйте Simulation > Run
запускать модель.
Отобразите сигналы ввода и вывода с помощью semilogx
функция, в дБ.
Передайте значения дБ ввода и вывода рабочему пространству MATLAB с помощью блока To Workspace.
Чтобы просмотреть входной сигнал, постройте In
массив от рабочего пространства MATLAB:
figure h = semilogx(freq, In,'-gs','LineWidth',1,... ...'MarkerSize',3,'MarkerFaceColor','r'); xlim([5.5e8,9.5e8]) xlabel('Frequency[Hz]') ylabel('Amplitude[dB]') title('Input Signal')
Чтобы просмотреть выходной сигнал, постройте Out
массив от рабочего пространства MATLAB:
figure h = semilogx(freq, Out,'-gs','LineWidth',1,... ...'MarkerSize',3,'MarkerFaceColor','r'); xlim([5.5e8,9.5e8]) ylim([-25,1]) xlabel('Frequency[Hz]') ylabel('Amplitude[dB]') title('Attenuated Output Signal')
Сравните графики сигнала ввода и вывода проверить затухание, вызванное фильтром.
Входной сигнал к фильтру RF
Следующий график показывает отфильтрованный ослабленный сигнал.
Ослабленный выходной сигнал
Заметьте, что фильтр RF не ослабляет сигнал на центральной частоте 700 МГц.
График больше точек, чтобы лучше изучить ответ полосового фильтра LC. Замените заданные переменные в Model Properties к:
amp = ones(1,201) freq = logspace (8,10,201) stepsize = 1/500e6
Запустите модель. Заметьте, что сигнал не ослабляется в области значений на 200 МГц полосового фильтра LC.
Постройте ослабленный выход:
figure h = semilogx(freq, Out,'-gs','LineWidth',1... .............,'MarkerSize',3,'MarkerFaceColor','r'); xlim([5.5e8,9.5e8]) ylim([-25,1]) xlabel('Frequency[Hz]') ylabel('Amplitude[dB]') title('LC Bandpass Filter Frequency Response')