ber.c

来自「QPSK在AWGN传输中的检测性能 仿真计算」· C语言 代码 · 共 28 行

C
28
字号
#include	"const.h"

extern double CNR;


void BER(int loop, int (*tbit), int (*rbit)){
	int n, error = 0;
	double Pe;
	static double AverageBER = 0.0;
	FILE *fp;

	for(n=0; n<BITN; n++){
		if(tbit[n] != rbit[n]) error++;
	}
	Pe = (double) error / BITN;
	AverageBER += (double) Pe /	LOOPN;
	//printf("# %5d: Eb/N0 = %f, %e\t%e\n", loop, (CNR - 3.0), Pe, AverageBER);

	if(loop==LOOPN-1){
		printf("Eb/N0 = %f, Average BER = %e\n",(CNR - 3.0), AverageBER);
		fp = fopen(FILENAME,"a");
		fprintf(fp,"%f\t%e\n",(CNR - 3.0), AverageBER);
		fclose(fp);
		
		AverageBER = 0.0;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?