rfbudget

Создайте бюджет RF, возражают и вычисляют бюджетные результаты RF для цепи элементов с 2 портами

Описание

Используйте rfbudget объект создать rfbudget элемент, чтобы вычислить бюджетные результаты RF схемы. Можно использовать любой элемент с 2 портами в этой схеме, такой как amplifier, nport, или modulator. Откройте полный rfbudget схема в приложении RF Budget Analyzer. Можно также экспортировать завершенную схему в RF Blockset™.

Создание

Описание

пример

rfobj = rfbudget создает rfbudget объект, rfobj, с пустыми значениями свойств по умолчанию.

пример

rfobj = rfbudget(elements,inputfreq,inputpwr,bandwidth) создает бюджетный объект RF из элементов входа RF, и независимо вычисляет бюджетный анализ RF на заданных входных частотах, доступной входной мощности и пропускной способности сигнала. Входные параметры хранятся в Elements, InputFrequency, AvailableInputPower, и SignalBandwidth свойства. Результаты анализа хранятся в зависимых свойствах. По умолчанию, если какое-либо из входных свойств изменяется, объект повторно вычисляет результаты.

rfobj = rfbudget(___,autoupdate)устанавливает AutoUpdate свойство. Установка AutoUpdate ко лжи выключает автоматический бюджетный перерасчет, когда параметры изменяются. Можно использовать этот синтаксис с любым из предыдущих синтаксисов.

rfobj = rfbudget(...,Name,Value)создает бюджетный объект RF с дополнительными свойствами, заданными одним или несколькими аргументами пары "имя-значение". Name имя свойства и Value соответствующее значение. Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1, Value1, ..., NameN, ValueN. Свойства, не заданные, сохраняют свои значения по умолчанию.

Свойства

развернуть все

Бюджетные элементы RF в виде разделенной запятой пары, состоящей из 'Elements' и объект тулбокса RF или массив объектов тулбокса RF. Возможными элементами является amplifier, modulator, типовой rfelement, и nport объекты. Чтобы задать схему, состоящую из нескольких объектов RF, укажите элементы как массив ячеек. Для получения информации о случаях ребра см. Алгоритмы.

Пример: a = amplifier;m = modulator;rfbudget('Elements',[a m]) вычисляет бюджетный анализ RF схемы усилителя и модулятора.

Введите частоту сигнала в виде разделенной запятой пары, состоящей из 'InputFrequency' и скаляр или вектор в Гц. Если входная частота является вектором, то бюджетный объект RF вычисляет анализ для каждой входной частоты отдельно.

Пример: 'InputFrequency',2e9

Типы данных: double

Питание, поданное во входе каскада в виде разделенной запятой пары, состоящей из 'AvailableInputPower' и скаляр в dBm.

Пример: 'AvailableInputPower',-30

Типы данных: double

Пропускная способность сигнала во входе каскада в виде разделенной запятой пары, состоящей из 'SignalBandwidth' и скаляр в Гц.

Пример: 'SignalBandwidth',10

Типы данных: double

Опция, чтобы автоматически повторно вычислить бюджетный анализ RF путем слияния изменений, внесенных в существующую схему в виде разделенной запятой пары, состоящей из 'AutoUpdate' и булев скаляр.

Пример: 'AutoUpdate',true

Типы данных: логический

Метод расчета в виде Friis или HarmonicBalance. Friis решатель быстрее, чем HarmonicBalance решатель, но не поддерживает расчет нелинейности, такой как OIP2. HarmonicBalance решатель, тон и гармонически-зависимые свойства отображены.

Примечание

HarmonicBalance не поддерживает архитектуры, где частоты ввода или вывода на любом этапе являются ненулевыми и меньше, чем SignalBandwidth.

Пример: 'Solver','Friis'

Типы данных: string

Это - свойство только для чтения.

Выведите частоты в виде разделенной запятой пары, состоящей из 'OutputFrequency' и вектор-строка в Гц.

Типы данных: double

Это - свойство только для чтения.

Выходная мощность в виде разделенной запятой пары, состоящей из 'OutputPower' и вектор-строка в dBm.

Типы данных: double

Это - свойство только для чтения.

Степень преобразователя получает в виде разделенной запятой пары, состоящей из 'TransducerGain' и вектор-строка в дБ.

Типы данных: double

Это - свойство только для чтения.

Шумовые фигуры в виде разделенной запятой пары, состоящей из 'NF' и вектор-строка в дБ.

Типы данных: double

Это - свойство только для чтения.

