fix as i can a error detected by cppcheck, w[lprime] is only 0, 1 or -1

This commit is contained in:
Laurent THOMAS
2025-09-09 18:07:31 +02:00
committed by Robert Schmidt
parent 3190ad47b1
commit bc238f9b2f
+14 -15
View File
@@ -262,7 +262,6 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe, int16_t amp,
mDCI_ALLOC_t *mdci;
int coded_bits;
LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms;
int i;
int gain_lin_QPSK;
uint16_t *mpdcchtab;
uint32_t x1 = 0, x2 = 0, s = 0;
@@ -277,7 +276,7 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe, int16_t amp,
int *w;
LOG_D(PHY, "generate_mdci_top: num_dci %d\n", mpdcch->num_dci);
for (i = 0; i < mpdcch->num_dci; i++) {
for (int i = 0; i < mpdcch->num_dci; i++) {
mdci = &mpdcch->mdci_alloc[i];
AssertFatal(fp->frame_type == FDD, "TDD is not yet supported for MPDCCH\n");
AssertFatal(fp->Ncp == NORMAL, "Extended Prefix not yet supported for MPDCCH\n");
@@ -358,14 +357,14 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe, int16_t amp,
if (re_offset > fp->ofdm_symbol_size)
re_offset -= (fp->ofdm_symbol_size - 1);
int32_t *txF = &txdataF[0][symbol_offset+re_offset];
int32_t yIQ;
c16_t *txF = (c16_t *)&txdataF[0][symbol_offset + re_offset];
c16_t yIQ;
for (i = 0; i < (coded_bits >> 1); i++) {
for (int i = 0; i < (coded_bits >> 1); i++) {
// QPSK modulation to yIQ
((int16_t *) & yIQ)[0] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK;
yIQ.r = *e_ptr == 1 ? -gain_lin_QPSK : gain_lin_QPSK;
e_ptr++;
((int16_t *) & yIQ)[1] = (*e_ptr == 1) ? -gain_lin_QPSK : gain_lin_QPSK;
yIQ.i = *e_ptr == 1 ? -gain_lin_QPSK : gain_lin_QPSK;
e_ptr++;
txF[mpdcchtab[i]] = yIQ;
/*
@@ -406,7 +405,7 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe, int16_t amp,
int last_prb = (mdci->narrowband*6) + nb_i0 + 5;
int soffset[4] = {5,6,12,13};
for (int lprime=0,i=0; lprime<4; lprime++) {
for (int lprime=0,ii=0; lprime<4; lprime++) {
for (int nprb=0; nprb<110; nprb++) {
if (nprb<fp->N_RB_DL) {
re_offset = fp->first_carrier_offset + (12 * nprb);
@@ -414,11 +413,11 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe, int16_t amp,
if (re_offset > fp->ofdm_symbol_size)
re_offset -= (fp->ofdm_symbol_size - 1);
txF = &txdataF[0][symbol_offset + re_offset + fp->ofdm_symbol_size*soffset[lprime]];
txF = (c16_t *)&txdataF[0][symbol_offset + re_offset + fp->ofdm_symbol_size * soffset[lprime]];
}
for (int mprime=0; mprime<3; mprime++,i+=2) {
if ((i & 0x1f) == 0) {
for (int mprime=0; mprime<3; mprime++,ii+=2) {
if ((ii & 0x1f) == 0) {
s = lte_gold_generic(&x1, &x2, reset);
reset = 0;
}
@@ -426,8 +425,8 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe, int16_t amp,
// select PRBs corresponding to narrowband
if ((nprb>= first_prb) &&
(nprb<= last_prb)) {
((int16_t *) & yIQ)[0] = (((s >> (i & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK;
((int16_t *) & yIQ)[1] = (((s >> ((i + 1) & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK;
yIQ.r = (s >> (ii & 0x1f)) & 1 ? -gain_lin_QPSK : gain_lin_QPSK;
yIQ.i = (s >> ((ii + 1) & 0x1f)) & 1 ? -gain_lin_QPSK : gain_lin_QPSK;
AssertFatal(mdci->transmission_type==1,"transmission_type %d!=1, handle this ...\n",mdci->transmission_type);
if (mdci->transmission_type==1) { // same thing on both 107 and 109
@@ -435,9 +434,9 @@ void generate_mdci_top(PHY_VARS_eNB *eNB, int frame, int subframe, int16_t amp,
txF[1+(5*mprime)] = yIQ;
} else { // put on selected antenna port with w sequence
if (((mprime+nprb)&1) == 0)
txF[off+(5*mprime)] = yIQ*w[lprime];
txF[off + (5 * mprime)] = (c16_t){yIQ.r * w[lprime], yIQ.i * w[lprime]};
else
txF[off+(5*mprime)] = yIQ*w[3-lprime];
txF[off + (5 * mprime)] = (c16_t){yIQ.r * w[3 - lprime], yIQ.i * w[3 - lprime]};
}
/*