This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Generic RF element object


Use the rfelement object to create a generic RF element. An RF element is a 2–port RF circuit object. You can use this element in the rfbudget object and the circuit object.



rfel = rfelement
rfel = rfelement(Name,Value)



rfel = rfelement creates an RF element object with default property values.


rfel = rfelement(Name,Value) sets properties using one or more name-value pairs. You can specify multiple name-value pairs. Enclose each property name in a quote.


expand all

Name given to identify rf element, specified as a character vector. All names must be valid MATLAB® variable names.

Example: 'Name','rfel'

Example: rfel.Name = 'rfel'

Available power gain, specified as a scalar in dB.

Example: 'Gain',10

Example: rfel.Gain = 10

Noise figure, specified as a real finite nonnegative scalar dB.

Example: 'NF',-10

Example: rfel.NF = -10

Output third-order intercept, specified as a scalar in dBm

Example: 'OIP3',10

Example: rfel.OIP3 = 10

Input impedance, specified as a positive real part finite scalar in Ohms. You can also use a complex value with a positive real part.

Example: 'Zin',40

Example: rfel.Zin = 40

Output impedance, specified as a scalar in Ohms. You can also use a complex value with a positive real part.

Example: 'Zout',40

Example: rfel.Zout = 40

Number of ports, specified as a scalar integer. This property is read-only.

Names of port terminals, specified as a cell vector. This property is read-only.


collapse all

Create an rfelement object with a gain of 10 dB, noise figure of 3 dB, and OIP3 (output third-order intercept) of 2 dBm.

r = rfelement('Gain',10,'NF',3,'OIP3',2)
r = 
  rfelement: RF element

         Name: 'RFelement'
         Gain: 10
           NF: 3
         OIP3: 2
          Zin: 50
         Zout: 50
     NumPorts: 2
    Terminals: {'p1+'  'p2+'  'p1-'  'p2-'}

Create an rf element with a gain of 4 dB. Create another rf element with an output third-order intercept(OIP3) of 3 dBm.

rfel1 = rfelement('Gain',4);
rfel2 = rfelement('OIP3',13);

Build a 2-port circuit using the above defined rf elements.

c = circuit([rfel1 rfel2])
c = 
  circuit: Circuit element

    ElementNames: {'RFelement'  'RFelement_1'}
        Elements: [1x2 rfelement]
           Nodes: [0 1 2 3]
            Name: 'unnamed'
        NumPorts: 2
       Terminals: {'p1+'  'p2+'  'p1-'  'p2-'}

Create an amplifier with a gain of 4 dB.

a = amplifier('Gain',4);

Create a modulator with an OIP3 of 13 dBm.

m = modulator('OIP3',13);

Create an nport using passive.s2p.

n = nport('passive.s2p');

Create an rf element with a gain of 10 dB.

r = rfelement('Gain',10);

Calculate the rf budget of a series of rf elements at an input frequency of 2.1 GHz, an available input power of -30 dB, and a bandwidth of 10 MHz.

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
             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]
                   OIP3: (dBm) [  Inf     13     23    18.4]
                   IIP3: (dBm) [  Inf      9      9       9]
                    SNR: (dB)  [73.98  73.98  73.98   73.84]

Show the analysis in the RF Budget Analyzer app.


Introduced in R2017a