Analysis API
S-Parameter Analyzer
- class prismo.analysis.sparameters.SParameterAnalyzer(num_ports, frequencies, reference_impedance=50.0)[source]
S-parameter analyzer for multi-port devices.
Computes scattering parameters from mode expansion or flux monitors and provides export capabilities.
- Parameters:
- add_port_data(port_index, excitation_port, power_forward, power_backward)[source]
Add port measurement data from a simulation.
- Parameters:
- Return type:
- add_mode_data(port_index, excitation_port, mode_coefficients)[source]
Add S-parameter data from mode expansion.
- get_s_matrix(frequency_index)[source]
Get the full S-matrix at a specific frequency.
- Parameters:
frequency_index (int) – Frequency index.
- Returns:
S-matrix (num_ports × num_ports).
- Return type:
ndarray
- get_return_loss_db(port)[source]
Get return loss in dB.
RL = -20 log10(|S_ii|)
- Parameters:
port (int) – Port index.
- Returns:
Return loss in dB vs frequency.
- Return type:
ndarray
Export Functions
- prismo.analysis.sparameters.export_touchstone(filename, frequencies, s_matrix, z0=50.0, comments=None)[source]
Export S-parameters to Touchstone format (.sNp file).
- Parameters:
- Return type:
- prismo.analysis.sparameters.compute_group_delay(frequencies, s_parameter)[source]
Compute group delay from S-parameter phase.
τ_g = -dφ/dω
- Parameters:
frequencies (ndarray) – Frequency array (Hz).
s_parameter (ndarray) – Complex S-parameter vs frequency.
- Returns:
Group delay (s) vs frequency.
- Return type:
ndarray
- prismo.analysis.sparameters.compute_group_index(frequencies, s21, length)[source]
Compute group index from transmission phase.
n_g = c * τ_g / L
- Parameters:
frequencies (ndarray) – Frequency array (Hz).
s21 (ndarray) – Transmission coefficient S21.
length (float) – Device length (m).
- Returns:
Group index vs frequency.
- Return type:
ndarray