System and method for RF signal control

The method simulates communication activities by determining RF transmission profiles based on stored data and metadata, addressing the inadequacies of existing methods by providing realistic and adaptable RF signal simulations.

GB2636716APending Publication Date: 2025-07-02PHOENIXC4I LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
GB2023019518
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-19
Publication Date
2025-07-02

AI Technical Summary

Technical Problem

Existing methods for simulating communication activity using radiofrequency (RF) signals are insufficiently realistic, as they typically involve replaying recorded communications without accurately replicating genuine RF patterns.

Method used

A computer-implemented method that determines a sequence of RF transmission profiles based on stored RF profiles and metadata, using agents to emit RF signals that simulate desired communication activities without requiring actual emitting entities, and includes features like random weighting, time-shifting, and re-assigning profiles to enhance realism.

Benefits of technology

Enables efficient and realistic simulation of communication activities by ensuring varied and accurate RF signal patterns, making the simulation more convincing and adaptable to environmental conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

This application relates to a system for simulating communication activity, using a plurality of networked radio frequency (RF) agents (105, Fig. 1). The agents emit RF signals in an environment to si
Need to check novelty before this filing date? Find Prior Art

Description

FIELD OF THE INVENTION The present application relates to the control of communication systems, specifically for transmitting radiofrequency signals. In particular, the application relates to the simulation of radiofrequency communications using a system of transmitting agents. BACKGROUND OF THE INVENTION In environments where communication activity is expected to occur, it can be desirable to simulate such communication activity in situ. In particular, the ability to generate radiofrequency (RF) transmissions that accurately simulate a certain type of communication activity in a particular environment (for example arising from a type of premises, object(s) or activity) without requiring the actual hardware, personnel or infrastructure associated with the communication activity can assist in many different situations, such as design processes, operational situations or training. For example, simulated RF patterns can be used for testing and designing electronic equipment, training operators / users of such equipment, or creating decoys in battlefield environments. Several attempts at simulating communication activity have been made, but these involve replaying recorded communications, which do not accurately simulate genuine communications, and as such these are insufficiently realistic for many applications. SUMMARY OF THE INVENTION The invention is defined in the independent claims and preferred features are set out in the dependent claims. There is described herein a computer-implemented method for simulating communication activity in an environment, the method comprising the steps of: storing a plurality of radiofrequency, RF, profiles; obtaining metadata indicative of historical RF transmissions; identifying or selecting a communication activity to be simulated; providing a plurality of agents in the environment, the agents communicably coupled via a communication network; determining, based on the stored RF profiles and the metadata, a sequence of RF transmission profiles for controlling the agents, wherein the sequence of RF transmission profiles corresponds to the communication activity; and sending, via the communication network, at least one RF transmission profile from the sequence of RF transmission profiles to each agent for RF transmission. By determining a sequence of RF transmission profiles based on stored RF profiles and metadata relating to historical transmissions, the agents can emit RF signals that accurately simulate a desired communication activity without requiring the actual emitting entities usually associated with that type of communication activity to be present and emitting in the environment. Accordingly, the method can enable efficient and rapidly-deployable RF simulation in an environment. The stored RF profiles may each comprise an RF output file and metadata. The RF output file may comprise (or the RF profiles may be stored as) one or more of: a (short) audio file (e.g. in .mp3 or .mp4 format) and / or a data or text file (e.g. in .txt or .html format). For example, the RF output file may be indicative of an output waveform, signal or other type of content to be transmitted. The metadata for each stored RF profile may comprise an identifier or description for the corresponding RF output file and / or transmission information. Transmission information may include a transmission duration for the RF output file, a carrier frequency for transmission, or other characterisations of how the content of the profile is to be transmitted. The historical RF transmissions may comprise predetermined transmissions. For example, the historical RF transmissions may be based on transmissions that have occurred, and which are optionally analysed in order to obtain the corresponding metadata. In other examples, the historical RF transmissions may be based on theoretical transmissions developed by a user or other synthetic transmissions. The determined RF transmission profiles are RF profiles intended for transmission by the agents. For example, the determined RF transmission profiles may include a particular start time, duration, volume, direction, fade profile, noise profile, carrier frequency or other transmission characterisation for transmission of an RF output file (such as an audio or text / data file). Determining the sequence of RF transmission profiles may comprise determining, based on the metadata, an order and / or timings for transmitting the stored RF transmission profiles. Determining the sequence of RF transmission profiles may comprise augmenting the stored RF profiles and / or the metadata. This can ensure that the RF transmissions accurately simulate the communication activity in a non-repeating way, such that each simulated communication activity can be different. Advantageously, this can make the simulation more realistic. The augmenting may comprise generating one or more random weighting factors and applying the weighting factors to the stored RF profiles and / or metadata. For example, a random weighting factor may be applied to vary one or more features of a RF transmission profile, such as the power level, start time, duration and / or wave form for transmission, and / or an emitted ID code (e.g. International Mobile Equipment, IM El, code or Automatic Identification System, AIS, code). Equally, a random weighting factor may be applied to vary one or more features of the metadata, such as the amount of audio / voice content, the spacing between transmissions (e.g. to vary the density or ‘chattiness’ of exchanges) or the carrier frequency to use for a particular group of agents. In some examples, determining the sequence of RF transmission profiles can include layering a plurality of profiles to generate the RF transmission profiles. For example, a RF transmission profile may be generated by layering a recorded RF profile with a RF noise profile and / or a background audio noise profile. Further, in some examples the random weighting factor may be applied to this layering process, wherein the weighting factor(s) are used to determine the relative amounts or power levels with which to layer the different profiles. For instance, a weighting factor can be used to determine how much RF noise to add to a RF audio profile. The augmenting may comprise time-shifting one or more of the stored RF profiles. Time-shifting may include shifting the start time of a particular RF transmission profile within the sequence of RF transmission profiles. Time-shifting may include shifting the start time of one or more groups of RF transmission profiles within the sequence of RF transmission profiles, for example to reduce periods of silence between different conversations or exchanges. This can enable the density or ‘chattiness’ of (portions of) the sequence to be varied each time a sequence is generated. The augmenting may comprise adjusting a location, start time, duration, frequency, power level and / or content of transmission associated with one or more of the stored RF profiles and / or metadata. For example, if the metadata and / or stored RF profiles indicate that corresponding transmissions are performed between proximate emitters, the agents may be positioned in the environment in a different manner, for example, they may be spaced further apart to simulate communication across a larger environment - for instance, if the stored RF profiles or metadata are associated with communication activity at a small encampment, the spacing or locations of the agents may be increased in order to simulate a similar communication activity at a larger base camp. Equally, the (carrier) frequency associated with one or more of the RF transmission profiles may be changed in order to simulate different communication channels being used. For example, the sequence of RF transmission profiles may include profiles that overlap in time but are transmitted on different frequencies, to simulate different groups using different communication channels at the same time. A power level may be adjusted by applying a constant or time-varying scaling factor to one or more RF profiles. For example, if stored RF profiles are derived from a RF emitter onboard a vehicle, the power level for these RF profiles may be increased in order to simulate communication activity from a larger or more powerful emitter, such as a static base station. The content of a stored RF profile may be varied to simulate a (similar but) different communication activity. For example, if a stored RF profile is associated with communication activity during a river crossing (or other obstacle crossing or tactical battlefield mission), the audio and / or data content may be varied based on the communication activity to be simulated (e.g. to simulate a different obstacle crossing or mission, such as an “advance to contact”, delay, screen or defence mission). Equally, the audio content of a RF profile may be adjusted to resemble a different human voice, for example using a machine learning model for speech generation (e.g. a large language model). The augmenting may comprise re-assigning one or more of the stored RF profiles and / or metadata corresponding to a historical RF profile that is assigned to a first agent to a second agent. For example, the stored RF profiles may include RF profiles that are associated with or assigned to particular emitters or agents, and the augmenting step may include reassigning these profiles to different agents. The re-assigning can be applied uniformly across the sequence of RF transmission profiles, for example such that profiles (or playbook entries) which are originally emitted by the same agent are all re-assigned to a different (second) agent. This can enable the simulated communication activity to differ each time by simulating transmissions from different locations in the environment. Alternatively, the (re-)assigning of profiles that are associated with a single emitter in the metadata and / or stored RF profiles may vary over the duration of the sequence, for example if the metadata / stored RF profiles indicate that a single agent is involved in two or more conversations, the transmission profiles for each conversation / exchange may be assigned to different agents. For instance, if a first agent was originally involved in two conversations, the RF profiles for the first conversation may be reassigned to a second agent and the RF profiles for the second conversation may be reassigned to a third agent. This can simulate movement of the agents (from an RF point of view) without needing to physically move the agents in the environment. The augmenting may comprise analysing the metadata to identify one or more relationships between the agents; and augmenting the metadata and / or stored RF profiles based on the identified relationships. This can enable different groups of agents and relationships or hierarchies between agents to be identified from the metadata, which can enable transmission profiles specific to a particular group to be augmented and / or logical / hierarchical relationships between agents to be modified. Advantageously, RF communication activities can be simulated efficiently and in a non-repeating manner. Identifying the one or more relationships may comprise identifying a key agent, a group of agents, and / or a hierarchy of the agents. Analysing the metadata may comprise: generating a weighted graph based on the metadata; and analysing the weighted graph to identify one or more relationships between the agents. This can enable the communication activity to be simulated more efficiently. The method may further comprise the step of obtaining simulation system data indicative of the plurality of agents. Determining the sequence of RF transmission profiles may be based on the simulation system data. The simulation system data may comprise one or more of: a location, RF capability, health and / or software version of one or more of the agents, and / or a size, shape and / or terrain of the environment. Identifying the communication activity to be simulated may comprise obtaining communication activity data indicative of the communication activity. Determining the sequence of RF transmission profiles may be based on the communication activity data. The communication activity data may comprise one or more of: a date, a time, a duration, a frequency, a waveform, a power level, audio content, a raw RF file, and / or a geographical boundary of RF transmission for the communication activity to be simulated. Identifying the communication activity may be based on or include detecting a condition, such as detecting an electronic attack. For example, one or more agents may be preloaded with an expected electronic attack profile and once that expected profile is detected, the communication activity to be simulated is identified (e.g. based on the actual detected electronic attack or based on a predetermined activity). The stored RF profiles may comprise RF profiles corresponding to the historical RF transmissions. The metadata and / or stored RF profiles may comprise metadata and / or RF profiles recorded by one or more of the agents in the environment. The method may further comprise the steps of: obtaining data indicative of one or more detected conditions in the environment; updating the sequence of RF transmission profiles based on the data indicative of the detected conditions; and sending the updated sequence of RF transmission profiles to the agents for RF transmission. Advantageously, this can enable the simulated communication activity to be dynamically responsive to conditions within the environment, enabling the simulation to be more accurate and realistic. The detected conditions may be detected by one or more of the agents. The detected conditions may comprise one or more of: an electronic attack, audio, vibration, physical tampering and / or movement. Updating the sequence of RF transmission profiles may comprise: inputting the data indicative of the detected conditions into a machine learning model configured to relate detected conditions to RF responses; and determining, based on an output of the machine learning model, an updated sequence of RF transmission profiles. The method may further comprise the steps of: receiving a user input via a user interface; updating the sequence of RF transmission profiles based on the received user input; and sending the updated sequence to the agents for RF transmission. The user input may be indicative of one or more of: a communication volume, transmission frequency, transmission frequency range, transmission waveform type, transmission power level, audio content, and / or a manual control input. The method may further comprise the step of outputting, to a user interface, an indication of one or more detected conditions in the environment and / or an indication of one or more of the profiles of the sequence of RF transmission profiles. The step of sending the sequence of RF transmission profiles to the agents can include: generating, based on the determined sequence of RF transmission profiles, a sequence of RF transmission profiles specific to each agent, and sending the agent-specific sequences to the respective agents. The method may further comprise the step of transmitting, by each agent, the at least one RF transmission profile sent to said agent. The method may further comprise the steps of: synchronising the agents; and transmitting, by the synchronised agents, the RF transmission profiles sent to the respective agents. Synchronising the agents may be based on global positioning system, GPS, clocks. There is also described herein a network of agents for simulating communication activity in an environment, the network comprising: a plurality of agents configured to be geographically dispersed throughout the environment, wherein each agent is associated with one or more radiofrequency, RF, transmitters and comprises: a control unit configured to control the respective RF transmitters, and a communication unit configured to communicate with a controller and / or one or more other agents via a communication network; wherein each agent is configured to: receive, via the communication unit, one or more RF transmission profiles from a sequence of RF transmission profiles; and control the associated one or more RF transmitters to transmit one or more RF signals based on the one or more received RF transmission profiles. One or more of the agents may comprise a software-defined radio. The control unit and / or communication unit of one or more of the agents may comprise a corresponding software module configured to be executed by one or more processors. For example, an agent may comprise a plurality of software modules configured to be executed by one or more processors, such as processors of a radio (e.g. a software-defined radio). In some examples, the agent Itself may comprise a radio (e.g. a software-defined radio) configured to execute the software modules. The communication network may comprise one or more of a wireless network, cellular network and / or satellite-based network. The communication network may include one or more of a 3G, 4G, 5G, Wi-Fi®, Starlink® network. The agents may include a 3G / 4G / 5G card for communicating via such a network. Being configured to communicate via such networks can enable the agents to operate independently and / or provides backup communication routes with the agents in the environment in case one or more agents malfunction. The network may further comprise a controller communicably coupled to the agents via the communication network and configured to: store a plurality of RF profiles; obtain metadata indicative of historical RF transmissions; identify a communication activity to be simulated; determine, based on the stored RF profiles and the metadata, a sequence of RF transmission profiles for controlling the agents, wherein the sequence of RF transmission profiles corresponds to the communication activity; and send, via the communication network, at least one RF transmission profile from the sequence of RF transmission profiles to each agent. The controller may comprise a system controller. The system controller may be located remotely from the environment. The controller may comprise a control unit of one of the agents. The controller may be distributed across the control units of at least two of the agents. This can enable distributed control of the communication simulation, which can improve the reliability of the simulation, for example in case one of the agents malfunctions. There is also described herein a computer program, computer program product or computer readable medium comprising instructions which, when executed by a computer, cause the computer to carry out any of the methods described herein. Any system feature as described herein may also be provided as a method feature, and vice versa. As used herein, means plus function features may be expressed alternatively in terms of their corresponding structure. Any feature in one aspect of the invention may be applied to other aspects of the invention, in any appropriate combination. In particular, method aspects may be applied to system aspects, and vice versa. Furthermore, any, some and / or all features in one aspect can be applied to any, some and / or all features in any other aspect, in any appropriate combination. It should also be appreciated that particular combinations of the various features described and defined in any aspects of the invention can be implemented and / or supplied and / or used independently. BRIEF DESCRIPTION OF THE FIGURES Methods and systems for simulating a radiofrequency profile are described by way of example only, in relation to the Figures, wherein: Figure 1 shows a system for simulating a radiofrequency profile; Figures 2A-2B show example user interfaces; Figures 3A-3C illustrate methods for simulating a radiofrequency profile; Figures 4A-4B illustrate an example playbook; and Figures 5A-5B illustrate example transmission profiles. DETAILED DESCRIPTION Referring to Figure 1, a system 100 for simulating a radiofrequency profile (or a communication activity) will now be described. The system 100 includes a plurality of radiofrequency (RF) agents 105 each configured to emit RF signals in an environment 10. The environment 10 may be any type of environment in which RF communication is expected, for example a tactical or battlefield environment, or a simulation environment in which accurate simulation of RF communication (e.g. for testing electromagnetically-sensitive equipment) is required. The RF agents 105 are communicably coupled via a network 120 to a system controller 110 which is configured to control the RF agents 105 to emit RF signals. At least some of the RF agents 105 may also be communicably coupled to each other, either via the network 120 or by direct (e.g. wireless) communication links (as shown by the dashed lines in Figure 1). The agents 105 are geographically dispersed throughout the environment 10. In some examples, the agents 105 are positioned over distances of around 100 m to 500 m, e.g. 200 m or 300 m. In other examples, the agents 105 may be positioned over larger or smaller distances, which can depend on the type of communications network 120 used - for example, the communication network may be a cellular (mobile phone) network or a satellite-based communications network (e.g. Starlink®). The agents 105 may be arranged to operate for at least around 6 hours, for example at least around 24 hours or up to 72 hours. Each agent 105 includes means for communicating with the system controller 110 and / or other agents via the network 120, and a control unit for controlling one or more RF transmitter(s). For example, the control unit can be configured to control RF transmitters based on control data received from the system controller 110 and / or from one or more other agents. In some examples, the control unit and communication means of the agent 105 are implemented using software modules, e.g. forming a software application. This software agent can be stored in memory and run by one or more processors of a computing device in order to control and interface with existing hardware, for example in order to drive a software-defined radio provided on the computing device. Accordingly, such software agents can be embedded into existing devices or radios (e.g. via a local Android or Linux operating system). In other examples, an agent 105 further includes hardware modules for communicating with the system controller and / or other agents and for transmitting RF signals. For example, an agent 105 can further include a specific device (e.g. comprising memory, processor(s), I / O interfaces, and / or RF transmitters / receivers) for communication and RF transmission. Additionally or alternatively, an agent 105 can include one or more connectors, such as a cable connector to enable the agent to control an input and / or output of an existing device, such as the microphone connection of a radio or walkie-talkie. Accordingly, the agents 105 can include a software-defined radio (and any associated hardware), or can be software for controlling such hardware. The agents 105 operate across one or more frequency ranges, such as a high frequency (HF) range, a very high frequency (VHF) range and / or an ultra high frequency (UHF) range. For example, the HF range may include frequencies of around 3 MHz to around 30 MHz, the VHF range may include frequencies of around 30 MHz to around 300 MHz, and the UHF range may include frequencies of around 300 MHz to around 3 GHz. Although specific examples of frequency ranges are given here, the skilled person will appreciate that the agents 105 can be configured to generate signals across any electromagnetic frequency range (including visible light or infrared). The system controller 110 may be arranged centrally (physically and / or logically) relative to the agents 105. In some examples, the system controller is located within the environment 10. In other examples, as shown in Figure 1, the system controller 110 is physically located outside the environment 10 (e.g. but still logically central to the agents) and is arranged to remotely control the agents 105 within the environment 10. For example, the system controller 110 may be located hundreds of metres away from the environment 10. Depending on the type of supporting communication network, the system controller 110 may be at locations distant from the agents 105, as long as it is able to communicate with the agents 105. This can allow RF profiles to be simulated within the environment 10 remotely, e.g. which can enable the environment 10 to be used as an RF decoy away from the system controller location. Through coordinated control of the agents 105 by the system controller 110, the system 100 is operable to generate RF signals that simulate an RF profile within the environment 10 that accurately mimics RF patterns associated with a communication activity. The communication activity may correspond to RF signals (e.g. commands, request messages, response messages) originating from a premises, an object, an operational unit, and / or an activity. For example, the communication activity may correspond to that generated by a building or facility (such as a camp, headquarters, power station or cellular network base station), by one or more vehicles or mobile devices, or by an activity such as a river crossing, setting up a camp, urban defence, rapid attack, light infantry movements or air defence. As such, the communication activity may be associated with a single location or may move over time. For example, agents may be provided on unmanned vehicles such as drones whose movement is coordinated with the transmitted RF patterns to accurately simulate motion corresponding to a given communication activity. The agents 105 are controlled according to a sequence of RF transmission profiles (the determination of which is described in more detail below), also referred to as a “playbook”. A playbook can include a series of transmission profiles (e.g. corresponding to audio or RF data tracks) of varying length and content for the agent to play / transmit in a predetermined sequence. In order to more accurately simulate a given type of communication activity, the agents may have different playbooks or RF transmission sequences and the agents can be synchronised to transmit RF profiles from their corresponding playbooks according to a particular pattern. The controlling of the agents 105 can adapt over time to simulate varying RF profiles, e.g. automatically or based on user input and / or conditions in the environment 10. For example, this can allow the RF profiles emitted by the agents to respond to situations, such as electrical attacks by hostile parties or other changes / events, in the environment 10, enabling the simulated RF profile to be reactive thus improving the quality of the simulation. In one example, the agents 105 (or other sensors in the environment communicably coupled to the system controller 110) may be configured to detect conditions in the environment 10 and transmit data to the system controller 110 indicative of the detected conditions. Based on this data, the system controller 110 can modify the control of the agents 105 automatically -for example, if an electronic attack is detected (by the controller or an agent), one or more of the agents may change one or more of a transmission power level, a frequency, a type of waveform being emitted (FM, AM, OFDM, CDMA, WiFi) and / or transmitted audio content (if playing live audio) in order to simulate a user (represented by the agent) fighting for communications. Equally, based on detected audio levels and / or vibrations (e.g. which indicate a physical attack in the environment), the control of the agents may be similarly modified to simulate an appropriate response. In some examples, the data indicative of detected conditions may be used as input to a machine learning model (that is configured to relate detected conditions in an environment to appropriate RF responses or communications) in order to determine a modified control scheme for the agents. In some examples, the agents may form a distributed computing system, whereby one or more of the agents control their own RF transmissions and / or control the RF transmissions of one or more other agents. As such, the system controller 110 may be optional or may be implemented as a distributed controller - for example, control of the agents 105 may be implemented with control unit(s) of one or more of the agents 105 themselves. Optionally one or more of the agents 105 may be configured to simulate mobile device communications other than RF communications. For example, an agent may be configured to emit signals in frequency ranges corresponding to 3G, 4G, 5G, Wi-Fi®, Bluetooth®, Zigbee® or other communication modalities (e.g. to simulate communication messages or signals associated with social media activity). Additionally or alternatively, the system 100 can include one or more agents for emitting other media types to simulate activity (e.g. corresponding to a building, vehicle, operation etc.). For example, these agents can include light (e.g. visible light or infrared) sources and / or sound sources for emitting light and / or sound to mimic activity in the environment. In some examples, the system 100 is controlled according to a profile that includes a combination of RF, non-RF, light and / or sound profiles that are coordinated to accurately simulate activity in the environment. In some examples, a user interface is operable to receive user input and display information to a user. For example, the user interface (e.g. provided on a user device via a web browser) may include a dashboard for monitoring and / or controlling the simulated RF signals in the environment 10. In this case, a user can provide inputs via the interface for adjusting the simulated RF profile - for example, the user inputs may be indicative of one or more of a communication volume (such as a number of communication signals per unit time or a ratio of transmission time periods to silence time periods), a frequency or frequency range to be used, a type of waveform (e.g. frequency-modulated (FM), amplitude-modulated (AM), orthogonal frequency division multiplexing (OFDM), code-division multiple access (CDMA), Wi-Fi), a transmission power level, additional or altered audio content, and / or manual control inputs (e.g. play, pause, stop). Equally, the interface or dashboard may indicate to the user any detected conditions in the environment 10 and / or information about a current RF profile being emitted by the agents 105. The dashboard may be used to monitor the health of one or more agents, for example by displaying a battery level, a memory usage and / or a temperature, and / or to monitor other statuses or information of the agent(s), such as a physical location or movement of the agent, a transmission activity level (e.g. number of hours of TX and RX activity), a device tamper status, “last seen” information, and / or a current position in a sequence of transmission profiles (playbook). The dashboard may provide the user with an option to erase or shut down an agent 105, for example if that particular agent is prone to attack. Additionally or alternatively, the dashboard may indicate received data or activity in the environment (e.g. as detected by one or more of the agents or their attached radio / SDR), such as detected noise, vibration and / or electromagnetic interference. In some examples, the interface or dashboard can be used for high-level visualisation of agent behaviours and / or configurations associated with a playbook or sequence of RF profiles. In particular, the interface may be used to indicate groups of data by generating a plot showing on its y-axis a transmission length and on its x-axis a start time of the RF profiles in the playbook (e.g. as shown in Figures 4A-4B). In some examples, a weighted graph of the networked agents may be generated based on the playbook and displayed to a user via the interface, which may be used for one or more of: edge detection on the weighted graph; displaying a heatmap indicative of communication density across the environment; identifying the importance of and / or relationships between nodes / agents (e.g. using a bubble diagram, hierarchy tree map) or identifying key nodes / agents based on the graph; and / or displaying one or more diagrams or graphs indicative of the playbook profiles (and associated communication activity), such as a waterfall diagram or line chart showing communication trends over time, or a chart (e.g. pie chart) showing the overall communication of each agent. Accordingly, this can provide a more user-friendly representation of the playbook, enabling improved interpretation (and control) of the behaviour and configuration of the agents in the environment. Example dashboards are illustrated in Figures 2A-2B. Figure 2A shows a dashboard 200 for monitoring all agents 105 in an environment, indicated as “AGENT01” through to “AGENT99”. The dashboard 200 indicates, for each agent, whether the agent is currently transmitting RF simulation signals, a battery level of the agent, “last seen” information indicating a length of time since the last communication with the agent, and a progress through a sequence of transmission profiles. As shown in the figure, the dashboard 200 also provides an option for a user to add new agents to the environment. Figure 2B shows another example dashboard 220 for an individual agent. In some examples, the dashboard 220 is accessible by selecting one of the agent panels in the dashboard 200. The dashboard 220 indicates the agent’s transmit (TX) and receive (RX) activity, for example as a number of hours spent transmitting or receiving and / or as a timeline indicating the distribution of time spent transmitting or receiving signals over a 24-hour period. The dashboard 220 can also show a control sequence or sequence of transmission profiles (also referred to as a “playbook”) for the agent to perform, the agent’s progress through that sequence, and / or an activity log. The dashboard 220 also provides means (e.g. buttons) for a user to provide user input to play, pause or stop the transmission of RF signals by that particular agent. Referring to Figures 3A and 3B, methods 300, 350 for simulating a radiofrequency profile (or communication activity) in an environment will now be described. In some examples, the methods 300, 350 are implemented using the system 100 described above. The method 300 begins at step 305 by receiving, at a controller, data indicative of a simulation system in the environment comprising a plurality of radiofrequency emitting agents. This data can include information such as the absolute and / or relative locations of the agents; RF emitting capabilities of the agents; “last seen” data, a health (e.g. a battery level, a memory usage and / or a temperature) of one or more agents, playbook information (e.g. a playbook version number, identifier such as a mission name, and / or a security classification), RX information (e.g. received transmissions / information that the agent has recorded, such as communication traffic from other agents or nodes, civilian nodes operating in the same frequency band, and / or electronic attack), transmitted audio content, storage utilisation, software (e.g. firmware) versions and / or a date of a most recent software update; and / or the size, shape, terrain and / or other features of the environment. This data may be received from the agents (e.g. in response to one or more requests pushed to the system), or may be accessed from memory or received via a user interface. However, in some examples the simulation system data may already be known to the controller or may not be necessary for simulating the communication activity, so the step 305 may not be performed. The method also includes the step 310 of identifying a communication activity to be simulated. In some examples, this can include receiving, at the controller, data indicative of a communication activity (e.g. type of communication) to be simulated. As explained above, the communication activity can include RF communications transmitted by or as a result of a building or facility (such as a camp, headquarters, power station or cellular network base station), by one or more vehicles or mobile devices, or by an activity such as a river crossing, setting up a camp, urban defence, rapid attack, light infantry movements or air defence. As such, in some examples, the data indicative of the communication activity to be simulated can specify a date, time, duration, frequency, waveform, power level, audio content, a raw RF file and / or geographical boundaries (indicating particular areas in which RF transmission is permitted or prohibited) of transmission. The data can additionally include particular actions to take in response to detected conditions or sensor inputs, such as detected audio or vibration, electronic attack, physical tampering and / or movement. The data indicative of the communication activity to be simulated may be received via a user interface (e.g. based on user input) and / or may be accessed from memory (e.g. if the communication activity to be simulated it predetermined). At step 315, the controller determines a radiofrequency control profile (or sequence of RF transmission profiles) for simulating the communication activity. For example, this can be based on the data indicative of the communication activity type and the data indicative of the simulation system. In some examples, this determining step 315 includes generating a one or more transmission profiles for each of the agents based on their respective locations and / or capabilities, each transmission profile indicative of an RF signal to be emitted by the respective agent. For example, if the data indicative of the simulation system indicates that an agent has a low battery level, the RF transmission profiles determined for that agent may have a lower power level and / or lower total transmission time. In another example, if the simulation system data indicates that an agent’s storage is full (or near to full), the amount of data received by the agent that is stored in memory may be reduced or deactivated - for example, that particular agent may be disabled from detecting conditions in the environment. The sequence thus includes these individual transmission profiles such that, when effected in a coordinated manner by the agents, they produce an overall profile across the environment that mimics the desired communication activity. In the example shown in Figure 3A, determining the sequence of transmission profiles includes accessing (e.g. from a database or from memory at an agent) metadata indicative of a historical communication activity and stored RF profiles. The metadata and / or stored profiles may comprise recorded RF transmission data. For example, the metadata can include metadata for RX communications recorded by an agent, including one or more of a time, date, duration, frequency, location and / or audio content of RX transmissions. Additionally or alternatively, the stored RF profiles can include recorded RF signals for one or more agents. In some examples, the stored RF profiles are replayed across the networked system of agents, e.g. using an order and / or timings defined by the metadata relating to the historical transmissions, in order to simulate (replicate) the desired communication activity. Determining the playbook or sequence of RF transmission profiles can therefore include determining an order and / or timings for transmitting RF signals (e.g. the stored RF profiles or augmented versions thereof) based on the metadata of the historical transmissions. For example, the metadata may define a start time, duration, emitting entity / sender (e.g. agent / radio), destination, carrier frequency, file type and / or content information for a number of RF transmissions. The stored RF profiles may include actual signal profiles to be emitted by RF transmitters. In some examples, the determining step may include matching an entry in the metadata to one of the stored RF profiles. In other examples, as shown in Figure 3A, the metadata and / or stored RF profiles are augmented prior to transmission, in order to more accurately simulate up-to-date RF transmissions. In particular, the metadata and / or stored profiles are augmented to create a new sequence or playbook of RF transmission profiles. In this way, stored or recorded profiles can be used as a trusted or known baseline (representing “real” communication activity) to which one or more techniques may be applied to generate non-repeating instances of the communication activity. This can be used to simulate more convincing RF communication activity using agents in situ, or can be used off-site for training or practice purposes. For example, the transmissions for each agent may be simulated away from the environment using one or more computers (e.g. at a single location) in order to generate a synthetic feed, e.g. which can be used for practice, training and / or planning. As described in further detail below, the augmenting step can include manipulations of the accessed data, such as one or more of: • combining metadata and / or stored RF profiles from more than one recorded transmission • applying a random weighting factor to one or more (e.g. each) of the stored profiles and / or the metadata - for example, random weighting factors may be applied to one or more of a start time, a stop time, a frequency, a replay file and / or a duration. Equally, a random weighting factor may be applied when layering a plurality of RF profiles, such as one or more recorded / stored profiles and / or noise profiles. • time-shifting one or more of the stored RF profiles, such as RF profiles corresponding to key active or inactive sections of recorded transmissions (e.g. to adjust how ‘chatty’ or dense certain periods of communication in the playbook are) • grouping the stored RF profiles according to different properties (e.g. based on their content such as data only, audio only, conversations between agents, high-density audio / data transmission cycles, low-density audio / data transmission cycles) and adjusting the groups of transmission streams separately • analysing the metadata and / or stored RF profiles to identify key nodes or agents (e.g. representing a Commander or Watchkeeper), groups of nodes / agents (e.g. representing intelligence, surveillance, reconnaissance, artillery or logistics groups), agents dependencies, and / or anomalies. For example, this can include using a weighted graph, sorting and searching algorithms (e.g. Quick Sort, Merge sort, Bucket sort, binary search, skip list), optimisation algorithms (e.g. genetic algorithms, tabu search), pattern recognition algorithms (e.g. time series analysis, feature extraction and / or pattern classification) and / or machine learning models (e.g. neural networks, support vector machines, unsupervised learning (to ‘sift’ the data), supervised learning (e.g. with user-in-loop labelling of data)) • adjusting the stored profiles and / or metadata for the key agents or groups of agents, for example to create different playbooks for different groups of agents, to initiate different groups at specific start times, to adjust the location / time / duration / frequency / power level of transmission for a key agent or group of agents, to re-assign a recorded transmission to a different agent to create ‘movement’ within the network of agents (e.g. to make a key communicator appear elsewhere or to appear to move across the environment during transmission), and / or to adjust a level of the grouped transmission streams (e.g. to turn up / down the amount of data or voice in a transmission sequence) • adjusting the stored profiles and / or metadata using a machine learning model configured to determine one or more transmission profiles in response to environmental conditions (e.g. indicative of a threat, such as incoming artillery, electronic attack, identified eavesdropping) - for example, in the example method of Figure 3B Other processing steps may also be performed to ensure that the playbook (sequence of RF transmission profiles) resembles realistic RF communication activity, such as removing erroneous data points or transmissions and / or applying logic to the sequence of RF profiles to prevent overlapping transmissions of each agent. Accordingly, each time a simulation of communication activity for a given type of premises, situation, object or activity is required, different RF transmission profiles are generated. This can increase the accuracy of the simulation by providing the ability to mimic real communications but with sufficient variability so as to seem genuine. For example, in a battlefield environment, this can improve the decoy effect by making it more difficult for other parties to determine whether the emitted RF profile in the environment is genuine or simulated. These steps of accessing recorded RF transmissions and augmenting the recorded transmissions (in order to generate non-repeating RF signals) can be performed independently from the steps 305, 310, 320 of the method 300 and / or with a different system / hardware, e.g. for generating one or more RF signals for any type of simulation system. For example, recorded data from other sensors, training data, manually composed data or data recorded live by an agent can be parsed into a playbook format. Once the radiofrequency profile for the system has been determined, at step 320 the system controller communicates the corresponding transmission profiles (playbooks) to each agent. The agents then transmit radiofrequency signals based on the received transmission profiles. This can include synchronising the execution of the transmission profiles by the agents, for example so that RF signals for simulating two-way conversations (between different agents) are transmitted with a realistic order and timing. For example, the agents may be synchronised using global positioning system (GPS) clocks. Agents may be synchronised manually, for example by turning on the agents (which automatically connect to GPS time), by user input received via a graphical user interface (e.g. a dashboard), or according to a synchronisation schedule. The synchronisation schedule may be primed up to two weeks in advance, and / or may be based on current battery levels of the agents. Additionally or alternatively, the agents may synchronise their transmissions by waiting to receive corresponding communications from one or more other agents (e.g. a request message) that are expected to precede the given transmissions, before transmitting said transmissions (e.g. a reply message). Although the method 300 is described above with reference to a controller, this may be implemented using control units of one or more agents, for example in a distributed manner e.g. such that one or more of the agents determine their own sequences of RF transmission profiles. Figure 3B illustrates another example method 350 for simulating communication activity in an environment. The method 350 starts at step 355 by determining an initial sequence of RF transmission profiles. The RF transmission profiles of this initial sequence (playbook) are sent to the agents at step 360. In some examples, steps 355 and 360 may correspond respectively to steps 315 and 320 of method 300. Accordingly, the method 350 may be performed as part of method 300. As such, step 355 may be based on (received) data indicative of a simulation system in the environment comprising RF-emitting agents and indicative of a communication activity to be simulated. Following step 360, data indicative of detected conditions and / or user input are received at step 365. The data indicative of detected conditions may include sensor data or other data measured or detected by agents (or other sensors) in the environment, such as audio levels, vibrations, electronic attack, physical tampering and / or movement of the agent (e.g. if an agent has been moved, it may be zeroised). The data can also include live information about the agents themselves, such as an agent health. User inputs can be indicative of a modification to the sequence of RF transmission profiles by a user, such as a timing, order, communication volume, frequency, frequency range, waveform, power level, audio content and / or transmission control instruction (e.g. play, pause, stop) for one or more of the transmission profiles in the sequence. Based on the received conditions and / or user inputs, the sequence of RF transmission profiles for the system of agents is updated at step 370. This can include updating the playbook for one or more of the agents - for example, one or more of the individual RF signals in the playbook may be adjusted, replaced and / or reordered. The method then returns to step 360 to send the updated sequence of transmission profiles to the agents for execution. This loop formed by steps 360, 365 and 370 can be repeated continuously or periodically at predetermined or user-defined intervals. This enables the RF activity simulated by the system of agents to adapt dynamically to changes in the environment and / or user inputs. Figure 3C shows an example method 380 for analysing a sequence of RF transmission profiles. In some examples, the method 380 may be used to augment a sequence of RF profiles included in recorded transmission data, e.g. as part of steps 315 or 355 described above. In other examples, the method 380 may be used for analysing the sequences / playbooks generated as a result of steps 315 and 355 described above, for example for improved user control and visualisation of the agents in an environment via a dashboard. The method 380 includes receiving at step 382 a sequence (playbook) of RF transmission profiles. Typically, the playbook includes an ordered list of transmissions each with an associated start time, duration, and emitter (e.g. agent). The playbook also includes content, such as a content description and / or RF signal data (e.g. a file), for each transmission in the list, for example defining a specific RF profile to be transmitted. An example playbook is shown in Figures 4A and continued in Figure 4B. At step 384, a weighted graph is generated based on the received playbook. Vertices of the weighted graph may correspond to different emitters and the edge weights may be computed based on the data included in the playbook. For example, the edge weights may correspond to a number or duration of transmissions that correspond to communications between corresponding pairs of emitters. For example, based on the playbook of Figures 4A-4B, a graph 385 as shown in Figure 3C may be generated based on the number of transmissions between agents (the example playbook includes eleven transmissions between Radios 1 and 2, one transmission between Radios 1 and 8, two transmissions from Radio 3 (for itself)). The weighted graph is then analysed at step 386 in order to identify relationships between the emitters in the playbook. For example, dense regions of the weighted graph (groups of vertices whose connecting edges have larger weights) may correspond to communication groups or subgroups of emitters, e.g. which communicate with each other often. Equally, a key emitter or commander emitter may be identified based on the edge weights and / or graph topography - for example, if a given vertex in the graph is connected to a large number of other vertices (e.g. acting as a hub vertex) and has relatively large connecting edge weights, it may be likely to be a commander or key emitter. For example, Radios 1, 2 and 8 and Radios 6, 7 and 10, and Radios 4 and 5 may be identified as groups of agents based on the example weighted graph 385. By identifying key emitters, emitter groupings and other relationships (e.g. hierarchies or dependencies, who talks to whom and in what order) between emitters in this way, generated playbooks can be analysed and controlled in an efficient manner. For example, this can improve the augmentation of recorded transmission data by enabling key emitters, emitter groupings and relationships to be identified and specifically modified or manipulated (e.g. in a random, predetermined or user-defined manner). For example, once a key emitter is identified, its corresponding transmissions may be assigned to a different emitter, for example to simulate communication activity with a seemingly different arrangement of emitters, or to create the impression of movement within the network by dynamically varying the emitter which emits transmissions for the identified key emitter. Equally, this method for identifying groupings / relationships can enable playbooks to be displayed (e.g. via a dashboard) to a user in a format that enables higher-level control and interpretation of the playbook. For example, as explained above the weighted graph may be used to provide a user-friendly visualisation of the playbook, such as for edge detection, a communication density heatmap, identifying key nodes / agents based on the graph and / or displaying a graphical representation of the playbook profiles or transmissions by a particular agent. This can enable a user to interpret the behaviour and configuration of the agents in the environment, allowing for more efficient and effective control of the simulation. Figure 5A illustrates example collected RF transmission data, showing the transmission length (y-axis) and start time (x-axis) of each transmitted RF profile. For example, the RF transmissions shown may correspond to the stored or recorded RF profiles described herein, for example which may captured by one or more agents. In one example, these transmissions may be augmented by time-shifting all or some of the transmissions within one or more of the ‘chatty’ periods or groups of transmissions 502, 504 shown, e.g. to increase or decrease the length of the quiet period 506 (shown between start times of 150000 and 200000 seconds on the plot in Figure 5A) and / or to increase or decrease the spacing between transmissions within each group 502, 504 of transmissions. Figure 5B illustrates an example machine-driven RF profile output by a RF emitting agent. In particular, it includes RF signals of 10-second duration that are transmitted every 40 seconds (i.e. with 30-second gaps) for testing purposes. For example, the profile illustrated may correspond to a regular GPS update or an RF profile designed for testing radios or batteries. The playbooks (as described herein above) may include such machine-driven profiles in addition to the stored / recorded / augmented profiles. While a specific system is shown, any appropriate hardware / software architecture may be employed. For example, the system controller may communicate directly with the agents, 5 or may communicate with the agents via an intermediate on-site controller configured to distribute transmission profiles received from the system controller to the agents. In other examples, the system or network of agents may employ distributed control and data storage. While example methods are described herein with respect to radiofrequency communications, the steps of these methods equally may be used to simulate non-RF (or a combination or RF 10 and non-RF) communication activity. The above embodiments and examples are to be understood as illustrative examples. Further embodiments, aspects or examples are envisaged. It is to be understood that any feature described in relation to any one embodiment, aspect or example may be used alone, or in combination with other features described, and may also be used in combination with 15 one or more features of any other of the embodiments, aspects or examples, or any combination of any other of the embodiments, aspects or examples. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.

