Merge remote-tracking branch 'origin/fix-simplify-prach-nrue' into integration_2026_w03 (!3791)
fix array lenght errors, k variable wrapping threshold. Make the code smaller and more efficient generate_nr_prach() has several errors coming from replace int16_t by c16_t, and also older error in k wrapping at the end of the symbol the code is also ridiculously complex, wasting memory and cpu time in intermediate useless buffers and headache usage of memmove()
This commit is contained in:
@@ -874,6 +874,7 @@ void get_samplerate_and_bw(int mu,
|
||||
switch(n_rb) {
|
||||
case 270:
|
||||
if (threequarter_fs) {
|
||||
warn_higher_threequarter_fs(n_rb, mu);
|
||||
*sample_rate=92.16e6;
|
||||
*samples_per_frame = 921600;
|
||||
*tx_bw = 50e6;
|
||||
@@ -973,6 +974,7 @@ void get_samplerate_and_bw(int mu,
|
||||
|
||||
case 273:
|
||||
if (threequarter_fs) {
|
||||
warn_higher_threequarter_fs(n_rb, mu);
|
||||
*sample_rate=184.32e6;
|
||||
*samples_per_frame = 1843200;
|
||||
*tx_bw = 100e6;
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <stdlib.h>
|
||||
#include "assertions.h"
|
||||
#include "common/utils/utils.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
|
||||
#define MAX_SI_GROUPS 3
|
||||
#define NR_MAX_PDSCH_TBS 3824
|
||||
@@ -272,6 +273,19 @@ static __attribute__((always_inline)) inline int count_bits64_with_mask(uint64_t
|
||||
return count_bits64(v & mask);
|
||||
}
|
||||
|
||||
static inline void warn_higher_threequarter_fs(const int n_rb, const int mu)
|
||||
{
|
||||
LOG_W(PHY,
|
||||
"3/4 sampling is not possible for current PRB size: %d and numerology: %d.\n "
|
||||
"So 6/4 sampling is chosen to support x3xx type USRPs.\n "
|
||||
"Note that this sampling rate increases fronthaul traffic, FFT buffer size and processing time by a factor of two compared "
|
||||
"to 3/4 sampling rate.\n "
|
||||
"Some PRACH configuration might not be supported with 6/4 FFT size.\n "
|
||||
"Consider reducing the PRB size that would fit within the FFT size of 3/4 sampling\n",
|
||||
n_rb,
|
||||
mu);
|
||||
}
|
||||
|
||||
uint64_t reverse_bits(uint64_t in, int n_bits);
|
||||
void reverse_bits_u8(uint8_t const* in, size_t sz, uint8_t* out);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user