sigkit.modem package

Submodules

sigkit.modem.base module

ABC Module for the Modem Package.

class sigkit.modem.base.Modem(sample_rate: int, symbol_rate: int, n_components: int, cf: float | None = 0.0)[source]

Bases: ABC

Abstract base class for all modulators/demodulators.

abstractmethod demodulate(signal: Signal | ndarray) ndarray[source]

ABC Method for demodulating a Signal.

signal.samples: shape (…, 2, n_samples) returns bit‐probabilities or hard bits, shape (…, n_bits).

extract_symbols(signal: Signal | ndarray) ndarray[source]

Generic symbol extractor.

  • Removes carrier (if any),

  • Downsamples one sample per symbol at midpoint,

  • Finds nearest constellation point.

abstractmethod modulate(bits: ndarray) Signal[source]

ABC Method for modulating bits.

bits: shape (…, n_bits), dtype {0,1} returns a Signal with samples.shape == (…, 2, n_samples).

sigkit.modem.fsk module

Frequency Shift Keying Module.

class sigkit.modem.fsk.FSK(sample_rate: int, symbol_rate: int, n_components, cf: float = 0.0)[source]

Bases: Modem

FSK Modem for modulating and demodulating bits.

demodulate(signal: Signal | ndarray) ndarray[source]

Map received FSK samples to bits.

Parameters:

signal – Signal containing modulated complex samples.

Returns:

1D array of bits.

modulate(bits: ndarray) Signal[source]

Modulate bits with FSK.

Parameters:

bits – 1D array of 0 | 1, length multiple of log2(n_components)

Returns:

containing complex64 samples

Return type:

Signal

sigkit.modem.psk module

Phase Shift Keying Module.

class sigkit.modem.psk.PSK(sample_rate: int, symbol_rate: int, n_components, cf: float = 0.0)[source]

Bases: Modem

PSK Modem for modulating and demodulating bits.

demodulate(signal: Signal | ndarray) ndarray[source]

Map received PSK samples to bits.

Parameters:

signal – Signal containing modulated complex samples.

Returns:

1D array of bits.

modulate(bits: ndarray) Signal[source]

Modulate bits with PSK.

Parameters:

bits – 1D array of 0 | 1, length multiple of log2(n_components)

Returns:

containing complex64 samples

Return type:

Signal