📄 graymap_16qam.c
字号:
#include"math.h"
#include"stdio.h"
#include"AWGN.h"
void Graymap16QAM(double *inputbit,double *out_I,double *out_Q,int bitlen)
{
int in=0;
int out=0;
int site_I,site_Q;
double GrayMap[4];
GrayMap[0] = -3/(sqrt(10));
GrayMap[1] = -1/(sqrt(10));
GrayMap[2] = 3/(sqrt(10));
GrayMap[3] = 1/(sqrt(10));
if(bitlen%4)
{
printf("%s","Wrong bit length!");
}
while(in<bitlen)
{
site_I=0;
site_Q=0;
if(*(inputbit+in)) site_I+=1;
in++;
if(*(inputbit+in)) site_I+=2;
in++;
if(*(inputbit+in)) site_Q+=1;
in++;
if(*(inputbit+in)) site_Q+=2;
in++;
*(out_I+out)=GrayMap[site_I];
*(out_Q+out)=GrayMap[site_Q];
out++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -