Main Content

returnLoss

R2026b

Calculate and plot return loss of antenna or scan return loss of array

    Description

    returnLoss(antenna,frequency) calculates and plots the return loss of the specified antenna over the specified frequency, at a reference impedance of 50 ohm.

    returnLoss(antenna,frequency,z0) uses the reference impedance z0 to calculate and plot the return loss.

    example

    rl = returnLoss(antenna,frequency,z0) returns the return loss rl of the antenna.

    returnLoss(array,frequency) calculates the return loss of the individual elements of the specified array over the specified frequency, at a reference impedance of 50 ohm, and opens an interactive return loss plot. To switch between the individual element plots, specify the element number in the Elements box at the bottom of the plot.

    returnLoss(array,frequency,z0,elementnumber) calculates and plots the scan return loss of the specified antenna element in the array using the reference impedance z0.

    rl = returnLoss(array,frequency,z0,elementnumber) returns the scan return loss rl of the specified antenna element in the array.

    [___,sweepobj] = returnLoss(___,SweepOption=Value) uses the specified frequency sweep interpolation method to calculate the antenna or array element return loss, and additionally returns the interpolation method type and rational fit parameters stored in a frequency sweep object sweepobj.

    [___] = returnLoss(___,Name=Value) specifies additional options using one or more name-value arguments. For example, returnLoss(dipole,60e6:1e6:80e6,UseParallel=true) uses parallel pool to perform return loss calculation at each frequency for a dipole antenna.

    Examples

    collapse all

    This example shows how to calculate and plot the return loss of a circular loop antenna over a frequency range of 50MHz-100MHz.

    h = loopCircular;
    returnLoss (h, 50e6:1e6:100e6);

    Figure contains an axes object. The axes object with title Return Loss, xlabel Frequency (MHz), ylabel Magnitude (dB) contains an object of type line.

    Input Arguments

    collapse all

    Antenna to calculate return loss, specified as one of the following options:

    Example: dipole

    Array to calculate scan return loss, specified as one of the following options:

    Example: linearArray

    Example: array(pcbStack,"linear")

    Frequency range to calculate return loss, specified as a positive vector in Hertz.

    Example: 50e6:1e6:100e6

    Data Types: double

    Reference impedance, specified as a scalar in ohms.

    Example: 40

    Data Types: double

    Antenna element number in array, specified as a positive integer scalar.

    Example: 1

    Data Types: double

    Name-Value Arguments

    collapse all

    Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

    Example: Sweepoption="interp"

    Option to enable parallel pool, specified as a logical value. The default value is false. Set this option to true or 1 to enable the parallel pool. Use parallel pool to speed up the return loss calculations at multiple frequencies for computationally large antennas and arrays. To use this feature, you need a license to the Parallel Computing Toolbox™.

    Example: UseParallel=true

    Data Types: logical

    Sweep interpolation method, specified as one of the following:

    • "direct" — Compute return loss using all the specified frequencies.

    • "interp" — Interpolate the sweep using rational fitting to compute return loss with minimum possible set of frequency points within the specified frequency range.

    • "interpWithGrad" — Interpolate the sweep using rational fitting with gradient calculations to compute return loss with minimum possible set of frequency points within the specified frequency range.

    • frequencySweep object — Interpolate the sweep using parameters such as error tolerance, number of frequency points, and number of iterations that you set in the frequencySweep object.

    Frequency sweep interpolation methods use rational fitting to interpolate results over the frequency range defined by two or more specified frequency points.

    When you use an interpolating sweep, the frequencies at which the returnLoss function computes and plots the results can differ from the frequencies in the input frequency vector. The effective set of frequencies depends on SweepOption:

    • If SweepOption is a frequencySweep object, the effective frequencies are determined by its NumFreqs property.

    • If SweepOption is "interp" or "interpWithGrad", the number of frequency points depends on how many frequencies you provide:

      • If you provide more than 30 frequencies, the sweep uses your frequencies directly.

      • If you provide 30 or fewer frequencies, the sweep uses the default of 100 points across the band.

    Sweep Interpolation Methods

    MethodWhen to UseTrade-off
    "direct"Results at all specified frequenciesHigh computational cost; slow for large sweeps
    "interp"Faster results with automatic accuracy control and fewer simulationsNo control over number of frequency points
    "interpWithGrad"Faster results with gradient information for optimizationSlightly more expensive than "interp"
    frequencySweep objectManual control over frequency resolution, error tolerance, and number of iterationsRequires manual tuning; no adaptive refinement

    To use this feature, you need an RF Toolbox™ license.

    Example: [rl,sweepobj] = returnLoss(dipole,[10e6:1e6:180e6],SweepOption="interp")

    Data Types: string

    Output Arguments

    collapse all

    Return loss of antenna or scan return loss of array, returned as one of the following in dB:

    • a scalar for an antenna with a single analysis frequency

    • a NumFreq-by-1 vector for an antenna with a range of analysis frequencies

    • a 2-by-NumElem vector for an array with 2 analysis frequencies

    • a NumFreq-by-NumElem matrix for arrays with a range of analysis frequencies

    NumFreq is the number of specified frequencies and NumElem is the number of array elements. The return loss is calculated using the formula

    RL=20log10|(ZZ0)(Z+Z0)|

    where,

    • Z = input impedance of antenna or scan impedance of array

    • Z0 = reference impedance

    Frequency sweep interpolation parameters, returned as a frequencySweep object.

    Tips

    • Interpolating frequency sweeps may report results at frequencies that differ from the frequencies you specify. If you require results at exact frequencies, either use the default direct sweep, or set the NumFreqs property of the frequencySweep object greater than or equal to the number of frequencies you provide.

    • When using the "interp" or "interpWithGrad" sweep options, provide more than 30 frequency points to have the sweep use your frequency resolution exactly; otherwise the sweep defaults to 100 points across the band.

    Version History

    Introduced in R2015a

    expand all