NOVEL SOFTWARE IN MATLAB DESIGNED FOR UWB SENSOR-BASED LOCALIZATION OF PEOPLE IN 2D AND 3D SPACE

Detection, localization, and tracking of people in 2D or 3D space using Ultra-wideband (UWB) short-range sensors is a subject of worldwide intensive research. In this paper, we describe a proposal for a novel software called UWB-PerLoc-2D3D. This software has been created in a MATLAB programming environment and designed to process UWB radar signals for the purpose of movement monitoring of human targets in 2D and 3D space. We present an evaluation of the proposed software properties as well as examples of its utilization in practice.


INTRODUCTION
When dealing with emergencies where human lives may be endangered, a range of practical applications for people localization using Ultra-wideband (UWB) short-range radars can be employed. Their usage is advantageous mainly in cases where it is not possible to use standard facilities intended for searching for people in danger. UWB sensors operating in the properly chosen frequency band allow to detect and localize people not only in situations with direct visibility, but also persons situated behind a nonmetallic obstacle, e.g. a wall, or in the environment with a very low optical visibility, e.g. in smoke, dust, darkness, dense fog or through foliage [1].
Nowadays, it is frequently discussed the topic of life quality assurance for elderly people. Many family members cannot provide senior care for various reasons. It often happens that an older person does not wish to be monitored by a camera system. The possibility of assisted living with UWB sensors is one of the alternatives for detecting their non-standard behavior. UWB radar system is used to monitor the vital functions of people and changes in their physical position, e.g. detection of an atypical position. The area of processing of signals measured by the UWB sensor is therefore a subject of continuous and intensive research [2].
At the Department of Electronics and Multimedia Telecommunications (KEMT) of the Technical University in Koice (TUKE), ongoing research in the field of UWB sensor systems is performed as well [3]. One part of it is focused on the development of new signal processing methods applied for people detection, localization, and tracking with UWB sensors. For that purpose, it is practical to dispose of user-friendly software enabling the measured radar signals to be processed and evaluated.
As part of the diploma thesis [4], a new software called UWB-PerLoc-2D3D was created in the MATLAB programming environment. It is designed for the offline processing of measured UWB radar signals with the aim to localize moving people in 2D and 3D space. The UWB-PerLoc-MAT program, which was developed within the bachelor's thesis [5], was used as a basis for the design of new software. In contrast to it, UWB-PerLoc-2D3D offers many improvements, which are described in the following sections of this paper. After evaluation of the proposed software properties, we conclude the paper with examples of its practical usage.

UWB-PERLOC-2D3D SOFTWARE DESIGN
The purpose of the UWB-PerLoc-2D3D software in the MATLAB programming environment is to ensure effective setting of parameters of individual methods of radar signal processing procedure for moving person detection, localization, and tracking (hereinafter SPMP procedure) and subsequently, process signals measured by UWB sensors with the intention to localize moving people in 2D or 3D space [6], [7]. It means it represents an offline processing system of UWB radar signals, which thanks to the implementation of advanced association techniques and multiple target tracking (MTT) system enable positioning of several moving people at the same time.
In the design of the program UWB-PerLoc-2D3D, we based on the bachelor's thesis [5], in which UWB-PerLoc-MAT software was created for the processing of signals obtained from radar system operating only with one transmitting (Tx) and two receiving antennas (Rx). In contrast to it, the program UWB-PerLoc-2D3D is extended by algorithms for locating people in 3D space [8], [9]. Based on this, it was necessary to adjust a chain that calculates the SPMP so that it estimates the distances of moving people from radar signals measured from four receiving antennas. Also, newly created software versus the previous one has many improvements and new features in terms of software controllability as well as its implementation. The most important ones are briefly described in the following subsections.

Design of folder structure for better orientation between individual m-files
In the original version of the software, all the necessary m-files were in one folder. Such a file structure seems impractical on the part of the developer. Therefore, a new structure has been proposed, which ensures that the m-files mediating the calculation of individual SPMP phases are located in separate folders, which ultimately improves the orientation between software algorithms [4].

Using the concept of nested functions
for programming of the software main function As the proposed software has a graphical user interface (GUI), this interface had to be defined as part of the software development. In the UWB-PerLoc-MAT program, the GUIDE tool was used for this purpose, the advantages of which are described in detail in [5]. However, it turned out that for the design of some other functions of the software it is more suitable to have a graphical interface defined programmatically using the functions of MATLAB. Therefore, when programming the main function of the software, the concept of nested functions [10] was chosen, the use of which brought the following benefits: • elimination of global variables, • possibility to set the way of displaying individual interactive components when changing the size of the main application window, • the ability to implement a toolbar to change the way graphical outputs are displayed.
The final graphical interface of the UWB-PerLoc-2D3D program is shown in Fig. 1.

Possibility of reading data of various formats
Former UWB-PerLoc-MAT software is unclear about the type of data to be read. This ambiguity arises from the fact that when selecting the type of data to be read by the software, the options "Radar 1", "Radar 2" and "Radar 3" are available according to the UWB sensor with which the measurement was performed. A much better solution for selecting the data type is to specify the types of real-time software with which the measurement was performed and the corresponding output data format. Additionally, the selection of the following types of partially processed data was implemented: pre-processed radar data, data with subtracted background, filtered data, normalized data, detector output, and output of the suppression of the false targets.

