Skip to content

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nonlinear Fiber Channel Detection Scheme

ML-assisted detection for nonlinear fiber-optic channels using Support Vector Machines and Random Forest classifiers to optimize decision regions for mQAM constellations.

This is the simulation and analysis code for the MSc thesis:
Machine Learning Enabled Nonlinear Phase Noise Mitigation for Coherent Optical Systems


Overview

A coherent optical fiber link is simulated in VPItransmissionMaker. The received constellation data (exported as .txt files) is then processed in Python/Jupyter to train and evaluate ML classifiers that replace traditional hard-decision boundaries — improving symbol error rate under both linear and nonlinear noise conditions.

Two main scenarios are studied:

Back to Back Linear Noise

Baseline with no fiber nonlinearity — isolates the effect of OSNR, laser linewidth, and ADC resolution on classification performance.

  • OSNR-Resolution/SVM/ — SVM classifiers for 4/16/64/256-QAM
  • LO Noise/ — local oscillator phase noise analysis

Nonlinear Fiber Channel

Full fiber link with nonlinear phase noise from the Kerr effect.

  • Zero Dispersion Fiber/ — Random Forest classifiers for zero-dispersion fiber
  • Dispersion Compensated Fiber/ — dispersion compensated fiber scenario
  • NonlinearVoronoi.ipynb — Voronoi tessellation visualization of decision regions

Data

Simulation results (~27,000 .txt constellation files and ~6,000 .png plots) are committed directly in the repository. The repo is large (~6 GB total); a shallow clone is recommended:

git clone --depth 1 https://github.com/ChiefGuti/optical-fiber-ml-classifier.git

Tools

  • Python 3, Jupyter Notebook
  • scikit-learn (SVM, Random Forest)
  • numpy, matplotlib
  • VPItransmissionMaker (optical link simulation — not included)

About

ML-assisted detection for nonlinear fiber-optic channels — SVM and Random Forest classifiers for mQAM constellations (MSc thesis code)

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages