Main Content


Passive component or network


Use the passive class to represent passive RF components and networks that are characterized by passive network parameter data.

Use the read method to read the passive object data from a Touchstone data file. When you read S-parameter data into an rfckt.passive object, the magnitude of your S21 data must be less than or equal to 1.

Due to random numerical error, data measured from a passive device is not necessarily passive. However, rfckt.passive objects can only contain passive data. To import data with active regions, use the rfckt.amplifier object, even if the original data represents a passive device.


nport is recommend over rfckt.passive because it enables you to:

  • Create passive RF S-parameter components and networks that are characterized by passive network parameter data.

  • Model a passive RF S-parameter components in an RF chain created using an rfbudget object or the RF Budget Analyzer app.

  • Export the passive RF S-parameter components to RF Blockset™ or to rfsystem System object™ for circuit envelope or idealized baseband analysis.

(since R2023b)




h = rfckt.passive returns an passive-device object whose properties all have their default values.

h = rfckt.passive(Name,Value) sets properties using one or more name-value pairs. For example, rfckt.passive('IntpType','cubic') creates an passive-device object with piecewise cubic Hermite interpolation as interpolation method. You can specify multiple name-value pairs. Enclose each property name in a quote. Properties not specified retain their default values.


expand all

Computed S-parameters, noise figure, OIP3, and group delay values, specified as object. Analyzed Result is a read-only property. For more information refer, Algorithms.

Data Types: function_handle

Interpolation method used in rfckt.passive, specified as a 1-by-N character array of the following values:

Linear (default)Linear interpolation
SplineCubic spline interpolation
CubicPiecewise cubic Hermite interpolation

Data Types: char

Object name, specified as an 1-by-N character array. Name is a read-only property.

Data Types: char

Network parameter data, specified as a object.

Data Types: function_handle

Number of ports, specified as a positive integer. nportt is a read-only property. The default value is 2.

Data Types: double

Object Functions

analyzeAnalyze RFCKT object in frequency domain
calculateCalculate specified parameters for rfckt objects or rfdata objects
circleDraw circles on Smith Chart
extractExtract specified network parameters from rfckt object or data object
listformatList valid formats for specified circuit object parameter
listparamList valid parameters for specified circuit object
loglogPlot specified circuit object parameters using log-log scale
plotPlot circuit object parameters on X-Y plane
plotyyPlot parameters of RF circuit or RF data on xy-plane with two Y-axes
getopDisplay operating conditions
polarPlot specified object parameters on polar coordinates
semilogxPlot RF circuit object parameters using log scale for x-axis
semilogyPlot RF circuit object parameters using log scale for y-axis
smithPlot circuit object parameters on Smith Chart
writeWrite RF data from circuit or data object to file
getz0Calculate characteristic impedance of RFCKT transmission line object
readRead RF data from file to new or existing circuit or data object
restoreRestore data to original frequencies
getopDisplay operating conditions
groupdelayGroup delay of S-parameter object or RF filter object or RF Toolbox circuit object


collapse all

Create passive RF components using rfckt.passive.

pas = rfckt.passive('IntpType','cubic')
pas = 
   rfckt.passive with properties:

          IntpType: 'Cubic'
       NetworkData: [1x1]
             nPort: 2
    AnalyzedResult: [1x1]
              Name: 'Passive'


The analyze method computes the AnalyzedResult property as follows:

The analyze method uses the data stored in the 'NetworkData' property of the rfckt.passive object to calculate the S-parameter values of the passive component at the frequencies specified in freq. If the 'NetworkData' property contains network Y- or Z-parameters, the analyze method first converts the parameters to S-parameters. Using the interpolation method you specify with the 'IntpType' property, the analyze method interpolates the S-parameter values to determine their values at the specified frequencies.

Specifically, the analyze method orders the S-parameters according to the ascending order of their frequencies, fn. It then interpolates the S-parameters, using the MATLAB® interp1 function. For example, the curve in the following diagram illustrates the result of interpolating the S11 parameters at five different frequencies.

S11 interpolation results

For more information, see “One-Dimensional Interpolation” and the interp1 reference page in the MATLAB documentation.

As shown in the preceding diagram, the analyze method uses the parameter values at fmin, the minimum input frequency, for all frequencies smaller than fmin. It uses the parameters values at fmax, the maximum input frequency, for all frequencies greater than fmax. In both cases, the results may not be accurate, so you need to specify network parameter values over a range of frequencies that is wide enough to account for the component behavior.

The analyze method uses the S-parameters to calculate the group delay values at the frequencies specified in the analyze input argument freq, as described in the analyze reference page.


[1] EIA/IBIS Open Forum, Touchstone File Format Specification, Rev. 1.1, 2002

Version History

Introduced in R2009a