Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mapping: allow demapping infinite/high SNR symbols #327

Merged
merged 1 commit into from
Apr 23, 2024

Conversation

japm48
Copy link
Contributor

@japm48 japm48 commented Feb 4, 2024

Description

Closes issue #326.
This simply adds the machine epsilon to no before computing the exponents. A min threshold could be used instead, but with this method differentiability is preserved. I don't think it makes sense for _eps to be user-configurable.
Given that there is a max LLR value enforced at the soft decoder side, I believe this should be enough to prevent other overflow issues.

I could add a test for this if needed (e.g.: https://gist.github.com/japm48/41bc963efec39e506c17e419c3d1e13f).

  • Introduces API changes?

No.

Checklist

  • Detailed description
  • Added references to issues and discussions
  • Added / modified documentation as needed
  • Added / modified unit tests as needed
  • Passes all tests
  • Lint the code
  • Performed a self review
  • Ensure you Signed-off the commits. Required to accept contributions!
  • Co-authored with someone? Add Co-authored-by: user@domain and ensure they signed off their commits too.

@japm48 japm48 marked this pull request as draft February 4, 2024 19:15
@japm48
Copy link
Contributor Author

japm48 commented Feb 4, 2024

Do not merge yet, I just found another problematic case where this fix is not enough...

@japm48
Copy link
Contributor Author

japm48 commented Feb 4, 2024

Found another culprit in the MIMO LMMSE equalizer. In this case negative no_eff values were generated, so I incremented that by 4*eps to make it work, but this time I am not so sure this is the right fix, so please review.
I also don't have any simple example demonstrating this part as I tested a full 5G chain, i.e. not easy to extract the individual relevant pieces.

@japm48 japm48 marked this pull request as ready for review February 4, 2024 19:56
Copy link
Collaborator

@SebastianCa SebastianCa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @japm48,
thank you for the PR which fixes issue #326.
I have added a few small comments that should be addressed before we can merge the PR.

sionna/mapping.py Outdated Show resolved Hide resolved
sionna/mapping.py Outdated Show resolved Hide resolved
sionna/mimo/equalization.py Outdated Show resolved Hide resolved
@japm48 japm48 force-pushed the patch-mapper-snr branch 4 times, most recently from e183079 to 71b7e41 Compare April 15, 2024 12:27
sionna/mapping.py Outdated Show resolved Hide resolved
Signed-off-by: Juan A. Pedreira <juan.pedreira@keysight.com>
@japm48
Copy link
Contributor Author

japm48 commented Apr 15, 2024

Applied all suggestions, I think it's now ready to merge, but I would leave the issue open until I figure out the potential problem in the MIMO equalizer.
BTW, I found this neat "suggest change" Github functionality, could save us some back-and-forth messaging in the future.

@jhoydis jhoydis merged commit 3a4538d into NVlabs:main Apr 23, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants