Obtaining labels for clusters of data of events detected in RF measurement data

The system addresses the challenge of accurate event detection in passive radio sensing by analyzing RF measurement data, clustering similar events, and obtaining labels from sensing devices, achieving effective classification without pre-trained classifiers and maintaining data privacy.

WO2025119841A1PCT designated stage expired Publication Date: 2025-06-12KONINK KPN NV
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/084329
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-04
Filing Date
2024-12-02
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Existing passive radio sensing systems face challenges in accurately detecting and classifying specific events without pre-trained classifiers, due to site-specific variations and the need for prior knowledge of events.

Method used

A system that analyzes radio-frequency measurement data to detect events, clusters similar data points, and obtains labels by querying sensing devices about detected events or passively monitoring their transmission timings, eliminating the need for pre-trained classifiers.

Benefits of technology

This approach allows for accurate event detection and classification without sharing raw data, maintaining data privacy and enabling in-situ training, while also reducing energy consumption by allowing sensing devices to stay in low-power modes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024084329_12062025_PF_FP_ABST
    Figure EP2024084329_12062025_PF_FP_ABST
Patent Text Reader

Abstract

A system (1) is configured to obtain radio-frequency measurement data relating to a plurality of communication links (51-56). Each of the communication links is between two network devices of a plurality of network devices (11,31-36) and the plurality of network devices comprising a plurality of sensing devices (31-34). The system is further configured to detect events occurring in the environment of the sensing devices by analyzing the radio-frequency measurement data, obtain data describing the events from the radio- frequency measurement data, cluster the data describing the events into clusters based on a similarity of the data describing the events, and obtain labels for the clusters by asking whether one or more of the sensing devices (31,32) also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the sensing devices (33,34) at one or more of the detected events.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] OBTAINING LABELS FOR CLUSTERS OF DATA OF EVENTS DETECTED IN RF

[0002] MEASUREMENT DATA

[0003] FIELD OF THE INVENTION

[0004] The invention relates to a system for obtaining labels for a plurality of clusters of data, the data describing events, and to a sensing device.

[0005] The invention further relates to a method of obtaining labels for a plurality of clusters of data, the data describing events, and to a method of ascertaining whether a sensing device detected an event.

[0006] The invention also relates to one or more computer program products enabling a computer system to perform such methods.

[0007] BACKGROUND OF THE INVENTION

[0008] Integrated / Joint Sensing and Communications (ISAC / JSAC) is expected to be a core ability of 5G+ networks, where the network is expected to orchestrate sensing functions as well as communications between devices on the network.

[0009] As part of the research in this area, some focus has been placed on extracting sensing data from existing communications signals, with the goal of avoiding the requirement of having dedicated sensing signals (e.g. Radar). These have been termed “passive” or “ambient” radio sensing systems. The paper “Radio Sensing Using 5G Signals: Concepts, State-of-the-art and Challenges” by Chen, Y., Zhang, J., Feng, W., & Alouini, M.- S., published in IEEE Internet of Things Journal, 1-1 (2021) (doi : 10.1109 / jiot.2021.3132494), provides a comprehensive overview of radio sensing using the recent fifth generation (5G) signals.

[0010] Such passive radio sensing systems may rely on features derived from channel or signal metrics which are already commonly measured at the Base Station or UE during normal communications tasks, such as channel state information (CSI), received signal strength (RSS), and cellular signal quality (CSQ). Other data which has been used includes raw signal samples (RRRS), packet error rates, time -delay, doppler, and link quality information. Features may then be derived from such channel and signal metrics to train learning systems to recognize the occurrence of specific events. Common features include changes in the data average, variance, or entropy measures, amongst others.

[0011] In order to recognize the occurrence of specific events, the learning systems must be trained, such that patterns in the sensing data may be assigned to classes. This commonly requires large data sets of example channel or signal metrics, or extracted features, which have been given class labels. Sensing data derived from channel or signal measurements will initially be of unknown relevance to devices in the environment, unless a pre-trained classifier is used to classify sensed data.

[0012] Drawbacks of using a pre-trained classifier are that pre-training for all potential channel measurements is technically difficult, requiring prior knowledge or estimation of both site -specific channel measurement data and of which devices the data would be relevant to, and that pre-training leads to less accurate classification due to site- specific variations. Thus, learning systems trained on generic data sets may lack accuracy due to the specific variations of the environment they are installed in. Furthermore, this requires a priori knowledge of the sort of events which are to be sensed in the environment, which may not be fully known.

[0013] SUMMARY OF THE INVENTION

[0014] It is a first objective to provide a system, which is able to detect and classify specific events detected in radio-frequency measurement data without a pre-trained classifier.

[0015] It is a second objective to provide a method, which can be used to detect and classify specific events in radio-frequency measurement data without a pre-trained classifier.

[0016] In a first aspect, a system for obtaining labels for a plurality of clusters of data, the data describing events, comprises at least one processor configured to obtain radio - frequency measurement data relating to a plurality of communication links, each of the plurality of communication links being between two network devices of a plurality of network devices, the plurality of network devices comprising a plurality of sensing devices, detect events occurring in the environment of the plurality of sensing devices by analyzing the radio-frequency measurement data, obtain data describing the events from the radiofrequency measurement data, cluster the data describing the events into a plurality of clusters based on a similarity of the data describing the events, and obtain labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events.

[0017] By using RF measurement data to detect and classify specific events, sensing devices are not required to share raw data, meaning data privacy is maintained throughout. By obtaining labels by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events, a pre-trained classifier is not required and the training is performed in-situ. A cluster may have a single label or multiple labels .

[0018] The timing of transmissions of less capable edge nodes (LCN) may be passively monitored, for example. LCNs are devices which typically comprise only low- energy consumption sensors and basic hardware for communication and typically transmit sensor data near-immediately upon detection, allowing the occurrence of events and communication of traffic from the sensor device to be correlated. With this passive approach, no change in sensing device communications or behavior is required.

[0019] There is increasing interest in battery-powered highly capable edge nodes (HCN). HCNs are loT devices which comprise advanced hardware such as power intensive sensors and internal MCUs for data preprocessing and typically only transmit data periodically, such that there is no correlation between when the sensor device broadcasts and when it has detected something “interesting” to the sensor. These HCNs may be asked about one or more of the detected events. To maintain privacy, sensing devices need not be required to indicate whether a sensed RF event is of relevance to them, meaning nothing is learnt of their function or capabilities if they do not participate. With this active approach, labels may be obtained with minimal messaging.

[0020] Clustering may be performed in a similar manner as described in the paper “Automatic Class Discovery and One-Shot Interactions for Acoustic Activity Recognition” by Jason Wu et al., published in Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems, Pages 1-14 (April 2020) (https: / / doi.org / 10.1145 / 3313831,3376875). This paper describes a method of low-user burden class assignment. The method involves collecting acoustic data over time in an environment, which may be indicative of initially unknown events occurring. The data is automatically clustered based on statistical similarity.

[0021] The paper further describes that when high quality clusters have been formed, the system seeks labels from a human user the next time an acoustic event occurs that fits the cluster. It does this by verbally asking a question, such as “What was that sound?”, such that the user can respond with an answer, e.g. “It was the microwave”. This answer can then be used as a class label for the entire cluster. This kind of labelling still requires input from human users and is therefore suboptimal.

[0022] Each label of a respective cluster of the plurality of clusters may identify one or more sensing devices of the plurality of sensing devices and indicate a relevance of data in the respective cluster to the one or more sensing devices. For certain applications, like wakeup and data sharing, it is sufficient to know the relevance of an event to a sensing device. Each label may specify for each sensing device identified in the label whether the relevance is positive or negative. This may be used to determine a cluster label confidence more reliably, for example. Alternatively, the fact that a sensing device is identified in a label may indicate that the relevance is positive and the fact that a sensing device is not identified in a label may indicate that the relevance is negative or that no relevance has been determined yet.

[0023] The at least one processor may be configured to obtain new radio -frequency measurement data, detect a new event occurring in the environment of the plurality of sensing devices by analyzing the new radio-frequency measurement data, obtain new data describing the new event from the new radio-frequency measurement data, classify the new data into a cluster of the plurality of clusters, and identify one or more sensing devices identified in a label of the cluster.

[0024] For certain applications, like wake-up and data sharing, sensing devices first need to be identified. The new event may be detected by using one or more cluster classifiers trained with the obtained labels. One cluster classifier, e.g. based on a Support Vector Machine (SVM), may be trained per cluster, for example.

[0025] Recent research has developed “event-driven” self-wake up for HCNs, via the inclusion of basic sensors which are constantly provided low power to trigger the waking up of the rest of the HCN in the case of a detected event These “low power” sensing modes still draw significant energy, however. When sensing devices can be woken up by the system based on radio -frequency measurement data, sensing devices may stay in very-low-power modes for longer periods of time, thereby saving resources.

[0026] The at least one processor may be configured to transmit one or more wakeup messages to at least the identified one or more sensing devices to notify the identified one or more sensing devices that a relevant event has been detected and allow the identified one or more sensing devices to decide whether to enter a high-power mode from a low -power mode. The wake-up message(s) may be sent with one or more unicast messages to only the identified one or more sensing devices or with a broadcast message which identifies the identified one or more sensing devices.

[0027] The at least one processor may be configured to transmit one or more data sharing messages to at least the identified one or more sensing devices and / or to one or more further systems associated with the identified one or more sensing devices, each of the one or more data sharing messages comprising radio -frequency data or an offer to share radio frequency data. The data sharing message(s) may be sent with one or more unicast messages to only the identified one or more sensing devices or with a broadcast message which identifies the identified one or more sensing devices. Additional RF sensing data may be provided to sensing devices or to an associated system (e.g. of a vendor of the sensing device), to augment their existing data streams with no / little additional overhead. Sensing devices may even prefer to be in low- energy states (e.g. sleep states) longer, rather than recording and reporting all sensing data themselves.

[0028] The at least one processor may be configured to ascertain at least one of an accuracy of the cluster and a label confidence of the cluster, and include the at least one of the accuracy of the cluster and the label confidence of the cluster in the one or more wake -up messages and / or in the one or more data sharing messages. This allows the sensing devices (or the associated systems) themselves to determine if it is beneficial to wake-up and / or receive RF sensing data from the system.

[0029] The at least one processor may be configured to ascertain an accuracy of the cluster and / or a label confidence of the cluster, compare the accuracy of the cluster with a first threshold and / or the label confidence of the cluster with a second threshold, and transmit the one or more wake-up messages and / or the one or more data sharing messages if the accuracy of the cluster is determined to exceed the first threshold and / or the label confidence of the cluster is determined to exceed the second threshold. Thus, the system determines whether it is beneficial for sensing devices (or the associated systems) to wakeup and / or receive RF sensing data from the system. This results in fewer messages than when only the sensing devices decide this. However, the system may not always be able to make the best decision on behalf of a sensing device (or an associated system).

[0030] The at least one processor may be configured to obtain the labels by asking whether a first set of one or more sensing devices also detected a first set of one or more detected events and based on a passively monitored timing of transmissions from a second set of one or more sensing devices at a second set of one or more detected events, the first and second sets of sensing devices being disjoint. By combining the active and passive approach, the label accuracy may be increased.

[0031] The at least one processor may be configured to ascertain whether one or more criteria have been met, and ask the one or more sensing devices whether the one or more sensing devices also detected the one or more detected events if the one or more criteria are ascertained to have been met. This may be used to reduce the amount of messaging. For example, the sensing devices are only asked about an event when their answers will likely be useful.

[0032] The at least one processor may be configured to ascertain whether one or more criteria have been met by ascertaining an accuracy of the cluster, comparing the accuracy of the cluster with a threshold, and determining that the one or more criteria have been met in dependence on the accuracy of the cluster exceeding the threshold. If the accuracy of the cluster is low, the answer(s) of the one or more sensing devices will likely be less useful.

[0033] In a second aspect, a sensing device comprises at least one processor configured to receive, from a system, a message asking about an event, the message specifying a time of the event, ascertain, based on the specified time and sensing data collected by the sensing device, whether the sensing device detected an event at the specified time, and transmit a response message to the system in response to the message, the response message comprising information on the detected event if the sensing device detected an event at the specified time. For example, the response message may indicate “relevant” if the sensing device detected an event at the specified time and “not relevant” otherwise. The message may further specify the location, direction, and / or heading of the event.

[0034] In a third aspect, a sensing device comprises at least one processor configured to receive a wake-up message from the system, the wake-up message comprising a cluster accuracy and / or a cluster label confidence, and if the sensing device is in a low- power mode, compare the cluster accuracy of the cluster with a first threshold and / or the cluster label confidence with a second threshold and decide to enter a high -power mode if the cluster accuracy is determined to exceed the first threshold and / or the cluster label confidence is determined to exceed the second threshold.

[0035] In a fourth aspect, a method of obtaining labels for a plurality of clusters of data, the data describing events, comprises obtaining radio-frequency measurement data relating to a plurality of communication links, each of the plurality of communication links being between two network devices of a plurality of network devices, the plurality of network devices comprising a plurality of sensing devices, detecting events occurring in the environment of the plurality of sensing devices by analyzing the radio -frequency measurement data, obtaining data describing the events from the radio-frequency measurement data, clustering the data describing the events into a plurality of clusters based on a similarity of the data describing the events, and obtaining labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events. The method may be performed by software running on a programmable device. This software may be provided as a computer program product.

[0036] In a fifth aspect, a method of ascertaining whether a sensing device detected an event comprises receiving, from a system, a message asking about an event, the message specifying a time of the event, ascertaining, based on the specified time and sensing data collected by the sensing device, whether the sensing device detected an event at the specified time, and transmitting a response message to the system in response to the message, the response message comprising information on the detected event if the sensing device detected an event at the specified time. The method may be performed by software running on a programmable device. This software may be provided as a computer program product.

[0037] Moreover, a computer program for carrying out the methods described herein, as well as a non -transitory computer readable storage -medium storing the computer program are provided. A computer program may, for example, be downloaded by or uploaded to an existing device or be stored upon manufacturing of these systems.

[0038] A non-transitory computer-readable storage medium stores at least a first software code portion, the first software code portion, when executed or processed by a computer, being configured to perform executable operations for obtaining labels for a plurality of clusters of data, the data describing events.

[0039] The executable operations comprise obtaining radio-frequency measurement data relating to a plurality of communication links, each of the plurality of communication links being between two network devices of a plurality of network devices, the plurality of network devices comprising a plurality of sensing devices, detecting events occurring in the environment of the plurality of sensing devices by analyzing the radio -frequency measurement data, obtaining data describing the events from the radio-frequency measurement data, clustering the data describing the events into a plurality of clusters based on a similarity of the data describing the events, and obtaining labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events .

[0040] A non-transitory computer-readable storage medium stores at least a second software code portion, the second software code portion, when executed or processed by a computer, being configured to perform executable operations for ascertaining whether a sensing device detected an event.

[0041] The executable operations comprise receiving, from a system, a message asking about an event, the message specifying a time of the event, ascertaining, based on the specified time and sensing data collected by the sensing device, whether the sensing device detected an event at the specified time, and transmitting a response message to the system in response to the message, the response message comprising information on the detected event if the sensing device detected an event at the specified time .

[0042] As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a device, a method or a computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit", "module" or "system." Functions described in this disclosure may be implemented as an algorithm executed by a processor / microprocessor of a computer. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.

[0043] Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a computer readable storage medium may include, but are not limited to, the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device.

[0044] A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro -magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

[0045] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java(TM), Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0046] Aspects of the present invention are described below with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor, in particular a microprocessor or a central processing unit (CPU), of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer, other programmable data processing apparatus, or other devices create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0047] These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowchart and / or block diagram block or blocks.

[0048] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0049] The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of devices, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).

[0050] It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by special purpose hardware -based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

[0051] BRIEF DESCRIPTION OF THE DRAWINGS

[0052] These and other aspects of the invention are apparent from and will be further elucidated, by way of example, with reference to the drawings, in which:

[0053] Fig. 1 is a flow chart of a first embodiment of the method of obtaining labels;

[0054] Fig. 2 is a flow chart of a second embodiment of the method of obtaining labels;

[0055] Fig. 3 is a flow chart of a third embodiment of the method of obtaining labels;

[0056] Fig. 4 is a flow chart of a fourth embodiment of the method of obtaining labels;

[0057] Fig. 5 is a flow chart of part of a fifth embodiment of the method of obtaining labels;

[0058] Fig. 6 is a flow chart of part of a sixth embodiment of the method of obtaining labels;

[0059] Fig. 7 is a flow chart of a seventh embodiment of the method of obtaining labels;

[0060] Fig. 8 is a flow chart of an eighth embodiment of the method of obtaining labels;

[0061] Fig. 9 is a block diagram of an embodiment of the system and of an embodiment of the sensing device ; and

[0062] Fig. 10 is a block diagram of an exemplary data processing system for performing the method of the invention.

[0063] Corresponding elements in the drawings are denoted by the same reference numeral. DETAILED DESCRIPTION OF THE DRAWINGS

[0064] A first embodiment of the method of obtaining labels for a plurality of clusters of data is shown in Fig. 1. The data describes events. The method may be performed by system 1 of Fig. 9, for example. A step 101 comprises obtaining radio-frequency measurement data relating to a plurality of communication links . Each of the plurality of communication links is between two network devices of a plurality of network devices. The plurality of network devices comprises a plurality of sensing devices. The plurality of network devices may, for example, comprise a Base Station (BS) and its UEs. In this case, the method of Fig. 1 may be performed separately for each of a plurality of cells, for example.

[0065] A step 103 comprises detecting events occurring in the environment of the plurality of sensing devices by analyzing the radio -frequency measurement data obtained in step 101. Events are physical events in the environment, the occurrence of which may be inferred from fluctuations in the RF channel / signal measurements of network devices engaged in normal communications. Events may include environmental changes, such as doors opening or closing, a vehicle parking in an area, a person entering a room. Events may include any repetitive action that creates a consistent measurable change in the RF channel / signal measurements.

