mokka.equalizers

Module implementing equalizers.

Equalizer blocks after channel before decoder/demodulator - in PyTorch.

class mokka.equalizers.torch.Butterfly2x2(taps=None, num_taps=None, trainable=False)

Bases: Module

Class implementing the 2x2 complex butterfly filter structure.

This typically used in dual-polarization fiber-optical communications for equalization.

class mokka.equalizers.torch.Butterfly4x4(taps=None, num_taps=None, trainable=False)

Bases: Module

Class implementing the 4x4 real-valued butterfly filter.

This structure typically used in dual-polarization fiber-optical communications. It is a simplification of the 2x2 complex-valued butterfly filter.

class mokka.equalizers.torch.CD_compensation(dt, beta2, channel_length)

Bases: Module

Class implementing chromatic dispersion compensation in the frequency domain.

Parameters:
  • dt – sample time [s]

  • beta2 – dispersion coefficient of the optical fiber [ps^2/km]

  • channel_length – total length of the channel [km]

forward(y, center_freq=0)

Peform chromatic dispersion compensation in the frequency domain.

Parameters:

y – received complex single polarization signal y

Returns:

equalized signal