completing previous fix
This commit is contained in:
@@ -106,20 +106,24 @@ void nr_decode_pucch0( int32_t **rxdataF,
|
|||||||
* Implementing TS 38.211 Subclause 6.3.2.3.2 Mapping to physical resources FIXME!
|
* Implementing TS 38.211 Subclause 6.3.2.3.2 Mapping to physical resources FIXME!
|
||||||
*/
|
*/
|
||||||
uint32_t re_offset=0;
|
uint32_t re_offset=0;
|
||||||
|
uint8_t l2;
|
||||||
|
|
||||||
for (l=0; l<nrofSymbols; l++) {
|
for (l=0; l<nrofSymbols; l++) {
|
||||||
|
|
||||||
re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
|
l2 = l+startingSymbolIndex;
|
||||||
|
re_offset = (12*startingPRB) + frame_parms->first_carrier_offset;
|
||||||
if (re_offset>= frame_parms->ofdm_symbol_size)
|
if (re_offset>= frame_parms->ofdm_symbol_size)
|
||||||
re_offset-=frame_parms->ofdm_symbol_size;
|
re_offset-=frame_parms->ofdm_symbol_size;
|
||||||
|
|
||||||
for (n=0; n<12; n++){
|
for (n=0; n<12; n++){
|
||||||
|
|
||||||
r_re[(12*l)+n]=((int16_t *)&rxdataF[0][re_offset])[0];
|
r_re[(12*l)+n]=((int16_t *)&rxdataF[0][(l2*frame_parms->ofdm_symbol_size)+re_offset])[0];
|
||||||
r_im[(12*l)+n]=((int16_t *)&rxdataF[0][re_offset])[1];
|
r_im[(12*l)+n]=((int16_t *)&rxdataF[0][(l2*frame_parms->ofdm_symbol_size)+re_offset])[1];
|
||||||
#ifdef DEBUG_NR_PUCCH_RX
|
#ifdef DEBUG_NR_PUCCH_RX
|
||||||
printf("\t [nr_generate_pucch0] mapping to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \ttxptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
|
printf("\t [nr_generate_pucch0] mapping to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \ttxptr(%d)=(x_n(l=%d,n=%d)=(%d,%d))\n",
|
||||||
amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,re_offset,
|
amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,(l2*frame_parms->ofdm_symbol_size)+re_offset,
|
||||||
l,n,((int16_t *)&rxdataF[0][re_offset])[0],((int16_t *)&rxdataF[0][re_offset])[1]);
|
l,n,((int16_t *)&rxdataF[0][(l2*frame_parms->ofdm_symbol_size)+re_offset])[0],
|
||||||
|
((int16_t *)&rxdataF[0][(l2*frame_parms->ofdm_symbol_size)+re_offset])[1]);
|
||||||
#endif
|
#endif
|
||||||
re_offset++;
|
re_offset++;
|
||||||
if (re_offset>= frame_parms->ofdm_symbol_size)
|
if (re_offset>= frame_parms->ofdm_symbol_size)
|
||||||
|
|||||||
@@ -266,25 +266,27 @@ void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
|
|||||||
*/
|
*/
|
||||||
//int32_t *txptr;
|
//int32_t *txptr;
|
||||||
uint32_t re_offset=0;
|
uint32_t re_offset=0;
|
||||||
|
uint8_t l2;
|
||||||
|
|
||||||
for (int l=0; l<nrofSymbols; l++) {
|
for (int l=0; l<nrofSymbols; l++) {
|
||||||
|
l2=l+startingSymbolIndex;
|
||||||
re_offset = ((l+startingSymbolIndex)*frame_parms->ofdm_symbol_size) + (12*startingPRB) + frame_parms->first_carrier_offset;
|
re_offset = (12*startingPRB) + frame_parms->first_carrier_offset;
|
||||||
if (re_offset>= frame_parms->ofdm_symbol_size)
|
if (re_offset>= frame_parms->ofdm_symbol_size)
|
||||||
re_offset-=frame_parms->ofdm_symbol_size;
|
re_offset-=frame_parms->ofdm_symbol_size;
|
||||||
|
|
||||||
//txptr = &txdataF[0][re_offset];
|
//txptr = &txdataF[0][re_offset];
|
||||||
for (int n=0; n<12; n++) {
|
for (int n=0; n<12; n++) {
|
||||||
|
|
||||||
((int16_t *)&txdataF[0][re_offset])[0] = (int16_t)(((int32_t)(amp) * x_n_re[(12*l)+n])>>15);
|
((int16_t *)&txdataF[0][(l2*frame_parms->ofdm_symbol_size) + re_offset])[0] = (int16_t)(((int32_t)(amp) * x_n_re[(12*l)+n])>>15);
|
||||||
((int16_t *)&txdataF[0][re_offset])[1] = (int16_t)(((int32_t)(amp) * x_n_im[(12*l)+n])>>15);
|
((int16_t *)&txdataF[0][(l2*frame_parms->ofdm_symbol_size) + re_offset])[1] = (int16_t)(((int32_t)(amp) * x_n_im[(12*l)+n])>>15);
|
||||||
//((int16_t *)txptr[0][re_offset])[0] = (int16_t)((int32_t)amp * x_n_re[(12*l)+n])>>15;
|
//((int16_t *)txptr[0][re_offset])[0] = (int16_t)((int32_t)amp * x_n_re[(12*l)+n])>>15;
|
||||||
//((int16_t *)txptr[0][re_offset])[1] = (int16_t)((int32_t)amp * x_n_im[(12*l)+n])>>15;
|
//((int16_t *)txptr[0][re_offset])[1] = (int16_t)((int32_t)amp * x_n_im[(12*l)+n])>>15;
|
||||||
//txptr[re_offset] = (x_n_re[(12*l)+n]<<16) + x_n_im[(12*l)+n];
|
//txptr[re_offset] = (x_n_re[(12*l)+n]<<16) + x_n_im[(12*l)+n];
|
||||||
#ifdef DEBUG_NR_PUCCH_TX
|
#ifdef DEBUG_NR_PUCCH_TX
|
||||||
printf("\t [nr_generate_pucch0] mapping to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \ttxptr(%u)=(x_n(l=%d,n=%d)=(%d,%d))\n",
|
printf("\t [nr_generate_pucch0] mapping to RE \t amp=%d \tofdm_symbol_size=%d \tN_RB_DL=%d \tfirst_carrier_offset=%d \ttxptr(%u)=(x_n(l=%d,n=%d)=(%d,%d))\n",
|
||||||
amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,re_offset,
|
amp,frame_parms->ofdm_symbol_size,frame_parms->N_RB_DL,frame_parms->first_carrier_offset,(l2*frame_parms->ofdm_symbol_size) + re_offset,
|
||||||
l,n,((int16_t *)&txdataF[0][re_offset])[0],((int16_t *)&txdataF[0][re_offset])[1]);
|
l2,n,((int16_t *)&txdataF[0][(l2*frame_parms->ofdm_symbol_size) + re_offset])[0],
|
||||||
|
((int16_t *)&txdataF[0][(l2*frame_parms->ofdm_symbol_size) + re_offset])[1]);
|
||||||
#endif
|
#endif
|
||||||
re_offset++;
|
re_offset++;
|
||||||
if (re_offset>= frame_parms->ofdm_symbol_size)
|
if (re_offset>= frame_parms->ofdm_symbol_size)
|
||||||
|
|||||||
@@ -305,6 +305,7 @@ int main(int argc, char **argv)
|
|||||||
printf("-f Output filename (.txt format) for Pe/SNR results\n");
|
printf("-f Output filename (.txt format) for Pe/SNR results\n");
|
||||||
printf("-F Input filename (.txt format) for RX conformance testing\n");
|
printf("-F Input filename (.txt format) for RX conformance testing\n");
|
||||||
printf("-i Enter number of ofdm symbols for pucch\n");
|
printf("-i Enter number of ofdm symbols for pucch\n");
|
||||||
|
printf("-I Starting symbol index for pucch\n");
|
||||||
printf("-r PUCCCH starting PRB\n");
|
printf("-r PUCCCH starting PRB\n");
|
||||||
printf("-P Enter the format of PUCCH\n");
|
printf("-P Enter the format of PUCCH\n");
|
||||||
printf("-b number of HARQ bits (1-2)\n");
|
printf("-b number of HARQ bits (1-2)\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user