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
Connection between UE and GNB with delay #436
Comments
Hi, the purpose of the timing_advance_nsamples parameter is to balance the offset between TX and RX paths at the UE. If there is such an offset, the DL and UL frame structures are not synchronized (i.e., they are shifted in time a bit). As a result, a PRACH preamble could arrive at gNB before the start of the reception window. This will result in incorrect TA estimation, which will be sent to UE in a RAR message. If the UE decodes the RAR, it will try to correct its timing by the incorrectly estimated TA value, which will make the situation even worse. But it might also happen that the UE is not able to decode RAR. You need to start with some reasonable rx/tx gain configuration so that the gNB can detect the PRACH preamble, but then you need to tune timing_advance_nsamples to achieve a correct preamble detection with TA in the range of 2-10us. It should be possible to operate with a delay of up to 10s us, but this also depends on the PRACH configuration (format + ZCZ + CP). Do you add the delay in both directions (i.e., DL and UL) or only one direction? Do you add a delay after the UE is connected or before the connection? |
Hi @pgawlowicz, thank you for your support. Your explanation is very precise. Update: I navigated through the project code and found a formula to compute the time_adv_nsamples by interpolation as follows: nsamples = uhd_default_tx_adv_samples + (cur_tx_srate * uhd_default_tx_adv_offset_sec) where:
As mentioned earlier, I used the resulting value nsamples as the time_adv_nsamples in the UE configuration file. This way, I successfully connected the UE and GNB (obtaining the UE IP address and TA = 4) considering a delay of 20 microseconds in each direction (40 microseconds total UL + DL delay). However, after such a delay value, the system stopped working (no connection). Keep in mind that I only set the time_adv_nsamples value as above while the rx/tx gains remain the same. The noise value with this delay seems reasonable, according to the values obtained with less delay. What do you suggest for connecting UE/GNB with a higher delay? Do you think I should modify the code, or can I improve the results by fine-tuning the tx/rx gains or something else? Thank you for your time. |
By default, the Could you clarify when the TA=4? Is it already with a 20us extra one-way delay, or is it the baseline scenario (without the extra delay)? Unfortunately, the srsUE supports only the PRACH format 0, so if you want to test different formats you need to use COTS phone or Amarisoft UE. Or add the support for PRACH format 1 in srsUE what should allow for 4-5x bigger delay. [1] https://www.sharetechnote.com/html/5G/5G_RACH.html#Random_Access_Configuration |
Good evening @pgawlowicz,
As you can see, the system seems to work even with higher delays (200/500/1000 us ...). Thank you |
Hi @Leon1da, have you solved the issue? |
@Lab1R531, the long delays in NTN deployments require NTN extensions to the gnb. Those are already implemented. To run in a GEO satellite scenario, you just need to apply this config on top of your default one: https://github.com/srsran/srsRAN_Project/blob/main/configs/geo_ntn.yml, i.e., Note that the UE also has to be updated with the NTN extensions. Currently, srsUE does not support NTN, but we have tested with AmarisoftUE (with NTN extensions) and it works pretty well. In the GEO scenario, one just needs to emulate a long delay between UE and gNB. For the LEO scenario, a more advanced channel emulator is needed (changing delay and Doppler freq). |
Thank you for your answer @pgawlowicz ! |
Issue Description
I'm trying to connecting the UE and GNB via radio following the documentation and the connection seems to working fine!
I already solved the issue of unstuble connection by tuning the rx/tx gains parameters in both UE and GNB, following the recently opened issues respones. srsRAN_Project: #343
I tested the UE/GNB connection in my university lab using a channel emulator using increasing delay. After ~1us, I noticed that the connection started to be unstable again, so I opted to tuning again the tx/rx gains in both applications and also the timing advance of the UE according. srsRAN_4G: #805
Now, I would like to known how the timing_advance_nsamples parameter is related to the tx/rx gains and how the system manages the delays. Is there some upper bound on the communication delay that should be keep into account when the connection is estabilished ? What is the maximum delay that the system can support and for which it is supposed to work ?
Thank you.
Setup Details
I'm updated with the last release of both srsRAN_4G (UE) and srsRAN_Project (GNB)
Operating System: Ubuntu 22.04
SDRs: USRP B210
Expected Behavior
I suppose that until a certain delay (~100us) the radio connection should work fine.
Actual Behaviour
After a delay of about 2/3us UE and GNB cannot connect each other.
The text was updated successfully, but these errors were encountered: