mirror of https://github.com/pvnis/srsRAN_4G.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.8 KiB
C
54 lines
1.8 KiB
C
3 years ago
|
/**
|
||
|
*
|
||
|
* \section COPYRIGHT
|
||
|
*
|
||
|
* Copyright 2013-2021 Software Radio Systems Limited
|
||
|
*
|
||
|
* By using this file, you agree to the terms and conditions set
|
||
|
* forth in the LICENSE file which can be found at the top level of
|
||
|
* the distribution.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef SRSRAN_SCHED_NR_SIGNALLING_H
|
||
|
#define SRSRAN_SCHED_NR_SIGNALLING_H
|
||
|
|
||
|
#include "sched_nr_cfg.h"
|
||
|
#include "sched_nr_interface.h"
|
||
|
|
||
|
namespace srsenb {
|
||
|
namespace sched_nr_impl {
|
||
|
|
||
|
/// Schedule NZP-CSI-RS resources for given slot
|
||
|
void sched_nzp_csi_rs(srsran::const_span<srsran_csi_rs_nzp_set_t> nzp_csi_rs_sets,
|
||
|
const srsran_slot_cfg_t& slot_cfg,
|
||
|
nzp_csi_rs_list& csi_rs_list);
|
||
|
|
||
3 years ago
|
/**
|
||
|
* @brief Schedule grant for SSB.
|
||
|
*
|
||
|
* The functions schedules the SSB according to a given periodicity. This function is a simplified version of an
|
||
|
* SSB scheduler and has several hard-coded parameters.
|
||
|
*
|
||
3 years ago
|
* @param[in] sl_point Slot point carrying information about current slot.
|
||
3 years ago
|
* @param[in] ssb_periodicity Periodicity of SSB in ms.
|
||
3 years ago
|
* @param[out] ssb_list List of SSB messages to be sent to PHY.
|
||
3 years ago
|
*
|
||
|
* @remark This function a is basic scheduling function that uses the following simplified assumption:
|
||
|
* 1) Subcarrier spacing: 15kHz
|
||
|
* 2) Frequency below 3GHz
|
||
|
* 3) Position in Burst is 1000, i.e., Only the first SSB of the 4 opportunities gets scheduled
|
||
|
*/
|
||
|
void sched_ssb_basic(const slot_point& sl_point, uint32_t ssb_periodicity, ssb_list& ssb_list);
|
||
3 years ago
|
|
||
3 years ago
|
/// For a given BWP and slot, schedule SSB, NZP CSI RS and SIBs
|
||
3 years ago
|
void sched_dl_signalling(const bwp_params_t& bwp_params,
|
||
|
slot_point sl_pdcch,
|
||
|
ssb_list& ssb_list,
|
||
|
nzp_csi_rs_list& nzp_csi_rs);
|
||
3 years ago
|
|
||
|
} // namespace sched_nr_impl
|
||
|
} // namespace srsenb
|
||
|
|
||
|
#endif // SRSRAN_SCHED_NR_SIGNALLING_H
|