mokka
Python package for machine learning in communication.
This package is broken up into several modules, each tasked with only a single part of the whole communication system. Each module shall work independently of each other, except modules like utils and functional. Processing blocks of the communication system shall be implemented as modular blocks and within simulations it should be possible to chain output of a preceeding block to the input of the next block.
This package implements blocks either for PyTorch or TensorFlow, most functionality is implemented exclusively in one of the frameworks. In the case of TensorFlow the functions are implemented in conjunction with the framework sionna.
- mokka.channels
ComplexAWGNDPImpairmentsEDFAAmpDualPolEDFAAmpDualPol.P_input_linEDFAAmpDualPol.__init__()EDFAAmpDualPol.alphaa_dbEDFAAmpDualPol.alphaa_linEDFAAmpDualPol.alphab_dbEDFAAmpDualPol.alphab_linEDFAAmpDualPol.amp_gainEDFAAmpDualPol.amp_noiseEDFAAmpDualPol.bwEDFAAmpDualPol.forward()EDFAAmpDualPol.noise_figureEDFAAmpDualPol.optical_carrier_frequencyEDFAAmpDualPol.paddingEDFAAmpDualPol.span_length
EDFAAmpSinglePolEDFAAmpSinglePol.P_input_linEDFAAmpSinglePol.__init__()EDFAAmpSinglePol.alpha_dbEDFAAmpSinglePol.alpha_linEDFAAmpSinglePol.amp_gainEDFAAmpSinglePol.amp_noiseEDFAAmpSinglePol.bwEDFAAmpSinglePol.forward()EDFAAmpSinglePol.noise_figureEDFAAmpSinglePol.optical_carrier_frequencyEDFAAmpSinglePol.paddingEDFAAmpSinglePol.span_length
FixedArbitraryChannelDPFixedChannelDPFixedChannelSPOpticalNoisePDLElementPMDAngleElementPMDElementPMDPDLChannelPhasenoiseWienerPolyPhaseChannelizerProakisChannel()RamanAmpDualPolRamanAmpDualPol.P_input_linRamanAmpDualPol.__init__()RamanAmpDualPol.alphaa_dbRamanAmpDualPol.alphaa_linRamanAmpDualPol.alphab_dbRamanAmpDualPol.alphab_linRamanAmpDualPol.amp_gainRamanAmpDualPol.amp_noiseRamanAmpDualPol.bwRamanAmpDualPol.forward()RamanAmpDualPol.noise_figureRamanAmpDualPol.optical_carrier_frequencyRamanAmpDualPol.padding
ResidualPhaseNoiseSSFMPropagationDualPolSSFMPropagationDualPol.__init__()SSFMPropagationDualPol.alphaa_dbSSFMPropagationDualPol.alphaa_linSSFMPropagationDualPol.alphaa_pdl_linSSFMPropagationDualPol.alphab_dbSSFMPropagationDualPol.alphab_linSSFMPropagationDualPol.alphab_pdl_linSSFMPropagationDualPol.ampSSFMPropagationDualPol.betapaSSFMPropagationDualPol.betapbSSFMPropagationDualPol.calculate_basis()SSFMPropagationDualPol.delta_GSSFMPropagationDualPol.dtSSFMPropagationDualPol.dzSSFMPropagationDualPol.forward()SSFMPropagationDualPol.gammaSSFMPropagationDualPol.get_operators()SSFMPropagationDualPol.length_spanSSFMPropagationDualPol.maxiterSSFMPropagationDualPol.num_spanSSFMPropagationDualPol.pdl_maxSSFMPropagationDualPol.pdl_minSSFMPropagationDualPol.pdl_simulationSSFMPropagationDualPol.pmd_correlation_lengthSSFMPropagationDualPol.pmd_parameterSSFMPropagationDualPol.pmd_sigmaSSFMPropagationDualPol.pmd_simulationSSFMPropagationDualPol.pspSSFMPropagationDualPol.solution_methodSSFMPropagationDualPol.solver_method
SSFMPropagationSinglePolSSFMPropagationSinglePol.__init__()SSFMPropagationSinglePol.alphadbSSFMPropagationSinglePol.alphalinSSFMPropagationSinglePol.ampSSFMPropagationSinglePol.betapSSFMPropagationSinglePol.delta_GSSFMPropagationSinglePol.dtSSFMPropagationSinglePol.dzSSFMPropagationSinglePol.forward()SSFMPropagationSinglePol.gammaSSFMPropagationSinglePol.get_operators()SSFMPropagationSinglePol.length_spanSSFMPropagationSinglePol.maxiterSSFMPropagationSinglePol.num_spanSSFMPropagationSinglePol.solver_method
SSFM_halfstep_end()SSFM_step()WDMDemuxWDMMuxdecompose_stokes_rotation()symmetrical_SSFM_step()symmetrical_SSPROPV_step()
- mokka.e2e
- mokka.equalizers
- mokka.equalizers.adaptive
AEQ_SPCMACMloss_NxNELBO_DP()ELBO_DP_IQ()ELBO_NxN()LMS_NxNMSEflex_NxNMSEflex_phiMA_NxNMSEloss_NxNPilotAEQ_DPPilotAEQ_SPRDloss_NxNVAE_LE_DPVAE_LE_DP_IQVAE_LE_NxNVAE_LE_NxN_origVAE_LE_flex_NxNVAE_LE_overhead_NxNVQVAE_LE_DPVQVAE_loss_DP()VQVAE_loss_DP_hard()dec_on_bound()hard_decision_shaping()update_adaptive()
Butterfly2x2Butterfly4x4ButterflyNxNCD_compensationLinearFilterMU_MMSE()MU_MMSE_inv()SU_MMSE()correct_start()correct_start_polarization()create_transmit_matrix()find_start_offset()h2H()h2f()impulse_response_to_toeplitz()pad_transmit_vector()toeplitz()unit_vector()
- mokka.equalizers.adaptive
- mokka.functional
- mokka.inft
- mokka.mapping
- mokka.normalization
- mokka.pulseshaping
- mokka.synchronizers
- mokka.utils
N0()beta2()bits2hex()bits2int()db2pow()dbm2pow()estimate_SNR()export_constellation()hex2bits()ints2bits()plot_bitwise_decision_regions()plot_classifier()plot_constellation()plot_scatter()pow2db()pow2dbm()setup_logging()setup_plot()sigma_phi()wavelength()- mokka.utils.bitops
- mokka.utils.generators
deprecated()decompose_pmd_pdl()