Constructing Radio Environment Map Model for a Cognitive Communication System Based on LTE Yahor Adamovskiy1, Rykhard Bohush1, and Valery Chertkov1 1 Polotsk State University, Blohina St., 29, Novopolotsk, 211440, Republic of Belarus Abstract The telecommunication systems actual development direction is the use of cognitive radio technology and dynamic spectrum access to solve the spectrum scarcity problem. Storage and processing of spatiotemporal data should be carried out using a radio environment map (REM). A two-level REM generation model for the LTE system and an algorithm for implementing the model are presented. A method for calculating REM at a grid node is shown, taking into account losses during signal propagation. The software implementation of the model was made using the MatLab package. Approaches to increasing the speed of its operation are described. The results of the REM generation software implementation algorithm are demonstrated, which confirm the correctness of the developed model. Keywords 1 Radio environment map, Long-Term Evolution, imitation model 1. Introduction The extension of telecommunication systems is the problem of the spectrum scarcity [1]. Primary Users (PUs) use dedicated frequencies, but with normal traffic only partial spectrum usage. Currently, the radio frequency spectrum is distributed among various services, so solving the problem spectrum scarcity is an actual direction in the communication systems development. It is proposed to use the technology of Dynamic Spectrum Access (DSA) [2] to solve the spectrum scarcity problem. The licensed frequency band is opened to Secondary Users (SU) at times when channels are not used by PUs. The Cognitive Radio (CR) is used to implement DSA. The CR device can perceive radio environment and adapt the communication parameters using previous experience. The main task of CR is to identify white spaces in the spectrum for the use of free frequencies. The white spaces configuration can be predicted based on radio environment probe. The obtained data about radio environment can improve the CR system efficiency. At the moment, there are communication systems implementations uses cognitive radio conception [3, 4]. For storage and processing of CR data, a radio environment map (REM) is used. REM is a spatiotemporal database of all network radio activities [5]. The REM task is the constant information exchange with cognitive devices. REM construction is carried out by direct and indirect methods [2]. REM construction basic principles and its structure: storage and acquisition unit, REM manager, measurement capable devices [1, 6]. The generated REM quality indicators can be quantified using RMSE – the difference between the power values of the calculated and actual REM levels [1]. The radio environment state is calculated and predicted based on the REM data. Using the software simulation model output, optimal REM parameters can be extracted. Proceedings of the 7th International Conference on Digital Technologies in Education, Science and Industry (DTESI 2022), October 20–21, 2022, Almaty, Kazakhstan EMAIL: e.adamovsky@psu.by (Yahor Adamovskiy); r.bogush@psu.by (Rykhard Bohush); v.chertkov@psu.by (Valery Chertkov) ORCID: 0000-0003-1044-8741 (Yahor Adamovskiy); 0000-0002-6609-5810 (Rykhard Bohush); 0000-0002-2603-9873 (Valery Chertkov) ©️ 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) The purpose of this paper is the REM database formation model implementation of the 4G LTE communication system for the state predicting possibility of the radio environment by a cognitive system. 2. REM model for LTE system A model is proposed for generating information about the dynamics of a frequency resource use in the REM form. The model implements the 4G LTE communication system functioning with some simplifications: 1. Signals propagate in an urban area, they contain only user information. 2. The radiation power of stations and devices does not change; radiation directivity is uniform. 3. Signal phase, Doppler effect, fast fading and shading effects, antenna suspension height are also not taken into account. The multilevel model structure [7] includes: 1. Global level – model initialization information; object output data aggregator. 2. Local level – objects, parameters and signals: eNodeB (Base Station) and UE (User Equipment) objects, REM grid. Frequency bands provided by the LTE TS 36.101 specification are licensed. Each band is characterized by transmission mode (frequency and time division, FDD and TDD), lower and upper frequencies. For downlink, Orthogonal Frequency-Division Multiplexing (OFDM) is used, and for uplink - Single-Carrier FDMA (SC-FDMA). The bands are divided into carriers from 1.4 to 20 MHz, which corresponds to 6 to 100 resource blocks (RB). One RB is 180 kHz in 15 kHz steps and consists of resource elements (RE) or OFDM symbols. In the simplified model, the frequency resource is divided into 𝑓𝑟𝑒𝑞_𝑛𝑢𝑚 subcarriers, starting at 𝑓𝑟𝑒𝑞_𝑠𝑡𝑎𝑟𝑡 and stepping at 𝑓𝑟𝑒𝑞_𝑠𝑡𝑒𝑝 in the 𝑓𝑟𝑒𝑞_𝑏𝑎𝑛𝑑 (kHz) vector. The signal attenuation depends on the frequency 𝑓 (MHz) and the distance to the source 𝑑 (km). The loss equation 𝐿 is used, it includes the coefficient 𝛼 and the constant 𝑙0 [8], their possible values are given in Table 1. 𝐿(𝑑𝐵) = 𝑙0 + 20 log10 𝑓 + 𝛼 log10 𝑑 (1) Table 1 Possible parameter values for the signal loss equation (1) Parameter Description Coefficient 𝛼 Constant 𝑙0 20.0 20.0 Free space [8] 40.2 27.7 Suburban area [2] 35.0 38.4 Urban area [2] The simplified model uses a single attenuation factor 𝑓𝑟𝑒𝑞_𝑎𝑡𝑡 for the middle frequency of the modeled range. A matrix of attenuation coefficients (𝑎𝑡𝑡) is formed (2) based on (1), the size of which is [(2𝑁𝑥 − 1); (2𝑁𝑦 − 1)] elements, where the values 𝑁𝑥 and 𝑁𝑦 are their number horizontally and vertically on REM in 𝑔𝑟𝑖𝑑_𝑠𝑖𝑧𝑒 with 𝑔𝑟𝑖𝑑_𝑠𝑡𝑒𝑝. 2 𝑙 +𝑓𝑟𝑒𝑞𝑎𝑡𝑡 +𝛼 log10 √|𝑁𝑥 +1−𝑥|2 +|𝑁𝑦 +1−𝑦| (2) 𝑎𝑡𝑡𝑥𝑦 = 10 0 In practice, receivers have limited sensitivity and cannot receive signals that are too weak. In our model, the threshold noise level 𝑝𝑜𝑤_𝑡ℎ𝑟𝑒𝑠 is implemented. The global level contains the initial data for the model presented in Table 2. Table 2 Model global parameters Parameter Data type Unit Sample data Description freq_num - 2002 Number of subcarriers freq_start Uint 1720000 Frequency band initial value freq_step kHz 15 Subcarrier spacing freq_band uint [freq_num] 104 × [172 … 183.5] List of LTE subcarriers freq_att Float 9.6×10-11 Attenuation factor - grid_size Uint [2] [20 20] REM grid size grid_step Float m 250.0 REM grid step pow_thres Float dBm -85.0 Interference threshold Float [9.6×10-11 attenuation [2×grid_size(1)-1] - … Attenuation matrix [2×grid_size(2)-1] 1.9×10-10] eNodeB forms a cell with a local identifier. In the simplified model, each eNodeBS is assigned a unique 𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑁𝐶𝑒𝑙𝑙𝐼𝐷 number and a string name 𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑛𝑎𝑚𝑒. An eNodeBS object is characterized by a position in space (two coordinates 𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛). In the model, eNodeB can operate in a given frequency range (𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑓𝑟𝑒𝑞_𝑏𝑎𝑛𝑑), which determines the operating frequencies from the 𝑓𝑟𝑒𝑞_𝑏𝑎𝑛𝑑 set. Abonents are connected to the eNodeB and constantly keep in touch. Each UE is registered upon connection and is identified by a temporary data (M-TMSI, S-TMSI, GUTI) and a static global identifier (IMSI). In a simplified model, each eNodeB stores connected UEs identifiers 𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑈𝐸_𝑅𝑁𝑇𝐼 and allocated resource blocks for downlink 𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑈𝐸_𝐷𝐿_𝑅𝐵 and for uplink 𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑈𝐸_𝑈𝐿_𝑅𝐵. In the simplified model, the eNodeB emits with a constant power (𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑝𝑜𝑤𝑒𝑟𝐵𝑆). The eNodeB object parameters are presented in Table 3. Table 3 eNodeB object parameters for the model (local level) Parameter Data type Unit Sample data Description eNodeBS.name String Station#1 Station name eNodeBS.NCellID Uint 1 Station ID - eNodeBS.position Uint [2] [9 12] Station cell coordinates eNodeBS.freq_band Uint 2 Station band number eNodeBS.powerBS Float dBm 43 Station radiation power eNodeBS.UE_RNTI Uint [𝑁𝑈𝐸 ] [3 … 2] Connected UEs eNodeBS.UE_UL_RB Uint [𝑁𝑈𝐸 ] [ ] - [3…16] [2…11] Uplink RB array for UEs eNodeBS.UE_DL_RB Uint [𝑁𝑈𝐸 ] [ ] [3…166] [2…241] Downlink RB array for UEs The UE has a unique IMSI number assigned to its SIM card. In the simplified model, UEs are assigned sequence numbers 𝑈𝐸. 𝑅𝑁𝑇𝐼 and names 𝑈𝐸. 𝑛𝑎𝑚𝑒 by analogy with the eNodeB. The UE searches for a communication channel with the best reception and connects to the station. Synchronization is carried out using the Primary Synchronization Signal (PSS) and Secondary Synchronization Signal (SSS). For the uplink, the common PUSCH is used to transmit user data. The control channel PUCCH is transmitted independently and is used to transmit the channel quality indicator CQI, request to obtain a available resources schedule. The random access channel PRACH is used to request the communication initialization upon transition to the active mode. In the simplified model, the UE must know the number of its own workstation 𝑈𝐸. 𝑁𝐶𝑒𝑙𝑙𝐼𝐷 and its carrier frequency number 𝑈𝐸. 𝑓𝑟𝑒𝑞_𝑏𝑎𝑛𝑑. Information about neighboring stations is contained in the 𝑈𝐸. 𝑏𝑎𝑠𝑒. The device receives and stores information about the allocated resources in 𝑈𝐸. 𝑅𝐵. The UE is in one of two states: idle mode and data transmission, parameter 𝑈𝐸. 𝑠𝑡𝑎𝑡𝑢𝑠. Devices may change the 𝑈𝐸. 𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 parameter over time. The movement schedule is set using an array 𝑈𝐸. 𝑡𝑟𝑎𝑗𝑒𝑐𝑡𝑜𝑟𝑦 of coordinates with a time reference. The 𝑈𝐸. 𝑑𝑎𝑡𝑎𝑇𝑟𝑎𝑛𝑠𝑓𝑒𝑟 list data transfer sessions is formed with the start time and the session duration. In the simplified model, the device radiation power is fixed by the parameter 𝑈𝐸. 𝑚𝑎𝑥𝑃𝑜𝑤𝑒𝑟. UE device parameters are presented in Table 4. Table 4 UE object parameters for the model (local level) Parameter Data type Unit Sample data Description UE.name String UE#1 UE name UE.RNTI Uint 1 UE ID UE.position Uint [2] [7 1] Current UE cell coordinates - UE.NCellID 1 Workstation ID Uint UE.freq_band 1 Workstation band number UE.RB Uint [ ] [3 … 13] RB numbers allocated by the workstation UE.maxPower Float dBm 26 UE radiation power UE.status Bool true UE data transfer status - UE.base Int [ ] [1 3 4] List of nearest stations UE.trajectory (Int [3]) [ ] time-cell [0 9 2; …] Device movement schedule UE.dataTransfer (Int [2]) [ ] time-time [9 69; …] Device session schedule The scheme and objects relationships in the simulation model are shown in Figure 1. PU devices (UE1) move on the grid, choose the nearest eNodeB for connection and use the allocated frequency resource. SU devices (SU1, SU2) for communication must determine the white spaces configuration by REM cells analyzing. Figure 1: A cognitive system simulation model representation based on LTE The output data is presented as a cell array. The cell contains the total signals matrix received at the corresponding point, taking into account their attenuation with distance. Based on information about the emitting objects coordinates and their signals, all cells are filled. 3. Model software implementation The model is implemented in MatLab (version R2020b) according to the algorithm in Figure 2. The algorithm includes component initialization, UEs schedule generation, memory allocation for REM. At each iteration, the model is reconfigured: moving and reconnecting the UEs to the eNodeB with the best reception, recalculating and interpolating (by Kriging [9]) the REM and saving to file. Figure 2: REM generation algorithm The model parameters are chosen based on existing communication systems descriptions. Files are generated only when the state of at least one object changes to reduce the output data amount. The 1800 Hz band is used because it is the most common for 4G networks. The transmission mode is FDD, the channel width is 75 MHz. To reduce computational complexity, 25 RB (5 MHz) are used each for the uplink and downlink, which corresponds to 𝑓𝑟𝑒𝑞_𝑛𝑢𝑚 = 2002 subcarriers. The used map size 𝑔𝑟𝑖𝑑_𝑠𝑖𝑧𝑒 is 20×20 cells with a 𝑔𝑟𝑖𝑑_𝑠𝑡𝑒𝑝 = 250 m, which gives enough accuracy to calculate the UE movement between eNodeB cells. The distance between stations is 1 km. The number of simulated UEs may vary depending on the scenario. Various behavior scenarios are assigned to the UEs, examples are presented in Table 5. Table 5 Implemented movement and session scenarios Scenario Description Parameter Values modem Stationary device - - ta – activity start 0 … 20 h A mobile phone moves twice tb – activity end ta … 24 h between the points "home" [xh, yh] – "home" point Worker and "work" on weekdays coordinates [1..grid_size(1), Move- (5/2). Stays at home for [xw, yw] – "work" point 1..grid_size(2)] ment weekends. coordinates Mobile phone constantly ta – activity start 0 … 20 h moving during working hours tb – activity end ta … 24 h Courier on weekdays (2/2). Stays at td – time between sessions 100 … 1000 s home for weekends. The device continuously ta – activity start 0 … 20 h Hub transmits data at a certain tb – activity end ta … 24 h interval of time every day. Session ta – activity start 0 … 20 h The device performs sessions tb – activity end ta … 24 h User with variable intervals and td – time between sessions 3 … 30 min durations. tl – session duration 6 … 600 s An example of implemented schedules is shown in Figure 3. Figure 3(a) shows the movement key points of one of one UE during the day. Figure 3(b) shows the device communication sessions. (a) (b) Figure 3: UE scenarios: position change according to the "Courier" scenario (a), sequence of sessions according to the "User" scenario (b) At each iteration, the UE is checked and reconnected. The decision is made by the maximum signal level, which is calculated as the average value of the reference OFDM symbols [1]: ∑𝑁𝑅𝑆𝑅𝑃 𝑖=1 𝑃𝑅𝑆𝑅𝑃𝑖 𝑃𝑒𝑁𝑜𝑑𝑒𝐵 = (3) 𝑁𝑅𝑆𝑅𝑃 where 𝑃𝑅𝑆𝑅𝑃𝑖 – OFDM reference symbol level, 𝑁𝑅𝑆𝑅𝑃 – the reference OFDM symbol index in the signal from the eNodeB. The connection is carried out by distributing the eNodeB downlink resource (𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑈𝐸_𝐷𝐿_𝑅𝐵) between the connected UEs. The station has 𝑁𝐷𝐿 = 250 RB for downlink, 25 RB per subframe. The eNodeB downlink resource is calculated by random permutation, function 𝑟𝑎𝑛𝑑𝑝𝑒𝑟𝑚(): 𝑅𝐵𝐷𝐿 = 𝑟𝑎𝑛𝑑𝑝𝑒𝑟𝑚(𝑁𝐷𝐿 , 𝑁𝐷𝐿_𝑈𝐸 , 𝐶𝑁𝑇𝑈𝐸 ) (4) where 𝑁𝐷𝐿 – total resource blocks number (250 RB) for each eNodeB; 𝐶𝑁𝑇𝑈𝐸 – total UEs number; 𝑁𝐷𝐿_𝑈𝐸 – the RB number allocated for each UE: 𝐷𝐿 𝑁 −1 𝑁𝐷𝐿_𝑈𝐸 = [𝐶𝑁𝑇 ] (5) 𝑈𝐸 where [∙] – the integer part. Each device is randomly allocated an equal number of RB, which depends on the connected UEs total number: 𝑅𝐵𝐷𝐿 (𝑗), 𝑗 = 𝑁𝐷𝐿_𝑈𝐸 × (𝑖 − 1) + 1 при 𝑈𝐸. 𝑠𝑡𝑎𝑡𝑢𝑠 = 𝑓𝑎𝑙𝑠𝑒 𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑈𝐸_𝐷𝐿_𝑅𝐵(𝑖) = { , 𝑖 = ̅̅̅̅̅̅̅̅̅̅̅̅ 1, 𝐶𝑁𝑇𝑈𝐸 (6) 𝑅𝐵𝐷𝐿 (𝑗), 𝑗 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑁𝐷𝐿_𝑈𝐸 × (𝑖 − 1) + 1, 𝑁𝐷𝐿_𝑈𝐸 × 𝑖 при 𝑈𝐸. 𝑠𝑡𝑎𝑡𝑢𝑠 = 𝑡𝑟𝑢𝑒 where i – UE index. The uplink resource distribution (𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑈𝐸_𝑈𝐿_𝑅𝐵) between the connected UEs is carried out differently, because a frequency diversity multiplexing scheme with transmission on a SC-FDMA is used. 𝑅𝐵𝑈𝐿 (𝑗), 𝑗 = 𝑁𝑈𝐿_𝑈𝐸 × (𝑖 − 1) + 1 при 𝑈𝐸. 𝑠𝑡𝑎𝑡𝑢𝑠 = 𝑓𝑎𝑙𝑠𝑒 𝑒𝑁𝑜𝑑𝑒𝐵𝑆. 𝑈𝐸_𝑈𝐿_𝑅𝐵(𝑖) = { , 𝑖 = ̅̅̅̅̅̅̅̅̅̅̅̅ 1, 𝐶𝑁𝑇𝑈𝐸 (7) 𝑅𝐵𝑈𝐿 (𝑗), 𝑗 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑁𝑈𝐿_𝑈𝐸 × (𝑖 − 1) + 1, 𝑁𝑈𝐿_𝑈𝐸 × 𝑖 при 𝑈𝐸. 𝑠𝑡𝑎𝑡𝑢𝑠 = 𝑡𝑟𝑢𝑒 where 𝑅𝐵𝑈𝐿 – vector of RB numbers in subframe, which is formed similarly (4). Next, the resource grids generation for all objects is performed. Signals are placed on the REM in cells with the corresponding parent objects coordinates. To generate eNodeB resource grids, the function of the LTE Waveform Generator package 𝑙𝑡𝑒𝑅𝑀𝐶𝐷𝐿𝑇𝑜𝑜𝑙(), is used. The eNodeB configuration (Table 2) and information bits are transmitted to it, the data transmission status of each UE is taken into account. Figure 4 shows an example of a downlink resource grid. Figure 4: eNodeB downlink resource grid 4. Results The presented model version includes 7 eNodeB and 30 UE objects. The stations form a hexagonal structure, as shown in Figure 5. The model formed a REM for 30 days, which is 259.2×106 frames. As a result, 54246 files (145 GB) were created, the total operating time was 72 hours on a computer with an Intel Core i9-10900/2.80 GHz CPU, 64 GB RAM. Figure 5: An example of the eNodeB and UE objects initial location on the map in the model REM is formed at the end of loop iterations. An example of the resulting map cell structure is shown in Figure 6(a) (REM element composition far from the stations) and Figure 6(b) (close to eNodeB). (a) (b) Figure 6: Network traffic at the edge of the map (a); near the station (b): 1 – no signal (below -120 dBm); 2 - weak level, UE shutdown (up to -83 dBm); 3 – medium level (up to -20 dBm); 4 - strong level (above -20 dBm). Figure 6 analysis shows that near the eNodeB with many connected UEs the resource is limited - there are fewer free subcarriers. Moving away from stations makes the spectrum freer, and the free frequencies number increases. The generated data comparison in frames was performed to confirm the correctness of the model. The generated REM analysis in frame 100524000 is presented, the eNodeBs and UEs location is shown in Figure 7. Figure 7: Schematic location of eNodeB and UE objects on the REM and radio visibility area at the point (6, 10) Figure 7 shows three eNodeBs (B1, B2, B4). Station B1 occupies the second downlink band and the second uplink band, B2 occupies the third band, and B4 occupies the first band. All UEs do not transmit data and use one allocated RB in each direction. Figure 8 shows the REM cell state inside the labeled area in Figure 7 (coordinates (6, 10) - at the A22 location) in frame 100524000. Figure 8: Radio environment between the UE and the workstation at the point (6, 10) Figure 8 analysis showed that station resources are evenly distributed to connected devices, which confirms the model correctness. In Figure 8, the second downlink band uses RB number 190 for A23. Connected UEs to B2 (third band): A6, A11, A16. For these UEs, an equal number of blocks are allocated, but only the first ones are used: 170, 24, 36. This confirms the relationship correctness between objects current parameters and the radio environment activity state. The RMSE values were calculated to assess the generated REM quality: the difference between the estimated and actual eNodeB location (meters); the difference between the actual and expected signal level emitted by one UE (dBm) [2]. The average calculated value of RMSE parameters was 15.11 m and 7.83 dBm. The obtained RMSE values correspond to a sufficiently accurate REM for further application and are consistent with the results in [2, 6]. 5. Conclusion The paper presents the developed simulation model of REM generation for the LTE system. Model software implementation was made using the MatLab application package. The results of the REM generation with a quality assessment are presented: the average RMSE values were 15.11 m and 7.83 dBm, these values suitable for further application. The one output file average size (1 frame) was 3 MB, each frame processing lasted about 1 ms. The obtained results confirm the correctness of the developed model. The results of using the model is intended for use in the design and complex modeling of cognitive communication systems based on LTE. 6. References [1] M. Pesko, Radio Environment Maps: The Survey of Construction Method, KSII Transactions on Internet and Information Systems 8.11 (2014) 3789–3809. doi:10.3837/tiis.2014.11.008. [2] S. Alfattani, A. Yongacoglu, Indirect Methods for Constructing Radio Environment Map, in: Proceedings of the IEEE Canadian Conference on Electrical & Computer Engineering, 2018. doi:10.1109/CCECE.2018.8447654. [3] IEEE 802.22 Working Group on Wireless Regional Area Networks, 2019. URL: https://www.ieee802.org/22/. [4] T. Adame, IEEE 802.11AH: the WiFi approach for M2M communications, IEEE Wireless Communications Magazine (2014). doi:10.1109/MWC.2014.7000982. [5] B. Fette, Cognitive radio technology, Elsevier Inc, 2006. [6] M. Suchański, Radio environment maps for military cognitive networks: density of small-scale sensor network vs. map quality, Cognitive Radio-Oriented Wireless Networks 189 (2019) 195– 207. doi:10.1186/s13638-020-01803-4. [7] P. Bednarek, D. Bicki, J. Lopatka, Radio Environment Map for the Cognitive Radio Network Simulator, International Journal of Electronics and Telecommunications 64 (2018) 45–49. doi:10.24425/118145. [8] Free Space Path Loss: details & calculator, 2022. URL: https://www.electronics- notes.com/articles/antennas-propagation/propagation-overview/free-space-path-loss.php. [9] P. Kaniewski, Spectrum Awareness for Cognitive Radios Supported by Radio Environment Maps: Zonal Approach, Applied Sciences 11(7) (2021) 1–23. doi:10.3390/app11072910.