Main Content

makepassive

Make N-port S-parameters passive

Description

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.

example

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

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.

Version History

Introduced in R2010a

Go to top of page