abstract.signal_source
signal_source( *, frequency: Annotated[float, minimum=0, units='Hz'] = 10000000000.0, amplitude: Annotated[float, units='√W'] = 1, offset: Annotated[float, units='√W'] = 0, start: Annotated[float, units='s'] | None = None, stop: Annotated[float, units='s'] | None = None, skew: Annotated[float, maximum=1, minimum=0] = 0.5, width: Annotated[float, minimum=0] = 0.5, rise: Annotated[float, minimum=0] = 0, fall: Annotated[float, minimum=0] = 0, order: Annotated[float, minimum=1] = 1, noise: Annotated[float, minimum=0, units='√(W/Hz)'] = 0, jitter: Annotated[float, minimum=0, units='s'] = 0, seed: Annotated[int, minimum=0] | None = None, waveform: Literal[ 'sine', 'triangle', 'trapezoid', 'raised-cosine', 'gaussian' ] = 'sine', prbs: Literal[0, 7, 15, 31] = 0, bit_sequence: str | Sequence[int] = '',) -> photonforge.ComponentAbstract electrical signal generator.
Based on WaveformTimeStepper.
Args
- frequency: Source frequency. The carrier frequency, if any, is not taken into account. The generated signals are always real. This is equivalent to the bit rate for PRBS signals.
- amplitude: Source amplitude. Sine and triangle waves range from
offset - amplitudetooffset + amplitude. Other waveforms range fromoffsettooffset + amplitude. - offset: Constant source offset.
- start: Start time of the source.
- stop: Stop time of the source. The effective stop time is after the current pulse finishes, so it can be after
stop. - skew: Triangle wave asymmetry parameter. A value of 1 produces a sawtooth wave, whereas a value of 0, a reversed sawtooth.
- width: Full-width at half-maximum for trapezoid, raised-cosine, and Gaussian pulses, as a fraction of the source period.
- rise: Trapezoidal and raised-cosine pulses rise time, as a fraction of the source period.
- fall: Trapezoidal and raised-cosine pulses fall time, as a fraction of the source period.
- order: Order of the super-Gaussian pulse.
- noise: One-sided, amplitude spectral density (ASD) of noise.
- jitter: RMS clock jitter.
- seed: Random number generator seed to ensure reproducibility.
- waveform: Source waveform.
- prbs: PRBS polynomial degree. Value 0 disables PRBS.
- bit_sequence: User-provided output bit sequence. PRBS must be set to 0 for this sequence to be used.