• 大小: 755KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-19
  • 语言: 其他
  • 标签: 5G  LDPC  

资源简介

5G标准下的LDPC编码C代码,支持5G标准下的多种校验矩阵H,支持码率兼容

资源截图

代码片段和文件信息

#include“encode.h“
void circshift(int Zint s[] int k)
{
int*temp= (int*)malloc(sizeof(int)*Z);
for (int i = 0; i < Z; i++){
temp[i] = s[(i + k) % Z];
}
for (int i = 0; i < Z; i++){
s[i] = temp[i];
}
free(temp);
}
void readQ_base(int **Q_base int BG int i_LS int M int K int Q_baseBlockColumn)
{
FILE *fp;
if (BG == 1){
switch (i_LS){
case 1:
fp = fopen(“F:\\BG1_Q_base1.txt“ “r“);
break;
case 2:
fp = fopen(“F:\\BG1_Q_base2.txt“ “r“);
break;
case 3:
fp = fopen(“F:\\BG1_Q_base3.txt“ “r“);
break;
case 4:
fp = fopen(“F:\\BG1_Q_base4.txt“ “r“);
break;
case 5:
fp = fopen(“F:\\BG1_Q_base5.txt“ “r“);
break;
case 6:
fp = fopen(“F:\\BG1_Q_base6.txt“ “r“);
break;
case 7:
fp = fopen(“F:\\BG1_Q_base7.txt“ “r“);
break;
case 8:
fp = fopen(“F:\\BG1_Q_base8.txt“ “r“);
break;
}
}
else{
switch (i_LS){
case 1:
fp = fopen(“F:\\BG2_Q_base1.txt“ “r“);
break;
case 2:
fp = fopen(“F:\\BG2_Q_base2.txt“ “r“);
break;
case 3:
fp = fopen(“F:\\BG2_Q_base3.txt“ “r“);
break;
case 4:
fp = fopen(“F:\\BG2_Q_base4.txt“ “r“);
break;
case 5:
fp = fopen(“F:\\BG2_Q_base5.txt“ “r“);
break;
case 6:
fp = fopen(“F:\\BG2_Q_base6.txt“ “r“);
break;
case 7:
fp = fopen(“F:\\BG2_Q_base7.txt“ “r“);
break;
case 8:
fp = fopen(“F:\\BG2_Q_base8.txt“ “r“);
break;
}
}
for (int i = 0; i < M; i++){
for (int j = 0; j seBlockColumn; j++){
fscanf(fp “%d“ &Q_base[i][j]);
}
}
fclose(fp);
}
void caculateP(int Zint **P int**Q_base int**S_parallel int M int K){
for (int i = 0; i < M; i++)
for (int j = 0; j < Z; j++)
P[i][j] = 0;//initialize P
int*temp = (int*)malloc(sizeof(int)*Z);
for (int i = 0; i < M; i++)
{
for (int j = 0; j < K; j++)
{
for (int k = 0; k < BlockMaxRowWeight; k++)
{
if (Q_base[i][j * BlockMaxRowWeight + k] == 500)
{
for (int l = 0; l < Z; l++)
temp[l] = 0;
}
else
{
int cycShifCoeffi= Q_base[i][j * BlockMaxRowWeight + k];//get cycle shift coefficient in Q_base
for (int l = 0; l < Z; l++)
{
temp[l] = S_parallel[j][l];
}
circshift(Z temp cycShifCoeffi);//the corresponding cyclic shifting of the pareller source is carried out by the cyclic shift coefficient
}

for (int l = 0; l  P[i][l] = P[i][l] ^ temp[l];
}
}
}
free(temp);
}
void stitchingSP(int Zint**S_parallel int**P int*C int K int M){
for (int i = 0; i {
for (int j = 0; j {
C[i*Z + j] = S_parallel[i][j];
}
}
for (int i = 0; i {
for (int j = 0; j {
C[(i + K)*Z + j] = P[i][j];
}
}
}
void encode_close(int**S_parallel int**P int**Q_base int M  int K){
for (int i = 0; i < K; i++){
free(S_parallel[i]);
}
free(S_parallel);
for (int i = 0; i < M; i++){

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      61440  2017-09-21 20:57  LDPC编码C代码\Debug\ldpc_encode.exe

     文件     255044  2017-09-21 20:57  LDPC编码C代码\Debug\ldpc_encode.ilk

     文件     602112  2017-09-21 20:57  LDPC编码C代码\Debug\ldpc_encode.pdb

     文件      60928  2017-09-21 20:03  LDPC编码C代码\Debug\Q_LDPC2.exe

     文件     299140  2017-09-21 20:03  LDPC编码C代码\Debug\Q_LDPC2.ilk

     文件     643072  2017-09-21 20:03  LDPC编码C代码\Debug\Q_LDPC2.pdb

     文件      19134  2017-09-21 20:49  LDPC编码C代码\Q_LDPC2\Debug\encode.obj

     文件      27761  2017-09-20 15:29  LDPC编码C代码\Q_LDPC2\Debug\H_Initialization.obj

     文件       1816  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\ldpc_encode.tlog\cl.command.1.tlog

     文件       3674  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\ldpc_encode.tlog\CL.read.1.tlog

     文件       1542  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\ldpc_encode.tlog\CL.write.1.tlog

     文件        154  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\ldpc_encode.tlog\ldpc_encode.lastbuildstate

     文件       1194  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\ldpc_encode.tlog\link.command.1.tlog

     文件       2538  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\ldpc_encode.tlog\link.read.1.tlog

     文件        442  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\ldpc_encode.tlog\link.write.1.tlog

     文件       7210  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\main.obj

     文件       1623  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\Q_LDPC2.log

     文件       5512  2017-09-21 20:03  LDPC编码C代码\Q_LDPC2\Debug\Q_LDPC2.tlog\cl.command.1.tlog

     文件       4592  2017-09-21 20:03  LDPC编码C代码\Q_LDPC2\Debug\Q_LDPC2.tlog\CL.read.1.tlog

     文件       3040  2017-09-21 20:03  LDPC编码C代码\Q_LDPC2\Debug\Q_LDPC2.tlog\CL.write.1.tlog

     文件       3346  2017-09-21 20:03  LDPC编码C代码\Q_LDPC2\Debug\Q_LDPC2.tlog\link.command.1.tlog

     文件       2866  2017-09-21 20:03  LDPC编码C代码\Q_LDPC2\Debug\Q_LDPC2.tlog\link.read.1.tlog

     文件        754  2017-09-21 20:03  LDPC编码C代码\Q_LDPC2\Debug\Q_LDPC2.tlog\link.write.1.tlog

     文件        182  2017-09-21 20:03  LDPC编码C代码\Q_LDPC2\Debug\Q_LDPC2.tlog\Q_LDPC2.lastbuildstate

     文件      29007  2017-09-21 20:09  LDPC编码C代码\Q_LDPC2\Debug\test.obj

     文件     101376  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\vc120.idb

     文件      77824  2017-09-21 20:57  LDPC编码C代码\Q_LDPC2\Debug\vc120.pdb

     文件       4379  2017-09-21 20:48  LDPC编码C代码\Q_LDPC2\encode.c

     文件        425  2017-09-21 20:06  LDPC编码C代码\Q_LDPC2\encode.h

     文件       2037  2017-09-18 10:06  LDPC编码C代码\Q_LDPC2\H_Initialization.c

............此处省略20个文件信息

评论

共有 条评论