skrf.network.renormalize_s

skrf.network.renormalize_s(s, z_old, z_new, s_def='power', s_def_old=None)[source]

Renormalize a s-parameter matrix given old and new port impedances. Can be also used to convert between different S-parameter definitions.

Note

This re-normalization assumes power-wave formulation per default. To use the pseudo-wave formulation, use s_def=’pseudo’. However, results should be the same for real-valued characteristic impedances. See the [1] and [2] for more details.

Note

This just calls

z2s(s2z(s, z0=z_old, s_def=s_def_old), z0=z_new, s_def=s_def)
Parameters:
  • s (complex array of shape fxnxn) – s-parameter matrix

  • z_old (complex array of shape fxnxn or a scalar) – old (original) port impedances

  • z_new (complex array of shape fxnxn or a scalar) – new port impedances

  • s_def (str -> s_def : can be: 'power', 'pseudo' or 'traveling') – Scattering parameter definition of the output network: ‘power’ for power-waves definition, ‘pseudo’ for pseudo-waves definition. ‘traveling’ corresponds to the initial implementation. Default is ‘power’.

  • s_def_old (str -> s_def : can be: None, 'power', 'pseudo' or 'traveling') – Scattering parameter definition of the input network: None to copy s_def. ‘power’ for power-waves definition, ‘pseudo’ for pseudo-waves definition. ‘traveling’ corresponds to the initial implementation.

Returns:

renormalized s-parameter matrix (shape fxnxn)

Return type:

numpy.ndarray

See also

Network.renormalize

method of Network to renormalize s

fix_z0_shape, s2z, z2s

References

Examples

>>> s = zeros(shape=(101,2,2))
>>> renormalize_s(s, 50,25)