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: Optional[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: float

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

property start_frequency: float

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

property stop_frequency: float

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: Optional[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: Optional[ChannelType] = None, xra31_id: int = - 1, ucid: int = - 1, *, frequency: float = 0.0, is_captured: bool = False)

Base for an upstream Channel.

property ucid: int

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: Optional[float] = None, stop_frequency: Optional[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: float

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

property stop_frequency: float

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

property plc_frequency: int

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: ChannelModulation = ChannelModulation.QAM256, annex: Annex = Annex.A, *, docsis_id: int = - 1, is_reference: bool = False, is_captured: bool = False)

Downstream SC-QAM Channel.

property frequency: float

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

property start_frequency: float

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

property stop_frequency: float

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: float

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

property start_frequency: float

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

property stop_frequency: float

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: float

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

property stop_frequency: float

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: Iterable[OfdmChannel]

Get the OFDM channels.

property sc_qam: Iterable[ScQamChannel]

Get the downstream SC-QAM channels.

property downstream: Iterable[DownstreamChannel]

Get the downstream channels.

property ofdma: Iterable[OfdmaChannel]

Get the OFDMA channels.

property a_tdma: Iterable[ATdmaChannel]

Get the A-TDMA channels.

property upstream: Iterable[UpstreamChannel]

Get the upstream channels.

property channels: Iterable[Channel]

Get all channels.

filter(channel_type: Optional[ChannelType] = None) Iterable[Channel]

Get all channels with a given ChannelType.

find(channel_parameters: Optional[Channel] = None, *, channel_type: Optional[ChannelType] = None, xra31_id: int = - 1, ucid: int = - 1, frequency: float = 0.0) Optional[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