Documentation

This is machine translation

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

makepassive

Make N-port S-parameters passive

Syntax

``sparams_passive = makepassive(sparams)``

Description

example

````sparams_passive = makepassive(sparams)` alters non-passive N-port S-parameters to make them passive. `makepassive ` will error if the singular values at a frequency are too large. Reference impedance for S-parameters are assumed real and positive.```

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.

Output Arguments

collapse all

Passive S-parameters, returned as an s-parameter object.

Note

The `makepassive` function uses a purely mathematical method to calculate `sparams_passive`. As a result, the array `sparams_passive` does not represent the same network as `sparams`, unless `sparams` and `sparams_passive` are equal. The more closely `sparams` represents a passive network, the better the approximation `sparams_passive` is to that network. Therefore, `makepassive` generates the most realistic results when `sparams` is active only due to small numerical errors.

Examples

collapse all

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

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

Check if the S-parameter object is passive.

```ispassive(S) ```
```ans = logical 0 ```

Make the S-parameters data passive using `makepassive` function.

```S_new = makepassive(S); ```

Check if the new S-parameter object is passive.

```ispassive(S_new) ```
```ans = logical 1 ```