Main Content

rfckt.amplifier

Create RF Amplifier

Description

Use the rfckt.amplifier object to represent RF amplifiers that are characterized by network parameters, noise data, and nonlinear data

Note

amplifier is recommend over rfckt.amplifier because it enables you to:

  • Create a two-port amplifier element.

  • Analyze a commercial off-the-shelf (COTS) amplifier.

  • Build a circuit object with an amplifier element.

  • Characterize amplifiers using AM/AM-AM/PM data. (since R2023b)

  • Model an amplifier in an RF chain created using an rfbudget object or the RF Budget Analyzer app, and then export this element to RF Blockset™ or to rfsystem System object™ for circuit envelope analysis.

(since R2023b)

Use the read object function to read the amplifier data from a data file in one of the following formats:

  • Touchstone

  • Agilent® P2D

  • Agilent S2D

  • AMP

Note

If you set NonLinearData using rfdata.ip3 or rfdata.power, then the property is converted from scalar OIP3 format to the format of rfdata.ip3 or rfdata.power.

Creation

Description

h = rfckt.amplifier returns an amplifier circuit object whose properties all have their default values.

example

h = rfckt.amplifier(Name,Value) sets properties using one or more name-value pairs. For example, rfckt.amplifier ('IntpType','Cubic') creates an RF amplifier circuit that uses cubic interpolation. You can specify multiple name-value pairs. Enclose each property name in quotes. Properties not specified retain their default values.

example

Properties

expand all

This property is read-only.

Computed S-parameters, noise figure, OIP3, and group delay values, specified as an rfdata.data object. For more information refer, Algorithms.

Data Types: function_handle

Interpolation method specified as one of the following values:

MethodDescription
LinearLinear interpolation
SplineCubic spline interpolation
CubicPiecewise cubic Hermite interpolation

Data Types: char

This property is read-only.

Name of amplifier object.

Data Types: char

Network parameter data.

Data Types: function_handle

Noise information, specified as one of the following:

  • Scalar noise figure in dB

  • rfdata.noise object

  • rfdata.nf object

Data Types: double | function_handle

Noise information, specified as one of the following:

  • Scalar OIP3 in dBm

  • rfdata.power object

  • rfdata.ip3 object

Data Types: double | function_handle

This property is read-only.

Number of ports. 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

Examples

collapse all

Create an Amplifier using rfckt.amplifier object.

amp = rfckt.amplifier('IntpType','cubic')
amp = 
   rfckt.amplifier with properties:

         NoiseData: [1x1 rfdata.noise]
     NonlinearData: [1x1 rfdata.power]
          IntpType: 'Cubic'
       NetworkData: [1x1 rfdata.network]
             nPort: 2
    AnalyzedResult: [1x1 rfdata.data]
              Name: 'Amplifier'

Create an RF amplifier using rfckt.amplifier object.

amp = rfckt.amplifier('IntpType','cubic');

Create an rfdata.power object to store output power and phase information.

powerdata = rfdata.power;

Define frequency, phase shift, input power, and output power data.

f = [2.08 2.10]*1.0e9;
phase = {[27.1 35.3],[15.4 19.3 21.1]};
pin = {[0.001 0.002],[0.001 0.005 0.01]};
pout = {[0.0025 0.0031],[0.0025 0.0028 0.0028]};

Assign frequency, phase shift, input power, and output power data to an rfdata.power object.

powerdata.Freq = f;
powerdata.Phase = phase;
powerdata.Pin = pin;
powerdata.Pout = pout;

Set nonlinearity information parameter in the RF circuit amplifier object.

amp.NonlinearData = powerdata
amp = 
   rfckt.amplifier with properties:

         NoiseData: [1x1 rfdata.noise]
     NonlinearData: [1x1 rfdata.power]
          IntpType: 'Cubic'
       NetworkData: [1x1 rfdata.network]
             nPort: 2
    AnalyzedResult: [1x1 rfdata.data]
              Name: 'Amplifier'

Algorithms

The analyze function computes the AnalyzedResult property using the data stored in the rfckt.amplifier object properties as follows:

  • The analyze function uses the data stored in the NoiseData property of the rfckt.amplifier object to calculate the noise figure.

  • The analyze function uses the data stored in the NonlinearData property of the rfckt.amplifier object to calculate OIP3.

    If power data exists in the NonlinearData property, the block extracts the AM/AM and AM/PM nonlinearities from the power data.

    If the NonlinearData property contains only IP3 data, the method computes and adds the nonlinearity by:

    1. Using the third-order input intercept point value in dBm to compute the factor, f, that scales the input signal before the amplifier object applies the nonlinearity:

      FAM/AM(u)=uu33

    2. Computing the scaled input signal by multiplying the amplifier input signal by f.

    3. Limiting the scaled input signal to a maximum value of 1.

    4. Applying an AM/AM conversion to the amplifier gain, according to the following cubic polynomial equation:

      FAM/AM(u)=uu33

      where u is the magnitude of the scaled input signal, which is a unitless normalized input voltage.

  • The analyze function uses the data stored in the 'NetworkData' property of the rfckt.amplifier object to calculate the group delay values of the amplifier at the frequencies specified in freq, as described in the analyze function reference page.

  • The analyze function uses the data stored in the NetworkData property of the rfckt.amplifier object to calculate the S-parameter values of the amplifier at the frequencies specified in freq. If the 'NetworkData' property contains network Y-parameters or Z-parameters, the analyze function 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 function 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.

    As shown in the preceding diagram, the analyze function 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 amplifier behavior.

References

[1] EIA/IBIS Open Forum. Touchstone File Format Specification, Rev. 1.1, 2002 (https://ibis.org/connector/touchstone_spec11.pdf).

Version History

Introduced before R2006a