[0066] A step 104 comprises obtaining data describing the events detected in step 103 from the radio -frequency measurement data obtained in step 101. A step 105 comprises clustering the data describing the events, as obtained in step 104, into a plurality of clusters based on a similarity of the data describing the events. Clustering may be performed in a similar manner as described in the above-mentioned paper “Automatic Class Discovery and One-Shot Interactions for Acoustic Activity Recognition”, for example.

[0067] A step 107 comprises obtaining labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events. The sensing devices also detect events. For example:

[0068] • A smart security camera may monitor room occupancy, where a room becoming occupied may be a detected event;

[0069] • An environmental control system may monitor the open / close state of windows or doors, where a window or door changing state may be a detected event;

[0070] A parking space occupancy sensor may monitor the occupied / not occupied state of a car parking space, where the change in occupancy may be a detected event. The sensing devices may transmit data as soon as they detect an event and / or may be able to indicate whether they detected an event at a certain moment. Each label of a respective cluster of the plurality of clusters may identify one or more sensing devices of the plurality of sensing devices and indicate a relevance of data in the respective cluster to the one or more sensing devices. In this case, each label may specify for each sensing device identified in the label whether the relevance is positive or negative, for example. Thus, any given cluster label assigned to a cluster may, for example, consist solely of a sensing device ID for which that cluster is relevant, and optionally a “positive” or “negative” label (i.e. confirmed relevant or confirmed not relevant). This will be described in more detail in relation to Fig. 2.

[0071] Labels may also identify events instead of or in addition to sensing devices and indicate directly what the event is that is described by the respective cluster of data. For example, a cluster label may indicate that a given cluster contains data describing a ‘door opening’ event. In this case, the cluster label is not specific to a given sensing device. Such a cluster label may be requested from one or more sensing devices when asking the one or more sensing devices in step 107 whether they also detected one or more of the detected events.

[0072] When labels are obtained based on passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events in step 107, the relevance of an event to a sensing device may be learnt with high certainty, but the true nature of the event (what is actually happening) will normally not be known at any point. Additionally, one or more steps of one or more of the embodiments of Figs. 2-8 may be added to the embodiment of Fig. 1.

[0073] A second embodiment of the method of obtaining labels for a plurality of clusters of data is shown in Fig. 2. The data describes events. The method may be performed by the system 1 of Fig. 9, for example.

[0074] Step 101 comprises obtaining radio-frequency measurement data relating to a plurality of communication links. Each of the plurality of communication links is between two network devices of a plurality of network devices. The plurality of network devices comprises a plurality of sensing devices.

[0075] The plurality of network devices may comprise the set of UEs in a given cell and the base station that serves the UEs in that cell. For example, the plurality of network devices may comprise a single base station, which is communicating with one UE at a time, according to the current scheduling. In this case, one communication link may be active at any given time and the active communication link is between the base station and the UE with which it is communicating. Alternatively, if device-to-device communication is being employed, multiple communication links may be active at any given time. The active communication links involve any UE-to-UE pair currently in communication in addition to the communication link between the base Station and the UE with which it is communicating. Thus, the communication links may comprise BS-to-UE, UE-to-BS, and / or direct UE-to-UE communication links.

[0076] The network devices comprise the hardware required to communicate with one another via RF communication channels. The network devices communicate according to standard communication schemes. During normal communications operations, the network devices record and report RF measurement data on the communication signals or channels of the communication links.

[0077] RF measurement data is regularly measured for each communication link, e.g. as part of standard communication protocols, and then reported. RF measurement data may, for example, comprise one or more of the following types of data:

[0078] • Channel State Information (CSI), which, for a single antenna pair, consists of a single measure of channel gain. In the case of multiple antennas (e.g. MIMO), the CSI consists of a matrix of channel gains between each antenna pair. In the multi -antenna case, each channel gain in the matrix may be treated as a separate item of RF measurement data, in the same way that (for example) CSI in general and RSS may be treated separately. This will only affect the dimensionality of the data.

[0079] • Received Signal Strength (RSS), which may be measured at the UE, and expressed in a single dB value.

[0080] • Cellular Signal Quality (CSQ) or Reference Signal Received Power (RSRP), which may be measured at the UE and expressed as a single dB value.

[0081] • Other types of data such as packet error rates, time delay, Doppler, and link quality information.

[0082] In the BS-to-UE scenario, RF measurement data may be measured on the downlink, uplink, or both, at the UE or the base station. It may also be dependent on the specific type of RF measurement data being measured: RSS may be measured at the UE or the BS, CSI may be measured at the UE or the BS, and CSQ may be measured at the UE (usually while it is in idle mode). The RF measurement data is timestamped (this is done by standard for communications for most RF measurement data types).

[0083] Normally, only RF measurement data of communications links between network devices which are physically static, i.e. fixed within the environment, are used. This is because physical motion of a network device would create changes in the RF measurement data, despite no events (necessarily) occurring in the environment.

[0084] The plurality of sensing devices are capable of collecting sensor data and may include, for example:

[0085] • Highly capable edge nodes (HCN): devices which may comprise

[0086] A. High-energy-consumption sensors (e.g. cameras, lidars) which operate when the HCN is in a high power mode;

[0087] B. Optionally and additionally, low-energy-consumption sensors (e.g. light sensors) which operate when the HCN is in a low -power mode;

[0088] C. Optionally and additionally, a wake-up circuit which switches the HCN from a low -power mode to a high-power mode. This may be triggered when an event is detected by the low -energy-consumption sensor;

[0089] D. Optionally and additionally, hardware and software to enable some level of preprocessing or classification of data collected by the high-energy-consumption sensors. Because of this pre-processing, it is assumed that HCNs will not immediately transmit sensor data upon detecting an event.

[0090] • Less capable edge nodes (LCN): devices which only comprise low-energy consumption sensors and basic hardware for communication. Because of this, it is assumed that LCNs will transmit sensor data upon detecting an event, leading to a correlation between the occurrence of events of interest to the sensor and communication traffic from the sensor.

[0091] The sensing devices typically have a unique identifier.

[0092] A step 121 comprises creating, for each communication link, an RF time series from the RF measurement data and associated timestamps, as obtained in step 101. Thus, the RF time series represents the RF measurement data over time per communication link. If the RF measurement data consists of multiple data types (RSS, CSI, CSQ, etc.), the RF time series may be multi-dimensional, with multiple metrics (each metric corresponding with a data type) being tracked on one time axis. If an RF time series has already been created, newly reported RF measurement data may be appended to the existing RF time series based on their time stamps.

[0093] Step 103 comprises detecting events occurring in the environment of the plurality of sensing devices by analyzing the radio -frequency measurement data obtained in step 101. In the embodiment of Fig. 2, step 103 is implemented by a step 123.

[0094] Step 123 comprises applying an adaptive segmentation method to the RF time series created in step 121 to identify segments which represent (potential) events. Step 123 may comprise, for example, identifying and extracting segments of the RF time series for which RF measurement data values exceed or drop below a threshold. This threshold may be static and pre-defined, for example. The threshold may also be adaptive, such as a multiplication factor with respect to a previous time window (e.g. “when value reaches 1 .5x the average over the previous 10 seconds given by the time series”), for example.

[0095] For multi-dimensional RF time series, the threshold check may be done for each dimension independently (normally with a different threshold), creating an RF time series segment if any one of the dimensions exceeds or drops below the threshold. The RF time series segments which do not comprise RF measurement data of interest may be discarded at this point.

[0096] Step 104 comprises obtaining data describing the events detected in step 103 from the radio-frequency measurement data obtained in step 101. In the embodiment of Fig. 2, step 104 is implemented by a step 125. Step 125 comprises converting the RF time series segments identified in step 123 into a vector representation of RF features, e.g. by utilizing a pre-trained “RF Embeddings Model” model to extract the RF features or by utilizing a set of pre-defined calculations.

[0097] As a first example, step 125 may comprise performing a set of predefined calculations on the RF time series segments to return a vector representation of RF features in which the elements are metrics of known types. In this first example, the RF feature is a vector of numerical values, representative of a single RF time series segment. Common RF metrics that may be used as RF features include:

[0098] • Time-domain metrics o The mean or average of the RF measurement over the time series segment. o The variance of the RF measurement over the time series segment. o The central moment of the RF measurement over the time series segment.

[0099] • Frequency-domain metrics (accessible by performing a Fourier transform of the time series) o The spectral energy. o The entropy.

[0100] The RF feature may be calculated on each dimension of the RF time series segment. For instance, the variance may be calculated separately on both the RSS dimension and CSQ dimension, if available, and then treated as separate elements of the RF feature vector. Calculations vary depending on the metric, but may include : 1. For time-domain features, where dwis the wth point of RF measurement data within the RF time series segment, and W is the total number of points. a. Mean or average, q = ^Xw=i dwb. Variance, a2= ^Xw=i dw~ )2c. n-order central moment, y = ^Ew=i (dw~ E)n

