API Documentation

Load, manipulate and save R&S waveform files.

class RsWaveform.IqTar(load=<class 'RsWaveform.iqtar.Load.Load'>, save=<class 'RsWaveform.iqtar.Save.Save'>, file=None, nr_samples=None, samples_offset=None, only_meta_data=False)[source]

Iqtar class for loading and saving IQ data.

Initialize a IQtar class.

Parameters:
  • load (Type[LoadInterface]) –

  • save (Type[SaveInterface]) –

  • file (Union[None, str, Path]) –

  • nr_samples (Union[None, int]) –

  • samples_offset (Union[None, int]) –

  • only_meta_data (bool) –

save(file, scale=1.0)[source]

Saver an iqw file with a set saver class.

Parameters:
  • file (Union[str, IO, Path]) –

  • scale (float) –

Return type:

None

class RsWaveform.Iqw(load=<class 'RsWaveform.iqw.Load.Load'>, save=<class 'RsWaveform.iqw.Save.Save'>, file=None, nr_samples=None, samples_offset=None)[source]

Iqw class for loading and saving IQ data.

Initialize a Iqw class.

Parameters:
  • load (Type[LoadInterface]) –

  • save (Type[SaveInterface]) –

  • file (Union[None, str, IO, Path]) –

  • nr_samples (Union[None, int]) –

  • samples_offset (Union[None, int]) –

save(file, scale=1.0)[source]

Saver an iqw file with a set saver class.

Parameters:
  • file (Union[str, IO, Path]) –

  • scale (float) –

Return type:

None

class RsWaveform.LoadInterface[source]

Load R&S waveform implementation.

abstract load(file)[source]

Abstract load implementation.

Parameters:

file (Union[str, IO, Path]) –

Return type:

ParentStorage

abstract load_in_chunks(file, samples, offset)[source]

Abstract load implementation for chunks.

Parameters:
  • file (Union[str, IO, Path]) –

  • samples (int) –

  • offset (int) –

Return type:

ParentStorage

abstract load_meta(file)[source]

Abstract load implementation for meta information only.

Parameters:

file (Union[str, IO, Path]) –

Return type:

ParentStorage

class RsWaveform.RsWaveform(load=<class 'RsWaveform.wv.Load.Load'>, save=<class 'RsWaveform.wv.Save.Save'>, file=None, nr_samples=None, samples_offset=None, only_meta_data=False)[source]

RsWaveform class for loading and saving IQ data.

Initialize an R&S Waveform class.

Parameters:
  • load (Type[LoadInterface]) –

  • save (Type[SaveInterface]) –

  • file (Union[None, str, IO, Path]) –

  • nr_samples (Union[None, int]) –

  • samples_offset (Union[None, int]) –

  • only_meta_data (bool) –

data[source]

Get the waveform IQ data.

data_setter[source]

Get the waveform IQ data.

property filename: str

Get the waveform filename.

frombytes(binary_data)[source]

Load waveform from bytes file content.

Parameters:

binary_data (bytes | BytesIO) –

Return type:

None

load(file)[source]

Load a waveform file with a set loader class.

Parameters:

file (Union[str, IO, Path]) –

Return type:

None

load_in_chunks(file, nr_samples, samples_offset)[source]

Load a chunk of a waveform file with a set loader class.

Parameters:
  • file (Union[str, IO, Path]) –

  • nr_samples (int) –

  • samples_offset (int) –

Return type:

None

load_meta(file)[source]

Load meta of a waveform file with a set loader class.

Parameters:

file (Union[str, IO, Path]) –

Return type:

None

meta[source]

Get the waveform storage metadata.

meta_setter[source]

Get the waveform storage metadata.

property parent_storage: ParentStorage

Get parent storage.

save(file, scale=32768)[source]

Saver a waveform file with a set saver class.

Parameters:
  • file (Union[str, IO, Path]) –

  • scale (float) –

Return type:

None

tobytes()[source]

Get waveform file content as bytes.

Return type:

bytes

class RsWaveform.SaveInterface[source]

Load R&S waveform implementation.

abstract save(file, datas, scale=1.0)[source]

Abstract save implementation.

Parameters:
  • file (Union[str, IO, Path]) –

  • datas (ParentStorage) –

  • scale (float) –

Return type:

None

RsWaveform.calculate_par(data)[source]

Calculate peak-to-average-ratio (PAR) value in dB.

Return type:

float

RsWaveform.calculate_peak(data)[source]

Calculate peak value in dB.

Parameters:

data (ndarray) –

Return type:

ndarray

RsWaveform.calculate_rms(data)[source]

Calculate root-mean-square (RMS) value in dB.

Parameters:

data (ndarray) –

Return type:

ndarray

RsWaveform.convert_to_db(value)[source]

Convert value from amplitude to dB.

Parameters:

value (ndarray) –

Return type:

ndarray

RsWaveform.normalize(data, reference=None)[source]

Normalize data against a reference value.

Parameters:
  • data (ndarray) –

  • reference (float | None) –