Page 768 - 5G Basics - Core Network Aspects
P. 768

2                                                 Transport aspects


                  */
                  /* Fill out the pre-ordered tone table in case of NOI by appending the tone
                  of the RTS first */
                  if(symbol in NOI){
                    t1_idx     = NSCR+1; /* Index counting the tones above the RMC */
                    t1_idx_RTS = 1;    /* Index counting the tones of the RMC */
                    for (t_index = 1; t_index  NSC; t_index++) {
                      tone = t[t_index];
                      if(tone in RTS)
                        t1[t1_idx_RTS++] = tone;
                      else
                        t1[t1_idx++] = tone;
                    }
                  }
                  else{
                    t1_idx = 1;
                    for (t_index = 1; t_index  NSC; t_index++) {
                        t1[t1_idx++] = t[t_index];
                  }
                  /*
            Fill out tone re-ordering table with entries of tone ordering table
                  but skip 1-bit tones.
                  */
                  tp_index = 1;
                  for (t_index = 1; t_index  NSC; t_index++) {
                    tone = t1[t_index];
                    bits = b[tone];
                    if (bits != 1) {
                      tp[tp_index++] = tone;
                    }
                  }
                  /*
                  Add the 1-bit tones to the end of tone re-ordering table.
                  */
                  for (t_index = 1; t_index  NSC; t_index++) {
                    tone = t1[t_index];
                    bits = b[tone];
                    if (bits == 1) {
                      tp[tp_index++] = tone;
                    }
                  }
                  /* RE-ORDERING THE BIT ARRAY */
                  /*
                  The bit allocation table is denoted as array 'b' and the ordered bit
                  allocation table is
                  denoted as array 'bp'.
                  The indexes to these arrays are denoted as 'b_index' and bp_index',
                  respectively.
                  */
                  /* First, count the number of loaded tones and also 1-bit tones. */
                  NCONEBIT = 0; /* NCONEBIT is the number of subcarriers with 1 bit */
                  NCUSED = 0; /* NCUSED is the number of loaded subcarriers */
                  for (all i  MEDLEY set) {
                    if (b[i] > 0) {
                      NCUSED++;
                    }
                    if (b[i] == 1) {
                      NCONEBIT++;
                    }
                  }
                  /* Fill initial zero entries for unloaded tones and half the number of
                  1-bit tones */
                  for (bp_index = 1; bp_index  (NSC - (NCUSED - NCONEBIT/2));


            758
   763   764   765   766   767   768   769   770   771   772   773