libosmocore/tests/prbs/prbs_test.c

48 lines
900 B
C

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <osmocom/core/prbs.h>
static void dump_bits(const ubit_t *bits, unsigned int num_bits)
{
unsigned int i;
for (i = 0; i < num_bits; i++) {
if (bits[i])
fputc('1', stdout);
else
fputc('0', stdout);
}
fputc('\n',stdout);
}
static void test_prbs(const struct osmo_prbs *prbs)
{
struct osmo_prbs_state st;
unsigned int i;
printf("Testing PRBS sequence generation '%s'\n", prbs->name);
osmo_prbs_state_init(&st, prbs);
/* 2 lines */
for (i = 0; i < 2; i++) {
unsigned int seq_len = (1 << prbs->len)-1;
ubit_t bits[seq_len];
memset(bits, 0, sizeof(bits));
osmo_prbs_get_ubits(bits, sizeof(bits), &st);
dump_bits(bits, sizeof(bits));
}
printf("\n");
}
int main(int argc, char **argv)
{
test_prbs(&osmo_prbs7);
test_prbs(&osmo_prbs9);
test_prbs(&osmo_prbs11);
test_prbs(&osmo_prbs15);
exit(0);
}