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

📄 encode.cpp

📁 程序中给出了一个和积算法的LDPC程序
💻 CPP
字号:

#include "LR_en_de_CODE.h"
using namespace  std;

void arrange_col(int j,int x);

extern unsigned char P_MAT[H_row][H_col-H_row];
extern int rearranged_col[H_row];

void encode(int *out_address)
{
	    unsigned char signal_bit[H_col-H_row],check_bit[H_row],total_bit[H_col];
		int temp_int,i,j;
		unsigned char temp_char;
			for(i=0;i<H_col-H_row;i++)
			{
				if((((int)(rand()))%2)==0)
					signal_bit[i]=0;
				else
					signal_bit[i]=1;
			}
			
			for(i=0;i<H_row;i++)
			{
				for(j=0;j<H_col-H_row;j++)
				{
					if(j==0)
						temp_char=signal_bit[j]&P_MAT[i][j];
					else
						temp_char=temp_char^(signal_bit[j]&P_MAT[i][j]);
				}
				check_bit[i]=temp_char;
			}	
			for(i=0;i<H_col;i++)
			{
				if(i<H_row)
					total_bit[i]=check_bit[i];
				else
					total_bit[i]=signal_bit[i-H_row];
			}	
			for(i=H_row-1;i>=0;i--)
			{
				if(rearranged_col[i]!=0)
				{   
					temp_int=rearranged_col[i];
					temp_char=total_bit[i];
					total_bit[i]=total_bit[temp_int];
					total_bit[temp_int]=temp_char;
				}
			}
			for(i=0;i<H_col;i++)
			{
				*(out_address+i)=(int)total_bit[i];
			}
}

⌨️ 快捷键说明

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