Commit 10667b36 authored by Francesco Mani's avatar Francesco Mani

modification to rate matching (to be tested)

parent a5ebee18
......@@ -74,7 +74,7 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm,
uint8_t rvidx,
uint32_t E)
{
uint32_t Ncb,ind,k,Nref,N;
uint32_t Ncb,k0,j,k,Nref,N,ind;
if (C==0) {
printf("nr_rate_matching: invalid parameters (C %d\n",C);
......@@ -91,18 +91,25 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm,
Ncb = min(N, Nref);
}
ind = (index_k0[BG-1][rvidx]*Ncb/N)*Z;
k0 = (index_k0[BG-1][rvidx]*Ncb/N)*Z;
#ifdef RM_DEBUG
printf("nr_rate_matching_ldpc: E %d, k0 %d, Ncb %d, rvidx %d\n", E, ind, Ncb, rvidx);
#endif
k=0;
j=0;
for (; (ind<Ncb)&&(k<E); ind++) {
while(k<E) {
ind=(k0+j)%Ncb;
if (w[ind] != NR_NULL) e[k++]=w[ind];
j++;
}
/*for (; (ind<Ncb)&&(k<E); ind++) {
#ifdef RM_DEBUG
printf("RM_TX k%d Ind: %d (%d)\n",k,ind,w[ind]);
printf("RM_TX k%d Ind: %d (%d)\t",k,ind,w[ind]);
#endif
if (w[ind] != NR_NULL) e[k++]=w[ind];
......@@ -112,12 +119,12 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm,
for (ind=0; (ind<Ncb)&&(k<E); ind++) {
#ifdef RM_DEBUG
printf("RM_TX k%d Ind: %d (%d)\n",k,ind,w[ind]);
printf("RM_TX k%d Ind: %d (%d)\t",k,ind,w[ind]);
#endif
if (w[ind] != NR_NULL) e[k++]=w[ind];
}
}
}*/
return 0;
......
......@@ -453,9 +453,9 @@ int nr_dlsch_encoding(unsigned char *a,int frame,
#endif
nr_interleaving_ldpc(E,
mod_order,
dlsch->harq_processes[harq_pid]->e+r_offset,
dlsch->harq_processes[harq_pid]->f+r_offset);
mod_order,
dlsch->harq_processes[harq_pid]->e+r_offset,
dlsch->harq_processes[harq_pid]->f+r_offset);
#ifdef DEBUG_DLSCH_CODING
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment