diff options
Diffstat (limited to 'src/ofdm_put_test_bits.c')
| -rw-r--r-- | src/ofdm_put_test_bits.c | 134 |
1 files changed, 67 insertions, 67 deletions
diff --git a/src/ofdm_put_test_bits.c b/src/ofdm_put_test_bits.c index 88f61d7..4d82e4f 100644 --- a/src/ofdm_put_test_bits.c +++ b/src/ofdm_put_test_bits.c @@ -27,98 +27,98 @@ */ #include <assert.h> +#include <errno.h> +#include <math.h> #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <math.h> -#include <errno.h> #include "codec2_ofdm.h" #include "ofdm_internal.h" #include "test_bits_ofdm.h" #define LOG_FRAMES 100 -#define NDISCARD 20 +#define NDISCARD 20 static struct OFDM *ofdm; int opt_exists(char *argv[], int argc, char opt[]) { - int i; - for (i=0; i<argc; i++) { - if (strcmp(argv[i], opt) == 0) { - return i; - } + int i; + for (i = 0; i < argc; i++) { + if (strcmp(argv[i], opt) == 0) { + return i; } - return 0; + } + return 0; } -int main(int argc, char *argv[]) -{ - FILE *fin; - int i, f, Nerrs, Terrs, Tbits, Terrs2, Tbits2, verbose; - float aber; - - if (argc < 2) { - fprintf(stderr, "\n"); - fprintf(stderr, "usage: %s InputOneCharPerBitFile [-v]\n", argv[0]); - fprintf(stderr, "\n"); - exit(1); +int main(int argc, char *argv[]) { + FILE *fin; + int i, f, Nerrs, Terrs, Tbits, Terrs2, Tbits2, verbose; + float aber; + + if (argc < 2) { + fprintf(stderr, "\n"); + fprintf(stderr, "usage: %s InputOneCharPerBitFile [-v]\n", argv[0]); + fprintf(stderr, "\n"); + exit(1); + } + + if (strcmp(argv[1], "-") == 0) + fin = stdin; + else if ((fin = fopen(argv[1], "rb")) == NULL) { + fprintf(stderr, "Error opening input file: %s: %s.\n", argv[1], + strerror(errno)); + exit(1); + } + + verbose = 0; + if (opt_exists(argv, argc, "-v")) { + verbose = 1; + } + + ofdm = ofdm_create(NULL); + assert(ofdm != NULL); + + int Nbitsperframe = ofdm_get_bits_per_frame(ofdm); + char rx_bits[Nbitsperframe]; + + f = Terrs = Tbits = Terrs2 = Tbits2 = 0; + while (fread(rx_bits, sizeof(char), Nbitsperframe, fin) == Nbitsperframe) { + f++; + + Nerrs = 0; + for (i = 0; i < Nbitsperframe; i++) { + if (test_bits_ofdm[i] != rx_bits[i]) { + Nerrs++; + } } + aber = (float)Nerrs / Nbitsperframe; - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ( (fin = fopen(argv[1],"rb")) == NULL ) { - fprintf(stderr, "Error opening input file: %s: %s.\n", - argv[1], strerror(errno)); - exit(1); - } + Terrs += Nerrs; + Tbits += Nbitsperframe; - verbose = 0; - if (opt_exists(argv, argc, "-v")) { - verbose = 1; + if (f >= NDISCARD) { + Terrs2 += Nerrs; + Tbits2 += Nbitsperframe; } - ofdm = ofdm_create(NULL); - assert(ofdm != NULL); - - int Nbitsperframe = ofdm_get_bits_per_frame(ofdm); - char rx_bits[Nbitsperframe]; - - f = Terrs = Tbits = Terrs2 = Tbits2 = 0; - while (fread(rx_bits, sizeof(char), Nbitsperframe, fin) == Nbitsperframe) { - f++; - - Nerrs = 0; - for(i=0; i<Nbitsperframe; i++) { - if (test_bits_ofdm[i] != rx_bits[i]) { - Nerrs++; - } - } - aber = (float)Nerrs/Nbitsperframe; - - Terrs += Nerrs; - Tbits += Nbitsperframe; - - if (f >= NDISCARD) { - Terrs2 += Nerrs; - Tbits2 += Nbitsperframe; - } - - if (verbose) { - printf("f: %d Nerrs: %d aber: %3.2f\n", f, Nerrs, aber); - } + if (verbose) { + printf("f: %d Nerrs: %d aber: %3.2f\n", f, Nerrs, aber); } + } - fclose(fin); + fclose(fin); - fprintf(stderr, "BER..: %5.4f Tbits: %5d Terrs: %5d\n", (float)Terrs/Tbits, Tbits, Terrs); + fprintf(stderr, "BER..: %5.4f Tbits: %5d Terrs: %5d\n", (float)Terrs / Tbits, + Tbits, Terrs); - if (Tbits2 != 0) { - fprintf(stderr, "BER2.: %5.4f Tbits: %5d Terrs: %5d\n", (float)Terrs2/Tbits2, Tbits2, Terrs2); - } + if (Tbits2 != 0) { + fprintf(stderr, "BER2.: %5.4f Tbits: %5d Terrs: %5d\n", + (float)Terrs2 / Tbits2, Tbits2, Terrs2); + } - ofdm_destroy(ofdm); + ofdm_destroy(ofdm); - return 0; + return 0; } - |