Claims

1. A computer-implemented method for simulating communication activity in an environment, the method comprising the steps of:storing a plurality of radiofrequency, RF, profiles;obtaining metadata indicative of historical RF transmissions;identifying a communication activity to be simulated;providing a plurality of agents in the environment, the agents communicably coupled via a communication network;determining, based on the stored RF profiles and the metadata, a sequence of RF transmission profiles for controlling the agents, wherein the sequence of RF transmission profiles corresponds to the communication activity; andsending, via the communication network, at least one RF transmission profile from the sequence of RF transmission profiles to each agent for RF transmission.

2. The method of claim 1, wherein determining the sequence of RF transmission profiles comprises determining, based on the metadata, an order and / or timings for transmitting the stored RF transmission profiles.

3. The method of claim 1 or 2, wherein determining the sequence of RF transmission profiles comprises augmenting the stored RF profiles and / or the metadata.

4. The method of claim 3, wherein the augmenting comprises one or more of:generating one or more random weighting factors and applying the weighting factors to the stored RF profiles and / or metadata;time-shifting one or more of the stored RF profiles;adjusting a location, start time, duration, frequency, power level and / or content of transmission associated with one or more of the stored RF profiles and / or metadata; and / or re-assigning one or more of the stored RF profiles and / or metadata corresponding to a historical RF profile that is assigned to a first agent to a second agent.

