Source code for cbadc.simulator.utilities

"""Simulation utilities."""
from typing import Dict, Generator
import numpy as np
from ._base_simulator import _BaseSimulator


[docs]def extended_simulation_result( simulator: _BaseSimulator, ) -> Generator[Dict[str, np.ndarray], None, None]: """Extended simulation output Used to also pass the state vector from a simulator generator. Parameters ---------- simulator : :py:class:`cbadc.simulator.StateSpaceSimulator` a iterable simulator instance. Yields ------ { 'control_signal', 'analog_state', 't' } : { (array_like, shape=(M,)), (array_like, shape=(N,)) } an extended output including the analog state vector. """ for control_signal in simulator: analog_state = simulator.state_vector() yield { "control_signal": np.array(control_signal), "analog_state": np.array(analog_state), "t": simulator.t, }