Documentation

This is machine translation

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

ispassive

Check passivity of N-port S-parameters

Syntax

``````[result, idx_nonpassive]= ispassive(sparams)``````
``[___]= ispassive(sparams,'Impedance',z0)``
``[___]= ispassive(fit_obj)``

Description

example

``````[result, idx_nonpassive]= ispassive(sparams)``` checks the passivity of S-parameters object or data. If the S-parameters are passive at every frequency, then the result is `true`. Otherwise, the result it `false`. It also optionally returns `idx_non_passive`, the indices of the non-passive S-parameters.```

example

````[___]= ispassive(sparams,'Impedance',z0)` checks the passivity of N-port S-parameters data, that is referenced to the impedance value in the name-value pair, `'Impedance',z0`. ```

example

````[___]= ispassive(fit_obj)` checks the passivity of a scalar `rfmodel.rational` object. The `rfmodel.rational` object is the output of a rational fit function. ```

Input Arguments

collapse all

S-parameters specified as one of the following:

• A scalar S-parameters object

• A complex N-by-N-by-K array for N-port S-parameters data.

S-parameter data referenced to z0, specified as an N-by-N-by-K numeric matrix.

Reference impedance, specified as a complex scalar or vector.

Output of rational fit function, specified as a scalar `rfmodel.rational` object.

Output Arguments

collapse all

Passivity of s-parameter data, returned as a logical scalar of `0` or `1`. If all the S-parameters are passive, then `ispassive` sets `flag` equal to `1` (`true`). Otherwise, `flag` is equal to `0` (`false`). If `flag` is `true`, `idx_non_passive` is empty.

Indices that correspond to the frequencies where the S-parameter is not passive, returned as vector of numeric integers.

Examples

collapse all

```S = sparameters('measured.s2p'); ```

Check the passivity of the S-parameters.

```[passivevar,idx] = ispassive(S); passivevar ```
```passivevar = logical 0 ```

Get the nonpassive S-parameters.

```if ~passivevar nonpassivevals = S.Parameters(:,:,idx); end ```

Convert `passive.s2p` Touchstone file to an nport object.

```nobj = nport('passive.s2p'); ```

Convert the n-port object, `nobj` to s-parameter object.

```sobj = sparameters(nobj) ```
```sobj = sparameters: S-parameters object NumPorts: 2 Frequencies: [202x1 double] Parameters: [2x2x202 double] Impedance: 50 rfparam(obj,i,j) returns S-parameter Sij ```

Find the passivity of n-port sparameter data at impedance value, 60.

```ispassive(sobj.Parameters,'Impedance',60) ```
```ans = logical 1 ```

Converted `measured.s2p` to S-parameter object.

```S = sparameters('measured.s2p'); ```

Extract the S21 parameters and the frequencies of the s-parameters.

```s21 = rfparam(S,2,1); freq = S.Frequencies; ```

Rationalfit S21 data.

```fit = rationalfit(freq,s21); ```

Check if the rationalfit of S21 data is passive.

```ispass = ispassive(fit) ```
```ispass = logical 1 ```