Skip to main content
Ctrl+K

Comnumpy

  • Getting Started
  • Examples
  • Documentation
  • GitHub
  • Getting Started
  • Examples
  • Documentation
  • GitHub

Section Navigation

Contents:

  • Core
    • Generics
    • Generators
    • Mappers
    • Processors
    • Devices
    • Filters
    • Channels
    • Impairments
    • Compensators
    • Monitors
    • Metrics
    • Visualizers
  • MIMO
    • Channels
    • Detectors
    • Compensators
  • OFDM
    • Processors
    • Compensators
    • Metrics
    • Predistorders
    • Chains
  • Optical
    • Channels
    • Compensators
    • Digital Back Propagation
    • Devices
    • Fiber Links
    • Utils
  • Documentation
  • Optical
  • Fiber Links

Fiber Links#

class FiberLink(N_spans: int = 1, L_span: float = 80, StPS: int = 1, fs: float = 1, NF_dB: float = 4, noise_scaling: float = 1, step_type: ~typing.Literal['linear', 'logarithmic'] = 'linear', step_method: ~typing.Literal['symmetric', 'asymetric'] = 'symmetric', use_only_linear: bool = False, c: float = 299792458, h: float = 6.62607015e-34, gamma: float = 1.3, lamb: float = 1550, alpha_dB: float = 0.2, cd_coefficient: float = 17, nu: float = 193414489032258.06, step_log_factor: float = 0.4, name: str = 'fiber link', callbacks: ~typing.Dict[str, ~typing.Callable[[~numpy.ndarray], None]] | None = <factory>)#

Represents a multi-span fiber link for optical communication systems. Each span in the link includes both linear (Chromatic Dispersion) and nonlinear (Kerr Nonlinearity) effects.

The model simulates the propagation of light through the fiber spans, taking into account the dispersion, attenuation, and nonlinear effects based on the specified parameters. It uses the split-step Fourier method as a numerical solution.

Attributes#

N_spansint

Number of spans in the fiber link.

L_spanfloat

Length of each span in kilometers.

StPSint

Steps per span.

fsfloat

Sampling frequency in Hz.

NF_dBfloat

Noise figure in dB.

noise_scalingfloat

Scaling factor for noise.

step_typestr

Type of step size (‘linear’ or ‘logarithmic’).

step_methodstr

Method for splitting steps (‘symmetric’ or ‘asymetric’).

namestr

Name of the span.

use_only_linearbool

Flag to consider only linear effects.

cfloat

Speed of light in meters per second.

hfloat

Planck constant in Joule seconds.

gammafloat

Kerr coefficient in rad/W/km.

lambfloat

Wavelength in nanometers.

alpha_dBfloat

Fiber loss in dB/km.

cd_coefficientfloat

Chromatic dispersion coefficient in ps/nm/km.

nufloat

Optical carrier frequency.

step_log_factorfloat

Logarithmic step factor.

References#

  • [1] J. Shao, X. Liang and S. Kumar, “Comparison of Split-Step Fourier Schemes for Simulating Fiber Optic Communication Systems,” in IEEE Photonics Journal, vol. 6, no. 4, pp. 1-15, Aug. 2014, Art no. 7200515, doi: 10.1109/JPHOT.2014.2340993.

previous

Devices

next

Utils

On this page
  • FiberLink

This Page

  • Show Source

© Copyright 2025, V. Choqueuse.

Created using Sphinx 8.2.3.

Built with the PyData Sphinx Theme 0.16.1.