-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathlistSRSblocks.m
98 lines (94 loc) · 5.01 KB
/
listSRSblocks.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
%listSRSblocks Provide a list of all tested SRS blocks.
% BLOCKS = listSRSblocks returns a cell array with the names of all SRS blocks
% with a unit test in the main folder.
%
% BLOCKS = listSRSblocks('name') is the same as above.
%
% BLOCKS = listSRSblocks('full') prepends each block name with the block path
% relative the the SRSRAN root folder.
%
% BLOCKS = listSRSblocks('path') only returns a list of the paths (relative to
% the SRSRAN root folder) where the tested blocks are located.
% Copyright 2021-2024 Software Radio Systems Limited
%
% This file is part of srsRAN-matlab.
%
% srsRAN-matlab is free software: you can redistribute it and/or
% modify it under the terms of the BSD 2-Clause License.
%
% srsRAN-matlab is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% BSD 2-Clause License for more details.
%
% A copy of the BSD 2-Clause License can be found in the LICENSE
% file in the top-level directory of this distribution.
function blocks = listSRSblocks(format)
arguments
format (1,:) char {mustBeMember(format, {'name', 'path', 'full'})} = 'name'
end
blockDetails = {...
'channel_equalizer', 'phy/upper/equalization/'; ...
'demodulation_mapper', 'phy/upper/channel_modulation/'; ...
'dft_processor', 'phy/generic_functions/'; ...
'dmrs_pbch_processor', 'phy/upper/signal_processors/'; ...
'dmrs_pdcch_processor', 'phy/upper/signal_processors/'; ...
'dmrs_pdsch_processor', 'phy/upper/signal_processors/'; ...
'dmrs_pucch_estimator', 'phy/upper/signal_processors/'; ...
'dmrs_pusch_estimator', 'phy/upper/signal_processors/'; ...
'ldpc_encoder', 'phy/upper/channel_coding/ldpc/'; ...
'ldpc_rate_matcher', 'phy/upper/channel_coding/ldpc/'; ...
'ldpc_segmenter', 'phy/upper/channel_coding/ldpc/'; ...
'low_papr_sequence_generator', 'phy/upper/sequence_generators/'; ...
'modulation_mapper', 'phy/upper/channel_modulation/'; ...
'nzp_csi_rs_generator', 'phy/upper/signal_processors/'; ...
'ofdm_demodulator', 'phy/lower/modulation/'; ...
'ofdm_modulator', 'phy/lower/modulation/'; ...
'ofdm_prach_demodulator', 'phy/lower/modulation/'; ...
'ofh_compression', 'ofh/compression/'; ...
'pbch_encoder', 'phy/upper/channel_processors/'; ...
'pbch_modulator', 'phy/upper/channel_processors/'; ...
'pdcch_candidates_common', 'ran/pdcch/'; ...
'pdcch_candidates_ue', 'ran/pdcch/'; ...
'pdcch_encoder', 'phy/upper/channel_processors/pdcch/'; ...
'pdcch_modulator', 'phy/upper/channel_processors/pdcch/'; ...
'pdcch_processor', 'phy/upper/channel_processors/pdcch/'; ...
'pdsch_encoder', 'phy/upper/channel_processors/pdsch/'; ...
'pdsch_modulator', 'phy/upper/channel_processors/pdsch/'; ...
'pdsch_processor', 'phy/upper/channel_processors/pdsch/'; ...
'port_channel_estimator', 'phy/upper/signal_processors/';...
'prach_detector', 'phy/upper/channel_processors/'; ...
'prach_generator', 'phy/upper/channel_processors/'; ...
'ptrs_pdsch_generator', 'phy/upper/signal_processors/ptrs/'; ...
'pucch_demodulator_format2', 'phy/upper/channel_processors/pucch/'; ...
'pucch_demodulator_format3', 'phy/upper/channel_processors/pucch/'; ...
'pucch_demodulator_format4', 'phy/upper/channel_processors/pucch/'; ...
'pucch_detector', 'phy/upper/channel_processors/pucch/'; ...
'pucch_processor_format0', 'phy/upper/channel_processors/pucch/'; ...
'pucch_processor_format1', 'phy/upper/channel_processors/pucch/'; ...
'pucch_processor_format2', 'phy/upper/channel_processors/pucch/'; ...
'pucch_processor_format3', 'phy/upper/channel_processors/pucch/'; ...
'pucch_processor_format4', 'phy/upper/channel_processors/pucch/'; ...
'pusch_decoder', 'phy/upper/channel_processors/pusch/'; ...
'pusch_demodulator', 'phy/upper/channel_processors/pusch/'; ...
'pusch_processor', 'phy/upper/channel_processors/pusch/'; ...
'pusch_tpmi_select', 'ran/pusch/'; ...
'short_block_detector', 'phy/upper/channel_coding/short/'; ...
'short_block_encoder', 'phy/upper/channel_coding/short/'; ...
'srs_estimator', 'phy/upper/signal_processors/srs/'; ...
'ssb_processor', 'phy/upper/channel_processors/'; ...
'tbs_calculator', 'ran/sch/'; ...
'transform_precoder', 'phy/generic_functions/transform_precoding/'; ...
'uci_decoder', 'phy/upper/channel_processors/uci/'; ...
'ulsch_demultiplex', 'phy/upper/channel_processors/pusch/'; ...
'ulsch_info', 'ran/pusch/'; ...
};
switch format
case 'name'
blocks = blockDetails(:, 1).';
case 'path'
blocks = unique(blockDetails(:, 2).');
case 'full'
blocks = strcat(blockDetails(:, 2), blockDetails(:, 1)).';
end
end