Implementation of all available SPMP algorithms
One of the biggest disadvantages of the original software is the number of implemented SPMP methods. The source of software implementations of these methods was the software Toolbox UW B, which was gradually designed in TUKE during the UWB project solving and is used to process radar signals to locate moving people in 2D space. This software is described in more detail in [5]. To maximize the efficiency of person localization, only the algorithms that provide the best results have been implemented in UWB-PerLoc-MAT. However, when developing new algorithms, it is appropriate to have other methods to analyze their mutual functionality for subsequent research. That is the reason why all available SPMP algorithms have been implemented in UWB-PerLoc-2D3D, of which e.g. the wall effect compensation algorithm can be mentioned. The absence of this algorithm in the original software caused significant localization inaccuracies when data from wall measurements were processed. Therefore, the newly created software also includes the option of setting wall parameters [11]. Overview of other SPMP methods implemented in UWB-PerLoc-2D3D is listed in Table 1.

More efficient realization of the program implementation of the main chain operations
One of the tasks of the diploma thesis [4] was to create a toolbox in the MATLAB programming environment, which contains the UWB-PerLoc-2D3D program itself, as well as individual algorithms of signal processing phases for the possibility of creating new methods enabling the SPMP calculation. During the preparation of these algorithms, the UW B processing function was created, which can be effectively used to program the entire chain of operations used to calculate the SPMP. This procedure was also applied in the UWB-PerLoc-2D3D software. Compared to the original software, the time-consuming nature of the SPMP calculation is much lower, as the program during execution of calculation of individual methods does not display each graphical output of the chain of operations, but displays only the output of the last selected method.
As the UWB-PerLoc-2D3D software has a graphical interface, the user triggers various functions of the UWB-PerLoc-2D3D program by interacting with the individual components of the interface. More specifically, for example, the input data is read, various SPMP methods and parameters are set, as well as the SPMP calculation itself is performed. Therefore, it is desirable to have the operations of setting the parameters and performing the main calculation separated, as can be seen in Fig. 2.

Correction of the process of graphical output saving
When saving graphical outputs, in the original software version, it was necessary to display each graphical output in a separate window before the program saved this output. After saving, the displayed window was closed. For this reason, storing a large number of graphical outputs

UWB-PERLOC-2D3D SOFTWARE FEATURES
The most significant improvement of the UWB-PerLoc-2D3D software compared to the original UWB-PerLoc-MAT software, in addition to the above-described improvements in terms of software control and implementation, is the ability to process UWB radar signals obtained from a multistatic radar operating with 1 Tx and 4 Rx, and thus to localize moving persons in 3D space. This property was ensured by the implementation of new localization algorithms, namely the 3D-2D method, the approximation of the 3D-2D method, the optimization method, and the Newton iteration method [7], [8], [9]. Because these algorithms were not given sufficient attention from the point of view of the correctness of their program implementation, the analysis of their properties was performed on a sample of synthetic data using computer simulation (Fig. 3). Due to the preparation of functions ensuring the calculation of the mentioned algorithms and functions for displaying the estimated coordinates of targets in the 3D coordinate system, it proved appropriate to create this simulation in the MATLAB programming environment. The main benefit of such a simulation was the preparation of various other functions for the calculation of not only above mentioned algorithms but also many others, which were created as a combination of available algorithms for locating and tracking targets in 2D and 3D space. As the designed simulation is based on testing localization algorithms on a sample of synthetic data, it was possible to analyze these algorithms in terms of localization accuracy [4]. The mentioned procedure greatly facilitated the design of the UWB-PerLoc-2D3D program, and therefore it can be stated that this process was suitable for solving the task of implementation of the given algorithms into the newly created software.
As part of the diploma thesis [4], the UWB Toolbox was designed in the MATLAB programming environment, too. Its file structure is designed to guide future developers to use the helping functions UW B processing, UW B imagesc, UW B plot2D, and UW B plot3D. These Of course, the proposed software is also characterized by negative properties. In the case of UWB-PerLoc-2D3D, its biggest disadvantage is the high memory requirements. This program is designed in the way that all variables containing the processed signals are still available in memory after the calculation of the procedure for the purpose of their display or any other operation. This feature could be eliminated by using a different programming approach in which the program works with storage, or when calculating a given variable, the program stores this variable in a predefined place in the storage, respectively. Subsequently, when an operation is requested, for example, the display of graphical output, this variable is loaded into memory. In the case of the UW B processing function of the UWB Toolbox, its negative feature is a relatively complex process of defining input parameters and also accessing output parameters, as the inputs and outputs of this function are defined as cell fields [12]. This complexity results from the fact that when designing this function, the aim was to create a concept according to which the whole UWB radar signal processing procedure can be easily programmed.

CONCLUSIONS
From the way of working with the program UWB-PerLoc-2D3D, which is simple and intuitive thanks to the graphical interface, it can be stated that this software can be used in educational and scientific research activities at TUKE. Its pilot testing took place within the subject UWB sensor network in the winter semester of the school year 2020/2021. UWB-PerLoc-2D3D software is also actively used in ongoing research and development in the field of people monitoring performed at KEMT.
Given that in many cases it appears practical to have software that can detect, localize and track moving persons in real-time, the idea for extending this work is to implement such functionality in the software UWB-PerLoc-2D3D. Another extension can be related to the addition of signal processing methods for detection, localization, and tracking of static people based on their vital signs and in such a way enable to track people changing their motion activity, too.