Kaira Logo

Getting Started

  • Introduction
    • Key Features
    • Getting Started
  • The Evolution of Communications Research
    • A Journey Through Time and Technology
    • Classical Foundations (1940s-1980s)
    • The Optimization Era (1990s-2010s)
    • The Deep Learning Revolution (2010s-Present)
    • The Kaira Framework: Accelerating Research Innovation
      • Key Capabilities and Innovations
      • Supporting Cutting-Edge Research
    • The Future Horizon
    • Joining the Research Community
      • Getting Started
      • Contributing to Kaira
      • Research Collaboration
  • Installation
    • Overview
    • Prerequisites
    • Installation Methods
      • Quick Installation
      • From Source
      • Using Virtual Environment (Recommended)
    • System-Specific Notes
      • Windows
      • macOS
      • Linux
      • GPU Acceleration
    • Optional Dependencies
      • BPG Image Compression Support
    • Verifying Installation
    • Troubleshooting
    • Uninstallation
  • Getting Started with Kaira
    • Installation
    • Basic Usage
    • Deep Learning Example
    • Next Steps
  • Examples and Tutorials
    • Models
    • Models Fec
    • Channels
    • Constraints
    • Data
    • Modulation
    • Metrics
    • Benchmarks
    • Losses

API Documentation

  • Kaira API Reference
    • Overview
    • Base Components
      • kaira.channels.BaseChannel
        • BaseChannel
      • kaira.constraints.BaseConstraint
        • BaseConstraint
      • kaira.metrics.BaseMetric
        • BaseMetric
      • kaira.models.BaseModel
        • BaseModel
      • kaira.modulations.BaseModulator
        • BaseModulator
      • kaira.modulations.BaseDemodulator
        • BaseDemodulator
      • kaira.losses.BaseLoss
        • BaseLoss
    • Channels
      • kaira.channels.AWGNChannel
        • AWGNChannel
      • kaira.channels.BaseChannel
        • BaseChannel
      • kaira.channels.BinaryErasureChannel
        • BinaryErasureChannel
      • kaira.channels.BinarySymmetricChannel
        • BinarySymmetricChannel
      • kaira.channels.BinaryZChannel
        • BinaryZChannel
      • kaira.channels.ChannelRegistry
        • ChannelRegistry
      • kaira.channels.FlatFadingChannel
        • FlatFadingChannel
      • kaira.channels.GaussianChannel
        • GaussianChannel
      • kaira.channels.IdealChannel
        • IdealChannel
      • kaira.channels.IdentityChannel
        • IdentityChannel
      • kaira.channels.LambdaChannel
        • LambdaChannel
      • kaira.channels.LaplacianChannel
        • LaplacianChannel
      • kaira.channels.LogNormalFadingChannel
        • LogNormalFadingChannel
      • kaira.channels.NonlinearChannel
        • NonlinearChannel
      • kaira.channels.PerfectChannel
        • PerfectChannel
      • kaira.channels.PhaseNoiseChannel
        • PhaseNoiseChannel
      • kaira.channels.PoissonChannel
        • PoissonChannel
      • kaira.channels.RayleighFadingChannel
        • RayleighFadingChannel
      • kaira.channels.RicianFadingChannel
        • RicianFadingChannel
      • kaira.channels.UplinkMACChannel
        • UplinkMACChannel
    • Constraints
      • kaira.constraints.AveragePowerConstraint
        • AveragePowerConstraint
      • kaira.constraints.BaseConstraint
        • BaseConstraint
      • kaira.constraints.CompositeConstraint
        • CompositeConstraint
      • kaira.constraints.ConstraintRegistry
        • ConstraintRegistry
      • kaira.constraints.IdentityConstraint
        • IdentityConstraint
      • kaira.constraints.LambdaConstraint
        • LambdaConstraint
      • kaira.constraints.PAPRConstraint
        • PAPRConstraint
      • kaira.constraints.PeakAmplitudeConstraint
        • PeakAmplitudeConstraint
      • kaira.constraints.PerAntennaPowerConstraint
        • PerAntennaPowerConstraint
      • kaira.constraints.SpectralMaskConstraint
        • SpectralMaskConstraint
      • kaira.constraints.TotalPowerConstraint
        • TotalPowerConstraint
      • Utils
        • kaira.constraints.utils.apply_constraint_chain
        • kaira.constraints.utils.combine_constraints
        • kaira.constraints.utils.create_mimo_constraints
        • kaira.constraints.utils.create_ofdm_constraints
        • kaira.constraints.utils.measure_signal_properties
        • kaira.constraints.utils.verify_constraint
    • Metrics
      • kaira.metrics.BaseMetric
        • BaseMetric
      • kaira.metrics.CompositeMetric
        • CompositeMetric
      • kaira.metrics.MetricRegistry
        • MetricRegistry
      • Image
        • kaira.metrics.image.LPIPS
        • kaira.metrics.image.LearnedPerceptualImagePatchSimilarity
        • kaira.metrics.image.MultiScaleSSIM
        • kaira.metrics.image.PSNR
        • kaira.metrics.image.PeakSignalNoiseRatio
        • kaira.metrics.image.SSIM
        • kaira.metrics.image.StructuralSimilarityIndexMeasure
      • Signal
        • kaira.metrics.signal.BER
        • kaira.metrics.signal.BLER
        • kaira.metrics.signal.BitErrorRate
        • kaira.metrics.signal.BlockErrorRate
        • kaira.metrics.signal.EVM
        • kaira.metrics.signal.ErrorVectorMagnitude
        • kaira.metrics.signal.FER
        • kaira.metrics.signal.FrameErrorRate
        • kaira.metrics.signal.SER
        • kaira.metrics.signal.SNR
        • kaira.metrics.signal.SignalToNoiseRatio
        • kaira.metrics.signal.SymbolErrorRate
    • Models
      • kaira.models.BaseModel
        • BaseModel
      • kaira.models.ChannelCodeModel
        • ChannelCodeModel
      • kaira.models.ConfigurableModel
        • ConfigurableModel
      • kaira.models.DeepJSCCModel
        • DeepJSCCModel
      • kaira.models.FeedbackChannelModel
        • FeedbackChannelModel
      • kaira.models.ModelRegistry
        • ModelRegistry
      • kaira.models.MultipleAccessChannelModel
        • MultipleAccessChannelModel
      • kaira.models.WynerZivModel
        • WynerZivModel
      • Soft Bit Thresholding
        • kaira.models.binary.soft_bit_thresholding.AdaptiveThresholder
        • kaira.models.binary.soft_bit_thresholding.DynamicThresholder
        • kaira.models.binary.soft_bit_thresholding.FixedThresholder
        • kaira.models.binary.soft_bit_thresholding.HysteresisThresholder
        • kaira.models.binary.soft_bit_thresholding.InputType
        • kaira.models.binary.soft_bit_thresholding.LLRThresholder
        • kaira.models.binary.soft_bit_thresholding.MinDistanceThresholder
        • kaira.models.binary.soft_bit_thresholding.OutputType
        • kaira.models.binary.soft_bit_thresholding.RepetitionSoftBitDecoder
        • kaira.models.binary.soft_bit_thresholding.SoftBitEnsembleThresholder
        • kaira.models.binary.soft_bit_thresholding.SoftBitThresholder
        • kaira.models.binary.soft_bit_thresholding.WeightedThresholder
      • Components
        • kaira.models.components.AFModule
        • kaira.models.components.ConvDecoder
        • kaira.models.components.ConvEncoder
        • kaira.models.components.MLPDecoder
        • kaira.models.components.MLPEncoder
        • kaira.models.components.Projection
        • kaira.models.components.ProjectionType
      • Decoders
    • Decoders
    • Examples
      • kaira.models.fec.decoders.BaseBlockDecoder
        • BaseBlockDecoder
      • kaira.models.fec.decoders.BeliefPropagationDecoder
        • BeliefPropagationDecoder
      • kaira.models.fec.decoders.BeliefPropagationPolarDecoder
        • BeliefPropagationPolarDecoder
      • kaira.models.fec.decoders.BerlekampMasseyDecoder
        • BerlekampMasseyDecoder
      • kaira.models.fec.decoders.BruteForceMLDecoder
        • BruteForceMLDecoder
      • kaira.models.fec.decoders.MinSumLDPCDecoder
        • MinSumLDPCDecoder
      • kaira.models.fec.decoders.ReedMullerDecoder
        • ReedMullerDecoder
      • kaira.models.fec.decoders.SuccessiveCancellationDecoder
        • SuccessiveCancellationDecoder
      • kaira.models.fec.decoders.SyndromeLookupDecoder
        • SyndromeLookupDecoder
      • kaira.models.fec.decoders.WagnerSoftDecisionDecoder
        • WagnerSoftDecisionDecoder
      • Encoders
        • kaira.models.fec.encoders.BCHCodeEncoder
        • kaira.models.fec.encoders.BaseBlockCodeEncoder
        • kaira.models.fec.encoders.CyclicCodeEncoder
        • kaira.models.fec.encoders.GolayCodeEncoder
        • kaira.models.fec.encoders.HammingCodeEncoder
        • kaira.models.fec.encoders.LDPCCodeEncoder
        • kaira.models.fec.encoders.LinearBlockCodeEncoder
        • kaira.models.fec.encoders.PolarCodeEncoder
        • kaira.models.fec.encoders.ReedMullerCodeEncoder
        • kaira.models.fec.encoders.ReedSolomonCodeEncoder
        • kaira.models.fec.encoders.RepetitionCodeEncoder
        • kaira.models.fec.encoders.SingleParityCheckCodeEncoder
        • kaira.models.fec.encoders.SystematicLinearBlockCodeEncoder
      • Generic
        • kaira.models.generic.BranchingModel
        • kaira.models.generic.IdentityModel
        • kaira.models.generic.LambdaModel
        • kaira.models.generic.ParallelModel
        • kaira.models.generic.SequentialModel
      • Image
        • kaira.models.image.Bourtsoulatze2019DeepJSCCDecoder
        • kaira.models.image.Bourtsoulatze2019DeepJSCCEncoder
        • kaira.models.image.DeepJSCCFeedbackDecoder
        • kaira.models.image.DeepJSCCFeedbackEncoder
        • kaira.models.image.DeepJSCCFeedbackModel
        • kaira.models.image.Tung2022DeepJSCCQ2Decoder
        • kaira.models.image.Tung2022DeepJSCCQ2Encoder
        • kaira.models.image.Tung2022DeepJSCCQDecoder
        • kaira.models.image.Tung2022DeepJSCCQEncoder
        • kaira.models.image.Xie2023DTDeepJSCCDecoder
        • kaira.models.image.Xie2023DTDeepJSCCEncoder
        • kaira.models.image.Yilmaz2023DeepJSCCNOMADecoder
        • kaira.models.image.Yilmaz2023DeepJSCCNOMAEncoder
        • kaira.models.image.Yilmaz2023DeepJSCCNOMAModel
        • kaira.models.image.Yilmaz2024DeepJSCCWZConditionalDecoder
        • kaira.models.image.Yilmaz2024DeepJSCCWZConditionalEncoder
        • kaira.models.image.Yilmaz2024DeepJSCCWZDecoder
        • kaira.models.image.Yilmaz2024DeepJSCCWZEncoder
        • kaira.models.image.Yilmaz2024DeepJSCCWZModel
        • kaira.models.image.Yilmaz2024DeepJSCCWZSmallDecoder
        • kaira.models.image.Yilmaz2024DeepJSCCWZSmallEncoder
      • Compressors
        • kaira.models.image.compressors.BPGCompressor
        • kaira.models.image.compressors.NeuralCompressor
    • Modulations
      • kaira.modulations.BPSKDemodulator
        • BPSKDemodulator
      • kaira.modulations.BPSKModulator
        • BPSKModulator
      • kaira.modulations.BaseDemodulator
        • BaseDemodulator
      • kaira.modulations.BaseModulator
        • BaseModulator
      • kaira.modulations.DBPSKDemodulator
        • DBPSKDemodulator
      • kaira.modulations.DBPSKModulator
        • DBPSKModulator
      • kaira.modulations.DPSKDemodulator
        • DPSKDemodulator
      • kaira.modulations.DPSKModulator
        • DPSKModulator
      • kaira.modulations.DQPSKDemodulator
        • DQPSKDemodulator
      • kaira.modulations.DQPSKModulator
        • DQPSKModulator
      • kaira.modulations.IdentityDemodulator
        • IdentityDemodulator
      • kaira.modulations.IdentityModulator
        • IdentityModulator
      • kaira.modulations.ModulationRegistry
        • ModulationRegistry
      • kaira.modulations.OQPSKDemodulator
        • OQPSKDemodulator
      • kaira.modulations.OQPSKModulator
        • OQPSKModulator
      • kaira.modulations.PAMDemodulator
        • PAMDemodulator
      • kaira.modulations.PAMModulator
        • PAMModulator
      • kaira.modulations.PSKDemodulator
        • PSKDemodulator
      • kaira.modulations.PSKModulator
        • PSKModulator
      • kaira.modulations.Pi4QPSKDemodulator
        • Pi4QPSKDemodulator
      • kaira.modulations.Pi4QPSKModulator
        • Pi4QPSKModulator
      • kaira.modulations.QAMDemodulator
        • QAMDemodulator
      • kaira.modulations.QAMModulator
        • QAMModulator
      • kaira.modulations.QPSKDemodulator
        • QPSKDemodulator
      • kaira.modulations.QPSKModulator
        • QPSKModulator
      • Utils
        • kaira.modulations.utils.binary_array_to_gray
        • kaira.modulations.utils.binary_to_gray
        • kaira.modulations.utils.calculate_spectral_efficiency
        • kaira.modulations.utils.calculate_theoretical_ber
        • kaira.modulations.utils.gray_array_to_binary
        • kaira.modulations.utils.gray_to_binary
        • kaira.modulations.utils.plot_constellation
    • Losses
      • kaira.losses.BaseLoss
        • BaseLoss
      • kaira.losses.CompositeLoss
        • CompositeLoss
      • kaira.losses.LossRegistry
        • LossRegistry
      • Adversarial
        • kaira.losses.adversarial.FeatureMatchingLoss
        • kaira.losses.adversarial.HingeLoss
        • kaira.losses.adversarial.LSGANLoss
        • kaira.losses.adversarial.R1GradientPenalty
        • kaira.losses.adversarial.VanillaGANLoss
        • kaira.losses.adversarial.WassersteinGANLoss
      • Audio
        • kaira.losses.audio.AudioContrastiveLoss
        • kaira.losses.audio.FeatureMatchingLoss
        • kaira.losses.audio.L1AudioLoss
        • kaira.losses.audio.LogSTFTMagnitudeLoss
        • kaira.losses.audio.MelSpectrogramLoss
        • kaira.losses.audio.MultiResolutionSTFTLoss
        • kaira.losses.audio.STFTLoss
        • kaira.losses.audio.SpectralConvergenceLoss
      • Image
        • kaira.losses.image.CombinedLoss
        • kaira.losses.image.FocalLoss
        • kaira.losses.image.GradientLoss
        • kaira.losses.image.L1Loss
        • kaira.losses.image.LPIPSLoss
        • kaira.losses.image.MSELPIPSLoss
        • kaira.losses.image.MSELoss
        • kaira.losses.image.MSSSIMLoss
        • kaira.losses.image.PSNRLoss
        • kaira.losses.image.SSIMLoss
        • kaira.losses.image.StyleLoss
        • kaira.losses.image.TotalVariationLoss
        • kaira.losses.image.VGGLoss
      • Multimodal
        • kaira.losses.multimodal.AlignmentLoss
        • kaira.losses.multimodal.CMCLoss
        • kaira.losses.multimodal.ContrastiveLoss
        • kaira.losses.multimodal.InfoNCELoss
        • kaira.losses.multimodal.TripletLoss
      • Text
        • kaira.losses.text.CosineSimilarityLoss
        • kaira.losses.text.CrossEntropyLoss
        • kaira.losses.text.LabelSmoothingLoss
        • kaira.losses.text.Word2VecLoss
    • Data
      • kaira.data.BinaryTensorDataset
        • BinaryTensorDataset
      • kaira.data.UniformTensorDataset
        • UniformTensorDataset
      • kaira.data.WynerZivCorrelationDataset
        • WynerZivCorrelationDataset
      • kaira.data.create_binary_tensor
        • create_binary_tensor()
      • kaira.data.create_uniform_tensor
        • create_uniform_tensor()
      • kaira.data.load_sample_images
        • load_sample_images()
    • Utils
      • kaira.utils.PlottingUtils
        • PlottingUtils
      • kaira.utils.add_noise_for_snr
        • add_noise_for_snr()
      • kaira.utils.calculate_num_filters_factor_image
        • calculate_num_filters_factor_image()
      • kaira.utils.calculate_snr
        • calculate_snr()
      • kaira.utils.estimate_signal_power
        • estimate_signal_power()
      • kaira.utils.noise_power_to_snr
        • noise_power_to_snr()
      • kaira.utils.snr_db_to_linear
        • snr_db_to_linear()
      • kaira.utils.snr_linear_to_db
        • snr_linear_to_db()
      • kaira.utils.snr_to_noise_power
        • snr_to_noise_power()
      • kaira.utils.to_tensor
        • to_tensor()
      • Snr
        • kaira.utils.snr.add_noise_for_snr
        • kaira.utils.snr.calculate_snr
        • kaira.utils.snr.estimate_signal_power
        • kaira.utils.snr.noise_power_to_snr
        • kaira.utils.snr.snr_db_to_linear
        • kaira.utils.snr.snr_linear_to_db
        • kaira.utils.snr.snr_to_noise_power
    • Benchmarks
      • kaira.benchmarks.BaseBenchmark
        • BaseBenchmark
      • kaira.benchmarks.BenchmarkConfig
        • BenchmarkConfig
      • kaira.benchmarks.BenchmarkRegistry
        • BenchmarkRegistry
      • kaira.benchmarks.BenchmarkResult
        • BenchmarkResult
      • kaira.benchmarks.BenchmarkResultsManager
        • BenchmarkResultsManager
      • kaira.benchmarks.BenchmarkSuite
        • BenchmarkSuite
      • kaira.benchmarks.BenchmarkVisualizer
        • BenchmarkVisualizer
      • kaira.benchmarks.ComparisonRunner
        • ComparisonRunner
      • kaira.benchmarks.ParallelRunner
        • ParallelRunner
      • kaira.benchmarks.ParametricRunner
        • ParametricRunner
      • kaira.benchmarks.StandardMetrics
        • StandardMetrics
      • kaira.benchmarks.StandardRunner
        • StandardRunner
      • kaira.benchmarks.create_benchmark
        • create_benchmark()
      • kaira.benchmarks.get_benchmark
        • get_benchmark()
      • kaira.benchmarks.get_config
        • get_config()
      • kaira.benchmarks.list_benchmarks
        • list_benchmarks()
      • kaira.benchmarks.list_configs
        • list_configs()
      • kaira.benchmarks.register_benchmark
        • register_benchmark()
  • Kaira Benchmarking System
    • Overview
    • Quick Start
    • Available Benchmarks
      • Standard Communication Benchmarks
      • Custom Benchmarks
    • Configuration
      • Predefined Configurations
    • Benchmark Execution
    • Metrics and Analysis
      • Standard Metrics
    • Results Management
      • Results Directory Structure
      • Using the Results Manager
      • Manual Results Management
      • Loading and Analysis
      • Results Maintenance
    • Command Line Interface
    • Best Practices
    • Examples
      • Results Management Example
    • API Reference

