move init_delay_table to nr_phy_common

This commit is contained in:
francescomani
2025-04-01 19:15:08 +02:00
committed by Robert Schmidt
parent c6ccda2998
commit 331325b0f3
3 changed files with 16 additions and 17 deletions
@@ -20,6 +20,7 @@
*/
#include "nr_phy_common.h"
#include <complex.h>
#ifdef __aarch64__
#define USE_128BIT
#endif
@@ -56,6 +57,20 @@ void init_byte2m128i(void) {
}
}
void init_delay_table(uint16_t ofdm_symbol_size,
int max_delay_comp,
int max_ofdm_symbol_size,
c16_t delay_table[][max_ofdm_symbol_size])
{
for (int delay = -max_delay_comp; delay <= max_delay_comp; delay++) {
for (int k = 0; k < ofdm_symbol_size; k++) {
double complex delay_cexp = cexp(I * (2.0 * M_PI * k * delay / ofdm_symbol_size));
delay_table[max_delay_comp + delay][k].r = (int16_t)round(256 * creal(delay_cexp));
delay_table[max_delay_comp + delay][k].i = (int16_t)round(256 * cimag(delay_cexp));
}
}
}
int16_t saturating_sub(int16_t a, int16_t b)
{
int32_t result = (int32_t)a - (int32_t)b;