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

📄 head_punc.h

📁 主要是针对现在的合作通信中
💻 H
字号:
#include<stdio.h>
#define SIZE 20

int rate1[2][5];
int rate2[2][5];
int rate3[2][5];
int rate4[2][5];

struct punc1{
	int M;
	int G1;
	int G2;
	int a0;
	int a1;
	int a2;
	int a3;
	int a4;
    int a5;
	int a6;
	int a7;
	int a8;
	int a9;
	int fenzi;
	int fenmu;
}punc_table[SIZE];
//struct punc1 punc_table[SIZE];
void load()
{
	FILE *fp;
	int i;
	fp=fopen("punc_table.txt","rb");
	for(i=0;i<SIZE;i++)
	{
		fread(&punc_table[i],sizeof(struct punc1),1,fp);
	
		
	}
	fclose(fp);
}


void punctured_table()
{
	
	int i,j,k,m=0;
	int M;
	int a[SIZE][15];
	for(i=0;i<SIZE;i++)
	{
		a[i][0]=punc_table[i].M;
		a[i][1]=punc_table[i].G1;
		a[i][2]=punc_table[i].G2;
	    a[i][3]=punc_table[i].a0;
	    a[i][4]=punc_table[i].a1;
	    a[i][5]=punc_table[i].a2;
	    a[i][6]=punc_table[i].a3;
	    a[i][7]=punc_table[i].a4;
	    a[i][8]=punc_table[i].a5;
	    a[i][9]=punc_table[i].a6;
	    a[i][10]=punc_table[i].a7;
	    a[i][11]=punc_table[i].a8;
	    a[i][12]=punc_table[i].a9;
		a[i][13]=punc_table[i].fenzi;
		a[i][14]=punc_table[i].fenmu;
	}
/*	for(i=0;i<SIZE;i++)
	{
		for(j=0;j<13;j++)
			printf("%d ",a[i][j]);
		for(j=13;j<14;j++)
			printf("%d",a[i][j]);
		printf("\/");
		//cout<<'/';
		for(j=14;j<15;j++)
		    printf("%d",a[i][j]);
		printf("\n");
	}*/
	printf("please choose the deepth M(2--6):\n");
	scanf("%d",&M);
	printf("你选择的编码深度所对应的穿孔矩阵及其它信息如下:\n");
	for(i=0;i<SIZE;i+=4)
		if(a[i][0]==M)
		{
			printf("M  G1 G2 the punc_table the coding rate:\n");
			if(a[i][0]==2)
			{
				for(j=i;j<i+4;j++)
			
				{
					for(k=0;k<3;k++)
						printf("%d  ",a[j][k]);
				    for(k=3;k<8;k++)
					    printf("%d ",a[j][k]);
				    for(k=13;k<14;k++)
					    printf("        %d",a[j][k]);
					printf("\/");
					for(k=14;k<15;k++)
						printf("%d",a[j][k]);
				    printf("\n");
				    printf("         ");
				    for(k=8;k<13;k++)
					    printf("%d ",a[j][k]);
				
			  
			    	printf("\n");
				}
			}
			if(a[i][0]==3||a[i][0]==4||a[i][0]==5)
			{
				for(j=i;j<i+4;j++)
			
				{
					for(k=0;k<3;k++)
						printf("%d  ",a[j][k]);
				    for(k=3;k<8;k++)
					    printf("%d ",a[j][k]);
				    for(k=13;k<14;k++)
					    printf("        %d",a[j][k]);
					printf("\/");
					for(k=14;k<15;k++)
						printf("%d",a[j][k]);
				    printf("\n");
				    printf("           ");
				    for(k=8;k<13;k++)
					    printf("%d ",a[j][k]);
				
			  
			    	printf("\n");
				}
			}
			if(a[i][0]==6)
			{
				for(j=i;j<i+4;j++)
			
				{
					for(k=0;k<3;k++)
						printf("%d  ",a[j][k]);
				    for(k=3;k<8;k++)
					    printf("%d ",a[j][k]);
				    for(k=13;k<14;k++)
					    printf("        %d",a[j][k]);
					printf("\/");
					for(k=14;k<15;k++)
						printf("%d",a[j][k]);
				    printf("\n");
				    printf("             ");
				    for(k=8;k<13;k++)
					    printf("%d ",a[j][k]);
				
			  
			    	printf("\n");
				}
			}
				for(k=3;k<8;k++)
				{
					rate1[0][m]=a[i][k];
					m++;
				}
				m=0;
				for(k=8;k<13;k++)
				{
					rate1[1][m]=a[i][k];
					m++;
				}
				for(k=3;k<8;k++)
				{
					rate2[0][m]=a[i+1][k];
					m++;
				}
				m=0;
				for(k=8;k<13;k++)
				{
					rate2[1][m]=a[i+1][k];
					m++;
				}
				for(k=3;k<8;k++)
				{
					rate3[0][m]=a[i+2][k];
					m++;
				}
				m=0;
				for(k=8;k<13;k++)
				{
					rate3[1][m]=a[i+2][k];
					m++;
				}
				for(k=3;k<8;k++)
				{
					rate4[0][m]=a[i+3][k];
					m++;
				}
				m=0;
				for(k=8;k<13;k++)
				{
					rate4[1][m]=a[i+3][k];
					m++;
				}


		}
        
}

⌨️ 快捷键说明

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