⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graymap16qam.c

📁 该文件包内包含了一个16QAM调制解调程序
💻 C
字号:
/*
***********************************************************************
ANSI C source code
filename:
	GrayMap16QAM.c
abstract:
	to perform the Gray Mapping
author:
	Shen Ke
version:
	V 1.0
***********************************************************************
*/

#include "QAMSoftDem.h"
#include "math.h"
#include "stdio.h"

int GrayMap16QAM (int *inbit,int bitlen,double *out_real,double *out_img)
{
	int inpos = 0;
	int outpos = 0;
	int site_r,site_i;	
	int m = 4;
	double GrayMap[4];
	GrayMap[0] =  1/(sqrt(10)); 
	GrayMap[1] =  3/(sqrt(10));
	GrayMap[2] = -1/(sqrt(10)); 
	GrayMap[3] = -3/(sqrt(10));    // set bitSNR=1,for Psingnal=4*Pbit
	
	if (bitlen%m) {
		printf("Wrong bit length!");
		return 0;
	}
	
	while (inpos<bitlen) {
		site_r = 0;
		site_i = 0;
		if (*(inbit+inpos))  site_r +=2;
		inpos++;
		if (*(inbit+inpos))  site_i +=2;
		inpos++;
		if (*(inbit+inpos))  site_r +=1;
		inpos++;
		if (*(inbit+inpos))  site_i +=1;
		inpos++;
		
		*(out_real+outpos) = GrayMap[site_r];
		*(out_img+outpos) = GrayMap[site_i];
		outpos++;
		
	}
	
	return outpos;
}

⌨️ 快捷键说明

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