diff --git a/common/utils/nr/nr_common.c b/common/utils/nr/nr_common.c index fb9d9103e6d54d60012034681e96865b22513820..2d8ac2e8f63849544c71adbe3352f6670faea005 100644 --- a/common/utils/nr/nr_common.c +++ b/common/utils/nr/nr_common.c @@ -389,7 +389,10 @@ uint16_t get_band(uint64_t downlink_frequency, int32_t delta_duplex) printf("DL frequency %"PRIu64": band %d, UL frequency %"PRIu64"\n", downlink_frequency, current_band, downlink_frequency+delta_duplex); - AssertFatal(current_band != 0, "Can't find EUTRA band for frequency %"PRIu64" and duplex_spacing %u\n", downlink_frequency, delta_duplex); + AssertFatal(current_band != 0, + "Can't find EUTRA band for frequency %" PRIu64 " and duplex_spacing %d\n", + downlink_frequency, + delta_duplex); return current_band; } @@ -1030,13 +1033,13 @@ uint32_t get_ssb_offset_to_pointA(uint32_t absoluteFrequencySSB, static double get_start_freq(const double fc, const int nbRB, const int mu) { const int scs = MU_SCS(mu) * 1000; - return fc - (nbRB / 2 * NR_NB_SC_PER_RB * scs); + return fc - ((double)nbRB / 2 * NR_NB_SC_PER_RB * scs); } static double get_stop_freq(const double fc, const int nbRB, const int mu) { int scs = MU_SCS(mu) * 1000; - return fc + (nbRB / 2 * NR_NB_SC_PER_RB * scs); + return fc + ((double)nbRB / 2 * NR_NB_SC_PER_RB * scs); } static void compute_M_and_N(const int gscn, int *rM, int *rN) @@ -1101,6 +1104,7 @@ static void find_gscn_to_scan(const double startFreq, *scanGscnStart = g; break; } + *scanGscnStop = *scanGscnStart; for (int g = gscn.last_gscn; g > gscn.first_gscn; g -= gscn.step_gscn) { const double centerSSBFreq = get_ssref_from_gscn(g); @@ -1138,7 +1142,7 @@ int get_scan_ssb_first_sc(const double fc, const int nbRB, const int nrBand, con find_gscn_to_scan(startFreq, stopFreq, tmpRaster, &scanGscnStart, &scanGscnStop); const double scs = MU_SCS(mu) * 1e3; - const double pointA = fc - (nbRB / 2 * scs * NR_NB_SC_PER_RB); + const double pointA = fc - ((double)nbRB / 2 * scs * NR_NB_SC_PER_RB); int numGscn = 0; for (int g = scanGscnStart; (g <= scanGscnStop) && (numGscn < MAX_GSCN_BAND); g += tmpRaster.step_gscn) { ssbInfo[numGscn].ssRef = get_ssref_from_gscn(g);