| import numpy as np | |
| def series_impedance(impedance_array): | |
| n_bins = len(impedance_array) | |
| tmatrix = np.array( | |
| [ | |
| [np.ones(n_bins), impedance_array], | |
| [np.zeros(n_bins), np.ones(n_bins)], | |
| ] | |
| ) | |
| return tmatrix | |
| def inductance_series(inductance_value, angular_freq_array): | |
| impedance_array = 1j * angular_freq_array * inductance_value | |
| return series_impedance(impedance_array) | |
| def capacitance_series(capacitance_value, angular_freq_array): | |
| impedance_array = 1 / (1j * angular_freq_array * capacitance_value) | |
| return series_impedance(impedance_array) | |
| def resistance_series(resistance_value, n_bins): | |
| impedance_array = np.ones(n_bins) * resistance_value | |
| return series_impedance(impedance_array) | |
| def transformer(transformer_value, n_bins): | |
| transformer_array = np.ones(n_bins) * transformer_value | |
| transformer = np.array( | |
| [ | |
| [transformer_array, np.zeros(n_bins)], | |
| [np.zeros(n_bins), 1 / transformer_array], | |
| ] | |
| ) | |
| return transformer | |
| def gyrator(gyrator_value, n_bins): | |
| gyrator_array = np.ones(n_bins) * gyrator_value | |
| gyrator = np.array( | |
| [ | |
| [np.zeros(n_bins), gyrator_array], | |
| [1 / gyrator_array, np.zeros(n_bins)], | |
| ] | |
| ) | |
| return gyrator | |