📄 test_mrog.c
字号:
/* * $Log: test_mrog.c,v $ * Revision 1.1 2000/05/03 14:30:04 bjc97r * Initial revision * */char *id = "$Id: test_mrog.c,v 1.1 2000/05/03 14:30:04 bjc97r Exp $";#include <stdio.h>#include <stdlib.h>#include "mrog.h"#include "pnutil.h"#define THREE 1#ifdef THREE#define SIZE 32#define ORDER 3#define POLY0 013#define POLY1 015#endif#ifdef FIVE#define SIZE 256#define ORDER 5#define POLY0 045#define POLY1 075#endifint main( void ) /* This program shows how to use MROG package. */{ Mrog *pn0, *pn1; char *pnd0, *pnd1; int i, ii, j, jj; pnd0 = (char*) malloc(SIZE); pnd1 = (char*) malloc(SIZE); /* Cross-correlation Property: Orthogonal */ puts("\nCross-correlation Property\n"); for( i = 0; i < SIZE; i++ ) { pn0 = mrog_create(ORDER, POLY0, POLY1, i); for( ii = 0; ii < SIZE; ii++ ) { pnd0[ii] = mrog(pn0); } printf("%3d: ", i); for( j = 0; j < SIZE; j++ ) { pn1 = mrog_create(ORDER, POLY0, POLY1, j); for( jj = 0; jj < SIZE; jj++ ) { pnd1[jj] = mrog(pn1); } /* calculate x-correlation */ printf("%1d", pn_xcorr(pnd0, pnd1, 0, SIZE) ); mrog_free(pn1); } puts(""); mrog_free(pn0); } /* The Orthogonal Gold codes */ puts("\nThe Multi-Rate Orthogonal Gold Codes\n"); for( i = 0; i < SIZE; i++ ) { pn0 = mrog_create(ORDER, POLY0, POLY1, i); printf("%3d: ", i); for( ii = 0; ii < SIZE; ii++ ) { printf("%1d", mrog(pn0) ); } puts(""); mrog_free(pn0); } /* Auto-correlation Property */ puts("\nAuto-correlation Property\n"); for( i = 0; i < SIZE; i++ ) { /* make gold[i] */ pn0 = mrog_create(ORDER, POLY0, POLY1, i); for( ii = 0; ii < SIZE; ii++ ) { pnd0[ii] = mrog(pn0); } mrog_free(pn0); /* calculate auto-correlation */ printf("%2d:", i ); for( j = 0; j < SIZE; j++ ) { printf(" %3d", pn_acorr(pnd0, j, SIZE) ); } puts(""); } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -