mirror of https://gerrit.osmocom.org/libosmocore
48 lines
900 B
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);
|
|
}
|