Skip to main content

Module optical

Module optical 

Source
Expand description

Optical blocks: wavelength-division multiplexing and dual-polarisation nonlinear propagation.

BlockDoes
wdm_txthe channel under test and n_channels - 1 independently modulated neighbours on a frequency grid, shaped, at a power per channel, with laser phase noise
manakovdual-polarisation propagation over the multi-span link by the Manakov equation (OptiCommPy’s manakovSSF), EDFAs with ASE
pmda random rotation of the polarisations and polarisation-mode dispersion (coarse-step model of Marcuse, Menyuk & Wai), a new realisation every trial
manakov_dbpdual-polarisation digital back-propagation of the link (the Manakov equation with the coefficients negated)
wdm_rxthe channel under test brought to baseband and low-pass filtered (an ideal coherent receiver with its local oscillator on the channel)

§Dual polarisation

source with pols: 2 draws the symbols of both polarisations: symbols holds those of polarisation x then those of y, samples carries x and the first entry of antennas carries y. The blocks written for one polarisation (pulse shaping, dispersion compensation, matched filter, clock recovery, frequency and phase estimation, frame synchronisation) then process each polarisation with its own symbols; adaptive_equalizer is the 2 × 2 butterfly that undoes the rotations of the polarisation; the metrics pool both polarisations.

§Example

fiber: {n_spans: 10, span_km: 80, d_ps_nm_km: 16, gamma_w_km: 1.3}
link:
  - {type: source, constellation: 16-QAM, n_symbols: 8192, symbol_rate: 32e9, pols: 2}
  - {type: wdm_tx, n_channels: 5, spacing_hz: 50e9, sps: 8, power_dbm: $power_dbm, rolloff: 0.1}
  - manakov
  - {type: wdm_rx, sps: 2}
  - cdc
  - {type: matched_filter, rolloff: 0.1}
  - decimate
  - {type: frame_sync, length: 512}
metrics: {report: [ber, snr_eff_db, gmi], skip_start: 64, skip_end: 64}

§Raman amplification

A raman mapping in the fibre parameters (of the specification or of a block) pumps every span of ssfm, manakov and of the theory gn_snr_db (see comnum_channel::optical::raman):

fiber:
  n_spans: 3
  span_km: 100
  raman:
    pumps:                       # any number, co- or counter-propagating
      - {wavelength_nm: 1425, power_mw: 300, direction: counter}
      - {frequency_thz: 205.0, power_mw: 100, direction: co, alpha_db_km: 0.25}
    isrs: true                   # the channels also exchange power (default)
    aeff_um2: 80                 # effective area (default)
    temperature_k: 300           # for the spontaneous noise (default)
    step_km: 0.1                 # grid of the power equations (default)
    slice_hz: 25e9               # slices of the spectrum of the field (default)
    # gain: {offsets_thz: [...], gain_m_w: [...], reference_thz: 206.18}

The amplifier after every span (amplification) then restores every frequency to its launch power. dbp and manakov_dbp back-propagate the profile of lumped amplifiers.

§References

  1. E. P. da Silva and D. A. A. Mello, OptiCommPy, simpleWDMTx and manakovSSF.
  2. P. Poggiolini, “The GN model of non-linear propagation in uncoherent optical systems,” J. Lightw. Technol., 30(24), 3857–3879, 2012 (the reference of the WDM campaigns, see comnum_channel::optical::gn).

Structs§

WdmFrame
The WDM frame between wdm_tx and wdm_rx.