Additional Information

  • Quick Links
    • Support
  • Frequently Asked Questions
    • How can I contribute to this project?
    • I found a bug. What should I do?
    • How do I request a new feature?
    • What versions of Python are supported?
    • Where can I find the documentation?
    • I need help with installing or using Kaira. Where should I ask?
    • Can I use Kaira for commercial purposes?
    • Have more questions?
  • Best Practices
    • General Guidelines
    • Performance Optimization
    • Common Pitfalls
  • References
  • License
  • Changelog
    • Unreleased Changes
      • Added
    • Version 0.2.1 (2025-06-15)
      • Added
      • Changed
      • Fixed
      • Removed
    • Version 0.2.0 (2025-06-10)
      • Added
      • Changed
      • Fixed
      • Performance Improvements
      • Removed
      • Breaking Changes
      • Migration Guide
      • Security Improvements
    • Version 0.1.1 (2025-05-22)
      • Changed
      • Removed
      • Improved
    • Version 0.1.0 (2025-05-09)
      • Added
  • Citing Kaira

Build & Maintenance

  • Contributing
    • Types of Contributions
    • Getting Started with Development
    • Development Workflow
    • Pull Request Checklist
    • Versioning
    • Next Steps
  • Contributor Covenant Code of Conduct
    • Our Pledge
    • Our Standards
    • Enforcement Responsibilities
    • Scope
    • Enforcement
    • Enforcement Guidelines
    • Attribution
  • Makefile Documentation
    • Introduction
    • File Location
    • Usage
    • Overview
    • Targets in Detail
      • help
      • clean
      • clean-logs
      • format
      • sync
      • test
      • test-full
      • lint
      • coverage
      • deploy
      • build-docs
      • build-readme
    • Common Use Cases
    • Development Workflow Example
  • Building Documentation
    • Additional Tips
Kaira
  • Quick Links
  • Edit on GitHub

Quick Links

  • GitHub Repository: https://github.com/ipc-lab/kaira/

  • PyPI Package: https://pypi.org/project/kaira

  • Codecov: https://codecov.io/gh/ipc-lab/kaira

  • License: https://github.com/ipc-lab/kaira/blob/master/LICENSE

Support

Get help and connect with the Kaira community through these channels:

  • Documentation - Official project documentation

  • GitHub Issues - Bug reports and feature requests

  • Discussions - General questions and community discussions

Previous Next

© Copyright 2025, Kaira Team.

Built with Sphinx using a theme provided by Read the Docs.