CHANNEL COMPUTATION
20250385693 ยท 2025-12-18
Inventors
- Carlo Fischione (Stockholm, SE)
- Seyedsaeed Razavikia (Stockholm, SE)
- Mairton Barros da Silva (Stockholm, SE)
Cpc classification
International classification
Abstract
A computer-implemented method for in-channel function computation in a digital communication system, with a plurality of transmitting digital units and one or more channels, includes the steps of: digitally encoding input data according to one or more transmitting encoding schemes; transmitting digitally encoded input data from the transmitting digital units through the channels; obtaining superpositions of the digitally encoded input data from the plurality of the transmitting digital units in the one or more channels; based on a decoding scheme, which assigns, to any one of the possible superpositions of the transmitted digitally encoded input data, a predefined value corresponding to a predefined combination of the digitally encoded input data, decoding the superpositions of transmitted digitally encoded input data, thereby obtaining combinations of the digitally encoded input data. A digital communication system implementing the method and a receiver implementing the step of decoding of the method are disclosed.
Claims
1-25. (canceled)
26. A computer-implemented method for in-channel function computation in a digital communication system comprising a plurality of transmitting digital units and one or more channels, the method comprising the steps of: digitally encoding input data according to one or more transmitting encoding schemes, wherein the input data is encoded according to a digital modulation scheme, wherein the digital modulation scheme is an amplitude-based and phased-based modulation scheme; transmitting digitally encoded input data having changed phase and amplitude from the plurality of transmitting digital units through the one or more channels; obtaining superpositions of the digitally encoded input data from the plurality of the transmitting digital units in the one or more channel; based on a decoding scheme, which assigns, to any one of the possible superpositions of the transmitted digitally encoded input data, a predefined value corresponding to a predefined combination of the digitally encoded input data, decoding the superpositions of transmitted digitally encoded input data, thereby obtaining combinations of the digitally encoded input data, wherein the step of decoding the superpositions of transmitted digitally encoded input data comprises determining the phase and amplitude of the transmitted signals comprising superpositions of the digitally encoded input data, and mapping the signals to predefined combinations or functions of the input data.
27. The method for in-channel function computation according to claim 26, wherein the input data comprises several input data sources comprising at least first input data, transmitted using a first transmitting digital unit, and second input data, transmitted using a second transmitting digital unit.
28. The method for in-channel function computation according to claim 26, wherein the channels are time-invariant or time-variant channels.
29. The method for in-channel function computation according to claim 26, wherein the channels are time-variant channels.
30. The method for in-channel function computation according to claim 26, wherein computation and transmission occurs simultaneously.
31. The method for in-channel function computation according claim 26, wherein the superpositions of the digitally encoded input data are obtained by interference of transmitting signals from the plurality of transmitting digital units carrying the transmitted digitally encoded input data.
32. The method for in-channel function computation according to claim 26, wherein the decoding scheme comprises a number of constellation points equal to or more than a number of possible combinations of input data.
33. The method for in-channel function computation according to claim 26, wherein the superpositions of the transmitted digitally encoded input data have a number of superposed constellation points greater than constellation points of digital modulation scheme used for encoding the input data.
34. The method for in-channel function computation according to claim 26, wherein the transmitting encoding scheme and the decoding scheme associate each superposition of the digitally encoded input data with a predefined unique combination of input data, preferably comprising input data from at least first input data, transmitted using a first transmitting digital unit, and second input data, transmitted using a second transmitting digital unit.
35. The method for in-channel function computation according to claim 34, wherein the step of decoding the superpositions of transmitted digitally encoded input data comprises extracting the unique combinations for the received superpositions of transmitted digitally encoded input data.
36. The method for in-channel function computation according to claim 26, wherein the transmitted digitally encoded input data is transmitted over signals with different transmission power.
37. The method for in-channel function computation according to claim 26, wherein the transmitted digitally encoded input data from the transmitting digital units are transmitted at a same carrier frequency.
38. The method for in-channel function computation according claim 26, wherein the transmitted digitally encoded input data from the transmitting digital units are transmitted at a same time.
39. The method for in-channel function computation according to claim 26, wherein the decoding scheme is implemented in a look-up-table (LUT).
40. The method for in-channel function computation according to claim 26, wherein the step of decoding the superpositions of transmitted digitally encoded input data further comprises error correction, and/or synchronization, and/or acquisition of channel state information.
41. The method for in-channel function computation according to claim 26, wherein input data are gradients and/or parameters of a machine learning model.
42. The method for in-channel function computation according to claim 26, wherein the combination of input data is a federated average of machine learning models.
43. The method for in-channel function computation according to claim 26, wherein the digitally encoded input data from the plurality of transmitting digital units is transmitted asynchronously and is decoded based on a unique time sequence of superpositions.
44. A digital communication system comprising a plurality of transmitting digital units; one or more channels; and at least one digital receiver, the transmitting digital units utilizing one or more transmitting encoding schemes for encoding input data and transmit digitally encoded input data, wherein the input data is encoded according to a digital modulation scheme, wherein the digital modulation scheme is an amplitude-based and phased-based modulation scheme, the one or more channels configured to obtain superpositions of transmitted digitally encoded input data, wherein the receiver is configured to decode said superpositions as combinations of transmitted digitally encoded input data, based on a decoding scheme which assigns to any of the possible superpositions a predefined value corresponding to a predefined combination of the digitally encoded input data, wherein the receiver is configured to decode the superpositions by determining the phase and amplitude of the transmitted digitally encoded input data, and mapping the signals to predefined combinations or functions of the input data.
Description
DESCRIPTION OF THE DRAWINGS
[0051] The invention will in the following be described with reference to the accompanying drawings. The drawings are examples of embodiments and not limiting to the presently disclosed computer-implemented method, system and receiver for in-channel function computation in a digital communication system.
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
DETAILED DESCRIPTION
Method
[0066]
[0067]
[0068] In one embodiment of the present disclosure, shown in
[0069] In this embodiment the users or transmitting digital units may be 2. A first transmitting digital unit may be transmitting with a first QPSK encoding scheme (201) and a second user or transmitting digital unit may be transmitting with a second QPSK encoding scheme (202). In the embodiment shown if
[0070] In the embodiment of
[0071]
[0072]
Method Details
[0073] The transmitting encoding schemes or modulations may be PSK, QAM, FSK or any analog or digital encoding scheme or modulation. The transmitting encoding schemes may be standard analog or digital encoding schemes or may be arbitrary analog or digital encoding schemes, but they may be known to the receiver and to the decoding scheme. That is, the programmer that implements the presently disclosed decoding scheme may input the type of encoding scheme for the transmitted data as a parameter of the presently disclosed decoding scheme. The transmitting encoding schemes may be the same encoding schemes for all users or transmitting digital units, or they may be different encoding schemes.
[0074] In one embodiment of the present disclosure, the superpositions of transmitted encoded data are obtained, in the time-invariant or time-variant channel, by interference of transmitting signals carrying the transmitted data. As transmitted signals are encoded or modulated and sent to a same time-invariant or time-variant channel, they interfere with each other generating superpositions, wherein superpositions are results of interferences of encoded or modulated transmitted data, for example in the amplitude-phase domain. It is an advantage of the present disclosure that interferences in the amplitude and phase domain are used and that superpositions of encoded transmitted data are superpositions in the amplitude and phase space.
[0075] In one embodiment of the present disclosure, the decoding scheme comprises more constellation points, such as constellation points in amplitude and phase space, as compared to the constellation points of the transmitting encoding schemes. As shown as an example in
[0076] In one embodiment of the present disclosure, the decoding scheme comprises a number of constellation points equal or more than a number of possible combinations of input data or transmitted data. As the presently disclosed method may decode any combination of the input data, it is advantageous that the decoding scheme assigns to each superposition of the transmitted data a value corresponding to a unique combination of the input data and that there are at least as many superposition points in the superposition constellation as there are combinations of the input data.
[0077] In one embodiment of the present disclosure the transmitting encoding scheme and the decoding scheme associate each superposition of the digitally encoded input data with a predefined unique combination of input data. The input data may comprise input data from at least first input data, transmitted using a first transmitting digital unit, and second input data, transmitted using a second transmitting digital unit
[0078] The input data may encoded according to a digital modulation scheme. More specifically, the digital modulation scheme may be an amplitude-based and phased-based modulation scheme. The step of transmitting digitally encoded input data may accordingly comprise changing the phase and amplitude of transmitted signals representing the input data.
[0079] On the receiver side, the step of decoding the superpositions of transmitted digitally encoded input data may comprise determining the phase and amplitude of the transmitted signals comprising superpositions of the digitally encoded input data, and mapping the signals to predefined combination or functions of the input data.
[0080] In one embodiment of the present disclosure, transmitted digital data are transmitted over signals with different transmission power. The use of different transmission power for some or a group or all of the transmitting units is advantageous as it allows generations of a greater number of points in a superposition constellation. Therefore, the use of different transmission power may be advantageous in obtaining enough points in the superpositions constellation, such as to obtain at least one superposition point for each combination of the transmitted digital data. For example the transmitted data is typically encoded in an amplitude and phase space. If the transmitted power is different for different users or different transmitting units, the points in the constellations of the transmitted data for the different users or different transmitting units will be characterized by different amplitudes and the number of superpositions points will be higher as compared to a case where all the users or transmitting units transmit with the same transmitting power, as the amplitudes of the transmitted constellation points in the amplitude and phase plane may be related to the transmitted power. The superposition points may be interferences of transmitted data, and may therefore depend on both amplitude and phase of the encoded transmitted digital data.
[0081] In one embodiment of the present disclosure, transmitted data are transmitted through a same time-invariant or time-variant channel. In order to obtain in-channel computations it is advantageous that the transmitting units transmit data on the same channel. In particular the transmitting units may transmit on the same carrier frequency and at the same time, in order to obtain interferences in the channel and therefore in order to obtain superpositions of encoded or modulated data.
[0082] In the presently disclosed method, the combinations or functions of input data may be sums, or weighed sums, or multiplications, or mathematical operations, or logic operations, or binary operations, or boolean operations, or any other computation that can be expressed by a mathematical function of the input data. As the presently disclosed method assigns to any superposition of encoded data in the time-invariant or time-variant channel a value corresponding to a combination or function of input data, such a combination may be arbitrary and may be defined in the decoding scheme as any mathematical operation between transmitted digital data. That is very advantageous as the presently disclosed method may solve a large variety of problems related to computation. For example, if the combinations or functions of input data are, in one embodiment, assigned to weighed sums of input data and if the input data are gradients or parameters of machine learning models, the presently disclosed method may perform in-channel computation of a federated average of machine learning models and the receiver may simply decode the superpositions as federated average of parameters or gradients of machine learning models, without the need for the receiver to perform the federated average computation in-situ, as that computation has already been performed in the channel by generation of superpositions of encoded data. In the present disclosure, the receiver may simply decode the superpositions based on the presently disclosed decoding scheme. This fully analog or digital in-channel computation brings the benefits of saving time, computation resources and power consumption, together with being fully compatible with fully digital communication systems or with general analog communication systems based on both amplitude and phase modulation, or with mixed systems. The decoding may be done by the receiver based on the presently disclosed decoding scheme which, in this embodiment, may assign to each superposition point in the superposition constellation a weighed sum of the input data. The presently disclosed scheme may be based on a look-up table (LUT).
[0083] In one embodiment of the present disclosure, the decoding scheme or demodulation is based on a function that assigns a unique combination of input data to a unique superposition of transmitted encoded digital data. This is advantageous as it makes the decoding computable, that is that for each detected superposition a unique combination of transmitted data is determined. Whenever computability of the decoding scheme may not be achieved directly, transmission power or phases of the different users or transmitting units may be tweaked and differentiated in order to obtain more superposition constellation points.
[0084] The superpositions of the transmitted digitally encoded input data may have a number of superposed constellation points greater than constellation points of digital modulation scheme used for encoding the input data. An example of this is shown in
[0085] In one embodiment of the present disclosure, the transmitted data from the transmitting units are transmitted at a same carrier frequency.
[0086] In one embodiment of the present disclosure, the transmitted data from the transmitting units are transmitted at a same time.
[0087] In one embodiment of the present disclosure, the encoded data from the transmitting units are encoded with the same transmitting encoding scheme.
[0088] In a traditional communication system data is transmitted from the transmitters to the receiver through the channel, but no computation is done in the channel. For this reason, in a typical communication system different users or different transmitting units have dedicated frequencies or time slots, or encoding schemes and are therefore separated from each other in at least one of these three domains: frequency domain, time domain, coding domain. In the presently disclosed method a part of the computation happens in the channel and is based on interference of transmitted data. For this reason transmitted data may be sent at same carrier frequency and at the same time, and they may use the same encoding scheme.
[0089] In one embodiment of the present disclosure the decoding scheme is implemented in a look-up-table (LUT).
[0090] In one embodiment of the present disclosure, decoding further comprises error correction, and/or synchronization, and/or acquisition of channel state information.
[0091] In one embodiment of the present disclosure, when digital modulations are used with with digital transmitters or transmitting digital units and a digital receiver, the presently disclosed method may leverage all the advantages of digital systems, such as error correction, and/or synchronization, and/or acquisition of channel state information and all other features that are typical of fully digital communication systems.
[0092] In one embodiment of the present disclosure, transmitted data or input data are gradients and/or parameters of a machine learning model.
[0093] In one embodiment of the present disclosure the combination of input data or transmitted data is a federated average of machine learning models. In this embodiment the in-channel computation is performing a federated average of parameters or gradients of machine learning models. That is very beneficial in the context of Internet of Things, as federated averages are widely used for many applications, such as outlier identification or malfunctioning of devices or many other applications such as virtual reality, edge computing, edge learning.
[0094] In one embodiment, the presently disclosed method is robust to noise in the channel. As channels may present noise, in form for example of white Gaussian noise, the presently disclosed method may account of the noise and the error due to the noise for the definition of the decoding scheme in order to minimize decoding error. In particular the decoding scheme may be designed to minimize the maximum error, and/or the decoding scheme may be designed to minimize the average error. The inventors have realized that the problem of minimizing the maximum error and/or the problem of minimizing the average error have solutions that may be implemented in the decoding schemes, for a broad number of functions or combinations of input or transmitted data.
[0095] The present disclosure further relates to a computer program having instructions which, when executed by a computing device or computing system, cause the computing device or computing system to carry out any embodiment of the presently disclosed method for in-channel function computation in a digital communication system comprising a plurality of transmitting digital units and one or more time-invariant or time-variant channels. The computer program may be stored on any suitable type of storage media, such as non-transitory storage media.
System
[0096]
[0097] In one embodiment of the present disclosure each of the transmitting units is transmitting by fully digital modulations or encoding and the receiver is fully digital. The transmitted digital data is encoded or modulated according to standard or arbitrary encoding or modulation schemes. The transmitted encoded or modulated data interferes in the time-invariant or time-variant channel giving rise to superpositions of data. Said superpositions are decoded by the receiver according to a decoding scheme that assigns, to each superposition, a predefined value corresponding to a combination of input data. This embodiment of the presently disclosed system is fully digital, that is the transmitting units transmit digitally encoded or digitally modulated data, the channel is configured to carry digitally encoded or digitally modulated signals and the decoder is configured to decode superpositions of digitally encoded data, based on the presently disclosed digital decoding scheme.
[0098] In one embodiment of the present disclosure, the one or more time-invariant or time-variant channels are wireless channels. That is advantageous, for example, for in-channel communication over a wireless network, or over a cellular network or over a local area network, or over a personal area network.
[0099] In one embodiment of the present disclosure, the one or more channels are optical channels, such as optical fiber links. That is advantageous, for example for a communication over the Internet.
[0100] In one embodiment of the present disclosure, the one or more channels are visible light channels.
[0101] In one embodiment of the present disclosure, the one or more channels are quantum channels.
[0102] In one embodiment of the present disclosure the one or more channels are acoustic channels.
[0103] In one embodiment of the present disclosure the one or more channels are electric channels, such as copper wires.
[0104] In one embodiment of the present disclosure the one or more channels are molecular channels, such for in-body transmissions.
[0105] In one embodiment of the present disclosure the one or more channels are wires within an electronic chip, such in electronic chip design. This may be advantageous, for example, in systems on electronic chips.
[0106] In one embodiment of the present disclosure, the one or more channels are on-chip channels and the transmitting units and the receiver are on-chip.
[0107] In one embodiment of the present disclosure the system is a multi-input-multi-output (MIMO) system. That may advantageous, for example, in 5G or 6G mobile networks.
[0108] In one embodiment of the present disclosure, the one or more channels are capable to transmit analog or digitally modulated signals.
Receiver
[0109] The present disclosure further relates to a digital communication receiver, configured to decode in-channel superpositions of digital data from digital transmitters according to a decoding scheme which assigns, to each superposition, a predefined value corresponding to a predefined combination of transmitted digital data.
[0110] In one embodiment of the present disclosure, the presently disclosed receiver decoded superpositions of digital data based on a decoding scheme implemented in a look-up-table (LUT).
[0111] In one embodiment of the present disclosure, the receiver is configured to identify and decode a unique time sequence of constellations from asynchronous transmitters.
General
[0112] The presently disclosed method may be implemented in the presently disclosed system.
[0113] The presently disclosed system may be configured to perform the steps of the presently disclosed method.
[0114] The presently disclosed receiver may be part of the presently disclosed system and/or may be configured for performing the step of decoding according to the presently disclosed method.
[0115] The digital communication system may further comprise peripheral components, such as one or more memories, which may be used for storing instructions that can be executed by any of the processors. The digital communication system may further comprise internal and external network interfaces, input and/or output ports, a keyboard or mouse etc.
[0116] As would be understood by a person skilled in the art, a processing unit also may be a single processor in a multi-core/multiprocessor system. Both the computing hardware accelerator and the central processing unit may be connected to a data communication infrastructure.
[0117] The digital communication system may include a memory, such as a random access memory (RAM) and/or a read-only memory (ROM), or any suitable type of memory. The digital communication system may further comprise a communication interface that allows software and/or data to be transferred between the system and external devices. Software and/or data transferred via the communications interface may be in any suitable form of electric, optical or RF signals. The communications interface may comprise, for example, a cable or a wireless interface.
Synchronization
[0118] In one embodiment of the present disclosure, the transmitting units may transmit data asynchronously. For example a first group of transmitting unit may transmit at time T1, a second group of transmitting unit may transmit at time T2 and a third transmitting unit may transmit at time T3. That may result in a sequence of constellation points, for example constellation Q1, constellation Q2 and constellation Q3 corresponding to times T1, T2 and T3 respectively. In the present disclosure, phase and amplitude of the encoded or modulated signals may be chosen in such a way to make such a sequence of constellation points unique for each possible combination of input data. Therefore, in the present disclosure, the receiver may be configured to identify any unique sequence of constellations and therefore associate to each of these unique sequences a unique combination of input data.
[0119] In one embodiment of the presently disclosed method, the encoded data from the plurality of transmitting digital units is transmitted asynchronously and is decoded based on a unique time sequence of superpositions.
Analog Modulation
[0120] In one embodiment of the present disclosure each of the transmitting units is transmitting by any analog modulation and the receiver is fully analog. The transmitted data is encoded or modulated according to standard or arbitrary analog modulation, not restricted to amplitude modulations. The transmitted digital data interferes in the time-invariant or time-variant channel giving rise to superpositions of transmitted data. Said superpositions are decoded by the receiver according to a decoding scheme that assigns, to each superposition, a predefined value corresponding to a combination of transmitted data. This embodiment of the disclosed system is fully analog, that is the transmitting units transmit analog modulated data, the time-invariant or time-variant channel is configured to carry analog modulated signals and the decoder is configured to decode superpositions of analog modulated data, based on the presently disclosed decoding scheme.
EXAMPLES
[0121] The presently disclosed method, system and receiver are in the following section described with reference to examples. The examples shall not be seen as limiting for the present invention.
[0122] The technology underlying the presently disclosed method and system may be referred to as ChannelComp, which may be an abbreviation of Channel Computing, and wherever used in this text, the word ChannelComp may refer to the presently disclosed method and system and receiver.
[0123] Over-the-air computation (AirComp) is a well known technique by which several wireless devices transmit by amplitude analog modulations to achieve a sum or function of their transmit signals at a common receiver. The underlying principle is the superposition property of the radio waves. Due to that such superposition is analog, it is natural that AirComp use amplitude analog modulations and analog hardware to obtain analog sum of signals. Unfortunately, this is impractical because rarely wireless devices today use amplitude analog modulations. It would be highly desirable to use more general anaog modulations than amplitude modulations, and also digital communications, because of the numerous benefits that they offer such as error correction, synchronization, acquisition of channel state information, software nature, and widespread use. However, when using analog modulations more general than amplitude analog modulations, or digital modulations for AirComp, a general belief is that the superposition property of the radio waves returns incomprehensible overlapping of the signals. The present disclosure breaks through such belief and discloses ChannelComp, an entirely new digital communication system and method, that allow to use general analog modulations as well as digital modulations. The inventors define the presently disclosed method as ChannelComp method.
[0124] ChannelComp inherits all the digital communication benefits, as well as the benefit of general analog modulations. In contrast to AirComp, ChannelComp can be implemented as a pure software method that is compatible with current digital technologies. ChannelComp can be used for all the use-cases of AirComp such as distributed machine learning and artificial intelligence, without waiting for the daunting if not impossible task to re-equip wireless devices with amplitude analog modulations. ChannelComp has the potential to be a new disruptive technology for the future generation wireless systems, and to enable groundbreaking new services such as artificial intelligence, augmented and virtual reality over networks, or safe autonomous driving and flying.
[0125] Towards implementing the idea of the internet of things (IoT), which can reshape our lifestyle through providing ubiquitous connectivity of almost everything, the generations of wireless communications have been accompanied by a paradigm shift from human-type communications to machine-type communications. On the one hand, the number of IoT devices is predicted to reach 75 billion by 2025, much larger than that of mobile phone users. On the other hand, the various IoT applications based on machine learning (ML) are set to emerge in 6G, which require collecting, transmitting, and performing calculation of enormous amounts of data from many devices. Consequently, extensive connectivity needs to scaled-up radio and computation resources, which means swamping the capacity of the current systems. To better support emerging compute-intensive ML applications, e.g., virtual reality, edge computing, edge learning, especially federated learning, over the air computation (AirComp) is a promising concept to simultaneously collect and compute data at the edge network.
[0126] The AirComp solution leverages the waveform superposition property of the multi-access linear time-invariant channel to realize aggregation of data simultaneously transmitted by devices, allowing each device to access all radio resources, unlike the standard transmit-then-compute scheme. Moreover, the AirComp approach integrates communication and computation steps and provides ultra-fast wireless data aggregation in IoT networks with high-spectrum efficiency. AirComp reduces the required energy of each device for transmission while it can bring high rate communication thereof by harnessing interference to help functional computation. Besides preserving the privacy and security of data, the coverage area can also be enlarged since more devices can transmit at the same time and frequency.
[0127] However, AirComp must use a special analog communication system, where the communication happens via amplitude analog modulations. This is highly impractical because almost no device today uses the simple amplitude analog communications of AirComp. AirComp would thus require a new communication hardware. Instead, in this document the inventors disclose a channel computing (ChannelComp) method that is fully compatible with existing digital communication systems such as those currently available on any smartphone or IoT system. Moreover ChannelComp does not require new hardware, because may be fully software. ChannelComp can be implemented both via any analog modulation (not restricted to amplitude modulation) and digital modulation. The inventors have established the broad set of functions that ChannelComp may compute and propose the methods that make it possible to any modulation scheme to perform computations.
[0128] The presently disclosed ChannelComp overcomes the limitation of AirComp due to the use of analog amplitude modulations, and uses instead any analog modulation or digital modulations. The compatibility with digital modulations makes it possible to benefit from all the digital communication methods such as error correction, synchronization, and acquisition of channel state information. Thus, contrarily to AirComp, ChannelComp is a pure software invention that is compatible with digital technologies already present in the current 5th generation (5G), and in most any digital communication system.
[0129] The present disclosure dramatically improves the use of communication resources (energy, time, frequency), which are an important need to IoT for ML or artificial intelligence (AI) services. Thus, ChannelComp may be used to make the complex AI/ML computations over-the-channel and thereby greatly accelerating the AI/ML algorithms. To be concrete, an application example of ChannelComp is the use of distributed ML/AI over a camera network to monitor events such as accidents or traffic in a city or the appearance of obstacles while driving a car.
[0130] One benefit of the presently disclosed solution is the use of existing digital systems to implement ChannelComp. If we wish to implement AirComp on existing digital systems, it is necessary to enforce amplitude analog communication systems to work on top of current digital systems, which is very difficult and impractical. This enforcement works in very few and very specific cases, and the results are highly inefficient in terms of communication resource usage. One such AirComp enforcement on top of digital communications has been recently proposed, named one-bit broadband digital aggregation (OBDA), but only works for binary phase shift key (BPSK) and quadratic phase shift key (QPSK) digital modulations. These are extremely simple digital modulation format. In contrast, the presently disclosed method and system ChannelComp works on a broad set of functions, combination of transmitted data and uses digital modulations as well as any analog modulation. Moreover, due to that AirComp is not conceived for digital communication, the performance of such application is highly inefficient. AiComp's non-coherent communication solution for single and multi cell using pulse-position modulation and frequency-shift keying (FSK) both are limited to signSGD problem, like OBDA, and AiComp extension to general function computations is at the moment not known. In summary, the application of AirComp to digital modulation or general analog modulations is restricted to very few cases and to limited functions, with inefficient performance.
[0131] Differently than OBDA, the presently disclosed ChannelComp may be compatible with any digital or analog modulation. The presently disclosed method ChannelComp may use any currently available digital systems (which are almost everywhere used) instead of amplitude analog modulations (which are very rarely used) of AirComp. The amplitude analog systems must be tailored hardware-wise to analog AirComp, which do not exist yet today. Hence, the presently disclosed solution is purely software and leverages current digital systems to make the function computation over-the-channel and benefits in terms of the existing digital communications structure, including error correction, synchronization, and acquisition of channel state information. This may enable a quick adoption of ChannelComp method in current and future devices, including IoT devices, and systems. This quick adoption may likely generate huge economical savings for operators and companies in the telecommunication industry due to the use of already available digital infrastructure.
[0132] AirComp's main drawback is to rely on amplitude analog communications, which are almost never used today. Moreover, analog communications are not robust to the communication channel errors that introduce an inevitable error at the receiver device. The error cannot be removed by forward error correction as possible in digital systems. AirComp can only be used for linear time-invariant channels.
[0133] Within AirComp, the closest solution is OBDA, which forces analog communications into digital modulations. In OBDA, analog transmissions are used together with digital orthogonal multiple-access schemes, such as orthogonal frequency division multiplexing (OFDM) transceivers, and digital modulation schemes, such as BPSK and QAM. But result is order of magnitudes less efficient in terms of communication resources than ChannelComp. In addition ChannelComp may be extended to any function and therefore to any of the existing digital modulations, or even to other arbitrary digital modulations. Moreover ChannelComp can be a fully software method which may be implemented in a fully digital communication system.
ChannelComp: Computation over the MAC by Digital Modulations
[0134] Consider a communication network in which there exist a computation point (CP) together with K nodes. The computation point may be a common receiver connected by shared time-invariant or time-variant channels to the nodes. The CP aims to compute a desired function f(x.sub.1, x.sub.2, . . . , x.sub.K) whose x.sub.k.sub.q is a value owned at the k-th node. In particular, the assumption is that the nodes transmit messages by digital communications. In this digital communication system, all the nodes transmit their values f at the CP.k-th x.sub.k(t) node digital transmits the value at time t
where
={1,2, . . . , T} denotes the set of time slots of interest for a sufficiently large number T. To perform such digital transmission, the usual digital procedure is the following: each value x.sub.k(t) is quantized into a length q vector
(t), (where q equals 2 to the power of number of bits), thereafter the resultant vector is mapped into the digitally modulated signal {right arrow over (x.sub.k)}(t) using encoder .sub.k(.) i.e {right arrow over (x.sub.k)}(t)=.sub.k(
(t)). The signal {right arrow over (x)}.sub.k(t) is what node k transmits over the communication time-invariant or time-variant channel. Since all the nodes transmit simultaneously, CP receives the summation of all {right arrow over (x)}.sub.k(t)s over MAC at the time t, i.e.
where {right arrow over (y)}(t) is physically generated by the superposition nature of electromagnetic waves, and {right arrow over (z)}(t) is a receiver noise that the receive antennas unavoidably capture. Following the usual modeling in digital communications, such noise may be modeled as a white Gaussian noise (AWGN) process with zero-mean and variance
Note that each digital signal {right arrow over (x)}.sub.k(t) is selected from finite q chosen modulation signal, thereby {right arrow over (y)}(t) has finite constellation points. The summation in eq. 1 induces a specific constellation diagram of y which depends on the number of nodes K and which modulation has been used for each {right arrow over (x)}.sub.k(t) e.g.
[0135] To compute f, one needs to use mapping (association function) ({right arrow over (y)}(t)) based on the resultant constellation diagram of signal {right arrow over (y)}(t). More precisely, the mapping
must be determined such that its output approaches the value of the function much as possible. In mathematical terms, at time t, map
can be found from the following optimization (2)
[0136] Here, .sub.f is the domain of function f.
[0137] To illustrate optimization problem (2), consider a simple noiseless scenario in which transmitters use BPSK modulation and the desired function f is the summation function for two users K=2. The users send {1,1} and CP receive {2,0,2} as sum over the air, since. Here, the association tabular is nothing expect a simple map that assign values of the constellation diagram of {right arrow over (y)}(t) to the corresponding output of f i.e.
where : 4
3 is a map can be uniquely determined based on which kind of modulation is used for x.sub.k(t) for k
, in addition to which characteristics of the function f has
[0138] Therefore, in the next section, the characteristics of the desired function and the employed modulation are discussed. Then, possible choices of from the minimization in (2) will be highlighted.
Uniform Modulation
[0139] Without using precoders, computing all types of functions may not be achievable when all K nodes use same modulation. Hence, there is a class of function f with some specific features that it can be perfectly computed by using digital communication. Let (.) be the modulation used by all nodes to send the data over the air. Then, received signal by CP has different constellation points formed by summation of .sub.k[K](x.sub.k). Then, the remained question is which functions are computable using this communication architecture?
[0140] In the following, a necessary condition on the function f in order to be determined uniquely by using an appropriate tabular function is brought.
[0141] Proposition 1: The K multivariate function f(x.sub.1, x.sub.2, . . . , x.sub.K) with domain .sub.f where x.sub.k
.sub.f for k[K] is the desirable function. Using identical modulation, all the users use the modulation . Then, function f can be uniquely determined by the constellation diagram of
if f is a symmetric function with respect to all input variables in its domain i.e. the function is unchanged by any permutation of its variables.
[0142] Proof. For simplicity, we assume K=2, and f(x.sub.1, x.sub.2) is not a symmetric function i.e. f(a,b)f(b, a) where a, b.sub.f. Then, for a case where x.sub.1=a and x.sub.2=b, we have {right arrow over (a)} and {right arrow over (b)} as modulated signal thereof and {right arrow over (a)}+{right arrow over (b)} would be received by server, accordingly. It is easy to see that for the reverse scenario i.e. x.sub.1=b and x.sub.2=a the server also observed {right arrow over (a)}+{right arrow over (b)}. Therefore, we have same constellation point for the different values of asymmetric function f and it is impossible to assign the same vector {right arrow over (a)}+{right arrow over (b)} to the two different values of f(a, b) and f(b, a).
[0143] Here, the modulation and the domain may not be determined. Therefore, the proposition is valid for any arbitrary modulation with different number of bits for each user. If one restricts the domain to binary, this condition can be also sufficient. In fact, for one bit communication this argument is the only required condition for the function f to be computed correctly.
[0144] To see why this condition is not a sufficient condition, one can check a simple function f(x.sub.1, x.sub.2)=x.sub.1x.sub.2. Indeed, instead of one bit for each user if we enlarge the domain to two bits for instance, then there could be exist some points that have different values of a certain constellation point. For instance, Table
[0145] To give insight, one may consider the summation
as a function that map the q.sup.K points in the domain of function to a lower number of constellation points over the air. Moreover, if we define R.sub.s as range set of summation
and R.sub.f to be the range of desired function f. Then, one has the following lower and upper bound on cardinality of R.sub.s when using same modulation.
[0146] Proposition 2: Assume that one has K different points x.sub.k which each one consists of q distinct points in 2D space. Then, the aggregation of the modulated signals i.e.
can not impose lower than (q1)K+1 number of distinct constellation points and greater than
In other words, for ine range of summation R.sub.s we have that
[0147] The upper bound and lower bound in (2) are also the limitation on the symmetry function. As a result, if the range of desirable function f be greater than existed points by the constellation points i.e. |R.sub.f||R.sub.s|, then it may be impossible to cover perfectly all the range of function.
[0148] As mentioned earlier, using same modulation would limit us to the symmetric function. To go beyond symmetric function, one needs to change the modulation in a such way that allows us to compute any class of function. In what follows, one looks for a finding the best possible modulation under different scenarios in order to obtain a reliable computation over the network.
Analog Modulations
[0149] It should be highlighted that the modulation (.) can be any type of analog or digital modulation, regardless of it has an analog or digital carrier, or the input of the data is digital or analog. For the digital carriers such as pulse amplitude (PAM), pulse position (PPM) and etc., one can solve the problem for each symbol per time and decode the data in a sequence of time. For the analog data, using the quantization step (see
[0150] (AM), phase (PM), and frequency modulations (FM), or digital modulation e.g. ASK, PSK, FSK, and QAM. As long as input data are finite points, the resultant overlapped signal would read to finite constellation points which accordingly lets the desired function f to be computed by designing a proper tabular function to map the finite constellation points to the output of the function f. To be more specific, let x.sub.1, x.sub.2
be the input values of the first and the second users, respectively. The quantization converts the x.sub.1 and x.sub.2 into
{0,1, . . . , q1} where q shows the quantization levels. Next, using any analog modulation for transmitting
and
would lead to at most qq different points each point can represent different amplitudes or phases. Since received signals have finite constellation points, one can a tailor tabular
which maps q.sup.2 points to the output of the range of function R.sub.f. In this regime, the communication system does not need to be changed and the only requirement is to add quantizer to the transmitter and tabular function to the receiver side.
Modulation Selection in ChannelComp
[0151] As mentioned, to transmit the value of k-th node using BPSK modulation over the AWGN channel, one first quantizes the scalar x.sub.k(t) to q bit values and then modulates it by a carrier. For the case of BPSK modulation, the scalar x.sub.k(t) is one-bit quantized to {tilde over (x)}.sub.k{0,1} for which we have {tilde over (x)}.sub.k=x.sub.k(t)+q.sub.k(t) where q.sub.k(t) denotes the quantization error of the k-th symbol. The resultant symbol modulated by a basis signal {right arrow over (x)}.sub.k(t) where
[0152] Here, E and f.sub.c are amplitude and frequency of the career signal, respectively. In the sequel, to alleviate notation for general cases, one uses representation of band-pass signals where allows to represent a signal by only its amplitude and phase. Particularly, one expands a general form of the cosine function as follows
[0153] This expression is desired form for the representation of a band-pass signal {right arrow over (x)}.sub.k(t) where E.sub.1,k and E.sub.2,k are well known as quadratic components of the band-pass signal. In the signal space domain, {right arrow over (x)}.sub.k(t) can be considered as a complex like x.sub.k whose real and imaginary parts are E.sub.1,k and E.sub.2,k, respectively. The complex number x.sub.k also can be seen in the polar domain with amplitude E.sub.k and phase .sub.k that shows one bit data. To generalize the problem, the inventors assume k-th user transmit q.sub.k over the communication time-invariant or time-variant channel which equivalently means x.sub.k has q.sub.k complex numbers to transmit. Therefore, one can represent modulated signal {right arrow over (x)}.sub.k(t) by a complex vector x.sub.k
.sup.q.sup.
defined on interval [a, b] is considered as inner product of continuous functions i.e.
[0154] Subsequently, two signals are not linearly independent unless their inner product be zero. Also, the norm of signal {right arrow over (x)}.sub.k is defined
[0155] We recall the received signal by CP i.e. y(t) is equal to .sub.k{right arrow over (x)}.sub.k which has finite constellation points. Invoking the complex vector representation of each x.sub.k, we can represent all possible constellation points as shown in
is a binary matrix that select the all possible cases of users to send their data and the vector x.sup..sup.
.sup.N1.
Feasibility Check
[0156] In order to compute the function f associate with modulated signal x.sub.1, . . . , x.sub.K, one needs to make sure that employed modulations for nodes are able to compute accurately the desired function. the first necessary condition under which prefect computation can be possible is related to range of function R.sub.f and rang of the summation over the channel R.sub.s. Indeed, the number of constellation points at receiver has to be greater than range of function f i.e. |R.sub.s||R.sub.f|. To illustrate that this condition is not sufficient, one can consider function f to be x.sub.1x.sub.2+x.sub.1 for x.sub.1, x.sub.2{0,1} where the signals modulated using BPSK. In
[0157]
[0158] Furthermore, it requires that the .sub.Kx.sub.k covers all the range of function f. In fact, for i[M], let f.sub.i be an output of function f for a certain value of input x.sub.1, x.sub.2 . . . , x.sub.K where all x.sub.ks have same q possible values. Then, if f.sub.i is different from f.sub.j, it requires the correspondence constellation point s.sub.i also must not be as the same as s.sub.j for ij see
in which x.sup.N1 is the modulation vector. This is a feasibility problem wherein it finds a point that satisfies the constraints. As we can see, the constraints are not convex and non-continuous that it turns the problem to be NP-hard. To overcome this issue, the inventors replace the condition with its convex relaxation as follows (11)
where >0 is a positive constant. The inventors have shown that for a enough large Problem .sub.1 can be equal to
.sub.2. Therefore, the inventors can deduce that these two problems are equal to each other. Since there is no assumption on the amplitude of variable x, the constant can be absorbed by x and we drop it from optimization problem
.sub.1, accordingly. To determine whether the constraints are consistent, and if so, find a point that satisfies them, we have the following lemma.
[0159] Lemma 1: Let .sub.i,js for (i, j)[M][M] be the Lagrangian multipliers corresponding to the constraints of optimization problem i.e. .sub.2. Then, the problem
.sub.2 is feasible if and only if
where B.sub.i,j=(a.sub.ia.sub.j)(a.sub.ia.sub.j).sup.T and a.sub.i denotes i-th rows of matrix A.
[0160] Indeed, the Lagrangian multipliers of optimization in .sub.2 is built as below (15)
[0161] Since the constraint are convex and differentiable, from KKT conditions, the inventors know that the feasible points must satisfy the following conditions (16)
where g.sub.i,j is the gradient respect to x i.e. (19)
in which a.sub.i denotes i-th rows of matrix A. By substituting (19) in (16), it gives us
for ij. Therefore, giving the modulation vector x, yhe inventors can obtain the conditions under which function f can be computed perfectly. In what follows, we solved conditions in (16) for standard modulations such as BPSK and QPSK for class of linear functions.
Linear Functions
[0162] In this subsection, the inventors used the KKT conditions for a linear function to provide guarantee in which linear functions can be compute for a certain modulation. A linear function f: .sup.K
is defined
where a.sub.1, . . . , a.sub.K and c are real constant numbers. Here, the inventors aim at determining the constraints for the case of linear functions in two different scenarios where all the users using same modulations or different modulations. We first solve KKT condition (16) for a linear function f with binary domain i.e. q=1 where users using BPSK modulation for their communication. Then, the invenrors repeat the analyze for the case in which each node has different modulations. Finally, the inventors extend the results for the K user with arbitrary modulation order q1.
Binary Domain Bi-Variable Function with BPSK
[0163] Let the desired function be f(x.sub.1, x.sub.2)=a.sub.1x.sub.1+a.sub.2x.sub.2+c where x.sub.1, x.sub.2{0,1} and their corresponding modulation signals {right arrow over (x)}.sub.1, {right arrow over (x)}.sub.2 are set to be BPSK. We can see the range of the function includes R.sub.f=f.sub.1, f.sub.2, f.sub.3, f.sub.4 where the values of f.sub.1, f.sub.2, f.sub.3 and f.sub.4 are equal to 0, a.sub.1, a.sub.2, a.sub.1+a.sub.2, respectively. Utilizing BPSK modulation for both users equals to set vector x to be [b, b, b, b].sup.T where b is a nonzero real number denotes amplitude for transmitting data which is the same for all the users here. Then, by putting the modulation vector x into (15), it gives us the following cost function in term of b and .sub.is
[0164] Next, by setting its derivative respect to b to be zero i.e.
we have
[0165] Hence, b0 is a nonzero real number and all Lagrangian multipliers are non-negative, we can directly conclude that all .sub.1,2=.sub.1,4=.sub.3,4=.sub.2,4=.sub.1,3=0 expect .sub.2,3>0. Then, the inventors know the Lagrangian multipliers for the next KKT conditions in (16) it needs absolute value of b be greater than |a.sub.1| and |a.sub.2| i.e.
[0166] Also, for the condition corresponding to .sub.2,3, the inventors need to check the last KKT condition in (16) that it leads to
[0167] This is not valid in general. In other words, by using same BPSK modulation, one can not compute a linear function unless its coefficients have same value which is not enough general model.
Bi-Variable Function with Different Modulation
[0168] Here, we use different modulations for each user i.e. x=[b, b, d, d] in which d, b. It should be noted that this model for BPSK is general enough to include arbitrary one bit modulation because of symmetry of two points in a 2-D space.
[0169] Proposition 3: For a bi-variable function f(x.sub.1, x.sub.2)=a.sub.1x.sub.1+a.sub.2x.sub.2 where x.sub.1, x.sub.2{0,1} and a.sub.1, a.sub.2, we can compute the function over the air using BPSK modulation for two users with amplitudes d, b
or equivalently x=[b, b, d, d], if and only if there exist an >0 such that
[0170] At this time, the first condition gives
[0171] By rearranging the coefficients of the equations, we have
[0172] Here, the inventors can see that either b>d or d>b in both cases, these equations enforces all of the Lagrangian multipliers .sub.1,2=.sub.1,4=.sub.3,4=.sub.2,4=.sub.1,3=.sub.2,3=0 to be zero which means all constraints are feasible. In particular, the function f can be computed if
[0173] Next, by following similar steps for QPSK modulation it yields the condition under which function f would be computed as follows
[0174] In what follows, the inventors extent the conditions for the general case of a linear function.
K Different Modulation with Different q.SUB.k .Bits
[0175] To extend the obtained results for the K different modulation, the inventors express modulation vector of the k-th user with q symbols by x.sub.k=[b.sub.k,1, b.sub.k,2, . . . , b.sub.k,q].sup.T.sup.q. In this case, the output of function are totally not equal to each other i.e. f.sub.if.sub.j for all possible (i, j) except i=j.
[0176] Proposition 4: For a K multi-variable function
where x.sub.k{0, . . . , q1} and a.sub.k for k[K], one can compute the function over the air using modulation vector {right arrow over (x)}.sub.k=d.sub.k[b.sub.1, b.sub.2, . . . , b.sub.q].sup.T
.sup.q if and only if there exist >0 such that (40)
for all (.sub.k, r.sub.k)[q][q] and k=[K].
[0177] Based on Proposition 4, modulation vector x.sub.k needs to satisfy q.sup.K conditions for computing linear functions. However, one can see that for linear functions if one sets
for k[K], r[q], and an arbitrary complex number such that ||{square root over ()}, then all the constraints in (40) would be accordingly fulfilled. Moreover, by choosing elements of x.sub.k from (40) for ={square root over ()}, the cost function
may equal to zero.
ChannelComp over AWGN Channels
[0178] In this section, one may consider a more realistic scenario where the channel coefficients are not ideal and the received data are polluted by Gaussian noise. The communication network is considered to be known and deterministic channels (i.e. prefect CSI), which restricts the applicability of the results to applications with known CSI. We also assumed that we have access to the prefect CSI at each time slot. Consequently, the measured signals at CP read to
[0179] Here, h.sub.k(t) is the known channel coefficient form k-th device to CP and z denotes AWGN noise with variance
To alleviate the notation, let define vector h:=[h.sub.1, . . . , h.sub.K].sup.T.sup.K. Also, we need to define operator
.sub.q:
.sup.K
.sup.NN as follows
where .Math. denotes Kronecker product and I.sub.q represent qq identity matrix. To alleviate the notation, we drop the sub index q. Then, the constellation points can be represented as
where {tilde over (s)}=[{tilde over (s)}.sub.q, {tilde over (s)}.sub.2, . . . , {tilde over (s)}.sub.M].sup.T.sup.M denotes constellation points in the presence of fading. In this scenario, we can observe
[0180] Since there exist noise in the channel, performance of computation network would be degraded by polluted signals {right arrow over (x)}.sub.ks which leads to the computation error. In addition, one need to ensure that received signals satisfy a minimum signal to noise ratio (SNR) constraint for providing a reliable communication. Therefore, the following constraints need to be taken into account (48)
[0181] Here, the first condition in (48) control the computation. Since all the values in both sides of the equations (48) are positive, one consequence is the distance between each pair of the constellation points to be greater than product of both right side of them i.e.
for all (i, j). Accordingly, by incorporating the constraints, the inventors may propose the following optimization problem to find an appropriate modulation vector x for the communication and computation (50).
for all (i, j)[M][M], ij. This problem is a quadratically constrained quadratic programming (QCQP) problem, but unfortunately the constraints are not convex. Non-convexity does not mean that the problem is difficult to solve; Nevertheless, this problem is a NP-hard problem. Toward solving this issue, the inventors use lifting trick in which the inventors first recast the cost function as bellow
where {tilde over (f)}.sub.i,j=.sup.1|f.sub.if.sub.j|.sup.2 for all (i, j).sup.2, ij and {tilde over (B)}.sub.i,j=
(h).sup.T(a.sub.ia.sub.j)(a.sub.ia.sub.j).sup.T
(h). Now, if one treats xx.sup.H as a matrix like X
.sup.NN, then the problem may be reformulated as
in which the inequality X0 means that the matrix X is symmetric positive semi-definite and
X, {tilde over (B)}.sub.i,j
represents matrix inner product i.e.
This is linear and convex problem respect to matrix X except about the rank constraint. One possible way to handle this issue is to relax the problem by dropping the rank-one constraint from the optimization which leads to
which is a SDP problem, and it can be efficiently solved by using CVX. Afterwards, the optimal modulation vector x solution to the original problem can be obtained via Cholesky decomposition of X* unless the solution to the SDP problem becomes a rank one matrix; otherwise, as a sub-optimal solution to the original problem, one can use the Gaussian randomization method. Nevertheless, the solution of the relaxed problem oftentimes does not meet the rank-one constraint and is a sub-optimal, especially for cases wherein the dimension of the optimization variables becomes large i.e. N>>1. To overcome the mentioned drawback, the rank-one constraint may be replaced by another equivalent function which would be successively solved using the primal and dual problems thereof. Particularly, the inventors have the representation in the following Lemma for the rank-one constraint.
[0182] Proposition 6: For a PSD matrix X.sup.NN with Tr(X)>0, we have
where .sub.2 denotes spectral norm.
[0183] As a result, the inventors may replace rank one constraint with the penalty term in the Proposition 6 as follows
where >0 is the penalty parameter. As the aforementioned problem is still non-convex, the optimization can be solved using difference-of-convex (DC) programming algorithm.
Computation with Minimizing Maximum Error
[0184] Another interesting approach to have a reliable computation or equivalently computation with minimum error is to minimize the maximum error coming from detection. Particularly, let P.sub.i,j be probability of the error of computing f.sub.j instead of f.sub.i, then, the computation error can be defined as E.sub.i,j:=P.sub.i,j|f.sub.if.sub.j|. As a result, one can solve the following optimization problem
where the last condition is the maximum available power budget for the communication. Also, it has been assumed that all constellation symbols are selected for transmission with equal probability. We can see this problem is too complicated to be solved. One possible approximation solution is to employ union bound of the probability of the error P.sub.i,j i.e.
as a surrogate function to replace a simple upper bound with the complex cost function. The rationale is that as the Q-function decrease, the probability of error P.sub.i,j shall also diminish. However, working with Q function is still difficult, one well-known way to upper bound the Gaussian Q-function is to use the Chernoff upper bound i.e.
accordingly. More accurate approximations than the Chernoff bound is also proposed as Chiani bound. However, in our optimization problem, Chiani bound can make the problem more complicated. Hence, using Chernoff bound, the objective function reads to
[0185] Next, by taking the logarithm of the objective function and taking out mines thereof, one could reach to
[0186] This problem special class of non-convex QCQP problems is a non-smooth, non-convex optimization problem due to the fact that the point-wise minimum of convex quadratics is non-differentiable and non-concave. For solving this problem, one can use successive convex approximation (SCA) method. In particular, the inventors iteratively approximate the primal non-convex problem by a sequence of convex problem. A feasible point x.sup.(0) is picked as a starting point, then the algorithm proceeds by minimizing a convex majorization function of the non-convex cost function. Now, let us define the function .sub.(x, x.sup.(t)) as follows
where
Then, at each iteration we would solve the following optimization
[0187] Since it is a smooth optimization problem, accordingly, it can be solved using an accelerated first order method like Nesterov's smoothing technique. The overall SCA procedure may be implemented in an Algorithm.
Computation with Minimizing Average Error
[0188] On the other hand, minimizing computation error can be implemented through minimizing the average error coming from detection. Particularly, for probability of the error of computing f.sub.j instead of f.sub.i, one can solve the following optimization problem
where .sub.i represents the probability of transmitting signal to compute f.sub.i. Similar to the previous optimization problem, the inventors are able to approximate the probabilities of error using an upper bound which allows us to culminate into a convex optimization problem as follows:
[0189] Here, we again use lifting trick by defining X=xx.sup.T and {tilde over (B)}.sub.i,j=(a.sub.ia.sub.j)(a.sub.ia.sub.j).sup.T. After substituting the variables, the optimization problem therefore is given in following (63)
where rank(X)=1 constraint has been dropped as a relaxation step.
[0190] Proposition 7: the optimization problem in (63) is convex in X0.
[0191] Proof. Since {tilde over (B)}.sub.i,j0 is a positive semi-definite matrix for (i, j)[M][M], we have that:
[0192] Since the convexity is preserved under an affine transformation, the objective function in (63) is accordingly a convex function (48).
[0193] It is well known that a convex optimization problem can be solved by using interior point methods which require polynomial complexity. Utilizing log barrier method is a standard method to solve the optimization in (63).
Stochastic Fading Channel
[0194] The nodes usually can estimate the channel coefficients h.sub.ks and use the estimation as imperfect value to perform the communication. However, there exist scenarios where one is not able to estimate the channel. In this case, by modeling the physical model of communication, the nodes can obtain a distribution for the channel. One well-known stochastic model for radio propagation is to consider Rician distribution for the channel. The Rician fading typically occurs when one of the paths, a line of sight signal is much stronger than the others. Without line of sight signal, it can be shown that the distribution would be reduced to Rayleigh fading.
[0195] Since channel coefficients h.sub.ks are no longer deterministic, accordingly, the mentioned minimization problems become random optimization. To perform Digital ChannelComp, one possible solution is to replace the computation condition by its expectation respect to h.sub.ks i.e. the computation condition would read to
where indicates Hadamard product. Next, for [hh.sup.H], we have
in which .sub.h.sub.
are the mean and variance of the distribution of h.sub.k, respectively. Therefore, the inventors replace channel coefficients by their available mean from the distribution and then through same optimization can be determined the modulation. Note that in this case, the solution of the optimization is also valid in expectation and the computed value for the function f are not always correct, accordingly.
MIMO Digital Computation For Matrix Calculation
[0196] In the previous sections, the existing solutions focus only on single-function AirComp, assuming there exists a single antenna on each node. However, in the next generation of wireless networks, the nodes equipped with large-scale arrays will provide the possibility of computing multiple functions of multi-data AirComp, simultaneously. This inspires us to extend the previous optimization for a multi-input multi-output (MIMO) MAC in which we have multi-function computation. We reconsider a wireless network consisting of K multi-nodes and a single receiver CP. Particularly, each node uses N.sub.t antennas for transmitting data and N.sub.r antenna existed at CP.
[0197] The MIMO structure can be effective on both improvement of the computation rate or decreasing the distortion. Others have developed a MIMO setup for AirComp using beam-forming techniques in analog modulation. Moreover, they designed beam-forming to minimize the mean square error (MSE) criterion to remove resultant distortion by the AWGN noise and the fading. Here, the inventors instead aim to utilize the channel state information to design constellation points so that the inventors can satisfy the computation constraints.
[0198] In the following subsection, the inventors have discussed two possible different scenarios for MIMO of the DiChComp.
MIMO for Improving Distortion
[0199] For the first setup, we aim to decreasing only noise effect by using beam-former for compute a desire function f(x.sub.1, . . . , x.sub.K):.sup.K
.sup.L with L output (L must be lower than number of receiver antenna i.e. LN.sub.r). In the note worthy case L=1, the computation problem would be reduced to the previous scalar function problem. Therefore, the computation problem is extended to a vector function instead of a scalar function together with using beam-formers at transmitters and receivers to decrease distortion. To illustrate, consider the following systems of linear equations as an example of desired function f for an input vector x
.sup.K
where A.sup.LK and b
.sup.L. Here, i-th element of the input vector i.e. x.sub.i can correspond to data of i-th node for i[K]; j-th element of the out put vector i.e. [f].sub.j corresponds to the received data by j-th antenna at receiver, accordingly. Assuming symbol-level synchronization, all users transmit their symbol vectors simultaneously using their arrays. The distortion of the received vector concerning the target function vector due to MIMO channels and noise is suppressed using transmit and receive beam-forming. In other words, the joint beam-forming attempts to attain coherent combining of K symbol vectors at the CP. Particularly, let v.sub.k
.sup.N.sup.
.sup.N.sup.
where Z(t).sup.N.sup.
(0, .sub.zI.sub.N.sub.
.sup.q be the modulation vector of signal {right arrow over (x)}.sub.k and vector c.sub.k
.sup.N.sup.
where .Math. denotes the Kronecker product. We further define C=[c.sub.1, . . . , c.sub.K].sup.T.sup.NN.sup.
=I.sub.MM.Math.U
.sup.MN.sup.
where S.sup.ML. For sake of simplicity, we decompose the C as
v where v=[v.sub.1, . . . , v.sub.K].sup.T
.sup.N.sup.
:=diag ([
.sub.N.sub.
.sub.N.sub.
.sub.N.sub.
.sup.q is defined as
where a.sub.i denotes i-th element of vector a. For computing the vector function f.sup.L, the computation condition in (10) needs to be modified, consequently. We bring this condition in the form of the following proposition.
[0200] Proposition 8: Let f.sub.i.sup.L be the i-th output of the function for a certain value of input x.sub.1, x.sub.2, . . . , x.sub.K from [M.sup.L] possible values of the function f and also, s.sub.i
.sup.L represents the corresponding L constellation points. Then, the computation is valid if and only if when we have the following
where s.sub.i denotes i-th rows of matrix S.
[0201] We suggest a similar relaxation to (11) for the mentioned condition in Proposition (8) which leads to following feasibility problem
[0202] As a result, in the MIMO scenario, using the aforementioned condition and matrix notation, one can reformulate the optimization in (50) for a given set of modulation vectors
as follows
where .sub.i denotes i-th block matrix of size N.sub.rNN.sub.r of matrix . Similarly, the other optimizations can be addressed as follows (79)
and P.sub.k denotes allocated power budget for node k. Similarly, for minimizing the average error we have that
in which V=vv.sup.H is the lifted variable of vector v. The mentioned optimization can be solved by suggested solution in the previous section.
MIMO for Increasing Computation Rate
[0203] In subsection, the inventors consider another MIMO extension of the computation model in which the model allows us simultaneously compute functions with different input data for each node. The model would be designed such that it aids us to increasing the rate of computation instead of decreasing the distortion in the previous subsection. Particularly, we consider the scenario where the goal is to compute R desire functions f.sup.(r)(x.sub.1, x.sub.2, . . . , x.sub.K):.sup.K
for r[R] whose input x.sub.k
.sup.R contains R values of k-th node i.e. {right arrow over (x)}.sub.k=[{right arrow over (x)}.sub.k,1, {right arrow over (x)}.sub.k,2, . . . , {right arrow over (x)}.sub.k,R].sup.T. For the validation, the rate R must be lower than number of transmitters and receivers antenna i.e. Rmin{N.sub.t, N.sub.r}. To give better insight, consider the following linear equation
for r[R]. In the case of {right arrow over (x)}.sub.k,j={right arrow over (x)}.sub.k,i for i, j[R] and k[K], this model reduce to the previous MIMO model. The measured signals received by CP over MAC at time t is
where V.sub.k.sup.N.sup.
.sup.N.sup.
[0204] Beside, we define
or equivalently (X.sub.k.Math.V.sub.k).sub.R.sub.
.sub.R.sub.
where S=[s.sub.1, . . . , s.sub.M].sup.T and s.sub.k.sup.R for k[M]. Similarly, it can be seen that matrix {tilde over (C)} can be written as W{tilde over (X)} in which W=Diag([w.sub.1, . . . , w.sub.K]) and w.sub.k:=I.sub.qq.Math.V.sub.k and {tilde over (X)}=[vec(X.sub.1), . . . , vec(X.sub.K)].sup.T
.sup.KRq1.
[0205] For computing the vector function f.sup.R, the computation condition in (10) needs to be modified, consequently. The inventors bring this condition in the form of the following proposition.
[0206] Proposition 9: Let f.sup.(i) be the i-th output of the function for a certain value of input x.sub.1, x.sub.2, . . . , x.sub.k from [MR] possible values of the function f.sup.(r)s and also, s.sub.i
.sup.R represents the corresponding R constellation points. Then, the computation is valid if and only if when we have the following
for all r[R].
[0207] The inventors suggest a similar relaxation to (11) for the mentioned condition in Proposition 9 which it would lead to the following feasibility problem
[0208] For the reliable communication in the case of MIMO, the problem of computing with minimum power can be extended as follows
for r[R] and e.sub.r.sup.R is the canonical vector whose r-th element is 1 and zero elsewhere. Here, the constraint on U comes from the orthogonality of function f.sup.(r)s from each other.
Minimizing the Maximum Error Using MIMO
[0209] Using multiple antennas provide allows computing R different functions at the same time. Before introducing the problem of minimizing the maximum error, the inventors need to redefine the error for this new setup. Hence, let
be probability of the error of computing
instead of
then, the computation error can be defined as
consequently. Since the decision regions of the function f.sup.(r.sup.
where r.sub.1, r.sub.2[R] for two different cases of r.sub.1 and r.sub.2. Finally, the optimization problem reads to
[0210] The considered problem can be approximated using similar arguments as prvided in section about noise, and it can finally give
where
P.sub.k denotes allocated power budget for node k and
in which
Minimizing the Average Error Using MIMO
[0211] Based on what has been mentioned in the previous subsection, the inventors need to revise the problem of minimizing the average error coming from detection. More precisely, for probability of the error of computing
instead of
one can solve the following optimization problem
where .sub.i,r is the probability of transmitting signal to compute
Similarly, the cost function can be replaced by Chernoff upper bound which would lead to the following optimization
win which
The mentioned optimization can be solved by suggested solution in the previous section.
Massive MIMO
[0212] For a large enough number of receiver and transmitter antennas N.sub.t, N.sub.r>>1, the interference within communication cells can be substantially reduced. With a very large antenna array, the effect of fast fading can be diminished. Accordingly, random characteristics of the channel start to look deterministic. Moreover, when the number of receiver antennas grows large, the stochastic channel vectors between the nodes and the CP become pair-wisely orthogonal. Here, the inventors consider a massive MIMO scenario for the case of computation and study its effects on the problem setup.
[0213] We can model independent fast fading, geometric attenuation, and shadow fading using the channel matrix G.sub.k where the coefficient g.sub.n.sub.
for n.sub.1=1, . . . , N.sub.r where h.sub.n.sub.. This in-dependency is .sub.n.sub.
where G.sub.k.sup.N.sup.
[0214] Also, for the interference between two different channel k and k, one has
[0215] Using the resultant features, we obtain the following simplification for the aforementioned MIMO scenarios.
[0216] Lemma 2: For the MIMO scenario in (73), if L be equal to N.sub.r and N.sub.r>>1 the computation condition in (78) can be simplified to
for i, j[M.sup.L][M.sup.L], where .sub.k:=diag(I.sub.qq.Math.H.sub.k) and
.sub.k:=diag(x.sub.k.Math.I.sub.n.sub.
.sup.MN.sup.
[0217] One can simplified the optimization problem in (50), and it can be reformulated as follows
[0218] The other optimization problem can be derived in similar manner.
Broadband Digital Over-the-Air Computation via OFDM
[0219] The inventors use OFDM symbols for the case where the CP has access to the-frequency wireless channel on the same time resources. Indeed, each node is able to send its signal over a subset of the frequencies under a certain power constraint. The CP receives aggregated values at the parallel channels and then computes the sum of the values of nodes for each channel, separately. The OFDM modulation is tailored to divide the available bandwidth into orthogonal sub-channels. This requires mapping each quantized data element to one digital symbol to facilitate the ChannelComp method. Particularly, the transmitted baseband OFDM symbol of the k-th nodes in the time slot, can be expressed as
where .sub.{dot over (N)}I denotes the NI point inverse Fourier transform and
.sub.F is the F-point Fourier transform. Also, L
.sup.NIF is the mapping matrix that maps the output of the Fourier transform pre-coder to a set of contiguous sub-carriers, and x.sub.k(t)
.sup.f contains the f symbols. The investors consider the cyclic prefix duration to be larger than the synchronization offset, in which the offset equals a phase shift of the received symbol. Then, the superposed symbol on the f sub-carrier OFDM symbols at the CP at time slot can be written as
where h.sub.k,f is the channel coefficient between the CP and k-th node, {right arrow over (t.sub.k,f )}is the transmitted symbol from the f-th node, {right arrow over (z.sub.f )}is the symmetric AWGN with zero mean and the variance
on the f-th sub-carrier. The transmitter and the receiver design for edge devices are shown in
Asynchronous Computation Over the Air
[0220] One of the well-known challenges in the over-the-air problem is to have a strict time synchronization over all the devices. To overcome this issue, one can use the timing advance technique. In particular, one needs to consider the propagation delay of each device regardless of their location, and then change the tabular function based on the constellation diagram of the corresponding transmitted devices in regard of the time.
[0221] More specifically, let {right arrow over (x.sub.k)}(t) represents the modulation vector of k-th user in the time slot t[T] where denotes the set of time slots of interest. For sake of simplicity, suppose that the desired function f can be written as
where g.sub.k():. Also, consider for user k in which k{1,2, . . . , L}, we have same delay, and the rest of the users are in different locations and have different propagation delays i.e. k{L+1, L+2, . . . , T}. Hence, the desire function can be divided into two functions f.sub.1 and f.sub.2 as follows
[0222] Therefore, the inventors have realized that onemay compute the function f using two tabular functions and
in two time slots t.sub.1 and t.sub.2 corresponding to the functions f.sub.1 and f.sub.2, respectively. Consequently, one way that the inventors have realizzed to handle noise and find proper modulation is to solve an optimization problem for each function separately. Although, the discussed cases consist of two delays, extending to the higher number of delays is straightforward.
[0223] For the case of inseparable functions as long as can be the sequence of the functions can be uniquely determined, or there is a set of unique sequences generated by the same input, the desired function can be computed. In fact, in the aforementioned example, to compute functions f.sub.1 and f.sub.2, it is required to have knowledge of the input domain of functions. However, one can consider cases in which function and have the same domain and computing the other one required information of the other one's input. In this regard, the inventors have realized that one may decode the domain of the functions as well.
[0224] Consider we first compute the function f.sub.1 and f.sub.2 with domain .sub.1={x.sub.1, x.sub.2, . . . , x.sub.L} and
.sub.2={x.sub.L+1, x.sub.L+2, . . . , x.sub.K}{x.sub.1} at time t.sub.1 and t.sub.2, respectively where t.sub.1<t.sub.2. Then, for computing function f.sub.2, it needs to know the value of the first user x.sub.1 which is transmitted in time t.sub.1. Therefore, the constraint in feasibility check optimization would be changed and investors suggest the following optimization
where
denotes the corresponding values of x.sub.1 to the output of f.sub.1i. Consequently, the inventors have realized that one can relax these conditions as follows
[0225] Finally, the inventors have realized that one can compute function f from the computed values of f.sub.1 and f.sub.2 from the previous steps.
Example of ChannelComp Decoder
[0226] The decoder can be determined as long as the solution to Problem .sub.2 satisfies its constraints. In one embodiment the maximum likelihood estimator (MLE) is used and the decision boundaries are designed based on the reshaped constellation points over the MAC.
[0227] Next, the tabular function () maps the received signal {right arrow over (y)}(t) to the desired output of the function f Specifically, we define
as the constellation point for the function f.sup.(i). Then, the problem is to find which {right arrow over (g)}.sub.i's values were transmitted while we have received {right arrow over (y)}. Hence, the MLE estimator gives us the following:
where
follows a Normal distribution. Next, taking logarithm results in (99):
[0228] Using the expression in (99), the decoder generates the set of all possible constellation points {{right arrow over (g)}.sub.1, . . . , {right arrow over (g)}.sub.M} with the corresponding Voronoi cells {.sub.1, . . . ,
.sub.M}. Then, the desired value is given by
[0229] In which the look-up table is
[0230] For those cases where the computation conditions in .sub.2 are not established, we have the same constellation point {right arrow over (g)}.sub.i at different values of the function, e.g., f.sup.(i) and f.sup.(i+1). Hence, these points have the same Voronoi cell, i.e.,
.sub.i=
.sub.i+1, and the output values can be replaced by their mean, i.e.,
[0231] With this decoder, we are able to compute the desired function based on received signal {right arrow over (y)}(t) over the MAC.
Generalizing to Linear Systems
[0232] Time-variant communication channels are commonly represented as linear systems that react to a transmitted signal through a weighted combination of its delayed and Doppler-shifted versions. Therefore, a communication channel can be identified by an impulse response of the system H(t, ) where t and denotes delayed and Doppler. For the case of usual linear time-invariant channel, the impulse response is given by
[0233] Where () is the delta function and a.sub.i denotes the attention of the path i of channel. By taking this generalization into the problem, consider a communication network involves K nodes and the CP server. To compute the desired function f(x.sub.1, . . . , x.sub.K), k-th node transmits signal x.sub.k(t) over the linear system. Thus, the CP receives the following signal at time t,
where H.sub.k(t, ) is the impulse response of the communication channel between node k and the CP. Towards computing the function f, we set x.sub.k(t):=x.sub.kr(t) where x.sub.k is the scalar input value for the function f, and r(t) is the waveform for transmitting the input value. Afterward, the received signal y(t) goes through the matched filter r*(t), and the output is given by
[0234] Next, the output is sampled at time T, which determines the time duration of the waveform r(t). The resultant sample can be considered as a constellation point s=y.sup.o(T) Because xx are constructed from finite constellation points, accordingly, y.sup.o(t) in the absence of AWGN, we would have a reshaped constellation of a finite number of points. Therefore, following a similar step as in fading model in this disclosure result in an optimization problem whose solution satisfies the computation conditions. By satisfying the computation constraint, using an appropriate look-up table, computing the desired function f over any linear system can be done.
Applications
[0235] AirComp has a massive potential for lowering communication costs in applications such as distributed ML, specifically federated learning. The inventors explain federated edge learning (FEEL) framework here and discuss how the presently disclosed methods can be employed for the purpose of communication-efficient in FEEL framework.
[0236]
Federated Edge Learning
[0237] Following the existing literature the loss function measuring the model error is defined as follows. Let .sub.k denotes the local dataset collected at the k-th edge device. Then, the global loss function of the model vector w on
.sub.k is given by
where =.sub.k|
.sub.k| and function F.sub.k(w) represents the average empirical loss at device k with respect to model parameters w, i.e.
where f.sub.j(w) is the empirical loss function at j-th data sample in local data sample. The goal of learning is to train the global model using local data-set of each user by minimizing the following empirical cost function through a distributed manner
[0238] To preserve privacy, one can employ the FEEL framework in which each devices using local data .sub.k performs stochastic gradient descent (SGD) to minimize the local loss function f.sub.j(w). More precisely, let
be the local estimated gradient of device k at t-th communication round between devices and server which is given by
where w.sup.(t) represents parameter and denotes the gradient operator. The f.sub.j(w.sup.(t)) can be computed by performing SGD using local data sample .sub.k. Afterwards, k-th device aims to send its local model update
to the server CP tor k[K]. Then, the global model of the gradient g.sup.(t) of the loss function F(w) would be computed by
[0239] Finally, the server updates the current model using gradient descent using following equation
where is the learning rate. The inventors only require the aggregation of the local estimations
not the individual gradient. Therefore, the inventors can employ the described communication efficient ChannelComp method, presently disclosed, to compute the aggregation function over the air whose details will be explained in the sequel subsection.
Communication Model
[0240] To setup the communicating model, the inventors first need to define the modulation such that the desired function can be computed uniquely using tabular function. During the up-link phase (transmitting gradients to CP), all the devices simultaneously send their data based on available bandwidth. The communication can be done using broad band setup and device k sends a vector of size F,
which consist of F elements of estimated gradient of device k i.e.
at communication round t. In what follows, we explain how to design the modulation of each sub-carrier. The desirable function here is a simple aggregation which a symmetry function. For the symmetric function from Proposition 1, we know that using same modulation for all devices is enough to preform computation. Hence, we assume that a fixed digital constellation {right arrow over (x)}=[x.sub.1, . . . , x.sub.q].sup.H, where q is the size of quantization, is employed by all the devices to transmit data over fading channel with known CSI. With out loss of generality, assume that the quantized value of all gradients are integer and in [0, q1]. Consequently, the desired function would be
where for the range of function f we have that R.sub.f=[0, K(q1)]. By sorting the output of function in non-decreasing order, let f.sub.j corresponds to j-th value of the function for j[0, q.sup.K], e.g. f.sub.1=f(0, . . . , 0)=0 and f.sub.M=f(q1, . . . , q1)=K(q1) where M=q.sup.K. Then, the inventors recall the optimization problem regrading valid computation as below (107)
where (i, j)[M][M]. For solving optimization problem in (107), one can follow the procedure in ad-hoc Algorithm and obtain the optimum modulation choice for the communication. The other suggested optimization problem suggested in Section about noise also can be used in similar manner to select the optimum modulation.
[0241] The inventors further consider the scenario in which the modulation are given and we are not able to change the modulation e.g. standard modulation QAM, BPSK. Instead, we can use pre-coders to change the phase or the allocated power of data for each user. Particularly, let b.sub.k be the pre-coder at device k. Then, we have the following measurements in time slot t at CP,
[0242] Here, h.sub.k is the coefficient channel between CP and k-th node. Also, the inventors assume modulation vector are normalized i.e. |{right arrow over (x)}.sub.k|.sup.2=1 for k[K] and the allocated power is controlled by b.sub.k such that |b.sub.k|={square root over (p.sub.k)}. Now, if we rewrite problem (107) in this setup, it reads to
where b=[b.sub.1, . . . , b.sub.K].sup.H.
Proof of Proposition 2
[0243] In the case where all users use same modulation .sub.k= for k[K], the summation over the air can be considered as symmetry function ()=.sub.k[K](). Consequently, to compute the upper bound, the outputs of function need to be as much as possible distinguishable which it means that all the outputs of () are distinct. Therefore, the range of (x) would be q for x[0,1, . . . , q]. Next, we need to count the number of possible distinct output for the function
(x.sub.1, . . . , x.sub.K)=.sub.k[K](x.sub.k). Each x.sub.k has q discount the number of ways that we can select one level of x.sub.k such that output of function
be different. This is exactly the combinatorial problem balls and bins where we seek to find number of possible ways to put n indistinguishable balls into k distinguishable bins. Here, bins are possible values of variables x.sub.ks and balls are modulation map . Therefore, using the formula of balls and bins, we get the upper bound
[0244] For the lower bound, the inventors consider scenario where the outputs of each (x.sub.k) have overlap with each other. The most overlap occurs when be a linear function. As a result, for the function we have that
[0245] Now, to count the number of possible value of outputs of function equals to the range of function which is the number of possible values of range of .sub.k[K]x.sub.k, since is a linear function. It is not difficult to see that the range of .sub.k[K]x.sub.k for x.sub.k{0, 1, . . . , q1} is K(q1)+1.
Further Details
[0246] 1. A computer-implemented method for in-channel function computation in a digital communication system comprising a plurality of transmitting digital units and one or more time-invariant or time-variant channels, the method comprising the steps of: [0247] digitally encoding input data according to one or more transmitting encoding schemes; [0248] transmitting digitally encoded data from the transmitting digital units through the one or more time-invariant or time-variant channels; [0249] obtaining superpositions of the digitally encoded data from the plurality of the transmitting digital units, in the one or more time-invariant or time-variant channel; [0250] based on a decoding scheme, which assigns, to any one of the possible superpositions of transmitted data, a predefined value corresponding to a predefined combination of the input data, decoding the superpositions of transmitted data thereby obtaining combinations of the input data.
[0251] 2. The method for in-channel function computation according to item 1, wherein the transmitting encoding schemes are PSK, QAM, FSK or digital encoding schemes.
[0252] 3. The method for in-channel function computation according to any one of the preceding items, wherein the superpositions of the digitally encoded data are obtained by interference of transmitting signals carrying the transmitted digitally encoded data.
[0253] 4. The method for in-channel function computation according to any one of the preceding items, wherein the decoding scheme comprises more constellation points, such as constellation points in amplitude and phase space, as compared to the constellation points of the transmitting encoding schemes.
[0254] 5. The method for in-channel function computation according to any one of the preceding items, wherein the decoding scheme comprises a number of constellation points equal or more than a number of possible combinations of input data.
[0255] 6. The method for in-channel function computation according to any one of the preceding items, wherein the transmitting encoding scheme and the decoding scheme are such to associate to each superposition of the digitally encoded data a unique combination of input data.
[0256] 7. The method for in-channel function computation according to any one of the preceding items, wherein transmitted digitally encoded data are transmitted over signals with different transmission power.
[0257] 8. The method for in-channel function computation according to any one of the preceding items, wherein transmitted digitally encoded data are transmitted through a same channel.
[0258] 9. The method for in-channel function computation according to any one of the preceding items, wherein the combinations of input data are sums, or weighed sums, or multiplications, or mathematical operations, or logic operations, or binary operations, or boolean operations, or a computation that can be expressed by a mathematical function of the input data.
[0259] 10. The method for in-channel function computation according to any one of the preceding items, wherein the decoding scheme is based on a function that assigns a unique combination of input data to a unique superposition of transmitted digitally encoded data.
[0260] 11. The method for in-channel function computation according to any one of the preceding items, wherein the transmitted digitally encoded data from the transmitting digital units are transmitted at a same carrier frequency.
[0261] 12. The method for in-channel function computation according to any one of the preceding items, wherein the transmitted digitally encoded data from the transmitting digital units are transmitted at a same time.
[0262] 13. The method for in-channel function computation according to any one of the preceding items, wherein the transmitted digitally encoded data from the transmitting digital units are encoded with the same transmitting encoding scheme.
[0263] 14. The method for in-channel function computation according to any one of the preceding items, wherein the decoding scheme is implemented in a look-up-table (LUT).
[0264] 15. The method for in-channel function computation according to any one of the preceding items, wherein decoding further comprises error correction, and/or synchronization, and/or acquisition of channel state information.
[0265] 16. The method for in-channel function computation according to any one of the preceding items, wherein input data are gradients and/or parameters of a machine learning model.
[0266] 17. The method for in-channel function computation according to any one of the preceding items, wherein the combination of input data is a federated average of machine learning models.
[0267] 18. The method for in-channel function computation according to any one of the preceding items, wherein the one or more transmitting encoding schemes are digital encoding schemes or modulations.
[0268] 19. The method for in-channel function computation according to any one of the preceding items, wherein the decoding scheme is a digital decoding scheme or demodulation.
[0269] 20. The method for in-channel function computation according to any one of the preceding items, wherein the digitally encoded data from the plurality of transmitting digital units is transmitted asynchronously and is decoded based on a unique time sequence of superpositions.
[0270] 21. A digital communication system comprising a plurality of transmitting digital units; one or more channels; and at least one digital receiver, the transmitting digital units utilizing one or more transmitting encoding schemes for encoding input data and transmit digitally encoded data, the one or more channels configured to obtain superpositions of transmitted digitally encoded data, wherein the receiver is configured to decode said superpositions as combinations of transmitted input data, based on a decoding scheme which assigns to any of the possible superpositions a predefined value corresponding to a predefined combination of input data.
[0271] 22. The system according to item 21, wherein the one or more channels are wireless channels.
[0272] 23. The system according to any one of items 21-22, wherein the one or more channels are optical channels, such as optical fiber links.
[0273] 24. The system according to any one of items 21-23, wherein the one or more channels are visible light channels.
[0274] 25. The system according to any one of items 21-24, wherein the one or more channels are quantum channels.
[0275] 26. The system according to any one of items 21-25, wherein the one or more channels are acoustic channels.
[0276] 27. The system according to any one of items 21-26, wherein the one or more channels are electric channels, such as copper wires.
[0277] 28. The system according to any one of items 21-27, wherein the system is a multi-input-multi-output (MIMO) system.
[0278] 29. The system according to any one of items 21-28, wherein the at least one channel is a multi-access channel.
[0279] 30. The system according to any one of items 21-29, wherein the one or more channels are capable to transmit digitally modulated signals.
[0280] 31. The system according to any one of items 21-30, wherein the one or more channels are on-chip channels and wherein the transmitting units and the receiver are on-chip.
[0281] 32. A digital communication receiver, configured to decode in-channel superpositions of digitally encoded input data from digital transmitters according to a decoding scheme which assigns, to each superposition, a predefined value corresponding to a predefined combination of input data.
[0282] 33. The receiver according to item 32, configured to identify and decode a unique time sequence of constellations from asynchronous transmitters.
[0283] 34. A computer-implemented method for in-channel function computation in an analog communication system comprising a plurality of transmitting units and one or more time-invariant or time-variant channels, the method comprising the steps of: [0284] modulating input signals according to one or more amplitude-based and phased-based modulation schemes; [0285] transmitting modulated signals from the transmitting units through the one or more time-invariant or time-variant channels; [0286] obtaining superpositions of the modulated signals from the plurality of the transmitting units, in the one or more time-invariant or time-variant channel; [0287] based on a decoding scheme, which assigns, to any one of the possible superpositions of transmitted signals, a predefined value corresponding to a predefined combination of the input signals, decoding the superpositions of transmitted signals thereby obtaining combinations of the input signals.
[0288] 35. The method according to any one of items 1-20, implemented in the system of items 21-31.
[0289] 36. The system according to items 21-31, configured to perform the steps of the method according to item 1-20
[0290] 37. The receiver of items 32, being part of the system according to items 21-31 and/or configured for performing the step of decoding according to the method of any one of items 1-20.