В этом примере показано, как смоделировать RF-фильтр с помощью библиотеки огибающих цепи. В этом примере вы сравниваете амплитуды входного и выходного сигналов, чтобы изучить ослабление сигнала.
В этом примере используется полосно-пропускающий фильтр LC, рассчитанный на полосу пропускания 200 МГц. Фильтр использует трехтональный входной сигнал, чтобы продемонстрировать свойство ослабления фильтра для внутриполосных и внеполосных частот. Тональные сигналы входного сигнала:
700 МГц - Центральная частота полосы пропускания фильтра
600 МГц - нижняя граничная частота полосы пропускания фильтра
900 МГц - Частота вне полосы пропускания фильтра
Задайте переменные модели для блоков, которые разделяют значения параметров с помощью 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 Во вкладке
<reservedrangesplaceholder6>, click <reservedrangesplaceholder5> in <reservedrangesplaceholder4> In the <reservedrangesplaceholder3> в изменении Solver options Solver к discrete (no continuous states)
.
Система фильтров состоит из LC Ladder, Inport, Outport и 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 | Для моделей ослабления сигнала | 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 |
Соедините блоки как показано на рисунке:
Сгенерируйте трехтональный входной сигнал, используя эти блоки:
Блок Constant задает амплитуду сигнала.
Блок Inport конфигурирует частоты трех тональных сигналов.
Блок Configuration задает размер шага.
В Constant установите диалоговое окно блока значение Constant равным amp
, как определено в InitFcn
.
В блоке Inport:
Установите Source type значение Power
.
Установите Carrier frequencies значение freq
, как определено в InitFcn
. The 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')