5. The method of claim 3 or 4, wherein the augmenting comprises:analysing the metadata to identify one or more relationships between the agents; andaugmenting the metadata and / or stored RF profiles based on the identified relationships;optionally wherein identifying the one or more relationships comprises identifying a key agent, a group of agents, and / or a hierarchy of the agents.

6. The method of claim 5, wherein analysing the metadata comprises: generating a weighted graph based on the metadata; and analysing the weighted graph to identify one or more relationships between the agents.

7. The method of any preceding claim, further comprising the step of obtaining simulation system data indicative of the plurality of agents, wherein determining the sequence of RF transmission profiles is based on the simulation system data.

8. The method of claim 7, wherein the simulation system data comprises one or more of: a location, RF capability, health and / or software version of one or more of the agents, and / or a size, shape and / or terrain of the environment.

9. The method of any preceding claim, wherein identifying the communication activity to be simulated comprises obtaining communication activity data indicative of the communication activity and wherein determining the sequence of RF transmission profiles is based on the communication activity data.

10. The method of claim 9, wherein the communication activity data comprises one or more of: a date, a time, a duration, a frequency, a waveform, a power level, audio content, a raw RF file, and / or a geographical boundary of RF transmission for the communication activity to be simulated.

11. The method of any preceding claim, wherein the stored RF profiles comprise RF profiles corresponding to the historical RF transmissions.

