📄 head_punc.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 + -