// if these conditions are true the pointer has to be situated at the 1st part of the rxdataF just after the first IQ symbols of the RB containing DC
rxF=&rxdataF[aarx][(12*(c_rb-(frame_parms->N_RB_DL>>1))-6+(symbol*(frame_parms->ofdm_symbol_size)))+n_BWP_start*12];// we point at the 1st part of the rxdataF in symbol
#ifdef NR_PDCCH_DCI_DEBUG
LOG_D(PHY,"in odd case c_rb (%d) is higher than half N_RB_DL (not DC) -> rxF = &rxdataF[aarx = (%d)][(12*(c_rb - frame_parms->N_RB_DL) - 5 + (symbol * (frame_parms->ofdm_symbol_size))) = (%d)]\n",
LOG_I(PHY,"in odd case c_rb (%d) is higher than half N_RB_DL (not DC) -> rxF = &rxdataF[aarx = (%d)][(12*(c_rb - frame_parms->N_RB_DL) - 5 + (symbol * (frame_parms->ofdm_symbol_size))) = (%d)]\n",
// then we point at the begining of the symbol part of rxdataF do process second part of RB
rxF=&rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))];// we point at the 1st part of the rxdataF in symbol
#ifdef NR_PDCCH_DCI_DEBUG
LOG_D(PHY,"in odd case c_rb (%d) is half N_RB_DL +1 we treat DC case -> rxF = &rxdataF[aarx = (%d)][(symbol * (frame_parms->ofdm_symbol_size)) = (%d)]\n",
LOG_I(PHY,"in odd case c_rb (%d) is half N_RB_DL +1 we treat DC case -> rxF = &rxdataF[aarx = (%d)][(symbol * (frame_parms->ofdm_symbol_size)) = (%d)]\n",
mmtmpP1=_mm_shufflelo_epi16(dl_ch128[0],_MM_SHUFFLE(2,3,0,1));//rearrange lower 64 bit(namely switch im part and real part)
mmtmpP1=_mm_shufflehi_epi16(mmtmpP1,_MM_SHUFFLE(2,3,0,1));//rearrange higher 64 bit(namely switch im part and real part)
mmtmpP1=_mm_sign_epi16(mmtmpP1,*(__m128i*)&conjugate[0]);// mmtmpP1 multiply by sign bit of conjugate(predefined), conjugate:{-1,1,-1,1,-1,1,-1,1},ad-bc?
//print_ints("im",&mmtmpP1);
mmtmpP1=_mm_madd_epi16(mmtmpP1,rxdataF128[0]);
mmtmpP1=_mm_madd_epi16(mmtmpP1,rxdataF128[0]);// only im part
// mmtmpP1 contains imag part of 4 consecutive outputs (32-bit)
mmtmpP0=_mm_srai_epi32(mmtmpP0,output_shift);
mmtmpP0=_mm_srai_epi32(mmtmpP0,output_shift);// decrease by output_shift times, amount to divide by out_shift