sionna icon indicating copy to clipboard operation
sionna copied to clipboard

Implement transform precoding (DFT-s-OFDM)

Open danielschaeufele opened this issue 1 year ago • 4 comments

Description

Implement transform precoding (DFT-s-OFDM) with the following steps:

  1. Add new classes PUSCHTransformPrecoder and PUSCHTransformDeprecoder.
  2. Add call to PUSCHTransformPrecoder to PUSCHTransmitter when transform precoding is enabled.
  3. Add call to PUSCHTransformDeprecoder to PUSCHReceiver (via the added parameter post_equalizer_transformation of LinearDetector) when transform precoding is enabled.
  4. Implement low-PAPR sequence type 1 and use it as pilot sequence when transform precoding is enabled.
  5. Due to restrictions on the number of PRBs that are in use (the highest allowed prime factor is 5) the attributes num_effective_ressource_blocks and num_effective_subcarriers were added to PUSCHConfig and were used instead of num_ressource_blocks and num_subcarriers whenever the number of used subcarriers is relevant.

Prior discussion about this feature can be found here.

  • Fixes a bug?

No

  • Adds a new feature?

Yes, see description above

  • Introduces API changes?

    • PUSCHDMRSConfig.n_sid was added, because this parameter controls which pilot sequence is used for transform precoding.
    • num_effective_ressource_blocks and num_effective_subcarriers were added to PUSCHConfig to account for the fact that not all subcarriers might be used when transform precoding is enabled.
    • PUSCHConfig.transform_precoding used to be a placeholder, now it changes the behavior.

None of these changes should break older code

  • Other contributions

Some misspellings have been fixed.

Checklist

  • [x] Detailed description
  • [x] Added references to issues and discussions
  • [x] Added / modified documentation as needed
  • [x] Added / modified unit tests as needed
  • [x] Passes all tests
  • [x] Lint the code
  • [x] Performed a self review
  • [x] Ensure you Signed-off the commits. Required to accept contributions!

danielschaeufele avatar Jun 04 '24 17:06 danielschaeufele

Hi @danielschaeufele,

thank you for the PR. We will review it and give feedback soon.

SebastianCa avatar Jun 05 '24 09:06 SebastianCa

Hi @danielschaeufele,

Thank you very much for this substantial pull request! Unfortunately, we do not have the bandwidth to review it anytime soon.

jhoydis avatar Jun 21 '24 08:06 jhoydis

Is it so @danielschaeufele this wasn't merged ?

sayeNordicSemi avatar Oct 31 '24 16:10 sayeNordicSemi

Yes, it wasn't merged yet (and it is unlikely that it will be merged in the future). In the meantime you can install my version from here: https://github.com/danielschaeufele/sionna/tree/main

danielschaeufele avatar Oct 31 '24 17:10 danielschaeufele