nft-processing: nonlinear Fourier transform toolkit

Python · C/C++ · Jupyter · open source · GitHub

The nonlinear Fourier transform (NFT) decomposes a signal into the modes that propagate independently in a nonlinear fibre, which makes it a natural tool for both analysing and transmitting signals. This repository is the code behind much of my PhD work.

  • Forward and inverse NFT and digital back-propagation routines, with custom C++ code for discrete eigenvalues.
  • Built on modified versions of the FNFT C library and its FNFTpy Python bindings.
  • Utilities for windowing long signals, which is the basis of the continuous-signal processing in the papers below.
  • Notebooks demonstrating the workflows.

Related papers: Numerical approaches in NFT-based signal processing, Next-generation signal processing using windowed NFT, Neural networks for computing and denoising the continuous NFT spectrum.