create_sinusoidal_current#

create_sinusoidal_current(
n_pools: int,
t_points: int,
timestep__ms: Quantity__ms,
amplitudes__nA: Quantity__nA | list[Quantity__nA],
frequencies__Hz: Quantity__Hz | list[Quantity__Hz],
offsets__nA: Quantity__nA | list[Quantity__nA],
phases__rad: Quantity__rad | list[Quantity__rad] = 0.0 * pq.rad,
) s]][source]#

Create a matrix of sinusoidal currents for multiple pools.

Parameters:
  • n_pools (int) – Number of current pools to generate

  • t_points (int) – Number of time points

  • timestep__ms (Quantity__ms) – Time step in milliseconds as a Quantity

  • amplitudes__nA (Quantity__nA | list[Quantity__nA]) – Amplitude(s) of the sinusoidal current(s) in nanoamperes.

  • frequencies__Hz (Quantity__Hz | list[Quantity__Hz]) – Frequency(s) of the sinusoidal current(s) in Hertz.

  • offsets__nA (Quantity__nA | list[Quantity__nA]) – DC offset(s) to add to the sinusoidal current(s) in nanoamperes.

  • phases__rad (Quantity__rad | list[Quantity__rad]) – Phase(s) of the sinusoidal current(s) in radians.

Raises:

ValueError – If the amplitudes, frequencies, offsets, or phases are lists and the length of the parameters does not match n_pools

Return type:

Annotated[AnalogSignal, Is[lambda x: x.units == pq.nA and x.sampling_period.units == pq.s]]

Notes

If a parameter is provided as a single Quantity, it is broadcasted to all pools. If provided as a list, its length must match n_pools.

Returns:

Analog signal of shape (t_points, n_pools) * pq.nA containing sinusoidal currents

Return type:

INPUT_CURRENT__AnalogSignal

Parameters: