Этот пример показывает, как смоделировать фильтр РФ, пользующийся Библиотекой Конверта Схемы. В этом примере вы сравниваете амплитуды сигнала ввода и вывода, чтобы изучить затухание сигнала.
Этот пример использует полосовой фильтр LC, разработанный, чтобы иметь пропускную способность 200 МГц. Фильтр использует три тональных входных сигнала, чтобы продемонстрировать свойство затухания фильтра для частот-полосы и внутриполосного. Тоны входного сигнала:
700 МГц — Центральная частота полосы пропускания фильтра
600 МГц — Более низкая частота ребра полосы пропускания фильтра
900 МГц — Частота вне полосы пропускания фильтра
Переменные модели Define для блоков, которые совместно используют значения параметров с помощью InitFcn
:
В редакторе Simulink® выберите File> Model Properties> 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> Model configuration Parameters
. В диалоговом окне Configuration Parameters, на вкладке Solver, в Solver options изменяют Solver на discrete (no continuous states)
.
Система фильтра состоит из Лестничной структуры LC, Inport, Выходного порта и Блоков Configuration. Физическая часть модели использует двунаправленные сигналы РФ.
Блоки, используемые в системе:
Блок | Путь к библиотеке | Описание | Количество |
---|---|---|---|
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 | Моделирует затухание сигнала, вызванное Запретом LC | 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.
В диалоговом окне Блока 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')
Сравните графики сигнала ввода и вывода проверить затухание, вызванное фильтром.
Входной сигнал к фильтру РФ
Следующий график показывает отфильтрованный ослабленный сигнал.
Ослабленный выходной сигнал
Заметьте, что фильтр РФ не ослабляет сигнал на центральной частоте 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')