# HP Signal generator HP8657B

Note:

  - This instrument does not support reading back values, as it is a listen-only GPIB device.

  - Other instruments of this family could be implemented using the dynamic ranges feature.

  - Optional pulse modulation feature is not supported yet.

Glossary:

  Abbreviation | Explanation
  --- | ---
  AM | Amplitude Modulation
  FM | Frequency Modulation
  dBm | power level in dB referenced to 1mW

class pymeasure.instruments.hp.HP8657B(adapter, name='Hewlett-Packard HP8657B', **kwargs)

  Bases: `Instrument`

  Represents the Hewlett Packard 8657B signal generator and provides a high-level interface for interacting with the instrument.

  class Modulation(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

    Bases: `IntEnum`

    IntEnum for the different modulation sources

  property am_depth

    Set the modulation depth for AM, usable range 0-99.9%

  property am_source

    Set the source for the AM function with `Modulation` enumeration.

    Value | Meaning
    --- | ---
    OFF | no modulation active
    INT_400HZ | internal 400 Hz modulation source
    INT_1000HZ | internal 1000 Hz modulation source
    EXTERNAL | External source, AC coupling

    Note:

      - AM & FM can be active at the same time

      - only one internal source can be active at the time

      - use “OFF” to deactivate AM

    usage example:

        sig_gen = HP8657B("GPIB::7")
        ...
        sig_gen.am_source = sig_gen.Modulation.INT_400HZ    #  Enable int. 400 Hz source for AM
        sig_gen.am_depth = 50                               #  Set AM modulation depth to 50%
        ...
        sig_gen.am_source = sig_gen.Modulation.OFF          #  Turn AM off

  check_errors()

    Method to read the error status register as the 8657B does not support any readout of values, this will return 0 and log a warning

  clear()

    Reset the instrument to power-on default settings

  property fm_deviation

    Set the peak deviation in kHz for the FM function, useable range 0.1 - 400 kHz

    NOTE:

      the maximum usable deviation is depending on the output frequency, refer to the instrument documentation for further detail.

  property fm_source

    Set the source for the FM function with `Modulation` enumeration.

    Value | Meaning
    --- | ---
    OFF | no modulation active
    INT_400HZ | internal 400 Hz modulation source
    INT_1000HZ | internal 1000 Hz modulation source
    EXTERNAL | External source, AC coupling
    DC_FM | External source, DC coupling (FM only)

    Note:

      - AM & FM can be active at the same time

      - only one internal source can be active at the time

      - use “OFF” to deactivate FM

      - refer to the documentation rearding details on use of DC FM mode

    usage example:

        sig_gen = HP8657B("GPIB::7")
        ...
        sig_gen.fm_source = sig_gen.Modulation.EXTERNAL     #  Enable external source for FM
        sig_gen.fm_deviation = 15                           #  Set FM peak deviation to 15 kHz
        ...
        sig_gen.fm_source = sig_gen.Modulation.OFF          #  Turn FM off

  property frequency

    Set the output frequency of the instrument in Hz.

    For the 8567B the valid range is 100 kHz to 2060 MHz.

  id = 'HP,8657B,N/A,N/A'

    Manual ID entry

  property level

    Set the output level in dBm.

    For the 8657B the range is -143.5 to +17 dBm/

  property level_offset

    Set the output offset in dB, usable range -199 to +199 dB.

  property output_enabled

    Control whether the output is enabled.

  reset()

    Resets the instrument.

  shutdown()

    Brings the instrument to a safe and stable state