Отнесенное к входу прерывание второго порядка в виде разделенной запятой пары, состоящей из 'IIP2' и вектор-строка в dBm. Эти значения вычисляются только, когда выбранным решателем является HarmonicBalance решатель.

Типы данных: double

Это - свойство только для чтения.

Отнесенное к выходу прерывание второго порядка в виде разделенной запятой пары, состоящей из 'OIP2' и вектор-строка в dBm. Эти значения вычисляются только, когда выбранным решателем является HarmonicBalance решатель.

Типы данных: double

Это - свойство только для чтения.

Отнесенный к выходу третий порядок прерывает в виде разделенной запятой пары, состоящей из 'OIP3' и вектор-строка в dBm.

Типы данных: double

Это - свойство только для чтения.

Отнесенный к входу третий порядок прерывает в виде разделенной запятой пары, состоящей из 'IIP3' и вектор-строка в dBm.

Типы данных: double

Это - свойство только для чтения.

Отношение сигнал-шум в виде разделенной запятой пары, состоящей из 'SNR' и вектор-строка в дБ.

Типы данных: double

Индикатор выполнения отображений с кнопкой отмены во время гармонического анализа баланса в виде true или false.

Типы данных: логический

Функции объекта

showГрафические сводные данные всех соответствующих шпор и зон без шпор
computeBudgetВычислите результаты объекта rfbudget
exportScriptЭкспортируйте код MATLAB, который генерирует бюджетный объект RF
exportRFBlocksetСоздайте модель RF Blockset из бюджетного объекта RF
exportTestbenchСоздайте испытательный стенд измерения из бюджетного объекта RF
rfplotПостройте совокупный бюджетный результат RF по сравнению с каскадной входной частотой
smithplotПостройте преобразование импеданса для выбранной сети соответствия на графике кузнеца
polarПостройте заданные параметры объекта на полярных координатах

Примеры

свернуть все

Откройте бюджетный объект RF по умолчанию.

obj = rfbudget
obj = 
  rfbudget with properties:

               Elements: []
         InputFrequency: [] Hz 
    AvailableInputPower: [] dBm
        SignalBandwidth: [] Hz 
                 Solver: Friis      
             AutoUpdate: true

Создайте усилитель с усилением 4 дБ.

a = amplifier('Gain',4);

Создайте модулятор с OIP3 13 dBm.

m = modulator('OIP3',13);

Создайте nport использование passive.s2p.

n = nport('passive.s2p');

Создайте rf элемент с усилением 10 дБ.

r = rfelement('Gain',10);

Вычислите rf бюджет серии rf элементов на входной частоте 2,1 ГГц, доступной входной мощности-30 dBm и пропускной способности 10 МГц.

b = rfbudget([a m r n],2.1e9,-30,10e6)
b = 
  rfbudget with properties:

               Elements: [1x4 rf.internal.rfbudget.Element]
         InputFrequency: 2.1 GHz
    AvailableInputPower: -30 dBm
        SignalBandwidth:  10 MHz
                 Solver: Friis      
             AutoUpdate: true

   Analysis Results
        OutputFrequency: (GHz) [  2.1    3.1    3.1     3.1]
            OutputPower: (dBm) [  -26    -26    -16   -20.6]
         TransducerGain: (dB)  [    4      4     14     9.4]
                     NF: (dB)  [    0      0      0  0.1392]
                   IIP2: (dBm) []                           
                   OIP2: (dBm) []                           
                   IIP3: (dBm) [  Inf      9      9       9]
                   OIP3: (dBm) [  Inf     13     23    18.4]
                    SNR: (dB)  [73.98  73.98  73.98   73.84]

Покажите анализ в приложении RF Budget Analyzer.

show(b)

Создайте систему RF.

Создайте полосовой фильтр RF с помощью файла Touchstone® RFBudget_RF.

f1 = nport('RFBudget_RF.s2p','RFBandpassFilter');

Создайте усилитель с усилением 11,53 дБ, шумовой фигурой (NF) 1,53 дБ и выходным прерыванием третьего порядка (OIP3) 35 dBm.

a1 = amplifier('Name','RFAmplifier','Gain',11.53,'NF',1.53,'OIP3',35);

Создайте демодулятор с усилением-6 дБ, NF 4 дБ и OIP3 50 dBm.

d = modulator('Name','Demodulator','Gain',-6,'NF',4,'OIP3',50, ...
        'LO',2.03e9,'ConverterType','Down');

Создайте полосовой фильтр IF с помощью файла Пробного камня RFBudget_IF.

f2 = nport('RFBudget_IF.s2p','IFBandpassFilter');

