Added sequence advance without generating data

This commit is contained in:
Xavier Arteaga 2020-09-28 16:47:16 +02:00 committed by Xavier Arteaga
parent fa837925d0
commit 579526f1fe
2 changed files with 22 additions and 2 deletions

View File

@ -39,9 +39,11 @@ typedef struct SRSLTE_API {
uint32_t x2;
} srslte_sequence_state_t;
void srslte_sequence_state_init(srslte_sequence_state_t* s, uint32_t seed);
SRSLTE_API void srslte_sequence_state_init(srslte_sequence_state_t* s, uint32_t seed);
void srslte_sequence_state_gen_f(srslte_sequence_state_t* s, float value, float* out, uint32_t length);
SRSLTE_API void srslte_sequence_state_gen_f(srslte_sequence_state_t* s, float value, float* out, uint32_t length);
SRSLTE_API void srslte_sequence_state_advance(srslte_sequence_state_t* s, uint32_t length);
typedef struct SRSLTE_API {
uint8_t* c;

View File

@ -274,6 +274,24 @@ void srslte_sequence_state_gen_f(srslte_sequence_state_t* s, float value, float*
}
}
void srslte_sequence_state_advance(srslte_sequence_state_t* s, uint32_t length)
{
uint32_t i = 0;
if (length >= SEQUENCE_PAR_BITS) {
for (; i < length - (SEQUENCE_PAR_BITS - 1); i += SEQUENCE_PAR_BITS) {
// Step sequences
s->x1 = sequence_gen_LTE_pr_memless_step_par_x1(s->x1);
s->x2 = sequence_gen_LTE_pr_memless_step_par_x2(s->x2);
}
}
for (; i < length; i++) {
// Step sequences
s->x1 = sequence_gen_LTE_pr_memless_step_x1(s->x1);
s->x2 = sequence_gen_LTE_pr_memless_step_x2(s->x2);
}
}
// static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
int srslte_sequence_set_LTE_pr(srslte_sequence_t* q, uint32_t len, uint32_t seed)
{