[0101] 2. For frequency -domain features, where Dqis the qth point of the fourier transform of the RF measurement data within the RF time series segment, where q = 1,2, . . . , Q a. spectral energy, b. entropy, H = Sq=i

[0102] As a second example, a (single) RF embeddings model may be pre-trained on a dataset consisting of different RF measurement data types (e.g. CSI, RSS, CSQ, etc.), to return a single RF feature (vector) per identified RF time series segment. In this example, the RF features created in step 125 would be low-dimensional vector representations of the initial RF time series segments, retaining the majority of useful information for the purposes of clustering and classification.

[0103] The RF embeddings model may, for example, comprise a convolutional neural network (CNN). This CNN may be trained by inputting training examples which each comprise a RF time series segment and a corresponding human -curated RF feature. By removing the original output layer from the trained CNN and using outputs from a hidden layer instead, it becomes possible to utilize non-human-curated RF features.

[0104] The RF embeddings model approach has advantages over the predefined calculations approach, as in the RF embeddings model:

[0105] • The RF features themselves are potentially more information dense for the purposes of later classification, requiring less data to be stored for successful classification;

[0106] • It is possible to determine and utilize non-human-curated RF features and it is not necessary to rely on a limited set of well -understood RF features;

[0107] • Multi-modal data sets (such as the RF time series segments) may be compressed into fewer or a single RF feature embedding, reducing complexity for the systems that process the RF feature(s).

[0108] Step 127 comprises storing the RF features created in step 125, e.g. in a cluster database. This cluster database may be housed in a base station (which would be beneficial for keeping latencies low), or in any other network -connected hardware. When step 127 is performed for the first time, the RF features are stored unclustered. Step 105 is performed after step 127 has been performed.

[0109] Step 105 comprises clustering the data describing the events, as obtained in step 104, into a plurality of clusters based on a similarity of the data describing the events. After the RF features have been clustered in step 105, the RF features stored in step 127 may be associated with their cluster IDs. In the embodiment of Fig. 2, step 105 is implemented by a step 129.

[0110] Step 129 comprises utilizing unsupervised clustering methods to infer boundaries between the RF Features, thereby forming clusters of RF features. Clusters thus consist of groupings of RF features which are inferred to represent similar (or identical) but unknown events, by minimizing within-cluster variance. Clusters may be identified by an assigned ID. The first time step 129 is performed a first set of one or more clusters is created. The next times step 129 is performed, the clusters are fine-tuned; new clusters may be created and old clusters may be removed.

[0111] Many unsupervised clustering methods exist in the art. Hierarchical agglomerative clustering may be used, for example. For instance, initially, each node (i.e. each RF feature) may be assigned to its own cluster - there are therefore as many clusters as nodes. Clusters are then iteratively combined to form larger clusters. The first combination takes the two closest clusters (i.e. initially, the two closest nodes) and clusters them together. The mid-point or centroid between these two clusters becomes the centroid for the new cluster. This is then repeated for the next two closest clusters, and so on. The clustering stops when clusters reach a termination condition, such as a certain diameter, radius or density (number of nodes per unit volume). The final clusters are retained once this termination condition is met, and assigned cluster IDs.

[0112] Next, a step 131 comprises generating a cluster classifier based on the clusters formed in step 129. The cluster classifier, may, for example, comprise an ensemble of state vector machines (SVMs), where each SVM in the ensemble is trained on the data in, and associated with, a given cluster.

[0113] For example, for each cluster, a cluster classifier algorithm may initiate the training of a one-class SVM, trained on the RF features within that cluster. As part of the training, an Fl score may be calculated for each SVM (and therefore each cluster) and saved as the cluster accuracy. This cluster accuracy may be stored in the above-mentioned cluster database, for example. The cluster classifier is constructed as an ensemble of the resulting per-cluster trained SVMs. The cluster classifier is thus capable, given a new RF feature, of classifying this RF feature and assigning it one of the existing cluster IDs. Use of a cluster classifier typically has at least two advantages: It enables much faster prediction: for a new RF feature, the cluster classifier can be run to assign it to a particular cluster, without re-clustering every time;

[0114] • It enables an assessment of per-cluster classification accuracy, via a metric such as an Fl score.

[0115] Steps 129-131 need not be performed every time steps 101, 121, 123, 125, and 127 are performed and need not be performed immediately after step 127 has been performed. Steps 129-131 and steps 133-147 are typically part of two processes that occur on different time scales. Steps 129 -131 are periodically repeated to update cluster and retrain the cluster classifier accordingly. This is a slower process, as re-clustering and training classifiers takes time. This may occur, for example, once per day, or once every 6 hours. This may also be triggered by a particular condition, such as a low average cluster accuracy. It may also be triggered at request of the system operator.

[0116] If steps 129 and 131 have already been performed at least once and the radiofrequency measurement data obtained in the most recent iteration of step 101 was new radio - frequency measurement data, then a new event was detected in the most recent iteration of step 123 and new data describing the new event was obtained from the new radio-frequency measurement data in the most recent iteration of step 125, and then a step 133 is additionally performed after step 127, typically immediately after step 127.

[0117] Step 133 comprises classifying the new data into a cluster of the plurality of clusters. Next, step 135 comprises ascertaining an accuracy of the cluster into which the new data was classified in step 133. This cluster accuracy may be retrieved from the above- mentioned cluster database, for example.

[0118] Step 137 comprises comparing the accuracy of the cluster with a first threshold Tl. Step 107 and a step 139 are performed if is determined in step 137 that the accuracy of the cluster is determined to exceed the first threshold Tl. If it is determined in step 137 that the accuracy of the cluster does not exceed the first threshold Tl, step 101 is repeated and the method proceeds as shown in Fig. 2. In an alternative embodiment, only one of steps 107 and 139 is performed in dependence on the outcome of step 137, i.e. step 107 or step 139 is always performed, or steps 135 and 137 are omitted and both steps 107 and 139 are always performed.

[0119] If the accuracy of the cluster does not exceed the first threshold Tl, this does not necessarily imply that the new radio-frequency measurement data was not related to an event. Cluster accuracy is the measure of how strongly data in the cluster is correlated together - i.e. how tight the cluster is, or how distinct it is as a cluster. A lower cluster accuracy means that individual instances of radio-frequency measurement data are less well correlated in the cluster, indicating that the cluster is “lower quality”. If the cluster has a low cluster accuracy, it may just be that more measurements are needed to make the cluster better defined, or it may be that the cluster is not really representative of an as-of-yet unknown event.

[0120] Step 107 comprises obtaining labels for the cluster by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events. If one or more labels were obtained for the same cluster in a previous iteration of step 107, the previously obtained label(s) may be refined or one or more additional labels may be obtained for the cluster in step 107. In the embodiment of Fig. 2, step 107 further comprises calculating a label confidence of the cluster, e.g. in the manner described in relation to Fig. 5.

[0121] In the embodiment of Fig. 2, step 107 is performed in dependence only on the accuracy of the cluster exceeding the first threshold Tl . In an alternative embodiment, step 135 may comprise ascertaining whether one or more other criteria have instead or additionally been met and step 107 is performed if it is determined in step 137 that one of the criteria ascertained in step 135 have been met.

[0122] Step 139 comprises ascertaining a label and a label confidence of the cluster. Step 139 may comprise obtaining multiple labels and corresponding label confidences of the cluster. Step 139 may be performed after step 107 has been performed or steps 139 and 107 may be performed in parallel (in this latter case, the chance may be higher that no label can be ascertained yet), for example. Step 107 needs to have been performed at least once for the cluster in order to be able to ascertain a label for the cluster, but if new radio-frequency measurement data is clustered into a cluster in step 133 and a label was obtained for this cluster based on previous radio-frequency measurement data in a previous iteration of step 107, no label needs to be obtained for the new radio-frequency measurement data in the current iteration of step 107. In the current iteration of step 107, the label may then be refined, for example.

[0123] A step 141 comprises comparing the label confidence of each label of the cluster with a second threshold T2 if it was possible to ascertain a label and a label confidence of the cluster in step 139.

[0124] A step 143 is performed if the label confidence of at least one label of the cluster is determined to exceed the second threshold T2. If it is determined in step 141 that the label confidence of none of the labels of the cluster exceeds the second threshold T2, step 101 is repeated and the method proceeds as shown in Fig. 2. In an alternative embodiment, steps 139 and 141 are omitted and step 143 is always performed if it is determined in step 137 that the accuracy of the cluster exceeds the first threshold Tl .

[0125] If new radio-frequency measurement data is classified into a cluster and the label confidence of the cluster does not exceed the second threshold T2, the radio-frequency measurement data is still assumed to relate to an event, as the cluster has been assigned a label, but this simply means that the confidence in this assignment is lower than an acceptable threshold. In this case, it may be attempted to improve label confidence by repeating the process until a stronger statistical correlation is found.

