2727#include " srsran/phy/upper/channel_processors/pucch_demodulator.h"
2828#include " srsran/phy/upper/channel_processors/pucch_detector.h"
2929#include " srsran/phy/upper/channel_processors/pucch_processor.h"
30- #include " srsran/phy/upper/channel_processors/pusch/pusch_decoder.h"
31- #include " srsran/phy/upper/channel_processors/pusch/pusch_demodulator.h"
32- #include " srsran/phy/upper/channel_processors/pusch/pusch_processor.h"
33- #include " srsran/phy/upper/channel_processors/pusch/ulsch_demultiplex.h"
3430#include " srsran/phy/upper/channel_processors/ssb_processor.h"
35- #include " srsran/phy/upper/channel_processors/uci_decoder .h"
31+ #include " srsran/phy/upper/channel_processors/uci/factories .h"
3632#include " srsran/phy/upper/equalization/equalization_factories.h"
3733#include " srsran/phy/upper/signal_processors/signal_processor_factories.h"
3834#include < memory>
3935
4036namespace srsran {
4137
4238class prach_generator_factory ;
43- class ulsch_demultiplex_factory ;
44- class uci_decoder_factory ;
4539class task_executor ;
4640
4741class pbch_encoder_factory
@@ -233,65 +227,6 @@ create_pucch_processor_factory_sw(std::shared_ptr<dmrs_pucch_estimator_factory>
233227 std::shared_ptr<uci_decoder_factory> decoder_factory,
234228 const channel_estimate::channel_estimate_dimensions& channel_estimate_dimensions);
235229
236- class pusch_decoder_factory
237- {
238- public:
239- virtual ~pusch_decoder_factory () = default ;
240- virtual std::unique_ptr<pusch_decoder> create () = 0;
241- };
242-
243- struct pusch_decoder_factory_sw_configuration {
244- std::shared_ptr<crc_calculator_factory> crc_factory;
245- std::shared_ptr<ldpc_decoder_factory> decoder_factory;
246- std::shared_ptr<ldpc_rate_dematcher_factory> dematcher_factory;
247- std::shared_ptr<ldpc_segmenter_rx_factory> segmenter_factory;
248- unsigned nof_pusch_decoder_threads = 1 ;
249- task_executor* executor = nullptr ;
250- };
251-
252- std::shared_ptr<pusch_decoder_factory> create_pusch_decoder_factory_sw (pusch_decoder_factory_sw_configuration config);
253-
254- class pusch_demodulator_factory
255- {
256- public:
257- virtual ~pusch_demodulator_factory () = default ;
258- virtual std::unique_ptr<pusch_demodulator> create () = 0;
259- };
260-
261- std::shared_ptr<pusch_demodulator_factory>
262- create_pusch_demodulator_factory_sw (std::shared_ptr<channel_equalizer_factory> equalizer_factory,
263- std::shared_ptr<channel_modulation_factory> demodulation_factory,
264- std::shared_ptr<pseudo_random_generator_factory> prg_factory,
265- bool enable_evm = false ,
266- bool enable_post_eq_sinr = false );
267-
268- class pusch_processor_factory
269- {
270- public:
271- virtual ~pusch_processor_factory () = default ;
272- virtual std::unique_ptr<pusch_processor> create () = 0;
273- virtual std::unique_ptr<pusch_pdu_validator> create_validator () = 0;
274- virtual std::unique_ptr<pusch_processor> create (srslog::basic_logger& logger);
275- };
276-
277- struct pusch_processor_factory_sw_configuration {
278- std::shared_ptr<dmrs_pusch_estimator_factory> estimator_factory;
279- std::shared_ptr<pusch_demodulator_factory> demodulator_factory;
280- std::shared_ptr<ulsch_demultiplex_factory> demux_factory;
281- std::shared_ptr<pusch_decoder_factory> decoder_factory;
282- std::shared_ptr<uci_decoder_factory> uci_dec_factory;
283- channel_estimate::channel_estimate_dimensions ch_estimate_dimensions;
284- unsigned dec_nof_iterations = 10 ;
285- bool dec_enable_early_stop = true ;
286- channel_state_information::sinr_type csi_sinr_calc_method = channel_state_information::sinr_type::channel_estimator;
287- };
288-
289- std::shared_ptr<pusch_processor_factory>
290- create_pusch_processor_factory_sw (pusch_processor_factory_sw_configuration& config);
291-
292- std::shared_ptr<pusch_processor_factory> create_pusch_processor_pool (std::shared_ptr<pusch_processor_factory> factory,
293- unsigned max_nof_processors);
294-
295230class ssb_processor_factory
296231{
297232public:
@@ -311,25 +246,4 @@ struct ssb_processor_factory_sw_configuration {
311246
312247std::shared_ptr<ssb_processor_factory> create_ssb_processor_factory_sw (ssb_processor_factory_sw_configuration& config);
313248
314- class uci_decoder_factory
315- {
316- public:
317- virtual ~uci_decoder_factory () = default ;
318- virtual std::unique_ptr<uci_decoder> create () = 0;
319- };
320-
321- std::shared_ptr<uci_decoder_factory>
322- create_uci_decoder_factory_sw (std::shared_ptr<short_block_detector_factory> decoder_factory,
323- std::shared_ptr<polar_factory> polar_factory,
324- std::shared_ptr<crc_calculator_factory> crc_calc_factory);
325-
326- class ulsch_demultiplex_factory
327- {
328- public:
329- virtual ~ulsch_demultiplex_factory () = default ;
330- virtual std::unique_ptr<ulsch_demultiplex> create () = 0;
331- };
332-
333- std::shared_ptr<ulsch_demultiplex_factory> create_ulsch_demultiplex_factory_sw ();
334-
335249} // namespace srsran
0 commit comments