Core types

Core classes and enumerations needed for the representation of XRA-31 objects.

class excentis.xra31.core.Annex(value)

An enumeration of the two Annex types.

A = 0

EuroDOCSIS.

B = 1

US DOCSIS.

class excentis.xra31.core.ChannelState(value)

An enumeration of the states a configured channel can be in.

UNLOCKED = 0

Unlocked.

PLC_LOCKED = 1

PLC Locked (OFDM only).

LOCKED = 2

Locked.

class excentis.xra31.core.ChannelType(value)

An enumeration of the different channel types.

OFDM = 0

Downstream OFDM.

SC_QAM = 1

Downstream SC-QAM.

OFDMA = 2

Upstream OFDMA.

A_TDMA = 3

Upstream A-TDMA.

class excentis.xra31.core.ChannelModulation(value)

An enumeration of the Downstream SC-QAM Modulations.

QAM64 = 0

64-QAM.

QAM256 = 1

256-QAM.

class excentis.xra31.core.Channel(channel_type: excentis.xra31.core.ChannelType = None, xra31_id: int = - 1, docsis_id: int = - 1, frequency: float = 0.0, *, is_captured: bool = False)

A generic XRA-31 channel including the parameters needed to identify it and its state at the XRA-31.

channel_type

The channel’s type (ChannelType).

xra31_id

Unique identifier of the channel on the XRA-31.

docsis_id

The channel’s DOCSIS ID (upstream UCID).

state

The channel’s state (ChannelState).

input_level

The input level at the XRA-31’s connector (dBmV per 6 MHz for OFDM, dBmV per 1.6 MHz for OFDMA, dBmV for SC-QAM and A-TDMA).

mer

The MER at the XRA-31 (dB).

is_captured

Indicates if this channel is included in the capture.

property frequency

The channel’s PLC (OFDM) or center frequency (MHz).

property start_frequency

Start frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

property stop_frequency

Stop frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

is_downstream()bool

Indicates if it is an OFDM or a downstream SC-QAM channel.

is_upstream()bool

Indicates if it is an OFDMA or an A-TDMA channel.

class excentis.xra31.core.DownstreamChannel(channel_type: excentis.xra31.core.ChannelType = None, xra31_id: int = - 1, frequency: float = 0.0, *, docsis_id: int = - 1, is_reference: bool = False, is_captured: bool = False)

Base for a downstream Channel.

is_downstream()bool

Indicates if it is an OFDM or a downstream SC-QAM channel.

class excentis.xra31.core.UpstreamChannel(channel_type: excentis.xra31.core.ChannelType = None, xra31_id: int = - 1, ucid: int = - 1, *, frequency: float = 0.0, is_captured: bool = False)

Base for an upstream Channel.

property ucid

DOCSIS Upstream Channel ID.

is_upstream()bool

Indicates if it is an OFDMA or an A-TDMA channel.

class excentis.xra31.core.OfdmChannel(xra31_id: int = - 1, plc_frequency: int = 0, fft_size: int = 0, cyclic_prefix: int = 0, rolloff_period: int = 0, start_frequency: float = None, stop_frequency: float = None, *, docsis_id: int = - 1, is_reference: bool = False, is_captured: bool = False)

OFDM Channel.

fft_size

FFT size.

cyclic_prefix

Cyclic prefix, in OFDM samples at the rate of 204.8 MHz.

rolloff_period

Roll-off period, in OFDM samples at the rate of 204.8 MHz.

property start_frequency

Start frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

property stop_frequency

Stop frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

property plc_frequency

PLC Frequency, the start of the contiguous 6 MHz spectral region within which the PLC modulation takes place (MHz).

class excentis.xra31.core.ScQamChannel(xra31_id: int = -1, frequency: float = 0.0, modulation: excentis.xra31.core.ChannelModulation = <ChannelModulation.QAM256: 1>, annex: excentis.xra31.core.Annex = <Annex.A: 0>, *, docsis_id: int = -1, is_reference: bool = False, is_captured: bool = False)

Downstream SC-QAM Channel.

property frequency

The SC-QAM channel frequency on a 62.5kHz grid (MHz).

property start_frequency

Start frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

property stop_frequency

Stop frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

class excentis.xra31.core.OfdmaChannel(xra31_id: int = - 1, ucid: int = - 1, start_frequency: float = 0.0, stop_frequency: float = 0.0, *, is_captured: bool = False)

OFDMA Channel.

property frequency

The channel’s PLC (OFDM) or center frequency (MHz).

property start_frequency

Start frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

property stop_frequency

Stop frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

class excentis.xra31.core.ATdmaChannel(xra31_id: int = - 1, ucid: int = - 1, frequency: float = 0.0, modulation_rate: float = 1.28, *, is_captured: bool = False)

A-TDMA Channel.

modulation_rate

Modulation rate (MHz).

property start_frequency

Start frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

property stop_frequency

Stop frequency of the channel. Accurate for OFDM, SC-QAM and OFDMA.

class excentis.xra31.core.ChannelList

Base for an XRA-31 Channel list.

property ofdm

Get the OFDM channels.

property sc_qam

Get the downstream SC-QAM channels.

property downstream

Get the downstream channels.

property ofdma

Get the OFDMA channels.

property a_tdma

Get the A-TDMA channels.

property upstream

Get the upstream channels.

property channels

Get all channels.

filter(channel_type: excentis.xra31.core.ChannelType = None) → Iterable[excentis.xra31.core.Channel]

Get all channels with a given ChannelType.

find(channel_parameters: excentis.xra31.core.Channel = None, *, channel_type: excentis.xra31.core.ChannelType = None, xra31_id: int = - 1, ucid: int = - 1, frequency: float = 0.0) → Optional[excentis.xra31.core.Channel]

Find a channel. Parameters can be set selectively within channel_parameters, or individually. If a perfect frequency match can’t be found, a channel containing the frequency is returned if available.

Parameters
  • channel_parameters (Channel, optional) – A channel containing the parameters.

  • channel_type (ChannelType, optional) – The type of channel.

  • xra31_id (int, optional) – Channel identifier at the XRA-31.

  • ucid (int, optional) – DOCSIS Upstream Channel ID.

  • frequency (float, optional) – The frequency of the channel (MHz).

Returns

The channel if found, None otherwise.

Return type

core.Channel