12. The method of any preceding claim, wherein the metadata and / or stored RF profiles comprise metadata and / or RF profiles recorded by one or more of the agents in the environment.

13. The method of any preceding claim, further comprising the steps of:obtaining data indicative of one or more detected conditions in the environment;updating the sequence of RF transmission profiles based on the data indicative of the detected conditions; andsending the updated sequence of RF transmission profiles to the agents for RF transmission.

14. The method of claim 13, wherein the detected conditions are detected by one or more of the agents, optionally wherein the detected conditions comprise one or more of: an electronic attack, audio, vibration, physical tampering and / or movement.

15. The method of claim 13 or 14, wherein updating the sequence of RF transmission profiles comprises:inputting the data indicative of the detected conditions into a machine learning model configured to relate detected conditions to RF responses; anddetermining, based on an output of the machine learning model, an updated sequence of RF transmission profiles.

16. The method of any preceding claim, further comprising the steps of:receiving a user input via a user interface;updating the sequence of RF transmission profiles based on the received user input; andsending the updated sequence to the agents for RF transmission.

17. The method of any preceding claim, further comprising the step of transmitting, by each agent, the at least one RF transmission profile sent to said agent.

18. The method of any preceding claim, further comprising the steps of:synchronising the agents, optionally based on global positioning system, GPS, clocks; andtransmitting, by the synchronised agents, the RF transmission profiles sent to the respective agents.

