Skip to content

Commit 8c2cc27

Browse files
xavierarteagacodebot
authored andcommitted
phy: moved PUSCH factories to pusch subdir
phy: review PUSCH processor related
1 parent 35203b7 commit 8c2cc27

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+974
-853
lines changed

include/srsran/phy/upper/channel_processors/channel_processor_factories.h

Lines changed: 1 addition & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,15 @@
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

4036
namespace srsran {
4137

4238
class prach_generator_factory;
43-
class ulsch_demultiplex_factory;
44-
class uci_decoder_factory;
4539
class task_executor;
4640

4741
class 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-
295230
class ssb_processor_factory
296231
{
297232
public:
@@ -311,25 +246,4 @@ struct ssb_processor_factory_sw_configuration {
311246

312247
std::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

Comments
 (0)