Commit 6af020ed authored by Francesco Mani's avatar Francesco Mani

modification to rate matching (to be tested)

parent b42542be
...@@ -74,7 +74,7 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm, ...@@ -74,7 +74,7 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm,
uint8_t rvidx, uint8_t rvidx,
uint32_t E) uint32_t E)
{ {
uint32_t Ncb,ind,k,Nref,N; uint32_t Ncb,k0,j,k,Nref,N,ind;
if (C==0) { if (C==0) {
printf("nr_rate_matching: invalid parameters (C %d\n",C); printf("nr_rate_matching: invalid parameters (C %d\n",C);
...@@ -91,18 +91,25 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm, ...@@ -91,18 +91,25 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm,
Ncb = min(N, Nref); 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 #ifdef RM_DEBUG
printf("nr_rate_matching_ldpc: E %d, k0 %d, Ncb %d, rvidx %d\n", E, ind, Ncb, rvidx); printf("nr_rate_matching_ldpc: E %d, k0 %d, Ncb %d, rvidx %d\n", E, ind, Ncb, rvidx);
#endif #endif
k=0; 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 #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 #endif
if (w[ind] != NR_NULL) e[k++]=w[ind]; if (w[ind] != NR_NULL) e[k++]=w[ind];
...@@ -112,12 +119,12 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm, ...@@ -112,12 +119,12 @@ int nr_rate_matching_ldpc(uint8_t Ilbrm,
for (ind=0; (ind<Ncb)&&(k<E); ind++) { for (ind=0; (ind<Ncb)&&(k<E); ind++) {
#ifdef RM_DEBUG #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 #endif
if (w[ind] != NR_NULL) e[k++]=w[ind]; if (w[ind] != NR_NULL) e[k++]=w[ind];
} }
} }*/
return 0; return 0;
......
...@@ -453,9 +453,9 @@ int nr_dlsch_encoding(unsigned char *a,int frame, ...@@ -453,9 +453,9 @@ int nr_dlsch_encoding(unsigned char *a,int frame,
#endif #endif
nr_interleaving_ldpc(E, nr_interleaving_ldpc(E,
mod_order, mod_order,
dlsch->harq_processes[harq_pid]->e+r_offset, dlsch->harq_processes[harq_pid]->e+r_offset,
dlsch->harq_processes[harq_pid]->f+r_offset); dlsch->harq_processes[harq_pid]->f+r_offset);
#ifdef DEBUG_DLSCH_CODING #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