encode.cpp

来自「LDPC的完整c语言开发源程序代码」· C++ 代码 · 共 36 行

CPP
36
字号
#include "LDPC_head.h"
#include <stdlib.h>

code *encode(struct matrix_bit *matrix, unsigned int *message)
{
	
	code *code1;
	unsigned int i;
	unsigned int j;
	unsigned int k;

	code1=(struct code *) malloc (sizeof(struct code));
	code1->length=matrix->N;
	code1->codeword=(double *) malloc ((sizeof(double))*code1->length);

	for(i=0;i<code1->length;i++)
	{
		k=0;
		for(j=0;j<matrix->G_mcw;j++)
		{
			if(matrix->G[j*matrix->N+i]!=0)
			{
				k+=message[matrix->G[j*matrix->N+i]-1];
			}
		}
		if(k%2==0)
		{
			code1->codeword[i]=1;
		}else
		{
			code1->codeword[i]=-1;
		}
	}
	return(code1);

}

⌨️ 快捷键说明

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