Patent Description:
Increasing the efficiency of data processing and data communication is a permanent goal in the development of data processing systems and communication systems.

Hyperdimensional (HD) computing- also known as vector symbolic architectures - is an emerging compute paradigm that promises energy-efficient and robust computations for a large number of applications. HD computing-based frameworks are able to store and recall specific patterns and HD computing has been shown to have the potential to replace conventional implementations of machine learning algorithms like support vector machines and single-layer or multi-layer neural networks formed of one or more (multilayer-)perceptrons arranged in one or more (e.g. fully connected) neural network. An example for an application of HD computing is processing in memory (PIM) that enables basic data manipulations in memory.

The paper "<NPL>. Et al, discloses a Hyperdimensional Modulation superposition, where a string of information symbols representing sensor data is mapped to corresponding vectors of high dimensionality, which are orthogonal with high probability. The receiver and decoder retrieves the individual vectors by associative memory search.

Approaches are desirable which exploit HD computing to allow efficient transmission and processing of data, in particular in context of wireless communication.

The following detailed description refers to the accompanying drawings that show, by way of illustration, specific details and aspects of this disclosure in which the invention may be practiced. Other aspects may be utilized and structural, logical, and electrical changes may be made without departing from the scope of the invention. The various aspects of this disclosure are not necessarily mutually exclusive, as some aspects of this disclosure can be combined with one or more other aspects of this disclosure to form new aspects.

<FIG> shows an exemplary communication system <NUM> according to an embodiment.

The communication arrangement <NUM> includes a plurality of transmitters <NUM> (i.e. transmitting communication devices) transmitting HD (hyperdimensional) code words <NUM> via a wireless channel <NUM> to at least one receiver <NUM>.

In the following, methods and signaling schemes that utilize HD representations for wireless distributed AI (Artificial Intelligence) or ML (Machine Learning) scenarios are described. Specifically, in the following, superposition of the transmitted code words <NUM> by interference of their transmissions, is exploited. Interference is usually viewed as an obstacle to communication in wireless networks. In the following, in particular, an approach is described which can be seen to exploit interference to enable distributed training (and usage, i.e. inference) of HD computing-based AI (or ML) models. By exploiting the superposition principle of the wireless channel <NUM>, the approach harnesses interference and therefore significantly reduces overhead and latency of distributed training and inference of AI models. The inherent robustness of HD representations enables distributed training and inference.

According to various embodiments, over-the-air computation is used (for combining the code words <NUM> by superposition by the wireless channel <NUM>). Over-the-air computation is very amenable to HD computing due to the robustness offered by the HD mapping (i.e. the encoding of data to HD code words). Various embodiments can be seen to be based on an adaptation of over-the-air-computing over wireless links to the HD context and the fact that the inherent robustness of HD encoded data helps with errors and synchronization issues that may be introduced over wireless links. Embodiments can further be seen to go into the direction of enabling the convergence of computation and communication.

The transmitters <NUM> may for example be sensor devices which capture sensor data of an object <NUM>, and encode the captured sensor data to the HD code words <NUM>.

An exemplary use case is that several sensor nodes <NUM> (e.g., cameras, radars, etc.) observe the same object <NUM> (e.g. by observing a certain area, e.g. an area in a factory or warehouse). Each sensor device <NUM> is equipped with a wireless transceiver and communicates on the same spectral resources. The sensor devices <NUM> transmit the measured sensor data (e.g. contained in sensor signals captured by the sensor devices <NUM>) to the receiver <NUM> (or multiple receivers <NUM>). According to various embodiments, the (or each) receiver <NUM> implements a compute node whose output is a classification of the object <NUM> or its trajectory or specific actions. It should be noted that this is only an exemplary application and the approaches described in the following may be and applied to a variety of distributed scenarios (in particular ML scenarios).

For the following description, the following model of the communication system <NUM> is used.

A wireless network with N transmitters <NUM> and M receivers <NUM> is assumed. The transmitters <NUM> are indexed with i and the receivers <NUM> with j. Each transmitter <NUM> observes object sensor data si and generates a HD encoded vector φ(si) = xi ∈ Fd, where F may be a finite field or a set of integers. It should be noted that each HD vector could potentially represent an aggregate data structure, generated by binding and bundling many different pieces of information together. The channel coefficient for the transmission from transmitter i to receiver j via the wireless channel <NUM> is given by hij and is assumed (to facilitate analyis of the system) to be constant over the transmission of a single HD code word xi. This is not required in practice. Each transmitter i = <NUM>,. , N is equipped with an encoder εi that maps a code word to a real or complex valued n dimensional signal <MAT>.