19. A network of agents for simulating communication activity in an environment, the network comprising:a plurality of agents configured to be geographically dispersed throughout the environment, wherein each agent is associated with one or more radiofrequency, RF, transmitters and comprises:a control unit configured to control the respective RF transmitters; anda communication unit configured to communicate with a controller and / or one or more other agents via a communication network;wherein each agent is configured to:receive, via the communication unit, one or more RF transmission profiles from a sequence of RF transmission profiles; andcontrol the associated one or more RF transmitters to transmit one or more RF signals based on the one or more received RF transmission profiles.

20. The network of claim 19, wherein one or more of the agents comprise a software-defined radio.

21. The network of claim 19 or 20, further comprising:a controller communicably coupled to the agents via the communication network and configured to:store a plurality of RF profiles;5 obtain metadata indicative of historical RF transmissions;identify a communication activity to be simulated;determine, based on the stored RF profiles and the metadata, a sequence of RF transmission profiles for controlling the agents, wherein the sequence of RF transmission profiles corresponds to the communication activity; and10 send, via the communication network, at least one RF transmission profile fromthe sequence of RF transmission profiles to each agent.

22. The network of claim 21, wherein the controller is distributed across the control units of at least two of the agents.

23. A computer program, computer program product or computer readable medium 15 comprising instructions which, when executed by a computer, cause the computer to carry out the method of any of claims 1 to 18.

Citation Information

Patent Citations

  • Ad hoc network communication device testing method and system

    CN105530654A

  • Artificial intelligence assisted signal mimicry

    WO2021262286A2