[0126] Step 143 comprises identifying one or more sensing devices identified in the label of the cluster. If multiple labels were ascertained in step 139, sensing devices are only identified from labels with a label confidence that exceeds the second threshold T2. Optionally, a step 145 and / or a step 147 are performed after step 143. Step 145 comprises transmitting one or more wake-up messages to at least a subset of the one or more sensing devices identified in step 143 to notify the identified one or more sensing devices that a relevant event has been detected and allow the identified one or more sensing devices to decide whether to enter a high-power mode from a low -power mode.

[0127] The one or more wake-up messages transmitted in step 145 are typically transmitted to highly capable edge nodes (HCNs). HCNs may choose to spend as much as their time as possible in very low power states and rely on the system that performs the method of Fig. 2 to wake them up when it detects a relevant event.

[0128] A wake-up message may comprise a standard message which is intended to notify a sensing device in a low-power mode that a relevant event has occurred and which may optionally provide it with relevant information, such as the cluster label confidence and cluster accuracy, to help it make a decision whether to enter a high -power mode. The wakeup messages are normally transmitted via a base station to the one or more identified sensing devices. The one or more sensing devices receive the one or more wake-up messages and decide whether to wake up or not.

[0129] Step 147 comprises transmitting one or more data sharing messages to the one or more sensing devices identified in step 143, or a subset thereof, and / or to one or more further systems associated with the one or more sensing devices identified in step 143, or a subset thereof. Thus, once a cluster has been associated with a given sensing device, RF data may be shared with the sensing device or the vendor of the sensing device.

[0130] Each of the one or more data sharing messages comprises radio -frequency data or an offer to share radio -frequency data. Data that is shared may include any and all of the raw RF measurement data, the RF time series, the RF feature, or just an indicator that an event has occurred. The data may be shared, or offered to be shared, each time the relevant cluster is assigned a new RF feature, for example.

[0131] In a certain implementation, the data sharing message may comprise an offer to share RF data, i.e. may be a data sharing offer message, if no data sharing offer message has been transmitted to this sensing device before. If a data sharing offer message has been sent before, no action is taken. In the case where the relevant data is shared to the vendor directly, the sensing device may remain in a low -power mode, or completely off, in which case the data sharing system acts as a complete bypass, rather than a data augmentation system.

[0132] The recipient device receives the data sharing offer message and decides whether it would like to receive RF data. If the recipient device is the sensing device, or another device owned by the vendor, this decision may be made by the internal hardware and software of the recipient device according to an internal protocol or by a human operator of the recipient device (for example, in a smart home scenario).

[0133] Data sharing offer messages may include data which the recipient device may use to decide whether to activate data sharing, e.g. the associated sensing device ID and / or the cluster label confidence and cluster accuracy. The data sharing offer messages may also include a standard template for returning sharing settings if the recipient device wants to turn on data sharing. The sharing settings may be stored in a settings database, which, for each cluster in the cluster database, stores settings related to the sharing of RF data associated with that cluster, including, for example:

[0134] • A binary indicator per cluster label (i.e. per sensing device ID in this embodiment) indicating whether RF data is to be shared or not upon an update of this cluster;

[0135] • A routing address per cluster label to which the RF data is to be transmitted. This routing address may be associated with the sensing device, but may also be associated with another device owned by the vendor (e.g. in the case where the sensing device is being bypassed);

[0136] • The type(s) of RF data to be shared, which may include a simple event indicator which reveals a relevant event has taken place, the raw RF measurement data collected over some period prior, the RF time series, and / or the RF feature.

[0137] Optionally, the accuracy of the cluster ascertained in step 135 and / or the label confidence of the cluster ascertained in step 139 are included in the one or more wake-up messages transmitted in step 143 and / or in the one or more data sharing messages transmitted in step 147. As a first example, if the one or more wake-up messages include the cluster label confidence and the cluster accuracy, the one or more sensing devices receiving the one or more wake-up messages may use the cluster accuracy and cluster label confidence to decide whether to wake up or not.

[0138] The sensing device may compare the cluster accuracy and cluster label confidences to internal thresholds, which may be defaults or may be set by the owner of the sensing device. As a second example, if a data sharing offer message includes the cluster label confidence and the cluster accuracy, the recipient device may use the cluster accuracy and cluster label confidence to decide whether to accept the offer or not.

[0139] The method steps are repeated continuously. For example, step 101 may be repeated after step 131 has been performed if step 133 is not performed after step 127 and may be repeated after step 143 and optional steps 145 and 147 have been performed otherwise, after which the method proceeds as shown in Fig. 2. Additionally, one or more steps of one or more of the embodiments of Figs. 3-8 may be added to the embodiment of Fig. 2.

[0140] A third embodiment of the method of obtaining labels for a plurality of clusters of data is shown in Fig. 3. The method may be performed by the system 1 of Fig. 9, for example. The embodiment of Fig. 3 is an extension of the embodiment of Fig. 2. In the embodiment of Fig. 3, step 107 of Fig. 1 is implemented by a step 161.

[0141] Step 161 comprises obtaining labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events. Each label of a respective cluster of the plurality of clusters may identify one or more sensing devices of the plurality of sensing devices and indicate a relevance of data in the respective cluster to the one or more sensing devices .

[0142] Labels may also identify events instead of or in addition to sensing devices and indicate directly what the event is that is described by the respective cluster of data. For example, a cluster label may indicate that a given cluster contains data describing a ‘door opening’ event. In this case, the cluster label is not specific to a given sensing device. To implement this, a standard set of event identifiers may be shared between devices which identify specific events, where each event identifier is related to a single event or event -type.

[0143] For example, a ‘door opening’ event may have a unique event identifier associated with it. Sensing devices may run applications which analyze their collected sensor data to identify specific events and assign them event identifiers. Other network -connected devices owned by the vendor of the sensing devices may run similar applications.

[0144] The one or more label requests transmitted in step 161 may be different if the labels identify events than if the labels identify one or more sensing devices. The label requests transmitted to the one or more sensing devices and / or to one or more vendor- operated devices may explicitly request event identifiers. Step 107 may then comprise assigning the received event identifiers to the clusters as cluster labels.

[0145] Step 161 may optionally be preceded by a step which comprises selecting the HCN nodes from the plurality of sensing nodes, e.g. step 191 of Fig. 7. These HCN nodes are then asked whether they also detected one or more of the detected events in step 161. As previously mentioned, these battery-powered highly capable edge nodes are typically loT devices which comprise advanced hardware such as power intensive sensors and internal MCUs for data preprocessing and typically only transmit data periodically, such that there is no correlation between when the sensor device broadcasts and when it has detected something “interesting” to the sensor.

[0146] Cluster label confidences may be calculated in step 107. Cluster label confidences may be calculated differently if the labels identify events than if the labels identify sensing devices. For example, cluster label confidences may be calculated based on the level of conflict between event identifiers received by different sensing devices / vendor devices which should be assigned to the same cluster. For example, if, for a given cluster, one sensing device reports an event is a ‘door closing’ and another sensing device reports the event is a ‘kitchen cupboard closing’, a lower cluster label confidence may be assigned.

[0147] Additionally, one or more steps of one or more of the embodiments of Figs. 2,5, 8 may be added to the embodiment of Fig. 3. In the embodiment of Fig. 3, step 107 does not comprise obtaining labels for the plurality of clusters based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events .

[0148] A fourth embodiment of the method of obtaining labels for a plurality of clusters of data is shown in Fig. 4. The method may be performed by the system 1 of Fig. 9, for example. The embodiment of Fig. 4 is an extension of the embodiment of Fig. 2. In the embodiment of Fig. 4, step 107 of Fig. 1 is implemented by a step 171.

[0149] Step 171 comprises obtaining labels for the plurality of clusters based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events. This step may be preceded by an optional step which comprises selecting the LCN nodes from the plurality of sensing nodes, e.g. step 193 of Fig. 7. Labels may then be obtained in step 171 based on a passively monitored timing of transmissions from these LCN nodes at one or more of the detected events. As previously mentioned, these less capable edge nodes typically comprise only low -energy consumption sensors and basic hardware for communication and typically transmit sensor data upon detection, allowing the occurrence of events and communication of traffic from the sensor device to be correlated. In the embodiment of Fig. 4, step 107 does not comprise obtaining labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events. Additionally, one or more steps of one or more of the embodiments of Figs. 2,6, 8 may be added to the embodiment of Fig. 4.

[0150] A part of a fifth embodiment of the method of obtaining labels for a plurality of clusters of data is shown in Fig. 5. This fifth embodiment is an extension of the embodiment of Fig. 3. Fig. 5 also shows an embodiment of the method of ascertaining whether a sensing device detected an event. This method may be performed by the sensing devices 31 and 32 of Fig. 9, for example.

[0151] In the embodiment of Fig. 5, step 161 of Fig. 3 comprises sub steps 164, 165, 166, 167, and 168. Step 164 comprises a system 1 obtaining the timestamp of data describing an event detected in step 103, e.g. describing a new event. These data were obtained in step 104 and clustered into a certain cluster in step 105.

