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,
|
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,
|
|||||||
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,
|
|||||||
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,
|
|||||||
#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
|
||||||
|
|||||||
Reference in New Issue
Block a user