# sparameters

Calculate S-parameters for antennas and antenna arrays

## Syntax

``sobj = sparameters(antenna,freq)``
``sobj = sparameters(antenna,freq,Z0)``
``sobj = sparameters(array,freq)``
``sobj = sparameters(array,freq,Z0)``
``sobj = sparameters(filename)``
``sobj = sparameters(data,freq)``
``sobj = sparameters(data,freq,Z0)``
``sobj = sparameters(netparamobj)``
``sobj = sparameters(netparamobj,Z0)``

## Description

example

````sobj = sparameters(antenna,freq)` calculates the complex S-parameter for an `antenna` over specified frequency values.```
````sobj = sparameters(antenna,freq,Z0)` calculates the complex S-parameter for an `antenna` over specified frequency values and with a reference impedance `Z0`.```

example

````sobj = sparameters(array,freq)` calculates the complex S-parameters for an `array` over specified frequency values.```
````sobj = sparameters(array,freq,Z0)` calculates the complex S-parameters for an `array` over specified frequency values and with a reference impedance `Z0`.```

example

````sobj = sparameters(filename)` creates an S-parameter object `sobj` by importing data from the Touchstone file specified by `filename`.```
````sobj = sparameters(data,freq)` creates an S-parameter object from the S-parameter data `data`, and frequencies `freq`.```
````sobj = sparameters(data,freq,Z0)` creates an S-parameter object from the S-parameter data `data`, and frequencies `freq`, with a reference impedance `Z0`. ```
````sobj = sparameters(netparamobj)` converts the network parameter object, `netparamobj`, to S-parameter object with the default reference impedance. ```
````sobj = sparameters(netparamobj,Z0)` converts the network parameter object `netparamobj` to S-parameter object with a reference impedance `Z0`. ```

## Examples

collapse all

Calculate the complex s-parameters for a default dipole at 70MHz frequency.

` h = dipole`
```h = dipole with properties: Length: 2 Width: 0.1000 FeedOffset: 0 Conductor: [1x1 metal] Tilt: 0 TiltAxis: [1 0 0] Load: [1x1 lumpedElement] ```
` sparameters(h,70e6)`
```ans = sparameters: S-parameters object NumPorts: 1 Frequencies: 70000000 Parameters: 0.1869 - 0.0031i Impedance: 50 rfparam(obj,i,j) returns S-parameter Sij ```

Calculate the complex s-parameters for a default rectangular array at 70MHz frequency.

`h = rectangularArray`
```h = rectangularArray with properties: Element: [1x1 dipole] Size: [2 2] RowSpacing: 2 ColumnSpacing: 2 Lattice: 'Rectangular' AmplitudeTaper: 1 PhaseShift: 0 Tilt: 0 TiltAxis: [1 0 0] ```
```s = sparameters(h,70e6); s.Parameters```
```ans = 4×4 complex 0.3042 - 0.0815i -0.0575 - 0.2370i -0.0577 - 0.2369i -0.0247 - 0.0707i -0.0575 - 0.2370i 0.3043 - 0.0815i -0.0247 - 0.0707i -0.0576 - 0.2370i -0.0577 - 0.2369i -0.0247 - 0.0707i 0.3042 - 0.0815i -0.0575 - 0.2370i -0.0247 - 0.0707i -0.0576 - 0.2370i -0.0575 - 0.2370i 0.3043 - 0.0815i ```

Extract S-parameters from `corrugatedconicalhorn.s2p` touchstone file.

```sobj = sparameters("corrugatedconicalhorn.s2p"); display(sobj)```
```sobj = sparameters: S-parameters object NumPorts: 1 Frequencies: [11x1 double] Parameters: [1x1x11 double] Impedance: 50 rfparam(obj,i,j) returns S-parameter Sij ```

Plot the S-parameters data using `rfplot` function.

`rfplot(sobj)`

## Input Arguments

collapse all

Antenna to calculate S-parameter, specified as either of these objects:

• antenna catalog element

• `customAntennaMesh`

• `customAntennaGeometry`

• `customAntennaStl`

• `customAntenna`

• `pcbStack`

Example: `dipole`

Example: `customAntenna`

Array to calculate S-parameters, specified as either of these objects:

• array catalog element

• `customArrayMesh`

• `customArrayGeometry`

• `pcbStack`

Example: `linearArray`

Example: `array(pcbStack,"linear")`

Frequencies to calculate S-parameters, specified as a vector of positive real numbers, sorted from smallest to largest.

Example: `[500e6 550e6 600e6]`

Reference impedance in ohms, specified as a positive real scalar. You cannot specify `Z0` if you are importing data from a file. The argument Z0 is optional and is stored in the `Impedance` property.

S-parameter data, specified as an array of complex numbers, of size N-by-N-by-K where K represents number of frequency points.

Network parameter object. The network parameter objects are of the type: `sparameters` (RF Toolbox), `yparameters` (RF Toolbox), `zparameters` (RF Toolbox), `gparameters` (RF Toolbox), `hparameters` (RF Toolbox), `abcdparameters` (RF Toolbox), and `tparameters` (RF Toolbox).

Example: `S1 = sparameters(Y1,100)`. `Y1` is a parameter object. This example converts Y-parameters to S-parameters at `100` ohms.

Touchstone data file, specified as a character vector, that contains network parameter data. `filename` can be the name of a file on the MATLAB® path or the full path to a file.

Example: `sobj = sparameters("defaultbandpass.s2p");`

## Output Arguments

collapse all

S-parameter data, returned as an object. `disp(sobj)` returns the properties of the object:

• `NumPorts` — Number of ports, specified as an integer. The function calculates this value automatically when you create the object.

• `Frequencies` — S-parameter frequencies, specified as a K-by-1 vector of positive real numbers sorted from smallest to largest. The function sets this property from the `filename` or `freq` input arguments.

• `Parameters` — S-parameter data, specified as an N-by-N-by-K array of complex numbers. The function sets this property from the `filename` or `data` input arguments.

• `Impedance` — Reference impedance in ohms, specified as a positive real scalar. The function sets this property from the `filename` or `Z0` input arguments. If no reference impedance is provided, the function uses a default value of `50`.

## Version History

Introduced in R2015a