[0152] Step 165 comprises generating a set of label requests. These label requests are meant for sensing devices that are “smart” enough to have knowledge of when an event has occurred that is relevant to it and can therefore report this to the system 1, e.g. highly capable edge nodes (HCNs). For example, a sensing device may have knowledge of when an event has occurred that is relevant to it, because its low -power sensors have triggered it to wake up, implying a relevant event has occurred, or because on-device software has established that a relevant event has occurred.

[0153] If the afore -mentioned cluster does not have any cluster labels (positive or negative, i.e. confirmed relevant or confirmed not relevant), an initial label request is generated for this cluster. The initial label request may be generated, with the timestamp (i.e. the time of the event) included as part of its query. The initial label request is addressed to any sensing devices which are awake, able to respond to label requests, and not under heavy communications load. As mentioned above, the plurality of network devices may, for example, comprise a base station and its UEs. The plurality of sensing devices is comprised in the plurality of network devices.

[0154] An initial label request may consist of a message asking “Did something relevant to you happen at <timestamp>”, where the <timestamp> is the above-mentioned timestamp. An expected response may consist of a positive (“Yes”), negative (“No”) or noncommittal (“Rather not say”) response. If the cluster has one or more existing cluster labels, an initial label request is also generated, but now for a set of sensing devices which specifically excludes the sensing devices corresponding to the existing cluster labels.

[0155] Additionally, for any existing cluster labels that have low associated cluster label confidences, a refinement label request is generated for the corresponding sensing devices. A refinement label request may consist of a message asking “An Event at <timestamp> was predicted as relevant for you. Is that correct?”. An expected response may consist of a positive (“Yes”), negative (“No”) or non-committal (“Rather not say”) response.

[0156] Additionally, for any existing cluster labels that have high associated cluster label confidences, a refinement label request may be generated for the corresponding sensing devices in certain situations. If a pre-defined period of time has passed since a label request was last sent to one or more of these corresponding sensing devices, a refinement label request may be generated for these one or more sensing devices.

[0157] The label request message might not only specify a time of the event, but may comprise other information relating to the event such as the location, direction, and / or heading of the event. For example, if the system 1 has collected RF measurement data from two network devices, and by analyzing this RF measurement data, has concluded that an event has occurred, it may be able to estimate that the event took place somewhere in between the locations of these two network devices if the locations of these network devices are known to the system. This location information may then be communicated to the sensing device and used by the sensing device to determine the relevance of the event that it detected.

[0158] Similarly, information regarding the event direction / heading might be estimated / known to the system 1 if it has access to the antenna information of the network devices, which is quite likely if the system 1 is a base station or part of a base station. Use of such other information (e.g. location, direction, heading) may be used to determine the label confidence more exactly. For instance, a sensing device might detect an event at a particular moment / time specified by the system 1 but the event might take place at a different location / zone / direction / heading than that specified by the system 1 .

[0159] Sensing devices may be selected as recipients of label requests based on factors such as:

[0160] • The current state of the sensing device, e.g. whether it is awake, what its current level of traffic is, etc.;

[0161] • The history of the sensing device with request to label requests, e.g. sensing devices which always respond with “non-committal” responses may be sent less label requests or even avoided entirely and / or a sensing device may not be sent a label request if it was sent a label request very recently.

[0162] Step 166 comprises the system 1 transmitting the label requests generated in step 165 to the recipient sensing devices, e.g. via a base station. The schedule of label request transmission may be determined based on factors such as the communications or wake-sleep schedule of the sensing device. A step 181 comprises a sensing device 31 receiving one of the label requests from system 1, e.g. via the base station. The label request is a message asking the sensing device 31 about the event. The message specifies a time of the event, i.e. it includes the timestamp obtained in step 164.

[0163] A step 182 comprises the sensing device ascertaining, based on the specified time and sensing data collected by the sensing device, whether the sensing device detected an event at the specified time. A step 183 comprises the sensing device transmitting a response message to the system 1 in response to the message, e.g. via the base station. The label response message comprises information on the detected event if the sensing device detected an event at the specified time. In a simple implementation, this information only indicates that the sensing device detected an event at the specified time .

[0164] A step 167 comprises the system 1 receiving the label responses from the sensing devices. A step 168 comprises the system 1 processing the label responses received in step 167. An appropriate action is taken for each label response, for example:

[0165] If the cluster to which the label response relates does not have a cluster label yet that corresponds to the sensing device from which the label response was received:

[0166] • If the label response is positive, a cluster label consisting of the sensing device ID and a “positive” label is generated. An initial (low) cluster label confidence is assigned;

[0167] • If the label response is negative, a cluster label consisting of the sensing device ID and a “negative” label is generated. An initial (low) cluster label confidence is assigned;

[0168] • If the label response is non-committal, no action is taken;

[0169] • If no label response is received, no action is taken.

[0170] If the cluster to which the label response relates already has a cluster label that corresponds to the sensing device from which the label response was received:

[0171] • If the label response is positive, and the cluster label is also positive, the cluster label confidence is increased;

[0172] • If the label response is positive, and the cluster label is negative, the cluster label confidence is decreased. Once the cluster label confidence drops below a certain threshold, the negative cluster label is discarded due to (assumed) inaccuracy;

[0173] If the label response is negative, and the cluster label is negative, the cluster label confidence is increased; If the label response is negative, and the cluster label is positive, the cluster label confidence is decreased. Once the cluster label confidence drops below the certain threshold, the positive cluster label is discarded due to (assumed) inaccuracy.

[0174] If a cluster label is generated in step 168, the cluster label, including or along with the cluster label confidence, is assigned to the cluster in step 168, e.g. in the cluster database. Alternatively, a cluster label confidence may be adjusted or a cluster label may be removed, e.g. in the cluster database, as described above. Additionally, one or more steps of one or more of the embodiments of Figs. 2-3, 8 may be added to the embodiments of Fig. 5.

[0175] A part of a sixth embodiment of the method of obtaining labels for a plurality of clusters of data is shown in Fig. 6. This sixth embodiment is an extension of the embodiment of Fig. 4. In the embodiments of Figs. 4 and 6, cluster labels are assigned to clusters based on passive monitoring of communications from sensing devices. Certain sensing devices, e.g. less capable edge nodes (LCNs), transmit data as soon as they measure it, resulting in a very strong correlation between the timing of an event of interest and communication from the sensing device.

[0176] In the embodiment of Fig. 6, step 171 of Fig. 4 comprises sub steps 164, 175, 176, and 177. Step 164 comprises a system 1 obtaining the timestamp of data describing an event detected in step 103, e.g. a new event. These data were obtained in step 104 and clustered into a certain cluster in step 105.

[0177] A step 175 comprises the system 1 obtaining the sensing device IDs and communication times of any sensing devices which communicate within a given time window after the time given by the timestamp. A step 176 comprises the system 1 determining the level of correlation between the timestamp obtained in step 164 and the communications times obtained in step 174. Step 176 comprises the system 1 determining a correlation metric per sensing device.

[0178] A step 177 comprises determining, per sensing device, whether the corresponding correlation metric determined in step 176 exceeds a pre-defined threshold. If the correlation metric exceeds the pre-defined threshold and no cluster label corresponding to the sensing device has been associated with the cluster yet, a cluster label is generated. The cluster label consists of the associated sensing device ID and a “positive” label. The correlation metric is retained as the associated cluster label confidence. The cluster label, including or along with the cluster label confidence, is assigned to the cluster in step 177, e.g. in the cluster database.

[0179] If the corresponding correlation metric exceeds the pre-defined threshold and a cluster label corresponding to the sensing device has already been associated with the cluster, the associated cluster label confidence is updated, e.g. by replacing it with the correlation metric. If the correlation metric exceeds the pre-defined threshold for a certain sensing device, the correlation is considered strong enough for this sensing device. If the embodiments of Figs. 2 and 6 are combined and step 139 of Fig. 2 is performed in relation to the new radio-frequency measurement data after step 107 has been performed, it would be determined in step 141 of Fig. 2 that at least the label confidence LC of the label corresponding to this sensing device exceeds the second threshold T2 and at least this sensing device would be identified in step 143 of Fig. 2. Step 145 and / or step 147 may then be performed for at least this sensing device in relation to the new radio -frequency measurement data.

[0180] If the corresponding correlation metric does not exceed the pre-defined threshold, then no cluster label is generated and no cluster label confidence is updated. Additionally, one or more steps of one or more of the embodiments of Figs. 2, 4, 8 may be added to the embodiment of Fig. 6.

[0181] A seventh embodiment of the method of obtaining labels for a plurality of clusters of data is shown in Fig. 7. The method may be performed by the system 1 of Fig. 9, for example. The embodiment of Fig. 7 is a combination of the embodiments of Figs. 3 and 4. In the embodiment of Fig. 7, step 107 of Fig. 1 comprises both step 161 of Fig. 3 and step 171 of Fig 4. Thus, active labelling and passive labelling are performed simultaneously.

