Signal Generator
Bases: PicoScopeBase
, shared_ps6000a_psospa
, shared_4000a_6000a
PicoScope 6000 (A) API specific functions
Methods:
Name | Description |
---|---|
set_siggen |
Configures and applies the signal generator settings. |
set_siggen_awg |
Arbitrary Waveform Generation - Generates a signal from a given buffer. |
siggen_apply |
Sets the signal generator running using parameters previously configured. |
siggen_clock_manual |
Manually control the signal generator clock. |
siggen_filter |
Enable or disable the signal generator output filter. |
siggen_frequency_limits |
Query frequency sweep limits for the signal generator. |
siggen_frequency_sweep |
Configure frequency sweep parameters. |
siggen_limits |
Query signal generator parameter limits. |
siggen_pause |
Pause the signal generator. |
siggen_phase |
Set the signal generator phase using |
siggen_phase_sweep |
Configure a phase sweep for the signal generator. |
siggen_restart |
Restart the signal generator after a pause. |
siggen_set_duty_cycle |
Set duty cycle of SigGen in percentage |
siggen_set_frequency |
Set frequency of SigGen in Hz. |
siggen_set_range |
Set mV range of SigGen (6000A). |
siggen_set_waveform |
Set waveform type for SigGen (6000A). If arbitrary mode is selected, |
siggen_software_trigger_control |
Control software triggering for the signal generator. |
siggen_trigger |
Configure signal generator triggering. |
set_siggen(frequency, pk2pk, wave_type, offset=0.0, duty=50, sweep=False, stop_freq=None, inc_freq=1, dwell_time=0.001, sweep_type=SWEEP_TYPE.UP)
Configures and applies the signal generator settings.
Sets up the signal generator with the specified waveform type, frequency, amplitude (peak-to-peak), offset, and duty cycle.
If sweep is enabled and the sweep-related args are given, the SigGen will sweep.
Parameters: |
|
---|
Returns: |
|
---|
set_siggen_awg(frequency, pk2pk, buffer, offset=0.0, duty=50, sweep=False, stop_freq=None, inc_freq=1, dwell_time=0.001, sweep_type=SWEEP_TYPE.UP)
Arbitrary Waveform Generation - Generates a signal from a given buffer.
Sets up the signal generator with a specified frequency, amplitude (peak-to-peak), offset, and duty cycle.
If sweep is enabled and the sweep-related args are given, the SigGen will sweep.
Parameters: |
|
---|
Raises: |
|
---|
Returns: |
|
---|
siggen_apply(enabled=1, sweep_enabled=0, trigger_enabled=0, auto_clock_optimise_enabled=0, override_auto_clock_prescale=0)
Sets the signal generator running using parameters previously configured.
Parameters: |
|
---|
Returns: |
|
---|
siggen_clock_manual(dac_clock_frequency, prescale_ratio)
Manually control the signal generator clock. Args: dac_clock_frequency: Frequency of the DAC clock in Hz. prescale_ratio: Prescale divisor for the DAC clock.
siggen_filter(filter_state)
Enable or disable the signal generator output filter. Args: filter_state: can be set on or off, or put in automatic mode.
siggen_frequency_limits(wave_type, num_samples, start_frequency, sweep_enabled, manual_dac_clock_frequency=None, manual_prescale_ratio=None)
Query frequency sweep limits for the signal generator.
Args:
wave_type: Waveform type.
num_samples: Number of samples in the arbitrary waveform buffer.
start_frequency: Starting frequency in Hz.
sweep_enabled: Whether a sweep is enabled.
manual_dac_clock_frequency: Optional manual DAC clock frequency.
manual_prescale_ratio: Optional manual DAC prescale ratio.
Returns:
dict: Frequency limit information with keys max_stop_frequency
,
min_frequency_step
, max_frequency_step
, min_dwell_time
and
max_dwell_time
.
siggen_frequency_sweep(stop_frequency_hz, frequency_increment, dwell_time_s, sweep_type)
Configure frequency sweep parameters. Args: stop_frequency_hz: End frequency of the sweep in Hz. frequency_increment: Increment value in Hz. dwell_time_s: Time to dwell at each frequency in seconds. sweep_type: Sweep direction.
siggen_limits(parameter)
Query signal generator parameter limits.
Args:
parameter: Signal generator parameter to query.
Returns:
dict: Dictionary with keys min
, max
and step
.
siggen_pause()
Pause the signal generator.
siggen_phase(delta_phase)
Set the signal generator phase using delta_phase
.
The signal generator uses direct digital synthesis (DDS) with a 32-bit phase accumulator that indicates the present location in the waveform. The top bits of the phase accumulator are used as an index into a buffer containing the arbitrary waveform. The remaining bits act as the fractional part of the index, enabling highresolution control of output frequency and allowing the generation of lower frequencies. The signal generator steps through the waveform by adding a deltaPhase value between 1 and phaseAccumulatorSize-1 to the phase accumulator every dacPeriod (= 1/dacFrequency).
Parameters: |
|
---|
siggen_phase_sweep(stop_delta_phase, delta_phase_increment, dwell_count, sweep_type)
Configure a phase sweep for the signal generator. Args: stop_delta_phase: End phase in DAC counts. delta_phase_increment: Increment value in DAC counts. dwell_count: Number of DAC cycles to dwell at each phase step. sweep_type: Sweep direction.
siggen_restart()
Restart the signal generator after a pause.
siggen_set_duty_cycle(duty)
Set duty cycle of SigGen in percentage
Parameters: |
|
---|
siggen_set_frequency(frequency)
Set frequency of SigGen in Hz.
Parameters: |
|
---|
siggen_set_range(pk2pk, offset=0.0)
Set mV range of SigGen (6000A).
Parameters: |
|
---|
siggen_set_waveform(wave_type, buffer=None)
Set waveform type for SigGen (6000A). If arbitrary mode is selected, a buffer of ADC samples is needed.
Parameters: |
|
---|
siggen_software_trigger_control(trigger_state)
Control software triggering for the signal generator.
Args:
trigger_state: 1
to enable the software trigger, 0
to disable.
siggen_trigger(trigger_type, trigger_source, cycles, auto_trigger_ps=0)
Configure signal generator triggering. Args: trigger_type: Trigger type to use. trigger_source: Source for the trigger. cycles: Number of cycles before the trigger occurs. auto_trigger_ps: Time in picoseconds before auto-triggering.