Создайте усилитель с усилением 30 дБ, NF 8 дБ и OIP3 37 dBm.

a2 = amplifier('Name','IFAmplifier','Gain',30,'NF',8,'OIP3',37);

Вычислите бюджет RF системы с помощью входной частоты 2,1 ГГц, входной мощности-30 dBm и пропускной способности 45 МГц.

b = rfbudget([f1 a1 d f2 a2],2.1e9,-30,45e6)
b = 
  rfbudget with properties:

               Elements: [1x5 rf.internal.rfbudget.Element]
         InputFrequency: 2.1 GHz
    AvailableInputPower: -30 dBm
        SignalBandwidth:  45 MHz
                 Solver: Friis      
             AutoUpdate: true

   Analysis Results
        OutputFrequency: (GHz) [   2.1    2.1   0.07    0.07   0.07]
            OutputPower: (dBm) [-31.53    -20    -26  -27.15  2.847]
         TransducerGain: (dB)  [-1.534  9.996  3.996   2.847  32.85]
                     NF: (dB)  [ 1.533  3.064  3.377   3.611  7.036]
                   IIP2: (dBm) []                                   
                   OIP2: (dBm) []                                   
                   IIP3: (dBm) [   Inf     25  24.97   24.97  4.116]
                   OIP3: (dBm) [   Inf     35  28.97   27.82  36.96]
                    SNR: (dB)  [ 65.91  64.38  64.07   63.83  60.41]

Постройте доступную выходную мощность.

rfplot(b,'Pout')
view(90,0)

Постройте усиление преобразователя.

rfplot(b,'GainT')
view(90,0)

Постройте S-параметры системы RF на Графике Смита и Полярном графике.

s = smithplot(b,1,1,'GridType','ZY'); 

p = polar(b,2,1); 

Создайте два модулятора, m1 и m2, с отнесенным к выходу набором прерывания второго порядка к 20 и доступным набором усиления степени к 3.

m = modulator('Gain',3,'OIP2',20,'ImageReject',false,'ChannelSelect',false);
m2 = modulator('Gain',3,'OIP2',20,'ImageReject',false,'ChannelSelect',false);

Создайте бюджетный объект RF определение входной частоты сигнала, питание, поданное в каскаде и пропускной способности сигнала. Выберите HarmonicBalance как метод решателя, чтобы вычислить нелинейные эффекты, такие как IIP2 и OIP2.

b = rfbudget([m m2],2.1e9,-30,100e6,'Solver','HarmonicBalance')
b = 
  rfbudget with properties:

               Elements: [1x2 modulator]
         InputFrequency: 2.1 GHz
    AvailableInputPower: -30 dBm
        SignalBandwidth: 100 MHz
                 Solver: HarmonicBalance
                WaitBar: true
             AutoUpdate: true

   Analysis Results
        OutputFrequency: (GHz) [  3.1    4.1]
            OutputPower: (dBm) [  -27    -24]
         TransducerGain: (dB)  [    3      6]
                     NF: (dB)  [ 3.01  7.783]
                   IIP2: (dBm) [   17  4.457]
                   OIP2: (dBm) [   20  10.46]
                   IIP3: (dBm) [  Inf    Inf]
                   OIP3: (dBm) [  Inf    Inf]
                    SNR: (dB)  [60.96  56.19]

Создайте усилитель с усилением 4 дБ.

a = amplifier('Gain',4);

Создайте модулятор с OIP3 13 dBm.

m = modulator('OIP3',13);

Создайте nport использование passive.s2p.

n = nport('passive.s2p');

Создайте rf элемент с усилением 10 дБ.

r = rfelement('Gain',10);

Вычислите rf бюджет серии rf элементов на входной частоте 2,1 ГГц, доступной входной мощности-30 дБ и пропускной способности 10 МГц.

b = rfbudget([a m r n],2.1e9,-30,10e6);

Покажите анализ в приложении RF Budget Analyzer.

rfplot(b)

Групповая задержка

Чтобы построить групповую задержку, сначала отобразите данные S11 на графике для Системы RF.

rfplot(b,1,1)

Используйте Group Delay опция на графике графика, чтобы построить групповую задержку системы RF.

Задержка фазы

Используйте Phase Delay опция на графике графика, чтобы построить задержку фазы Системы RF.

Алгоритмы

развернуть все

Параметры ABCD используются в расчете S-параметров каскада для Решателя Friis. Когда S21 = 0, преобразование в ABCD приводит к NaNs. Для таких случаев модификации к S-параметрам сделаны можно следующим образом:

Введенный в R2017a