It is assumed that each receiver <NUM> is not interested in the individual code words xi. The goal of the receiver <NUM> is rather to reliably recover a function of the HD encoded code words uj = f(x<NUM>,.

<FIG> illustrates the transmission of encoded HD code words via a channel <NUM> (corresponding to channel <NUM>) and their decoding.

The signal that the receiver j receives when the transmitters <NUM> send the code words xi (encoded to zi = εi(xi)) is denoted by yj. The receiver j is equipped with a decoder <IMG> that maps the observed channel output yj to an estimate ûj = <IMG>(yj). In the following, various embodiments that define different encoder-decoder pairs that enable computation of various functions uj = f(x<NUM>,. , xN) over-the-air (i.e. enable the receiver j to estimate uj from yj).

The robustness provided by HD computing allows realizing over-the-air computation approaches. Since HD representations embed relatively small amounts of data in a large (hyper- dimensional) vector space, they are inherently robust to noise and other distortions. In fact, it has been shown for certain HD architectures that even in case <NUM>% of the elements of a HD vector (i.e. HD code word) are corrupted it is possible to reliable operate on the HD vector and decode the HD vector with high probability.

An HD code word can represent an aggregate data structure constructed by binding and bundling many different pieces of information together. In this context, functions of interest may be the following.

In the following, embodiments are described that enable one or multiple receivers <NUM> to compute functions of HD code words (i.e. HD encoded data words) without having to decode individual code words first.

In a first embodiment, sums of code words are received with symbol level synchronization.

It is assumed that there is a single receiver <NUM> (i.e. M = <NUM>). The prestent embodiment aims to calculate the function u = Σi=<NUM>,. It is assumed that all N transmitters are sufficiently synchronized in time and frequency, such that signal received by the receiver is given by the n dimensional vector <MAT>.

The channel is assumed to be fixed over all n spectral resources and a channel estimate ĥi ≈ hi is assumed to be available at every transmitter i. The transmitter i sends the code word xi in form of an encoded code word <MAT> where <MAT> maps an HD code word to a sequence of n complex constellation points. Thus, the signal received at the receiver <NUM> is the linear combination of code words plus noise and thus the decoded received signal is <MAT> where <MAT> accounts for channel estimation errors and where <MAT> is the decoding function, i.e. maps the received complex constellation into the HD space Fd. The mapping µ can be realized as hard decision or more sophisticated maximum likelihood-based mappings can be used. Since xi is encoded in a HD representation, relatively large noise and channel estimation errors can be tolerated.

It should be noted that if the channels are not constant over all n spectral resources, the transmitter i may use an average channel estimate <MAT>, where ĥi[l] is the channel estimate on resource l.

It should further be noted that if the channel is not constant over all n spectral resources, the transmitter i may use a resource dependent channel estimate ĥi[l], i.e., <MAT>.

In a second embodiment (for computation of a function of HD code words), sums of code words are received with symbol level synchronization wherein, to further improve robustness in comparison to the first embodiment, a linear code is utilized for additional encoding of the HD code words. Linear codes have the property that any linear combination of code words taken from a linear code is again an element of the same code. The present embodiment exploits that property. Let <IMG>: Fd → Fb be the encoding function of a linear code with code rate d/b and let <IMG>: Fb → Fd be the decoding function. Transmitter i sends the code word xi in form of an encoded code word <MAT>.

The decoded received signal can be written as <MAT> where χ computes the input for the (linear code) decoder and may be hard or soft bits. If the code rate is chosen appropriately, û will approximate u = Σi=<NUM>,. ,n xi with high probability.

In a third embodiment, weighted sums of HD code words, additionally coded with a linear code, with symbol level synchronization, are decoded wherein there is no channel state information at the transmitters.

The third embodiment is a modification of the second embodiment for the case that no channel state information is available at the transmitters <NUM>. Since in that case the transmitters cannot compensate the effect of the channel <NUM> by multiplication with <MAT>, the received signal is distorted by the channel <NUM> and the receiver <NUM> can only decode a function <MAT> with ai ∈ F. Transmitter i sends the code word xi in form of an encoded code word εi(xi) = ν(<IMG>(xi)) and the receiver applies the decoding <IMG>(αy) = <IMG>(χ(αy)). Here <MAT> is a parameter chosen by the receiver. Expressions whose coefficients ai closely approximate the channel coefficients αhi enable the receiver to reduce probability of error. Different coefficients can be chosen by scaling the received signal with different factors α. To determine a good scaling factor α and to compute the resulting equation coefficients αi, channel state information hi is required at the receiver <NUM>.

It should be noted that the third embodiment can be applied at multiple receivers <NUM>.

It should further be noted that if transmitter i has channel state information ĥi it may use preprocessing to reduce the probability of error for desired coefficients. In that case the transmitter <NUM> can encode the HD code word to εi(xi) = αiν(<IMG>(xi)), where αi depends on the channel state information and the desired coefficients.

In a fourth embodiment, sums of code words are decoded with coarse synchronization. The present embodiment enables a single receiver <NUM> to decode sums of code words u = Σixi without requiring tight synchronization.

<FIG> illustrates a coarse synchronization of symbols of transmit signals zi within a symbol transmit window <NUM>.

According to the present embodiment, to relax synchronization requirements for each code word symbol xik all transmitters <NUM> simultaneously transmit short bursts of sequences with length nt. The receivers <NUM> measure the received power over a specified receive window <NUM> of length nr ≤ nt. Data is encoded in the power of the transmit sequence as follows.

Each symbol xik is modulated by a short sequence bi of length nt. The sequence is designed such that it has the following properties:.

Moreover, to cancel the impact of the channel <NUM>, each transmitter i is assumed to have knowledge of its own channel coefficient hi. The k - th encoded HD code word symbol of transmitter i is given by a nt dimensional vector <MAT>. The receiver <NUM> observes a receive sample sequence of length nr ≤ nt and calculates the power of the received signal as <MAT> where σ is residual noise which is assumed to be approximately known and can be subtracted.

In a fifth embodiment, general functions of code words of the form uj = f(x<NUM>,. , xN) = ψ(Σi=<NUM>,. ,n ξi (xi)) are calculated by modifying the first to fourth embodiment as follows. At the transmitter i the to the encoder εi is given by: ξ(xi). At the receiver the output of the decoder is given by ψ(<IMG>(y)). An example for ψ is to map into log scale for further processing.

More complex computations are also possible. For instance, in a sixth embodiment, each transmitters <NUM> encodes its data to be sent to create a small fraction of representative "coded data" by taking random linear combinations of its data. So, each transmitter <NUM> creates m coded samples by multiplying its data set by a random (Gaussian or Bernoulli) matrix Gi times Xi, where Gi is an m x n matrix.

The receiver <NUM> observes Y = [G<NUM> G<NUM> ··· GN][X<NUM>. It can be shown that such sums are sufficient to preserve the second order statistics of the data, that is expectation over E( YTY) = E(XTGTGX) ≈ E( XTX) as GTG ≈ I by the weak law of large numbers. The second order statistics are useful in developing an LMMSE (minimum mean square error estimator) for determining a fit to the data. This form of coding can readily be applied in HD space via kernel embeddings of the data, as well as applied to different data sizes at each device.

The approaches described herein can also be applied to transmit HD encoded data that has been generated by binding. In that case the HD code word is given by xi = ai ⊗ bi.

After decoding the result of a function u the receiver <NUM> can combine it by binding with another HD vector according to u ⊗ b.

The calculation of a function over-the-air as described above, in particular the sum as in the first embodiment described above, can be used for training a HD-computing based classifier in a distributed manner. This is done by superposition of HD code words from the same class. Let φ(s(i)) = x(i) be an HD code word from class Ci. A classifier for that class can be trained by computing the superposition ui = Σx∈Cix. This can be done by that each transmitter <NUM> sends a HD code word of the class Ci. For example, for training an image classificator, each transmitter <NUM> may take an image of an object of the class Ci and the transmitters <NUM> send the images encoded to HD code words such that the receiver <NUM> receives ui = ∑x∈Cix. This can be done for multiple classes and classification of a HD code word (of unkown class) can be done by correlating (e.g. inner product multiplication) of the HD code word with each ui (referred to as prototype class vector) and selecting the class for which the inner product with ui has a maximum. In that manner, the first to fourth embodiments can be used to train a classifier in distributed fashion by transmitting code words form the same class simultaneously to a receiver <NUM>.

A analogous approach may also be used for inference, as illustrated in <FIG>.

<FIG> shows a communication system <NUM> for classifying an object <NUM>.

Given a trained classifier (e.g. trained in the above manner) a receiver <NUM> (corresponding to receiver <NUM>) may receive a superposition of HD code words sent by transmitters <NUM> (corresponding to transmitters <NUM>) via a channel <NUM> (corresponding to channel <NUM>) as in the first to fourth embodiments described above and calculate the inner product between the received superposition and each of multiple prototype class vectors. As explained above, the output of the classifier <NUM> is then given by the argmax over the inner products (i.e. the class for which the inner product gives has a maximum).

In the embodiments described above, it was assumed that there are a plurality of transmitters <NUM> and it was exploited that there is a superposition of the code words <NUM> when transmitting them over the wireless channel <NUM>. In the following, there are not necessarily a plurality of communication devices and approaches for efficient and robust communication of HD encoded data are described to enable robust HD computing for wireless communication systems.

In particular, according to various embodiments, HD code words are compressed to increase efficiency of the usage of communication resources (e.g. spectral efficiency). According to various embodiments, the importance of information is taken into account in encoding and compression. For example, different pieces of information may have different importance for the end user, e.g. the exact price in a bill is more important than other information or the details of certain part of a picture is more important than others (e.g., the part containing a human face).

In the following, an example implementation of HD coding is described that utilizes random embeddings. A transmitter <NUM> may use this approach to encode sensor data to HD code words. It should be noted that there is an ever-growing number of implementations of HD computing architectures that utilize random and deterministic architectures. The embodiments described herein are generally agnostic to the specific HD computing architecture and can be adapted for different architectures.

It is now assumed that there is a set S of possible source data elements (i.e. messages, e.g. S possible sensor values, like temperatures) that a transmitter <NUM> may want to communicate to the receiver <NUM> through the wireless channel <NUM>. For each source data element, a random HD code word words of a certain length d is sampled independently from the same probability distribution of code.

For transmitting a source data element (e.g. according to a temperature currently measured), the transmitter <NUM> encodes the source data element by the code word chosen for that source data element.

According to various embodiments, the probability distribution is a given sub-Gaussian distribution (i.e. a probability distribution whose tails decay as least as fast as a Gaussian distribution). For example, the probability distribution is a uniform distribution over the alphabet A = {+<NUM>, -<NUM>}. By Hoeffding's inequality, the cross-correlation (inner product) between two different code words is probabilistically small, and the probability decays exponentially with the code length d: <MAT> Where Pr(. ) denotes probability, a, b ∈ S, φ is the HD encoding mapping, 〈φ(a), φ(b)〉 := <MAT> is the inner product, and µ < <NUM> is a parameter controlling the targeted cross-correlation. The autocorrelation of any code word, however, is a constant d.

After encoding a data element α ∈ S into an HD code word x = φ(a), the transmitter <NUM> sends x the wireless channel <NUM>. This leads to possible transmission errors which may modify some symbols of the HD code word. For example, a symbol +<NUM> may become -<NUM> after transmission. The receiver <NUM> receives the code word as received code word y (the mapping to constellation symbols and corresponding decoding are here omitted). If errors do not happen at too many places, e.g., with a probability <MAT>, then it still holds that 〈φ(a), y〉 > 〈φ(b), y〉 with high probability (by setting <MAT> and make d large enough in equation (<NUM>), when the alphabet A = {+<NUM>, -<NUM>}). If it holds that the probability <MAT>, the receiver <NUM> can pre-process the received code word, e.g., flip all the symbols in the case A = {+<NUM>, -<NUM>}.

The receiver <NUM> can then compare the inner products of the received code word and all code words that were chosen for the source data elements of the set S and select the code word which gives the highest inner product. The receiver <NUM> then assumes that the transmitter <NUM> has transmitted the source data element that belongs to this selected code word (i.e. for which this selected code word has been chosen).

The receiver <NUM> may thus determine the correct source data element sent with high probability if the encoding length d is large enough and the probability of error is exponentially decreasing as the code word length increases.

In the following, various embodiments for transmission of data using HD encodings from at transmitter <NUM> to a receiver <NUM>, in particular providing a type of source-coding, are described. These embodiments may also be used in combination. According to a first embodiment, a receiver is provided which makes use of the fact that an inner product can be performed iteratively. This is illustrated in <FIG>.

<FIG> shows a communication system <NUM>.

A receiver <NUM> (for example corresponding to the receiver <NUM>) includes a decoder <NUM> for decoding code words received from a transmitter <NUM> (corresponding to a transmitter <NUM>) via a communication channel <NUM> (corresponding to the communication channel <NUM>).

It is assumed that the set of possible source data words (i.e. possible data messages) consists of m distinct messages {s<NUM>, s<NUM>, ··· , sm}. A data element s ∈ S first goes through the HD encoding process implemented by an HD encoder <NUM> of the transmitter <NUM> to obtain a d-dimensional code word x = φ(s). The transmitter <NUM> or the receiver <NUM> may determine d by the targeted reliability of transmission of the source data element and the error probability of the channel, and it is pre-communicated between the transmitter <NUM> and the receiver <NUM>.

The transmitter <NUM> then transmits the code word x = (x<NUM>, ··· , xd) sequentially (symbol after symbol) through the channel, with possible errors εi added to each symbol xi (εi = <NUM> if no error happens).

The receiver receives, at each time step i a symbol yi = xi + εi. (It should be noted that i is now used as symbol index instead of as transmitter index because only one transmitter is considered).

The selection of code words (e.g., generated according to a random seed) for the set of data elements S is pre-communicated between the transmitter <NUM> and the receiver <NUM>, e.g., through a control channel (for example by signaling an indication (e.g. index) of the random seed used for a (pseudo-)random sampling process), and the codebook can also change (according to a rule agreed on between both sides) after each round of communication (in particular when dis adapted after a code word). The decoder uses the code words of all m messages to perform decoding as follows:.

At each time step i, the decoder <NUM> computes the (partial) inner product of the code word φ(a) for each α ∈ S = {s<NUM>,s<NUM>, ··· , sm} and the received code word y up to the i-th symbol. The decoder <NUM> does this recursively by adding yi · [φ(a)]i to the result of previous time step, <MAT>, which it stores in a respective memory unit <NUM> and updates at each time step.

At each time step, a comparator <NUM> of the decoder compares all updated (partial) inner products and selects the data element of Sgiving the largest one (i.e. whose inner product with the received code word up to symbol i is highest). The decoder <NUM> outputs this selected data element as the estimated source message ŝ(i) for time step i.

Thus, the decoder <NUM> correlates the received code word symbol by symbol and outputs an estimate for the originally sent data element wherein over the time steps the estimate of the original data element s gets more and more reliable (and possibly also accurate).

The HD encoding and decoding approach described above can be used as a specific type of source-channel coding: depending on the importance of the source data element, the transmitter503 or the receiver <NUM> may select a desired reliability and latency, and accordingly set the encoding length d. Upon receiving the first symbol of the code word, the receiver <NUM> starts to produce an estimate of the source data word (also referred to as source message), e.g. for an end application running on the receiver <NUM>. The end application can flexibly trade off the desired level of reliability with the decoding latency, by selecting the time when the decoder <NUM> produces the estimated source message. The end application can also make use of the increasingly refined estimation of the source message that the decoder <NUM> produces over the time steps.

The receiver <NUM> as described above provides a decoder structure with low complexity and a uniform decoding for different coding length d. It allows low latency of the transmission (in particular the decoding) and a flexible trade-off of decoding quality vs. latency. The complexity of the decoder depends on the size of message set S. For a small set size, the decoder <NUM> may be constructed from a few simple computation and memory units.

According to a second embodiment, the transmitter <NUM> adds a compression after encoding data to be transmitted to a code word.

It should be noted that each HD vector (i.e. HD code word) may potentially represent an aggregate data structure by binding and bundling many different pieces of information together. A key property of HD encodings is that they encode a small amount of information in a large (hyper dimensional) vector space. This allows for efficient and robust implementation of basic computation and machine learning tasks. Typically, the HD encoding function φ(·) is transparent to the transmitter <NUM>. Based on the HD encoding function the transmitter <NUM> can selectively decide which elements of the HD encoded code word are relevant and adaptively compress the HD code word by using a suitable compression function ψ: Fd → Fb, where b « d and ψ depends on the HD encoding function φ.

<FIG> shows a compressed HD encoder <NUM>, which is for example part of a transmitter <NUM>.

The HD encoder <NUM> performs HD encoding φ followed by a compression ψ resulting in a compressed HD code word x = ψ(φ(s)) which the transmitter <NUM> may then send to the receiver <NUM>.

The compression ψ may depend on parameters p. The parameters p may indicate a selection or rank of the relevant elements of the HD code word φ(s). If the HD encoding function φ is given by a linear transformation, p may for example describe the dominant Eigenvectors of the encoding function φ. The parameters p may also depend on the information content of the data input s. If the data word s contains more information the encoder <NUM> compresses the HD code word φ(s) less compressed which results in b being larger.

In some applications the HD encoding function φ may be unknown to the transmitter <NUM> or deriving a meaningful adaptive compression function from the HD encoding is not feasible. In that case the transmitter <NUM> can apply a non-adaptive compression function ψ that depends on the information content of the data s. An example for a non-adaptive compression that depends on the information content of s is a random compression with a d × b random matrix where b is based on the information content included in s.

<FIG> shows a flow diagram <NUM> depicting a flow to reliably communicate and decode compressed HD vectors.

A compressed HD encoder <NUM> corresponding to the compressed HD encoder produces a compressed HD code word x = ψ(φ(s)).

Before transmitting the compressed HD code word x = ψ(φ(s)) (or also x = φ(s) if no compression is used) over a channel <NUM>, a channel encoder <NUM> of the transmitter <NUM> may encode it with a suitable channel code with a code rate chosen to match the channel conditions. See also the third embodiment described below for a further discussion of optimization of channel coding. The receiver <NUM> includes a corresponding channel decoder <NUM>.

To estimate the original HD code word φ(s) the receiver <NUM> applies a decompression (i.e. recovery algorithm) ψ-<NUM> implemented by a compressed HD decoder <NUM>. The decompression can be implemented in various ways. Examples include simple linear mappings, convex optimization, and efficient trained AI algorithms. The decompression may be optimized based on the compression function φ and also depends on the parameters p. For this, the transmitter <NUM> communicates the parameters p to the receiver <NUM>.

The receiver may be interested in decoding the original s. In that case the compressed HD decoder <NUM> directly performs the decoding for the HD encoding.

In another example the receiver <NUM> does not immediately decode HD code words.

<FIG> shows a flow diagram <NUM> depicting a flow to communicate compressed HD vectors with computation <NUM> on the HD encoded data.

As in the example of <FIG>, the receiver <NUM> includes a compressed HD encoder <NUM> and a channel encoder <NUM>, transmits over a channel <NUM> and the receiver includes a corresponding channel decoder <NUM>, but there is no compressed HD decoder but only a HD decompression <NUM>. The receiver operates directly on the HD code word, e.g. using some auxiliary input <NUM> and outputs a HD computing result <NUM>.

For example, the auxiliary input <NUM> includes one or more previously received HD code words such that the result <NUM> may be result of binding or bundling of multiple HD code words. In another example the auxiliary input <NUM> may be a trained HD classifier used to perform a classification of the recently received code word.

According to a third embodiment, the transmitter <NUM> uses semantic aware adaptive coding (and optionally also compression) and unequal error protection for HD code words.

Given that HD encoding gives inherent robustness to errors, typical channel coding strategies may be adapted to augment or supplement the level of protection against channel errors. The coding level may be adapted to the dimension of the HD vector as presumably the higher the dimension the more robust the HD vector will be to channel errors. However, it should be noted each HD vector could potentially represent an aggregate data structure by binding and bundling many different pieces of information together. Hence, while the HD vector may be of high dimension, its capacity may be limited by the amount of information it carries. Therefore, according to the present embodiment, the transmitter <NUM> adapts the level of protection offered by channel coding to the semantics of the information carried by the HD vector. On the other hand, the transmitter <NUM> may increase the dimensionality dof the HD representation may to accommodate more semantic information.

According to various embodiments, the transmitter <NUM> therefore adapts the channel coding and HD dimensionality jointly based on the channel conditions as well as level of semantic information carried by the HD vector. If the channel coding operation is computationally expensive (or requires a very high coding level), as well as the semantic information is dense the transmitter may increase the HD dimension d. On the other hand, it may decrease the HD dimension for a HD vector which carries low semantic information and channel conditions of the communication channel <NUM> are good.

The semantic information that is carried by the HD vector may also depend on the HD decoding/analytics task that may be adapted dynamically as well. For example, an object recognition task such as face detection may lead to further analytics that may be performed on the HD vector.

<FIG> shows a flow diagram <NUM> depicting a flow for semantics aware adaptive coding, compression and unequal error protection for HD representations.

As in the example of <FIG>, the receiver <NUM> includes a compressed HD encoder <NUM> and a channel encoder <NUM>, transmits over a channel <NUM> and the receiver includes a corresponding channel decoder <NUM>. In this example, there is no compressed HD decoder but only a HD decompression <NUM>. The receiver operates directly on the HD code word, e.g. using some auxiliary input <NUM> and outputs a HD computing result <NUM>.

The encoding and compression carried out by the compressed HD encoder <NUM> as well as the channel encoding carried out by the channel encoder <NUM> are based on the amount of semantic information <NUM> carried by the code word s. An encoding an compression controller controls the HD encoding, compression and channel encoding in accordance with the amount of semantic information <NUM>.

Furthermore, the transmitter <NUM> may apply unequal error protection to parts of the HD vector. For example, in correlative encoding, the transmitter <NUM> may lift certain parts of the HD vectors to maintain correlation across the vectors. This correlation may be better preserved by adding more redundancy for this part of the HD representation.

In some scenarios, the transmitter <NUM> may keep the HD dimension fixed for consistency in combining HD representations across different sources (e.g., in federated learning). In this situation, the transmitter <NUM> may adapt the channel code according to the fixed HD dimension and the level of semantic information.

Other variations may be included when encoding non-binary HD representations. Standard coding tricks such as preserving most significant bits of the HD encoded vector values still apply.

The transmitter may add signaling to indicate the HD dimension if it is adapted dynamically. Furthermore, dynamic compression of HD vectors is possible by randomly dropping bits from the HD vectors.

Exemplary applications for the above embodiments for transmission of data by means of HD encodings are:.

According to various embodiments, a communication device (e.g. part of a communication system) is provided as illustrated in <FIG>.

<FIG> shows a communication device <NUM> according to an embodiment.

The communication device <NUM> includes a receiver <NUM> and/or a transmitter <NUM> and a processor <NUM>. It may further include a memory <NUM>.

According to one embodiment, the receiver <NUM> is configured to receive, for each of a plurality of object classes, via a wireless communication channel shared among transmitters of a respective set of transmitters, a superposition of transmitted hyperdimensional code words, including, for each transmitter of the respective set of transmitters, a hyperdimensional code word transmitted via the wireless communication channel and encoding input data (e.g. sensor, or receiver, or transceiver) of an object of the object class acquired by the transmitter, the storage element or memory <NUM> is configured to store, for each of the plurality of object classes, the received superposition in association with the class and the processor <NUM> is configured to classify a hyperdimensional code word representing an object to be classified by correlating the hyperdimensional code word with each stored superposition and to generate a classification result corresponding to the object class associated with a superposition fulfilling a predetermined criterion based on correlation results (i.e. based on the results of the correlating of the hyperdimensional code word with each stored superposition).

According to various embodiments, in other words, a data processing device uses the superposition of HD code words which occurs when they are simultaneously (or at least overlapping) transmitted via a joint communication channel for training a classifier.

It should be noted that this may in particular be used for federated learning. In that case, the transmitters train their local HD based classifier (each class in the HD based classifier is given by an HD vector) and then send the trained classifiers through the wireless communication channel. Here the transmitters are coordinating to ensure that HD vectors from the same class are combined (superimposed) in the wireless communication channel. So, in that case, the hyperdimensional code word sent by each transmitter is itself a hyperdimensional code word generated by the transmitter (and can be seen to encode data about an "ideal" object of the respective object class).

A superposition (or hyperdimensional vector) fulfilling a predetermined criterion based on correlation results may mean that that the superposition (or hyperdimensional vector) fulfilling the predetermined criterion is the superposition (or hyperdimensional vector) which gives a maximum correlation result. In other words, an optimal correlation result is a maximum value, which may be determined or achieved by having a highest value (e.g. above certain threshold).

According to one embodiment, the receiver <NUM> is configured to receive, from a plurality of transmitters, via a wireless communication channel, a superposition of transmitted hyperdimensional code words, including, for each transmitter of the plurality of transmitters, a hyperdimensional code word transmitted via the wireless communication channel encoding (e.g. sensor) data of the same object and the processor <NUM> is configured to implement a classification model or regression model, supply the received superposition to the classification model or regression model and to determine a characteristic of the object from an output of the classification model or regression model in response to being supplied with the received superposition.

According to various embodiments, in other words, a processing device uses the superposition of HD code words which occurs when they are simultaneously (or at least overlapping) transmitted via a joint communication channel to reinforce the information about a (i.e. the same) object. It inputs this reinforced information to a model which performs classification or regression to determine information about the object like an object class or an object trajectory etc..

According to various embodiments, the receiver <NUM> is configured to receive a sequence of symbols of a transmitted hyperdimensional code word and the processor <NUM> is configured to correlate the received sequence of symbols with each of a plurality of candidate hyperdimensional code words, symbol-by-symbol, for each of the plurality of candidate hyperdimensional code words, aggregate, for each symbol of the sequence of symbols, the result of the correlation for the symbol with the results of the correlations for the previous symbols of the sequence of symbols, to generate a total correlation result for the symbol for the candidate hyperdimensional code word, output, if for a symbol a predetermined reliability criterion is fulfilled, a received source data element corresponding to the candidate hyperdimensional code word which gives a maximum total correlation result for the symbol or a received hyperdimensional code word corresponding to the candidate hyperdimensional code word which gives a maximum total correlation result for the symbol. In the receiver, for each candidate hyperdimensional code word the corresponding source data element may be stored and thus the processor may directly output the source data element corresponding to the candidate hyperdimensional code word which gives a maximum total correlation result for the symbol. Alternatively, the processor may output the hyperdimensional code word itself. The processor may further process the received hyperdimensional code word, e.g. performing bundling or binding or both with one or more other code words. In particular, outputting does not necessarily mean an output to an external device but may also be an output of an intermediate result (e.g. into a system memory) which is processed further. The processor may then output the result of the further processing to an external device.

According to various embodiments, in other words, a processing device determines partial correlations of a received code word with possibly transmitted code words until the reliability with which it has identified the transmitted code word from the partial correlation (up to the current symbol) is sufficient. This allows finding a balance between decoding latency and reliability. In some applications, latency is a more important issue (e.g., video conferencing) and it pays off to obtain an early but inaccurate estimation of source information that gets refined over time. Also, low complexity can be achieved which is a typical desired feature for decoders, especially for inexpensive and energy-constrained devices.

According to one embodiment, the processor <NUM> is configured to code data to a hyperdimensional code word, determine an amount of information contained in the HD code word and compress the hyperdimensional code word depending on the amount of information contained in the hyperdimensional code word and the transmitter <NUM> is configured to transmit the compressed code word.

According to various embodiments, a communication device compresses a hyperdimensional code word for transmission depending on its information content.

According to one embodiment, the processor <NUM> is configured to determine an amount of information contained in a data word and code the data word to a hyperdimensional code word with a code length depending on the amount of information contained in the data word and the transmitter <NUM> is configured to transmit the code word.

The amount of (e.g. semantic) information may be an input to the communication device from the outside.

According to various embodiments, a communication device selects the length of a hyperdimensional code word into which to encode data depending on the data's information content.

According to various embodiments, a communication system performs a method as illustrated in <FIG>.

<FIG> shows a flow diagram <NUM> illustrating a method for classifying an object according to an embodiment.

In <NUM>, a communication device receives, for each of a plurality of object classes, via a wireless communication channel shared among transmitters of a respective set of transmitters, a superposition of transmitted hyperdimensional code words, including, for each transmitter of the respective set of transmitters, a hyperdimensional code word transmitted via the wireless communication channel and encoding (e.g. sensor) data of an object of the object class acquired by the transmitter.

In <NUM>, the communication device stores, for each of the plurality of object classes, the received superposition in association with the object class.

In <NUM>, the communication device classifies a hyperdimensional code word representing an object to be classified by correlating the hyperdimensional code word with each stored superposition and to generate a classification result corresponding to the object class associated with a superposition fulfilling a predetermined criterion based on correlation results.

<FIG> shows a flow diagram <NUM> illustrating a method for examining an object according to an embodiment.

In <NUM>, a communication device receives, from a plurality of transmitters, via a wireless communication channel, a superposition of transmitted hyperdimensional code words, including, for each transmitter of the plurality of transmitters, a hyperdimensional code word transmitted via the wireless communication channel encoding (e.g. sensor) data of the same object.

In <NUM>, the communication device supplies the received superposition to a classification model or regression model; and determining a characteristic of the object from an output of the classification model or regression model in response to being supplied with the received superposition.

<FIG> shows a flow diagram <NUM> illustrating a method for receiving data according to an embodiment.

In <NUM> a communication device receives a sequence of symbols of a transmitted hyperdimensional code word.

In <NUM>, the communication device correlates the received sequence of symbols with each of a plurality of candidate hyperdimensional code words, symbol-by-symbol.

In <NUM>, for each of the plurality of candidate hyperdimensional code words, the communication device aggregates, for each symbol of the sequence of symbols, the result of the correlation for the symbol with the results of the correlations for the previous symbols of the sequence of symbols, to generate a total correlation result for the symbol for the candidate hyperdimensional code word.

In <NUM>, the communication device outputs, if for a symbol a predetermined reliability criterion is fulfilled, a received source data element corresponding to the candidate hyperdimensional code word which gives a maximum total correlation result for the symbol, or the hyperdimensional code word itself. The communication device may further process the received hyperdimensional code word, e.g. performing bundling or binding or both with one or more other code words. In particular, outputting does not necessarily mean an output to an external device but may also be an output of an intermediate result (e.g. into a memory of the communication device) which is processed further. The communication device may then output the result of the further processing to an external device.

<FIG> shows a flow diagram <NUM> illustrating a method for transmitting data according to an embodiment.

In <NUM>, a communication device codes data to a hyperdimensional code word.

In <NUM>, the communication device determines an amount of information contained in the HD code word.

In <NUM>, the communication device compresses the hyperdimensional code word depending on the amount of information contained in the hyperdimensional code word.

In <NUM>, the communication device transmits the compressed code word.

In <NUM>, a communication device determines an amount of information contained in a data word.

In <NUM>, the communication device codes the data word to a hyperdimensional code word with a code length depending on the amount of information contained in the data word.

In <NUM>, the communication device transmits the code word.

The components of the communication devices and communication systems may for example be implemented by one or more processors. A "processor" may be understood as any kind of a logic implementing entity, which may be special purpose circuitry or a processor executing software stored in a memory, firmware, or any combination thereof. Thus a "processor" may be a hard-wired logic processor or a programmable logic processor such as a programmable processor, e.g. a microprocessor. A "processor" may also be a processor executing software, e.g. any kind of computer program. Any other kind of implementation of the respective functions which will be described in more detail below may also be understood as a "processor". The communication device may for example be at least partially implemented by a transceiver which may for example be at least partially implemented by a modem (e.g. an LTE or <NUM> modem), a baseband processor or other transceiver components or also by an application processor. The communication device may for example be a communication terminal as such and may include typical communication terminal devices such as a transceiver (including e.g. a baseband processor, one or more filters, transmit chains, receive chains, amplifiers etc.), an antenna, a subscriber identity module, an application processor, a memory etc..

Claim 1:
A communication system comprising:
a receiver configured to receive, for each of a plurality of object classes,
via a wireless communication channel shared among transmitters of a respective set of transmitters, a superposition of transmitted hyperdimensional code words, comprising, for each transmitter of the respective set of transmitters, a hyperdimensional code word transmitted via the wireless communication channel and encoding data of an object of the object class acquired by the transmitter;
a memory configured to store, for each of the plurality of object classes, the received superposition in association with the class;
a processor configured to classify a hyperdimensional code word representing an object to be classified by correlating the hyperdimensional code word with each stored superposition and to generate a classification result corresponding to the object class associated with a superposition fulfilling a predetermined criterion based on correlation results.