testqamdem.c

来自「该文件包内包含了一个16QAM调制解调程序」· C语言 代码 · 共 40 行

C
40
字号
#include <stdio.h>
#include "QAMSoftDem.h"
#include "math.h"


void main ()
{
	struct AWGN channel;
	struct AWGN *ch;		
	int signum;
	int bitlen = 64;
	int siglen = 16;
	int outlen;
	double sig_real[16],out_real[16];
	double sig_img[16],out_img[16];
	int outbit[64];
	int i;	
	int inbit[64] ={0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,0,0,1,0,1,0,1,1,0,0,1,1,1,1,0,0,0,1,0,0,1,1,0,1,0,1,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,1};
	
	channel.ix=30323;
	channel.iy=173;
	channel.iz=13;
	channel.snr=1;
	channel.I_sigma=2*(pow(10.0,(channel.snr))/10);
	channel.sigma=sqrt(1/channel.I_sigma);
	ch=&channel;
	
	signum=GrayMap16QAM(inbit,bitlen,sig_real,sig_img);
	awgn_channel(sig_real,sig_img,out_real,out_img,ch,siglen);
	outlen=QAMDem(out_real,out_img,siglen,outbit);
	printf("The result(%d bits) is :",outlen);
	for(i=0;i<64;i++)
	{
		if (i%4==0) {
			printf("\n");
		}
		printf("%d",outbit[i]);
	}
	printf("\n");
}

⌨️ 快捷键说明

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