System and method for RF signal control
The method and apparatus simulate RF communication activity by detecting and analyzing network transmissions to generate accurate RF signals, addressing the limitations of existing methods and enhancing realism and adaptability in network simulations.
Patent Information
- Application Number
- GB2024018521
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-19
- Filing Date
- 2024-12-17
- Publication Date
- 2025-10-01
AI Technical Summary
Existing methods for simulating radiofrequency (RF) communication activity in networks are insufficiently realistic, particularly in live environments, as they often involve replaying recorded communications or analyzing networks offline, failing to accurately mimic genuine communications.
A computer-implemented method and apparatus that utilize agents configured to detect RF transmissions from a target network, analyze them, and transmit signals based on a determined transmission profile, allowing for realistic simulation without requiring pre-configuration or network membership, and optionally employing machine learning to enhance accuracy.
Enables efficient and realistic simulation of RF communication activity, capable of mimicking genuine network behavior, including encrypted traffic, to deceive or influence network actors, and adapt to network conditions, facilitating applications in search-and-rescue, disaster relief, and battlefield scenarios.
Smart Images

Figure 00000000_0000_ABST 
Figure 00000000_0001_ABST
Abstract
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 one or more 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 fortesting and designing electronic equipment, training operators / users of such equipment, or creating decoys in battlefield environments. It is also desirable to simulate such communication activity in existing communication networks independently of the existing network hardware, for example in order to test existing networks in situ. Several attempts at simulating communication activity have been made, but these involve replaying recorded communications or analysing existing networks offline, which do not accurately simulate genuine communications especially in live networks, 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 comprising at least a portion of a target communications network, the method comprising the steps of: providing at least one agent in the environment, wherein the agent is configured to receive and transmit radiofrequency, RF, signals; detecting, by the at least one agent, one or more RF transmissions from the target network; analysing the one or more detected transmissions; determining a transmission profile for the at least one agent based on the analysis of the one or more detected transmissions; and transmitting, by the at least one agent, one or more RF signals in the environment based on the determined transmission profile. By analysing one or more transmissions detected from a target communications network and determining a transmission profile for at least one agent based on that analysis, the agent(s) can transmit signals that accurately simulate communications or other radiofrequency (RF) activity for existing actors in the target network, without requiring the agent to be preconfigured or registered as a member of the target network. For example, this is particularly advantageous for search-and-rescue or natural disaster relief situations, where the method can enable the agent(s) to communicate to a target network (e.g. to advertise disaster relief information when cellular / 4G networks are down) quickly and effectively. The method can also enable mimicry of genuine communications for the target network, for example to influence or communicate with actors (e.g. adversaries) in those networks. For example, the method can allow radio traffic (such as encrypted radio traffic) to be recorded, analysed and replayed by the agent in order to deliver an electronic attack to the target network. This can fool existing radios in the target network into interpreting the agent’s transmission as a genuine communication from other radios in the network. For example, the replayed transmissions may contain stale identifiers such as IP and / or MAC addresses. This can confuse actors in the target network or inhibit operation of that network, while making it difficult to identify the agent that is transmitting the determined profile. Detecting one or more transmissions from the target network may comprise recording, by the at least one agent, at least a portion of the one or more detected transmissions. For example, the agent(s) may detect a number of transmissions from the target network and select a portion of the detected transmissions to be recorded (stored) and used for analysis. For instance, the agent(s) may only select (portions of) the detected transmissions that are determined to satisfy one or more criteria, or transmissions / portions of interest, such as: by determining a predetermined type of communication; by determining that the transmission has originated from a predetermined node of the target network; based on audio content and / or metadata of the transmission; and / or by determining that the communication satisfies a threshold or predetermined duration, carrier frequency and / or power level. This can improve the efficiency of the method by avoiding storage of unnecessary or irrelevant communications by the agent. Alternatively, the portion of the detected transmissions may be selected (e.g. filtered) based on one or more similar criteria during the analysis step. Accordingly, the agent(s) may record all detected transmissions over a period of time, and the selection / filtering of recorded communications for analysis may be performed by a human or remote computing device. In some examples, the one or more agents may receive a trigger to begin detecting (or listening for) transmissions. For example, the trigger may include an indication from a human operator and / or remote computing device to begin detecting transmissions. The trigger may be based on detecting (by the agent) that a criterion is satisfied, such as one or more predetermined frequencies and / or power levels being detected. The agent(s) may be preloaded with such criteria. Analysing the one or more detected transmissions may comprise analysing signal properties and / or metadata of the one or more detected transmissions. For example, signal properties may include a transmission length (duration), carrier frequency and / or power level of the transmission. This can enable accurate transmissions to be determined for the agent based on high-level properties of the detected transmission, which is particularly advantageous if the content or metadata of the transmission is not available (e.g. if it is encrypted). Analysing the one or more detected transmissions may comprise analysing voice data of the detected transmissions. Analysing voice data may include identifying and / or translating a voice. Analysing the one or more detected transmissions may comprise identifying a type of transmission, e.g. based on detecting one or more predetermined frequencies and / or power levels in the detected transmission(s). For example, a transmission type may be identified as data, audio, speech, gunfire and / or commands. A transmission type or communication type may be estimated or identified as the most likely type based on the detected transmission, and for example may have an associated likelihood of being a particular type (e.g. 80% likelihood of being speech). Analysing the one or more detected transmissions may comprise extracting and logging operational information from the detected transmissions. Operational information may include a grid reference, name, location, date and / or time associated with an operation (such as a search-and-rescue operation or an operation being organised by actors of the target network). Analysing the one or more detected transmissions may comprise determining one or more properties of the target network. Determining one or more properties of the target network may comprise determining a topology, a hierarchy, and / or one or more communication protocols used in the network. Analysing the one or more detected transmissions may comprise identifying one or more relationships between nodes of the target network. Identifying one or more relationships may comprise generating a weighted graph based on the detected transmissions and analysing the weighted graph. For example, a weighted graph estimating the target network topology and / or hierarchy may be generated or updated based on the detected transmission(s), for example to identify groups of nodes or lead nodes in the target network. Determining the transmission profile may comprise generating a transmission profile based on augmenting one or more of the detected transmissions. The augmenting may comprise one or more of: applying a weighting factor to the detected transmission; and / or adjusting a duration, frequency, power level and / or content of the detected transmission. Determining the transmission profile may comprise selecting one or more of the detected transmissions to be replayed to the target network. For example, this can be used to deliver an electronic attackto the target network, and can be particularly advantageous where existing radios in the network transmit encrypted data. In one example, before being replayed, a recorded transmission may be augmented to add stale or spoof identifiers such as IP and MAC addresses in order to advertise out-of-date network information. Determining the transmission profile may comprise inputting data derived from the one or more detected transmissions into a machine learning model configured to relate detected transmission data to RF transmissions, and determining, based on an output of the machine learning model, a transmission profile for the at least one agent. The machine learning model may comprise a speech generation module configured to generate voice data based on textual and / or audio input data. In some examples, the machine learning model (or other computational engine) is configured to analyse the audio content of detected transmissions (e.g. based on a bag-of-words model, a recognised voice and / or a type of interaction between nodes of the target network) and determine a transmission profile by selecting and / or rearranging the detected transmissions to be replayed. For example, the model may analyse the audio content of the detected transmission(s) to determine an intonation of a voice. The machine learning model may comprise a text-to-speech (TTS) model or a speech-to-speech model, optionally comprising a recurrent neural network (RNN), generative adversarial network (GAN), large language model (LLM) and / or a waveform model. The model may comprise a natural language processing model, such as a bag-of-words model. The method may include processing the one or more detected transmissions to derive the input data for the machine learning model. Processing the one or more detected transmissions may include: generating a transcript based on the detected transmission^), optionally by inputting audio content of the detected transmission(s) to a speech-to-text module; and determining one or more features of the detected transmission(s) based on the transcript, optionally by inputting the transcript (output by the speech-to-text module) to a bag-of-words model. These determined features may then be provided as input to the machine learning model. The machine learning model may be trained using historical detected transmissions and / or historical determinations of transmission profiles made by human operators. The machine learning model may be trained to predict a (RF) transmission from a sequence of historical transmissions, for example by training the model to predict a given historical transmission in the sequence using the preceding transmissions in the sequence as input. In other words, for a given input of historical transmissions, the ground truth or label for that training data may be derived from the next historical transmission that occurred. Additionally or alternatively, the ground truth / label fortraining data may be derived from historical human determinations, for example based on a transmission profile that a human historically determined based on one or more detected transmissions. The method may further comprise detecting, by the at least one agent, one or more further transmissions from the target network during and / or after transmitting the one or more RF signals in the environment. The transmission profile may be associated with a target network condition, wherein the agent transmits one of the one or more RF signals based on the transmission profile in response to determining that the target network condition is met. Determining that the target network condition is met may comprise one or more of: detecting a predetermined type of communication; detecting a transmission from a predetermined node of the target network; and / or detecting that a level of communication activity in the target network is below a predetermined threshold. In addition to the content of the agent’s RF transmission, this can enable the context (e.g. timing) of the agent’s transmission with respect to the target network to be more realistic and / or effective (e.g. to advertise information when a level of communication activity is lowerto improve the chances of it being received by agents of the target network). For example, a threshold level of communication activity may correspond to a certain number of distinct transmissions (or active transmitting actors) in the target network in a given period of time, for example a threshold of 10 transmissions per minute. In some examples, the threshold level of communication activity may not be fixed but may vary dynamically, for example the threshold may be updated by a machine learning model. Determining the transmission profile may be based on one or more historical RF transmissions. Detecting the one or more transmissions from the target network and transmitting the one or more RF signals in the environment may be performed by the same agent or by different agents. The at least one agent may be configured to communicate with a remote computing device via a secondary communications network. The method further comprise: transmitting the one or more detected transmissions from the agent to the remote computing device; determining the transmission profile at the remote computing device; and transmitting an indication of the determined transmission profile to the agent for RF transmission. This can improve the efficiency of the method by determining the transmission profile at a remote device. At least part of the analysing step may also be performed at the remote computing device. The indication of the determined transmission profile may comprise an identifier of a predetermined transmission profile accessible by the agent (e.g. from a database of predetermined profiles); metadata and / or characteristic(s) of the determined transmission profile (e.g. start time, duration, volume, direction, fade profile, noise profile, carrier frequency, power level, content type); and / or a file or waveform for direct transmission by the agent. The method may further comprise determining a sequence of transmission profiles for the at least one agent. The sequence may be indicative of a transmission order for a plurality of transmission profiles. Transmitting the RF signal(s) in the environment by the at least one agent may be further based on the transmission order. There is also described herein apparatus for simulating communication activity in an environment comprising at least a portion of a target communications network, the apparatus comprising: at least one agent associated with a radiofrequency, RF, transceiver, each agent comprising one or more processors, a memory, and a power source; wherein the memory of the at least one agent comprises instructions which, when executed by the one or more processors, cause the agent to: detect, via the transceiver, one or more RF transmissions from the target network; and transmit, via the transceiver, one or more RF signals for the target network based on a transmission profile determined based on the one or more detected transmissions. The one or more RF transmissions detected by the agent may be from one or more nodes of the target network. For example, the transceiver of the at least one agent may be configured to intercept transmissions sent between nodes of the target network. The at least one agent may comprise a software-defined radio. The at least one agent may comprise a deployable (and retrievable) mobile device. The apparatus may further comprise a remote computing device configured to communicate with the at least one agent via a secondary communications network. The remote computing device may be configured to: determine the transmission profile based on one or more detected transmissions received from the at least one agent; and transmit the determined transmission profile to the agent for RF transmission. The at least one agent may be configured to determine the transmission profile based on the one or more detected transmissions. The transmission profile may be determined using a machine learning model configured to relate detected transmission data to RF transmissions. For example, the machine learning model may be executable by the at least one agent and / or by the remote computing device. There is also 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 ortext 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 forthe 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, I MEI, 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. Timeshifting 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 re-assigning 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 an example 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; Figures 5A-5B illustrate example transmission profiles; Figure 6 shows an example system for simulating communication activity; and Figure 7 illustrates a method for simulating communication activity for a target network. 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. fortesting 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 orderto 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 overtime 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 ordashboard 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 orgraphs indicative of the playbook profiles (and associated communication activity), such as a waterfall diagram or line chart showing communication trends overtime, 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) fora 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 forthat 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 forRX 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 forthe 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. The techniques described herein for simulating communication activity may be used to supplement or interact with existing communication systems. For example, one or more RF agents may be used within or in the vicinity of an existing communication network to transmit simulated communication activity intended for nodes / actors in that system. Specific examples are described below. Simulation for Existing Systems A method for simulating communication activity for an existing network will now be described with reference to Figures 6 and 7. In particular, one or more radiofrequency (RF) agents are used to simulate communication activity in an existing communications system or network which can allow communications to be transmitted to intended nodes or actors in the existing network in an efficient manner. For example, this method may be used to mimic genuine communications or to broadcast other messages or information within an existing network. Figure 6 shows an example environment 600 which includes at least one RF agent 605 and an existing communications network 610. The network 610 may be a radio broadcast network, a private network (e.g. for a limited group of users), a local area network (e.g. Wi-Fi network) or any other network or system configured to transmit communications. Generally, the network uses unsecure communications (e.g. using unencrypted public mobile radio, PMR), such that agents can readily intercept, detect and process communications. However, in some examples, if more secure protocols are used in the existing network 610 (e.g. using encryption), the agents may nonetheless be equipped to interpret communications (e.g. by decrypting received transmissions), detect properties / metadata of the encrypted communications and / or replay encrypted communications. For example, replaying encrypted communications (e.g. detected radio traffic from encrypted data radios) can be used to deliver an electronic attack by causing confusion or otherwise disrupting communications in the target network. The target network 610 may be initially identified based on an indication (e.g. from a human operator) to monitor said network., orthe RF agent(s) 605 may scan across a range of frequencies in the environment 600 to detect RF activity and identify a target network 610 of interest. In some examples, the agent 605 comprises a software-defined radio (SDR), such as an agent 105 as described herein. For example, the agent 605 may include a deployable or mobile device which includes an SDR. Each agent may have one or both of transmitting and receiving capabilities. Each agent can include apparatus having a communication means (e.g. a software-defined radio, a transceiver etc.), one or more processors comprising computing modules (e.g. micro-computing modules and / or one or more controllers) and a power source. Accordingly, the agent 605 can be embedded in a self-powered deployable enclosure suitable for reliable, long-term use in remote locations. Additional power sources and / or communication means (e.g. antennae) may be attached to the agent apparatus, depending on the intended use and characteristics of the environment 600 and target network 610. Although a single agent 605 is shown in Figure 6, in some examples a plurality of agents 605 may be present in the environment (simultaneously or at different times). For instance, a group of networked agents (such as agents 105) as described hereinabove may be used in a coordinated manner to simulate communications in the environment 600. The agent 605 is located within range of at least one node 612 of the network 610 and is configured to receive or listen for RF transmissions from the node(s). Preferably, the agent 605 is within range of most or all of the nodes in the network 610, such that it is able to receive most or all transmissions to / from nodes in the network 610. However, in some examples the agent 605 may only be able to receive communications from a subset of the nodes in the network, for example if it is only feasible or safe to locate the agent near an edge of the network 610 (e.g. if the environment 600 includes a high-threat location). One or more of the nodes 612 in the network 610 may be associated with a network actor, such as personnel operating a transmitting and / or receiving device. Accordingly, transmissions in the network may correspond to messages or conversations between such actors. As shown in Figure 6, the agent 605 may be communicably connected via a separate (preferably secure) network to a remote computing device, which may be configured to process data recorded by the agent 605. Alternatively, the agent 605 may be substantially self-sufficient and operate autonomously in the environment 600, so the separate network and remote computing device shown in Figure 6 may not be required. Figure 7 illustrates a method 700 for simulating communication activity in a target network, such as network 610. For example, the target network may be an adversary network, or a public communications network in an area affected by natural disaster. The method 700 begins at step 702 with providing one or more agents (e.g. agent 605) in an environment that includes at least a portion of the target network.. For example, the agent may be manually placed in the environment (e.g. environment 600) and manually retrieved, or deployed (and retrieved) using autonomous capabilities such as a drone or other robotic vehicle. The agent then detects (radiofrequency) transmissions from the target network at step 704. The transmissions represent communications between nodes and / or actors of the target network. At least a portion of the detected transmissions are recorded (e.g. stored) by the agent, which may optionally identify conversations or transmissions of interest and only record and store those identified transmissions. For example, transmissions of interest may be identified based on audio content, duration, transmission frequency, power level or other metadata from the detected transmission, or by meeting some other criterion such as being a predetermined communication type or originating from a predetermined node of the target network. At step 705, the detected transmissions are analysed. For example, analysing the recorded transmissions can include one or more of: • analysing signal properties and / or metadata (e.g. a duration / length, carrier frequency, bandwidth, power level of the detected transmissions); • voice analytics (e.g. natural language processing, identifying a voice, translating voice data); • identifying or estimating a type of communication (e.g. data, audio, speech, gunfire, commands), for example the identification / estimation may have an associated likelihood or probability of being a particular communication type; • logging and extracting (for reuse) information of interest such as orders, grid references, names, locations, and dates / times. For example, modules such as natural language processing modules may be used to determine communication dynamics between nodes of the target system. Communication dynamics can include a network topology, a hierarchy (e.g. which nodes respond to requests for information), one or more communication protocols and / or a relative level of communication activity between nodes (e.g. which node communicates the most). For example, a node associated with a commander and / or a static headquarters site may communicate more in the target system than nodes associated with lower-ranking individuals and / or mobile platforms. In one example, recorded audio content and RF profiles may be analysed to determine individuals (actors) and their roles in the target network. Where the recorded transmissions are transferred to a separate computing device, the data captured by the agent (such as voice data and / or electronic transmission data) may be analysed by a human operator at the computing device. Alternatively or additionally, the content / metadata of the recorded transmissions may be analysed automatically, for example by an artificial intelligence or machine learning-based analysis engine. The analysing step 705 can include processing the detected transmission(s) (e.g. to extract audio / data content, metadata or other information) by the agent and / or a remote computing device prior to performing one or more analyses. At step 706, one or more transmission profiles are determined for the agent based on the analysis of the recorded transmissions). The term “transmission profile” refers to a profile relating to intended (RF) transmissions by one or more agents. For example, a transmission profile may include transmission characteristics (e.g. indicating a start time, duration, volume, direction, fade profile, noise profile, carrier frequency, power level, content type) which an agent can use to generate / retrieve a corresponding RF signal, or an identifier of a predetermined / stored signal accessible by an agent. In other examples, a transmission profile may include more detailed transmission information, such as one or more files or waveforms to be used directly for transmission by an agent. In general, a transmission profile corresponds to transmission by a particular agent, so a plurality of transmission profiles (e.g. a sequence or playbook) may relate to a plurality of agents transmitting (at least partially) simultaneously, a single agent transmitting a sequence of signals consecutively, ora combination of the two. In order to determine the transmission profile, the agent may be retrieved from the environment, and the recorded transmissions transferred to one or more computing devices to determine the transmission profile for the agent. In other examples, the agent may be communicably connected (e.g. via a secondary communication network different from the target network, as shown in Figure 6) to a remote computing device, such that the recorded transmissions are communicated to the computing device while the agent remains in situ in the environment. For example, the secondary communication network is preferably a secure network (e.g. employing encryption). Alternatively, one or more processors of the agent may be configured to determine the transmission profile without needing to send recorded transmissions to a different device. Determining the transmission profile for the agent can include selecting one or more of the recorded transmissions based on the analysis. For example, if criminal activity such as wildlife poaching is detected based on signal properties or voice analytics, recorded radio traffic associated with the criminal activity may be selected as the transmission profile(s) for the agent (to be replayed) in order to deter the criminals or additional criminal groups in the area. Equally, detected transmissions in a disaster or humanitarian aid environment (e.g. advertising information about aid / assistant) may be selected to be replayed by an agent in order to boost / extend the effective range of such transmissions. In another example, recorded transmissions may be selected to be replayed by the agent in order to cause confusion or inhibit proper functioning of the target network (an electronic attack) - for example, by replaying transmissions that are determined to contain stale or out-of-date IDs (such as IP and / or MAC addresses), the agent can anonymously disrupt the network. Additionally or alternatively, the transmission profile (e.g. a playbook) for the agent is determined based on the analysis using the techniques of methods 300, 350 described herein. Determining the transmission profile can include generating a transmission profile based on one or more of: manipulating, augmenting and / or modifying (the properties, content and / or metadata of) the recorded transmissions; and generating new content, e.g. based on the recorded content / metadata. For example, a weighting factor may be applied to detected transmissions and / or a duration, frequency, power level and / or content of the detected transmission may be used or adjusted when generating the new transmission profile(s). For example, if the analysis reveals that actors in an adversary network are planning an offensive operation, some of the recorded transmissions may be modified (or new transmissions generated) to confuse or deter the actors in the target network. In another example, if the analysis reveals RF activity in a disaster-stricken area, transmission profiles for advertising disaster relief information may be generated for transmission in that area. Techniques for augmenting transmission profiles and generating sequences of transmission profiles described herein (e.g. with reference to methods 300, 350) may be used for augmenting and generating realistic transmission profiles in the method 700. In particular, any of the techniques described herein for improving the accuracy of simulated communication activity may be used for determining a transmission profile in the method 700. In some examples, an AI / ML module (executed at the agent and / or a remote computing device) may generate such transmission profiles using the recorded transmissions (or data derived therefrom) as input, and / or the profiles may be generated by a human operator. For example, a machine learning-based model which receives data extracted from detected transmissions (e.g. as a result of analysis at step 705) or raw detected transmissions as input is configured to provide an output indicative of an appropriate transmission profile. The model may also receive as input sensor data (such as detected audio / vibration, electronic attack, physical tampering and / or movement, e.g. indicative of incoming artillery) or friendly communication traffic (e.g. between other agents and / or a remote computing device, such that the model can determine frequencies / transmissions for the transmission profile that mask real / friendly information exchanges). In one example, the model is configured to determine signal characteristics, an identifier of a stored profile and / or a file for RF transmission based on a duration, frequency, power level, transmission type and / or identified actor of the detected transmission. For instance, the model may include a speech generation module (e.g. a large language model, LLM) configured to generate voice data based on textual and / or audio input data (e.g. a transcript or audio recording from detected transmissions). The AI / ML model may be trained in a number of ways, including supervised, semi-supervised or unsupervised learning techniques. In one example, historical sequences of transmissions (e.g. recorded by an agent in the same or different target network) may be used such that the model is trained based on a portion of the historical sequence to predict a next transmission from the historical sequence - in other words the ground truth / label used for training may be derived from the next historical transmission that occurred. Additionally or alternatively, the ground truth (label) for training data may be obtained based on historical human determinations that were made in view of transmissions detected by an agent. Once the transmission profiles for the agent have been determined, they are used by an agent in the environment to transmit RF signals in the environment at step 708. The agent used for transmission may be the same agent used to detect and record transmissions from the network ora different agent. Thus, in some examples the method may include providing a second agent in (the same or different part of) the environment that includes at least a portion of the target network. The determined transmission profiles may have been communicated to or loaded on the agent device, for example by transmitting remotely over a communications network or by loading onto memory of the agent device locally via a wired or wireless connection (e.g. before the agent is deployed to the environment). The signals based on the determined transmission profile(s) may be transmitted based on predetermined conditions or context in the target network. For example, before transmitting the signals, the agent may detect furthertransmissions from the target network and determine based on those detected transmissions that the predetermined conditions are met, for example based on a network traffic criterion, detected radio silence (e.g. network activity being below a threshold level) and / or identifying that particular nodes or actors are actively communicating (e.g. that a key node / commander is communicating, which could trigger transmission of spurious locations / information / tactical instructions to the rest of the network). Where a plurality of transmission profiles are determined for the agent, they may be defined as a sequence or playbook or transmission profiles (for one or more agents). Accordingly, the agent in the environment may transmit signals based on this playbook over a period of time, e.g. at predetermined points in time and / or in response to detecting certain network conditions or communications. For example, the playbook may define a series of transmission profiles (e.g. for response messages) to be played by the agent when corresponding transmissions (e.g. request messages) or other target network conditions are detected. This can allow the agent to simulate communication activity over an extended period of time without needing to repeatedly determine new transmission profiles, but in a dynamic manner that is responsive to the live conditions in the target network.. In some examples, the agent used to transmit the profile at step 708 can also detect and record transmissions from the target network during or shortly after its own transmission. This can allow the effect of the determined transmission profile to be determined (e.g. for analysis purposes and / or determining further transmission profile(s)). For example, if the method 700 is being used to mimic genuine transmissions in a target network, the agent may listen for communications from the network (e.g. a response message) indicating that its own transmission (e.g. a request message) was perceived as genuine. In another example, following transmission of a first signal in the environment, the agent may listen for an expected transmission from the target network before transmitting a second signal (e.g. based on the next transmission profile of a playbook). The method 700 can therefore enable communication activity to be simulated in an target network with minimal footprint or human presence in the environment, which is particularly advantageous for remote, hostile or dangerous environments. In some examples, only some of the steps of method 700 may be performed. For example, the steps of determining a transmission profile for an agent and transmitting signals based on that profile need not be performed. Instead, an agent may be provided in an environment including at least a portion of a target network and used to detect transmissions from the target network. Those transmissions can then be analysed to learn information or properties of the target network (e.g. topology, protocols, communication dynamics), for example as part of a network discovery process. This can allow unfamiliar target networks to be analysed and managed in an efficient manner. Equally, in some implementations, the determined transmission profile(s) for the transmitting agent may be based on pre-determined and / or historical communication activity, for example based on stored RF profiles. Accordingly, the method 700 may include storing and retrieving (historical) RF profile data and using this data (instead of transmissions detected from the target network) to determine the transmission profiles to be used for simulating communication activity in the target network. In some examples, regardless of whether transmissions detected from the target network are used, previous recordings of communication activity may be used to enhance generated transmission profiles - for example, previous recordings of a commander node may be used to increase the authenticity of generated transmissions (e.g. based on metadata and / or audio content of the pre-recorded transmissions). 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, 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 5 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 and non-RF) communication activity. The above embodiments and examples are to be understood as illustrative examples. 10 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 one or more features of any other of the embodiments, aspects or examples, or any combination ofany other of the embodiments, aspects or examples. Furthermore, equivalents 15 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 comprising at least a portion of a target communications network, the method comprising the steps of:providing at least one agent in the environment, wherein the agent is configured to receive and transmit radiofrequency, RF, signals;detecting, by the at least one agent, one or more RF transmissions from the target network;analysing the one or more detected transmissions;determining a transmission profile for the at least one agent based on the analysis of the one or more detected transmissions; andtransmitting, by the at least one agent, one or more RF signals in the environment based on the determined transmission profile.
2. The method of claim 1, wherein detecting one or more transmissions from the target network comprises recording, by the at least one agent, at least a portion of the one or more detected transmissions.
3. The method of claim 1 or 2, wherein analysing the one or more detected transmissions comprises at least one of:analysing signal properties and / or metadata of the one or more detected transmissions;analysing voice data of the detected transmissions, optionally identifying and / or translating a voice;identifying a type of transmission;determining one or more properties of the target network, optionally a topology, hierarchy, communication protocol;identifying one or more relationships between nodes of the target network, optionally by generating a weighted graph based on the detected transmissions and analysing the weighted graph.
4. The method of any preceding claim, wherein determining the transmission profile comprises generating a transmission profile based on augmenting one or more of the detected transmissions.
5. The method of claim 4, wherein the augmenting comprises one or more of: applying a weighting factor to the detected transmission; and / oradjusting a duration, frequency, power level and / or content of the detected transmission.
6. The method of any preceding claim, wherein determining the transmission profile comprises:inputting data derived from the one or more detected transmissions into a machine learning model configured to relate detected transmission data to RF transmissions; anddetermining, based on an output of the machine learning model, a transmission profile for the at least one agent.
7. The method of claim 6, wherein the machine learning model is trained using historical detected transmissions and / or historical determinations of transmission profiles made by human operators.
8. The method of any preceding claim, further comprising detecting, by the at least one agent, one or more further transmissions from the target network during and / or after transmitting the one or more RF signals in the environment.
9. The method of any preceding claim, wherein the transmission profile is associated with a target network condition, wherein the agent transmits one of the one or more RF signals based on the transmission profile in response to determining that the target network condition is met.
10. The method of claim 9, wherein determining that the target network condition is met comprises one or more of:detecting a predetermined type of communication;detecting a transmission from a predetermined node of the target network; and / or detecting that a level of communication activity in the target network is below a predetermined threshold.
11. The method of any preceding claim, wherein determining the transmission profile is based on one or more historical RF transmissions.
12. The method of any preceding claim, wherein the at least one agent is configured to communicate with a remote computing device via a secondary communications network, the method further comprising:transmitting the one or more detected transmissions from the agent to the remote computing device;determining the transmission profile at the remote computing device; andtransmitting an indication of the determined transmission profile to the agent for RF transmission.
13. The method of any preceding claim, further comprising determining a sequence of transmission profiles for the at least one agent, the sequence indicative of a transmission order for a plurality of transmission profiles.
14. Apparatus for simulating communication activity in an environment comprising at least a portion of a target communications network, the apparatus comprising:at least one agent associated with a radiofrequency, RF, transceiver, each agent comprising:one or more processors;a memory; anda power source;wherein the memory of the at least one agent comprises instructions which, when executed by the one or more processors, cause the agent to:detect, via the transceiver, one or more RF transmissions from the target network; andtransmit, via the transceiver, one or more RF signals for the target network based on a transmission profile determined based on the one or more detected transmissions.
15. The apparatus of claim 14, wherein the at least one agent comprises a software-defined radio and / or a deployable mobile device.
16. The apparatus of claim 14 or 15, further comprising a remote computing device configured to communicate with the at least one agent via a secondary communications network, wherein the remote computing device is configured to:determine the transmission profile based on one or more detected transmissions received from the at least one agent; andtransmit the determined transmission profile to the agent for RF transmission.
17. The apparatus of claim 14 or 15, wherein the at least one agent is configured to determine the transmission profile based on the one or more detected transmissions.
18. The apparatus of any of claims 14 to 17, wherein the transmission profile is determined using a machine learning model configured to relate detected transmission data to RFtransmissions.
19. A computer program, computer program product or computer readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of any of claims 1 to 13.37
Citation Information
Patent Citations
Method and apparatus for detecting and jamming transmitters and receivers
US20210281354A1
Integrated monitoring and communications receiver architecture
US7606524B1
Artificial intelligence assisted signal mimicry
WO2021262286A2