optic.models.tx.simpleWDMTx

simpleWDMTx(param)

Implement a simple WDM transmitter.

Generates a complex baseband waveform representing a WDM signal with arbitrary number of carriers

Parameters:

param (optic.core.parameter object) –

Parameters of the WDM transmitter.

  • param.M : modulation order [default: 16].

  • param.constType : ‘qam’ or ‘psk’ [default: ‘qam’].

  • param.Rs : carrier baud rate [baud][default: 32e9].

  • param.SpS : samples per symbol [default: 16].

  • param.probDist : pmf type of the symbol source, either ‘uniform’ or ‘maxwell-boltzmann’ [default: ‘uniform’].

  • param.shapingFactor : shaping factor of the symbols [default: 0].

  • param.seed : seed for the random number generator [default: None].

  • param.nBits : total number of bits per carrier [default: 60000].

  • param.pulseType : pulse shape [‘nrz’, ‘rrc’][default: ‘rrc’].

  • param.nFilterTaps : number of coefficients of the rrc filter [default: 1024].

  • param.pulseRollOff : rolloff do rrc filter [default: 0.01].

  • param.mzmScale : MZM modulation scale factor Vrf/Vpi [default: 0.5].

  • param.powerPerChannel : launched power per WDM channel [dBm][default:-3 dBm].

  • param.nChannels : number of WDM channels [default: 5].

  • param.Fc : central frequency of the WDM spectrum [Hz][default: 193.1e12 Hz].

  • param.laserLinewidth : laser linewidth [Hz][default: 100 kHz].

  • param.wdmGridSpacing : frequency spacing of the WDM grid [Hz][default: 40e9 Hz].

  • param.nPolModes : number of polarization modes [default: 1].

  • param.prgsBar : display progress bar? [default: True].

Returns:

  • sigTxWDM (np.array) – WDM signal.

  • symbTxWDM (np.array) – Array of symbols per WDM carrier.

  • param (optic.core.parameter object) – System parameters for the WDM transmitter.