[0182] Steps 191 and 193 are performed after step 105 has been performed. Step 191 comprises selecting the HCN nodes from the plurality of sensing nodes. As previously mentioned, these battery-powered highly capable edge nodes are typically loT devices which comprise advanced hardware such as power intensive sensors and internal MCUs for data preprocessing and typically only transmit data periodically, such that there is no correlation between when the sensor device broadcasts and when it has detected something “interesting” to the sensor.

[0183] Step 193 comprises selecting the LCN nodes from the plurality of sensing nodes. As previously mentioned, these less capable edge nodes typically comprise only low- energy consumption sensors and basic hardware for communication and typically transmit sensor data upon detection, allowing the occurrence of events and communication of traffic from the sensor device to be correlated.

[0184] Step 161 of Fig. 3 is performed after step 191. Step 171 of Fig. 4 is performed after step 191. Additionally, one or more steps of one or more of the embodiments of Figs. 2, 5, 6, and 8 may be added to the embodiment of Fig. 7.

[0185] An eighth embodiment of the method of obtaining labels for a plurality of clusters of data is shown in Fig. 8. The embodiment of Fig. 8 is an extension of the embodiment of Fig. 1. After step 107 of Fig. 1 has been performed, new radio -frequency measurement data is obtained in step 201. A step 203 comprises detecting a new event occurring in the environment of the plurality of sensing devices by analyzing the new radio - frequency measurement data obtained in step 201. A step 204 comprises obtaining new data describing the new event from the new radio-frequency measurement data.

[0186] Step 133 comprises classifying the new data obtained in step 204 into a cluster of the plurality of clusters. Step 135 comprises ascertaining an accuracy of the cluster into which the new data was classified in step 133. Step 139 comprises ascertaining one or more labels and corresponding label confidences of the cluster. Step 143 comprises identifying one or more sensing devices identified in the label (s) of the cluster.

[0187] A step 207 comprises transmitting one or more wake-up messages to at least a subset of the one or more sensing devices identified in step 143 to notify the identified one or more sensing devices that a relevant event has been detected and allow the identified one or more sensing devices to decide whether to enter a high -power mode from a low -power mode. The one or more wake-up messages comprise the accuracy of the cluster and / or the label confidence of the cluster. The wake-up message(s) may be sent with one or more unicast messages to only the identified one or more sensing devices or with a broadcast message which identifies the identified one or more sensing devices.

[0188] Step 201 is repeated after step 207 has been performed, and the method then proceeds as shown in Fig. 8. Optionally, one or more refined / additional labels are obtained for the cluster into which the new data was classified in step 133, as described in relation to step 107 of Fig. 2 (not shown in Fig. 8). Optionally, the clusters are fine-tuned based on the new data describing the new event, as described in relation to step 129 of Fig. 2 (not shown in Fig. 8).

[0189] A step 211 comprises the sensing device 31 receiving one of the one or more wake-up messages from the system 1. A step 213 comprises the sensing device 31 determining if it is in a low-power (LP) mode, and if so, a step 215 is performed. Step 215 comprises the sensing device 31 comparing the cluster accuracy CA of the cluster, as included in the received wake-up message, with a first threshold T3, and / or comparing the cluster label confidence LC, as included in the received wake-up message, with a second threshold T4.

[0190] A step 217 is performed if the cluster accuracy CA is determined to exceed the first threshold T3 and / or the cluster label confidence LC is determined to exceed the second threshold T4. Step 217 comprises the sensing device 31 entering a high-power mode. Additionally, one or more steps of one or more of the embodiments of Figs. 2-7 may be added to the embodiments of Fig. 8. Fig. 9 is a block diagram of an embodiment of the system for obtaining labels and of an embodiment of the sensing device. The system 1 of Fig. 9 may be configured to perform one or more of the methods of Figs. 1 to 8. In the embodiment of Fig. 9, the system 1 is separate from any base stations and UEs and may be located in the radio access network, for example. In an alternative embodiment, the system 1 may be a base station. This would be beneficial for keeping latencies low.

[0191] The base station 11 is a central access point for UEs in a cell (such as a gNB on a 5G Network). The base station 11 has a radio interface plus access to a core network. The base station 11 may comprise a plurality of distributed units that share a common centralized unit in a Centralized RAN (C-RAN) architecture, for example.

[0192] In the embodiment of Fig. 9, base station 11 provides coverage to six UEs 31-36 of which UEs 31-34 are sensing devices. The UEs 31-36 comprise the hardware and software required for measuring or estimating and reporting the CSI data of their channel to their base station. A single instance of CSI data may consist of a measured channel matrix describing the channel at a given moment in time, for example. Sensing devices 31-32 are HCNs. Sensing devices 33-34 are LCNs. The base station 11 and the UEs 31-36 are referred to as network devices.

[0193] The system 1 comprises a receiver 3, a transmitter 4, a processor 5, and a memory 7. The processor 5 is configured to obtain radio-frequency measurement data relating to a plurality of communication links, e.g. communication links 51-56. The radiofrequency measurement data may originate from base station 11 and / or from UEs 31-36 and may be received from / via base station 11. Each of the plurality of communication links is between two network devices of a plurality of network devices, e.g. network devices 11 and 31-36. The plurality of network devices comprises a plurality of sensing devices, e.g. sensing devices 31-34.

[0194] The processor 5 is further configured to detect events occurring in the environment of the plurality of sensing devices, e.g. sensing devices 31-34, by analyzing the radio-frequency measurement data, obtain data describing the events from the radiofrequency measurement data, and cluster the data describing the events into a plurality of clusters based on a similarity of the data describing the events .

[0195] The processor 5 is further configured to obtain labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices, e.g. sensing devices 31-32, also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices, e.g. sensing devices 33-34, at one or more of the detected events. To obtain labels based on a passively monitored timing of transmissions, the processor 5 may be configured to perform an algorithm which monitors communications from one or more sensing devices, e.g. sensing devices 33-34, to identify sensing devices which communicate within a pre -defined time -window of a new RF feature entering a cluster database, which may be stored in memory 7. This algorithm may, for example, return the associated sensing device IDs and communication timings of any communications that occur within the time -window.

[0196] The sensing devices 31 and 32 each comprise a receiver 43, a transmitter 44, a processor 45, and a memory 47. The processor 45 is configured to receive, from another system, e.g. system 1 via base station 11, a message asking about an event and specifying a time of the event, ascertain, based on the specified time and sensing data collected by the sensing device, whether the sensing device detected an event at the specified time, and transmit a response message to the other device in response to the message. The response message comprises information on the detected event if the sensing device detected an event at the specified time. For example, the processor 45 may be configured to perform steps 181- 183 of Fig. 5.

[0197] Additionally or alternatively, the processor 45 is configured to receive, from the other device, a wake-up message which comprises a cluster accuracy and / or a cluster label confidence, and if the sensing device is in a low -power mode, compare the cluster accuracy of the cluster with a first threshold and / or the cluster label confidence with a second threshold and decide to enter a high-power mode if the cluster accuracy is determined to exceed the first threshold and / or the cluster label confidence is determined to exceed the second threshold. For example, the processor 45 may be configured to perform steps 211 -217 of Fig. 8.

[0198] In the embodiment shown in Fig. 9, the system 1 comprises one processor. In an alternative embodiment, the system 1 comprises multiple processors. The processor 5 may be a general-purpose processor, e.g., an Intel or an AMD processor, or an applicationspecific processor, for example. The processor 5 may comprise multiple cores, for example. The processor 5 may run a Unix -based or Windows operating system, for example. The memory 7 may comprise solid state memory, e.g., one or more Solid State Disks (SSDs) made out of Flash memory, or one or more hard disks, for example.

[0199] The receiver 3 and the transmitter 4 may use one or more communication technologies (wired or wireless) to communicate with other systems. The receiver 3 and the transmitter 4 may be combined in a transceiver. The system 1 may comprise other components typical for a network system, e.g., a power supply. In the embodiment shown in Fig. 9, the sensing devices 31-32 comprise one processor 45. In an alternative embodiment, one or more of the sensing devices 31-32 comprise multiple processors. The processor 45 may be a general -purpose processor, e.g., an ARM or Qualcomm processor, or an application-specific processor. The processor 45 may run Google Android or Apple iOS as operating system, for example.

[0200] The receiver 43 and the transmitter 44 of the sensing devices 31-32 may use one or more wireless communication technologies such as Wi-Fi, LTE, and / or 5G New Radio to communicate with base stations, for example. The receiver 43 and the transmitter 44 may be combined in a transceiver. The sensing devices 31-32 may comprise other components typical for user equipment, e.g., a battery and / or a power connector.

[0201] The sensing devices 31-34 are UEs, but UEs 35 and 36 are not sensing devices. A UE may also be referred to by those skilled in the art as a mobile station (MS), a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a wireless terminal, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal (AT), a mobile terminal, a remote terminal, a handset, a terminal, a user agent, a mobile client, a client, or some other suitable terminology.

[0202] Fig. 10 depicts a block diagram illustrating an exemplary data processing system that may perform the method as described with reference to Figs. 1 -8.

