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

📄 blockcodegenerator.c

📁 根据LDPC码中码子的构造方法中的PEG算法
💻 C
字号:
#include <string.h>#include <iostream.h>#include <stdio.h>#include "BlockCodeGenerator.h"BlockCodeGenerator::BlockCodeGenerator(char codeName[100]) {  int i;  FILE *file;  file=fopen(codeName, "r");  //fscanf(file, "%d%d%d%d%d", &N, &K, &M, &l, &m);  fscanf(file, "%d%d%d", &N, &M, &m);  K=N-M; //tentative K  /*  S = new int*[l];  for (i = 0; i < l; i++) {    S[i] = new int[N];    for (int j = 0; j < N; j++) {      fscanf(file, "%d", &S[i][j]);      S[i][j]--; // matlab indices start with 1    }  }  */  S = NULL;  if (M) {    T = new int*[M];    for (int i = 0; i < M; i++) {      T[i] = new int[m];      for (int j = 0; j < m; j++) {	fscanf(file, "%d", &T[i][j]);		T[i][j]--; // matlab indices start with 1      }          }      } else {    // no parity-check matrix    T = NULL;  }  /*  infoBitsLocation = new int[K];  for (i = 0; i < K; i++) {    fscanf(file, "%d", &infoBitsLocation[i]);    infoBitsLocation[i]--; // matlab indices start with 1  }  */  fclose(file);  //printDegSeq();}void BlockCodeGenerator::printDegSeq(void) {  int i, j, k, itmp, *(*H);  H=new int*[M];  for(i=0;i<M;i++)    H[i]=new int[N];  for(i=0;i<M;i++){    for(j=0;j<N;j++)      H[i][j]=0;    for(j=0;j<m;j++){      if(T[i][j]>=0){	H[i][T[i][j]]=1;      }    }  }  cout<<"Row weight distribution..."<<endl;  for(i=0;i<M;i++){    itmp=0;    for(j=0;j<N;j++)      itmp+=H[i][j];    cout<<itmp<<" ";  }  cout<<endl;  cout<<"Column weight distribution..."<<endl;  for(i=0;i<N;i++){    itmp=0;    for(j=0;j<M;j++)      itmp+=H[j][i];    cout<<itmp<<" ";  }  cout<<endl;  for(i=0;i<M;i++)    delete [] H[i];  delete [] H;}BlockCodeGenerator::~BlockCodeGenerator() {  if(infoBitsLocation!=NULL) {    delete[] infoBitsLocation;  }  infoBitsLocation=NULL;  if (T != NULL) {    for (int i = 0; i < M; i++) {      delete[] T[i];      T[i] = NULL;    }    delete[] T;  }  T = NULL;  if(S !=NULL) {    for (int i = 0; i < l; i++) {      delete[] S[i];      S[i] = NULL;    }    delete[] S;  }  S = NULL;}

⌨️ 快捷键说明

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