qpsk.cpp

来自「有关卷积编码的维特比算法,是硬判决的啊,希望大家」· C++ 代码 · 共 67 行

CPP
67
字号
#include "QPSK.h"
#include <cmath>
#include<math.h>

QPSK::QPSK()
{

}

QPSK::~QPSK()
{

}


void QPSK::qpsk(int *input_data,double *ich,double *qch,int size)
{
	double kmod=1;//1/sqrt(2);

	for (i=0;i<size/2;i++)
	{
		if (input_data[i*2]==0)
			ich[i]=-1;
		else 
			ich[i]=1;

		if(input_data[i*2+1]==0)
			qch[i]=-1;
		else
			qch[i]=1;
	}
	for(i=0;i<size/2;i++)
	{
		ich[i]=ich[i]*kmod;
		qch[i]=qch[i]*kmod;
	}
}



void QPSK::de_qpsk(double *data_ich,double *data_qch, int *out,int size)
{	
	double kmod=1/sqrt(2);

	for(i=0;i<size;i++)
	{
		data_ich[i]=data_ich[i]/kmod;
		data_qch[i]=data_qch[i]/kmod;
	}
	for(i=0;i<size;i++)
	{
		if (data_ich[i]<0)
			out[2*i]=0;
		else
			out[2*i]=1;

		if (data_qch[i]<0)
			out[2*i+1]=0;
		else
			out[2*i+1]=1;
	}
}




⌨️ 快捷键说明

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