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

Enhance idle mode #20

Merged
merged 4 commits into from
Jul 3, 2020
Merged

Enhance idle mode #20

merged 4 commits into from
Jul 3, 2020

Conversation

lukasostendorf
Copy link
Collaborator

@lukasostendorf lukasostendorf commented Jul 2, 2020

This PR will make the the DL channel way more silent and simplify the pilot tone generation.

  • Pilot tones are now generated via an msequence that is reset at the start of every slot. This is the same for UL and DL.
  • Basestation will now remain silent when there is no data to transmit
  • Initial gain control had to be changed, to work with the more silent BS. We use fast_attack mode during initial gain estimation.

NOTE: This PR makes the BS and Client software incompatible with previous versions! Pilot definitions changed and the client cannot expect that the BS is always transmitting anymore.

Tests

Since we rely on manual testing, here is what tests will be performed:

  • Compile-able for all targets
  • General operability of the simulation target. Client and BS can connect and transfer data.
  • Verify that the BER did not increase in simulation
  • General operability of the standalone targets. Client and BS can connect and transfer data.

Simulations in Rayleigh fading channel for downlink show a slight performance decrease.
downlink ber performance

Simulations with static multipath in the uplink show that the BER performance is similar to the current version
enhance_idle_ber_ul

if there are N available buffer objects, there is a delay of
N-1 until the one which is currently prepared will be sent.
- Pilots are BPSK modulated subcarriers, generated from an msequence
- The msequence is now properly reset at the start of every slot in both
  uplink and downlink.
- We use the pilot_symbols_rx/tx variable to indicate when the msequence
  has to be reset
- before, Pilot tones were transmitted regardless whether any data
  was scheduled. This fix makes the DL way more silent during idling.
@lukasostendorf lukasostendorf added the enhancement New feature or request label Jul 2, 2020
@lukasostendorf lukasostendorf linked an issue Jul 2, 2020 that may be closed by this pull request
@lukasostendorf lukasostendorf changed the title Enhance idle mode #9 Enhance idle mode Jul 2, 2020
@lukasostendorf
Copy link
Collaborator Author

Additionally this PR solves a conflict with the half-duplex constraint in the current HNAP version: So far, a client continuously tracks the pilot tones sent by the basestation. This also happens if the client transmits in the UL. This violates the half-duplex constraint and can cause erroneous channel estimations in the DL.

@lukasostendorf lukasostendorf marked this pull request as ready for review July 3, 2020 12:11
@dl1com dl1com merged commit de7a3be into develop Jul 3, 2020
@dl1com dl1com deleted the enhance_idle_mode branch July 3, 2020 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Evaluate behavior in idle mode of basestation
2 participants