[0203] As shown in Fig. 10, the data processing system 300 may include at least one processor 302 coupled to memory elements 304 through a system bus 306. As such, the data processing system may store program code within memory elements 304. Further, the processor 302 may execute the program code accessed from the memory elements 304 via a system bus 306. In one aspect, the data processing system may be implemented as a computer that is suitable for storing and / or executing program code. It should be appreciated, however, that the data processing system 300 may be implemented in the form of any system including a processor and a memory that is capable of performing the functions described within this specification.

[0204] The memory elements 304 may include one or more physical memory devices such as, for example, local memory 308 and one or more bulk storage devices 310. The local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive or other persistent data storage device. The processing system 300 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from the bulk storage device 310 during execution. Input / output (I / O) devices depicted as an input device 312 and an output device 314 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. Input and / or output devices may be coupled to the data processing system either directly or through intervening I / O controllers.

[0205] In an embodiment, the input and the output devices may be implemented as a combined input / output device (illustrated in Fig. 10 with a dashed line surrounding the input device 312 and the output device 314). An example of such a combined device is a touch sensitive display, also sometimes referred to as a “touch screen display” or simply “touch screen”. In such an embodiment, input to the device may be provided by a movement of a physical object, such as e.g. a stylus or a finger of a user, on or near the touch screen display.

[0206] A network adapter 316 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and / or remote storage devices through intervening private or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and / or networks to the data processing system 300, and a data transmitter for transmitting data from the data processing system 300 to said systems, devices and / or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 300.

[0207] As pictured in Fig. 10, the memory elements 304 may store an application 318. In various embodiments, the application 318 may be stored in the local memory 308, he one or more bulk storage devices 310, or separate from the local memory and the bulk storage devices. It should be appreciated that the data processing system 300 may further execute an operating system (not shown in Fig. 10) that can facilitate execution of the application 318. The application 318, being implemented in the form of executable program code, can be executed by the data processing system 300, e.g., by the processor 302. Responsive to executing the application, the data processing system 300 may be configured to perform one or more operations or method steps described herein.

[0208] Various embodiments of the invention may be implemented as a program product for use with a computer system, where the program(s) of the program product define functions of the embodiments (including the methods described herein). In one embodiment, the program(s) can be contained on a variety of non -transitory computer-readable storage media, where, as used herein, the expression “non-transitory computer readable storage media” comprises all computer-readable media, with the sole exception being a transitory, propagating signal. In another embodiment, the program(s) can be contained on a variety of transitory computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored. The computer program may be run on the processor 302 described herein.

[0209] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0210] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the implementations in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the present invention. The embodiments were chosen and described in order to best explain the principles and some practical applications of the present invention, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims

CLAIMS:

1. A system (1) for obtaining labels for a plurality of clusters of data, the data describing events, the system (1) comprising at least one processor (5) configured to:- obtain radio-frequency measurement data relating to a plurality of communication links (51-56), each of the plurality of communication links (51-56) being between two network devices (11,31-36) of a plurality of network devices (11,31-36), the plurality of network devices (11,31-36) comprising a plurality of sensing devices (31-34),- detect events occurring in the environment of the plurality of sensing devices (31-34) by analyzing the radio-frequency measurement data,- obtain data describing the events from the radio-frequency measurement data,- cluster the data describing the events into a plurality of clusters based on a similarity of the data describing the events, and- obtain labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices (31-32) also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices (33-34) at one or more of the detected events.

2. A system (1) as claimed in claim 1, wherein each label of a respective cluster of the plurality of clusters identifies one or more sensing devices (31-34) of the plurality of sensing devices (31-34) and indicates a relevance of data in the respective cluster to the one or more sensing devices (31-34).

3. A system (1) as claimed in claim 2, wherein each label specifies for each sensing device (31-34) identified in the label whether the relevance is positive or negative.

4. A system (1) as claimed in claim 2 or 3, wherein the at least one processor (5) is configured to:- obtain new radio -frequency measurement data,- detect a new event occurring in the environment of the plurality of sensing devices (31-34) by analyzing the new radio-frequency measurement data,- obtain new data describing the new event from the new radio-frequency measurement data,- classify the new data into a cluster of the plurality of clusters, and- identify one or more sensing devices (31-34) identified in a label of the cluster.

5. A system (1) as claimed in claim 4, wherein the at least one processor (5) is configured to transmit one or more wake-up messages to at least the identified one or more sensing devices (31-34) to notify the identified one or more sensing devices (31-34) that a relevant event has been detected and allow the identified one or more sensing devices (31- 34) to decide whether to enter a high-power mode from a low -power mode.

6. A system (1) as claimed in claim 4 or 5, wherein the at least one processor (5) is configured to transmit one or more data sharing messages to at least the identified one or more sensing devices (31-34) and / or to one or more further systems associated with the identified one or more sensing devices (31-34), each of the one or more data sharing messages comprising radio-frequency data or an offer to share radio-frequency data.

7. A system (1) as claimed in claim 5 or 6, wherein the at least one processor (5) is configured to:- ascertain at least one of an accuracy of the cluster and a label confidence of the cluster, and- include the at least one of the accuracy of the cluster and the label confidence of the cluster in the one or more wake-up messages and / or in the one or more data sharing messages.

8. A system (1) as claimed in claim 5, 6, or 7, wherein the at least one processor (5) is configured to:- ascertain an accuracy of the cluster and / or a label confidence of the cluster,- compare the accuracy of the cluster with a first threshold and / or the label confidence of the cluster with a second threshold, and- transmit the one or more wake-up messages and / or the one or more data sharing messages if the accuracy of the cluster is determined to exceed the first threshold and / or the label confidence of the cluster is determined to exceed the second threshold.

9. A system (1) as claimed in any one of the preceding claims, wherein the at least one processor (5) is configured to obtain the labels by asking whether a first set of one or more sensing devices (31-32) also detected a first set of one or more detected events and based on a passively monitored timing of transmissions from a second set of one or more sensing devices (33-34) at a second set of one or more detected events, the first and second sets of sensing devices being disjoint.

10. A system (1) as claimed in any one of the preceding claims, wherein the at least one processor (5) is configured to:- ascertain whether one or more criteria have been met, and- ask the one or more sensing devices (31-32) whether the one or more sensing devices (31-32) also detected the one or more detected events if the one or more criteria are ascertained to have been met.

11. A system (1) as claimed in claim 10, wherein the at least one processor (5) is configured to ascertain whether one or more criteria have been met by:- ascertaining an accuracy of the cluster,- comparing the accuracy of the cluster with a threshold, and- determining that the one or more criteria have been met in dependence on the accuracy of the cluster exceeding the threshold.

12. A sensing device (31,32), the sensing device (31,32) comprising at least one processor (45) configured to:- receive, from a system (1), a message asking about an event, the message specifying a time of the event,- ascertain, based on the specified time and sensing data collected by the sensing device (31,32), whether the sensing device (31,32) detected an event at the specified time, and- transmit a response message to the system (1) in response to the message, the response message comprising information on the detected event if the sensing device (31,32) detected an event at the specified time.

13. A sensing device (31,32) as claimed in claim 12, wherein the at least one processor (45) is configured to:- receive a wake-up message from the system (1), the wake-up message comprising a cluster accuracy and / or a cluster label confidence, and- if the sensing device (31,32) is in a low-power mode, compare the cluster accuracy of the cluster with a first threshold and / or the cluster label confidence with a second threshold and decide to enter a high-power mode if the cluster accuracy is determined to exceed the first threshold and / or the cluster label confidence is determined to exceed the second threshold.

14. A method of obtaining labels for a plurality of clusters of data, the data describing events, the method comprising:- obtaining (101) radio-frequency measurement data relating to a plurality of communication links, each of the plurality of communication links being between two network devices of a plurality of network devices, the plurality of network devices comprising a plurality of sensing devices;- detecting (103) events occurring in the environment of the plurality of sensing devices by analyzing the radio-frequency measurement data;- obtaining (104) data describing the events from the radio-frequency measurement data;- clustering (105) the data describing the events into a plurality of clusters based on a similarity of the data describing the events; and- obtaining ( 107) labels for the plurality of clusters by asking whether one or more of the plurality of sensing devices also detected one or more of the detected events and / or based on a passively monitored timing of transmissions from one or more of the plurality of sensing devices at one or more of the detected events.

15. A method of ascertaining whether a sensing device detected an event, the method comprising:- receiving (181), from a system, a message asking about an event, the message specifying a time of the event,- ascertaining (182), based on the specified time and sensing data collected by the sensing device, whether the sensing device detected an event at the specified time, and- transmitting (183) a response message to the system in response to the message, the response message comprising information on the detected event if the sensing device detected an event at the specified time.

16. A computer program or suite of computer programs comprising at least one software code portion or a computer program product storing at least one software codeportion, the software code portion, when run on a computer system, being configured for performing the method of claim 14 or 15.

Citation Information

Patent Citations

  • Using in-home location awareness

    US20190028549A1

  • Method, apparatus, and system for providing automatic assistance based on wireless monitoring

    US20210160709A1

  • For enabling collective perception in vehicular networks

    WO2020257642A1