modification to rate matching (to be tested)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user