Skip to content

v0.15.0

Compare
Choose a tag to compare
@gmarcusm gmarcusm released this 11 Jul 22:32
· 23 commits to main since this release
03ced4c

Features

Ray Tracing

  • Add support for scattering:
    • Paths: Only for the last interaction, i.e., transmitter -> N >= 0 reflections -> 1 scattering -> receiver
    • Coverage map: Support for paths with arbitrary number of reflections and scattering interactions, in arbitrary order
    • Enrich radio materials with scattering coefficients that control the power distribution between scattered and reflected rays
    • Add support for Lambertian, directive, and backscattering patterns
    • (Paths only) Randomly remove some scattered paths controlled by the scat_keep_prob parameter to avoid an overwhelming number of paths
  • Add support for first-order diffraction, i.e., transmitter -> wedge -> receiver (paths and coverage map)
  • (Breaking change) Replace uniform random sampling of initial ray directions with a Fibonacci lattice
        - Remove seed parameter of Scene.compute_paths() and Scene.coverage_map()
  • (Breaking change) New definition of the coverage map
  • (Breaking change) Scene.compute_paths() now returns paths coefficients instead of transition matrices
    • Remove Paths2CIR layer: Channel impulse responses can be obtained through the Paths.cir() method
    • Applying Doppler shift can now be done through the Paths.apply_doppler() method
  • Add support for the 3GPP TR38901 polarization Model-1
  • Add flags for enabling/disabling paths types in Scene.compute_paths(), Scene.coverage_map() and Paths.cir()
  • Add flags for disabling check of the scene prior to computing paths of coverage maps
  • New scenes
    • simple_wedge: A wedge with a 90 degrees opening angle
    • simple_reflector: A metallic square
    • double_reflector: Two metallic squares
    • triple_reflector: Three metallic rectangles
    • box: A metallic box
  • Fix (#128)

FEC

  • Enhanced MCS support for TBConfig and LDPC5GEncoder (#146, #147)
  • Add support for downlink in Polar5GEncoder and Polar5GDecoder (PR #84)
  • Add feature to return CRC status in PolarSCLDecoder (#134)
  • Numerical improvements in PolarSCLDecoder

Channel models

  • Add discrete channel models:
    • BinaryMemorylessChannel
    • BinarySymmetricChannel
    • BinaryErasureChannel
    • BinaryZChannel
  • Fix (#115)

Tutorials

Other

  • Switch the docker images from Jupyter to JupterLab