Commit 36dedfa4 authored by WEI-TAI CHEN's avatar WEI-TAI CHEN

Merge remote-tracking branch 'origin/develop-nr' into nr-rrc-additions

parents 48f721bf 9a9a83d2
...@@ -206,7 +206,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch, ...@@ -206,7 +206,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
NR_DL_FRAME_PARMS *frame_parms) NR_DL_FRAME_PARMS *frame_parms)
{ {
int j,k,l,m; int k,l,m;
int16_t a; int16_t a;
int16_t mod_pbch_e[NR_POLAR_PBCH_E]; int16_t mod_pbch_e[NR_POLAR_PBCH_E];
uint8_t idx=0; uint8_t idx=0;
...@@ -246,16 +246,16 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch, ...@@ -246,16 +246,16 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
#endif #endif
// Payload interleaving // Payload interleaving
uint8_t *in = &pbch->pbch_a[3]; uint32_t in=0, out=0;
uint8_t *out = &pbch->pbch_a_interleaved[3]; for (int i=0; i<NR_POLAR_PBCH_PAYLOAD_BITS>>3; i++)
for (int i=0; i<32; i++) { in |= (uint32_t)(pbch->pbch_a[i]<<((3-i)<<3));
j = i&7;
if (!j) { for (int i=0; i<32; i++)
in--; out |= ((in>>i)&1)<<(nr_pbch_payload_interleaver(i));
out--;
} for (int i=0; i<NR_POLAR_PBCH_PAYLOAD_BITS>>3; i++)
(*out) |= (((*in)>>j)&1)<<((nr_pbch_payload_interleaver(i))&7); pbch->pbch_a_interleaved[i] = (uint8_t)((out>>(i<<3))&0xff);
}
#ifdef DEBUG_PBCH_ENCODING #ifdef DEBUG_PBCH_ENCODING
printf("Interleaving:\n"); printf("Interleaving:\n");
for (int i=0; i<4; i++) for (int i=0; i<4; i++)
......
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