@@ -173,41 +173,17 @@ static bool validate_tdd_ul_dl_pattern_appconfig(const tdd_ul_dl_pattern_appconf
173173{
174174 // NOTE: TDD pattern is assumed to use common SCS as reference SCS.
175175 if (common_scs > subcarrier_spacing::kHz60 ) {
176- fmt::print (" Invalid TDD UL DL reference SCS={}. Must be 15, 30 or 60 kHz for FR1.\n " , common_scs);
176+ fmt::print (" Invalid TDD UL DL reference SCS={}kHz . Must be 15, 30 or 60 kHz for FR1.\n " , scs_to_khz ( common_scs) );
177177 return false ;
178178 }
179- if (config.dl_ul_tx_period != 0 .5F and config.dl_ul_tx_period != 0 .625F and config.dl_ul_tx_period != 1 .0F and
180- config.dl_ul_tx_period != 1 .25F and config.dl_ul_tx_period != 2 .0F and config.dl_ul_tx_period != 2 .5F and
181- config.dl_ul_tx_period != 5 .0F and config.dl_ul_tx_period != 10 .0F ) {
179+
180+ const unsigned period_msec = config.dl_ul_period_slots / get_nof_slots_per_subframe (common_scs);
181+
182+ if (period_msec != 0 .5F and period_msec != 0 .625F and period_msec != 1 .0F and period_msec != 1 .25F and
183+ period_msec != 2 .0F and period_msec != 2 .5F and period_msec != 5 .0F and period_msec != 10 .0F ) {
182184 fmt::print (
183185 " Invalid TDD pattern 1 UL DL periodicity={}ms. Must be 0.5, 0.625, 1, 1.25, 2, 2.5, 5 or 10 milliseconds.\n " ,
184- config.dl_ul_tx_period );
185- return false ;
186- }
187-
188- // See TS 38.213, clause 11.1.
189- if (config.dl_ul_tx_period == 0 .625F and common_scs != subcarrier_spacing::kHz120 ) {
190- fmt::print (" Invalid reference SCS={} for TDD pattern 1. Must be 120 kHz when using "
191- " periodicity of {} ms.\n " ,
192- common_scs,
193- config.dl_ul_tx_period );
194- return false ;
195- }
196- if (config.dl_ul_tx_period == 1 .25F and
197- (common_scs != subcarrier_spacing::kHz120 and common_scs != subcarrier_spacing::kHz60 )) {
198- fmt::print (" Invalid reference SCS={} for TDD pattern 1. Must be 120 or 60 kHz when using "
199- " periodicity of {} ms.\n " ,
200- common_scs,
201- config.dl_ul_tx_period );
202- return false ;
203- }
204- if (config.dl_ul_tx_period == 2 .5F and
205- (common_scs != subcarrier_spacing::kHz120 and common_scs != subcarrier_spacing::kHz60 and
206- common_scs != subcarrier_spacing::kHz30 )) {
207- fmt::print (" Invalid reference SCS={} for TDD pattern 1. Must be 120, 60 or 30 kHz when using "
208- " periodicity of {} ms.\n " ,
209- common_scs,
210- config.dl_ul_tx_period );
186+ period_msec);
211187 return false ;
212188 }
213189
0 commit comments