How to explain the detection rate performance gap between the litterature results and the results one can get with the Running Example "5G NR PRACH Detection Test" ?

7 visualizzazioni (ultimi 30 giorni)
Hi,
This is the first time I try to ask for help on this platform. I am sorry if my question seems incomplete or if essential details are missing.
I used the 5G NR PRACH Detection Test running example available with Matlab 5G Toolbox : 5G NR PRACH Detection Test - MATLAB & Simulink (mathworks.com).
If my understanding is correct, the script parameters are already set-up to simulate the detections of Format 0 preambles (but I may be wrong). So I did not change the PRACH configuration.
I have made minor changes to the script (see attachment) :
  • In order to simulate the performance in awgn conditions, I removed the usage of the nrTDLChannel object.
  • I have configured a basic SISO configuration: 1 Tx 1 Rx.
  • I have set up the frequency offset foffsetto 0 Hz.
  • I have increased the number of subframes to get a more accurate estimation of the detection rate.
With this updated version of the script, I get more than 99% of detection rate for a SNR of -26 dB. There is no example provided with the 5G Toolbox to evaluate the false alarm rate. But it can be done by only feeding noise to the detector and count the number of successful detections. If you do so, you can estimate the false alarm rate to be very close to 0.1 % for a SNR of -26 dB.
However, when I looked to the performance results available in the literature online I found much more degraded results (for 1 TX 2 RX configurations) :
  • From the 3GPP specifications in Section 8.4.1.5 Table 8.4.1.5-1 of TS 38.141-1:
Of course, this value is a requirement for the base station so it must include some implementation margins (typically ~3 dB) for the constructors but still it is quite far from the -26dB. Moreover, since the configuration specified above is 1 Tx 2 Rx, the specified SNR value is expected to be lower than the one we can get through simulation based on a 1 Tx 1 Rx configuration.
  • From 3GPP Tdocs
In these documents, the simulation results show that the SNR required are around -17 dB.
I did not check in too much detail the detector implementation proposed in the matlab script. I am aware that different implementations lead to different performance levels. However, I am really surprised and don’t understand how one can get a 10 dB decrease of the minimal SNR to get a detection rate superior to 99% with respect to "state of the art" detection SNR levels.
If you have any hints to explain this gap of performance or if you see something I have been doing wrong to evaluate the detection rate performance in matlab and compare it with the mentioned references, I would be very grateful if you can share it with me :)
Kind Regards,

Risposta accettata

Alessandro Peloni
Alessandro Peloni il 13 Lug 2022
Hi Baptiste,
Thanks for reaching out. What version of MATLAB are you using? In R2022a, this example has been updated with a fix in the SNR definition. You might want to look into that: https://uk.mathworks.com/help/5g/ug/5g-nr-prach-detection-test.html .
Also, two additional minor points (which I don't believe affect the results significantly but still is good to keep in mind):
  1. The value of the preamble index you used is 31, whereas the conformance tests say to use 32 (TS 38.141-1 Table A.6-1)
  2. I would use the configurations mentioned in the conformance tests to start with, so to be sure
Anyway, with the updated value of SNR as per the R2022a version of the example, I got 0% detection threshold for -25 dB which is expected in my opinion.
Hope this helps.
Cheers,
Alessandro
  2 Commenti
Baptiste Chamaillard
Baptiste Chamaillard il 1 Ago 2022
Hi Alessandro,
Thank you very much for your feedback.
I am currently using R2021a. I checked the latest implementation available in R2022a provided in your answer. Indeed, there is some difference in the SNR definition. The main one comes from the Nfft value to be considered.
R2022a - NewRadioPRACHDetectionExample:
SNR = 10^(SNRdB(snrIdx)/10);
carrierOFDMInfo = nrOFDMInfo(carrier);
N0 = 1/sqrt(2.0*channel.NumReceiveAntennas*double(carrierOFDMInfo.Nfft)*SNR);
R2021a - NewRadioPRACHDetectionExample:
SNR = 10^(SNRdB(snrIdx)/20);
N0 = 1/(sqrt(2.0*channel.NumReceiveAntennas*double(ofdmInfo.Nfft))*SNR);
I think it explains the performance mismatch.
By the way, is there a way to get the description of the fixes/updates implemented in a given running example between two consecutive releases ?
Thank you for the two other points you mentioned about the conformance test configuration.
Regards,
Baptiste
Alessandro Peloni
Alessandro Peloni il 1 Ago 2022
Hi Baptiste,
I'm glad that my answer was to your satisfaction :D
We do list major updates in the examples and toolbox functions in the release notes of every MATLAB release. However, sometimes when the updates are minor, we don't. In this case, the update wasn't listed unfortunately.
Cheers,
Alessandro

Accedi per commentare.

Più risposte (0)

Tag

Prodotti


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by