Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE AND METHOD FOR MASSIVE RANDOM ACCESS
Document Type and Number:
WIPO Patent Application WO/2022/218522
Kind Code:
A1
Abstract:
The present disclosure relates to massive random access procedure. The disclosure proposes a transmitting device configured to: encode a message sequence using one or more error correction codes to obtain G encoded sequences, wherein each encoded sequence has a length of J bits, where J and G are positive integers; map the G encoded sequences using G sections of a dictionary A to obtain a transmitting signal, wherein the dictionary A is a n X JL complex matrix comprising L sections, each section comprising J columns, where n is a positive integer and L is an integer greater or equal to G; and transmit the transmitting signal on a set of time-frequency resources to a receiving device. Further, this disclosure also proposes a receiving device configured to receive a plurality of signals, and recover message sequences of all transmitters from the received signals.

Inventors:
UTKOVSKI ZORAN (DE)
AGOSTINI PATRICK (DE)
KASPARICK MARTIN (DE)
Application Number:
PCT/EP2021/059669
Publication Date:
October 20, 2022
Filing Date:
April 14, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
FRAUNHOFER GES FORSCHUNG (DE)
International Classes:
H04L1/00; H03M13/00; H03M13/51; H04B7/08; H04L5/00; H04W74/08
Domestic Patent References:
WO2019063534A12019-04-04
Other References:
MA YIYAN ET AL: "Multicarrier Tandem Spreading Multiple Access (MC-TSMA) for High-Speed Railway (HSR) Scenario", IEEE INTERNET OF THINGS JOURNAL, IEEE, USA, vol. 8, no. 5, 8 September 2020 (2020-09-08), pages 3490 - 3499, XP011838951, DOI: 10.1109/JIOT.2020.3022909
WU YIQUN ET AL: "Iterative multiuser receiver in sparse code multiple access systems", 2015 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC), IEEE, 8 June 2015 (2015-06-08), pages 2918 - 2923, XP033198881, DOI: 10.1109/ICC.2015.7248770
Attorney, Agent or Firm:
KREUZ, Georg (DE)
Download PDF:
Claims:
Claims

1. A transmitting device (400), configured to: encode a message sequence (401) using one or more error correction codes to obtain G encoded sequences (402), wherein each encoded sequence (402) has a length of J bits, where J and G are positive integers; map the G encoded sequences (402) using G sections of a dictionary A to obtain a transmitting signal (403), wherein the dictionary A is a n x J L complex matrix comprising L sections, each section comprising J columns, where n is a positive integer and L is an integer greater or equal to G; and transmit the transmitting signal (403) on a set of time-frequency resources to a receiving device (1000).

2. The transmitting device (400) according to claim 1, wherein the one or more error correction codes comprise a binary constant weight code.

3. The transmitting device (400) according to claim 1 or 2, wherein the message sequence (401) comprises B information bits, B being a positive integer, and the transmitting device (400) is further configured to: split the message sequence (401) into g groups, each group comprising q information bits, where g and q are positive integers; convert each group to an integer less than 2q; encode g integers using a non-binary code to obtain G integers, where G > g; and encode G integers using a constant weight code of a length J and a weight w to obtain the G encoded sequences (402), wherein each encoded sequence comprises w nonzero bits and J - w zero bits, where w is an integer and 1 < w < J.

4. The transmitting device (400) according to claim 3, wherein the non-binary code comprises at least one of a Reed Solomon code and a non-binary low-density parity check code.

5. The transmitting device (400) according to one of the claims 1 to 4, wherein each column of the dictionary A is a sequence from a Gabor frame.

6. The transmitting device (400) according to claim 5, wherein the Gabor frame is constructed based on a seed vector.

7. The transmitting device (400) according to claim 5, wherein the Gabor frame is constructed based on an Alltop seed vector.

8. The transmitting device (400) according to one of the claims 1 to 4, wherein the dictionary A is one of a Gaussian design matrix, a Walsh-Hadamard matrix, a matrix constructed with Delsarte-Goethals frame sequences, and a matrix constructed with Grassmannian frame sequences.

9. The transmitting device (400) according to one of the claims 1 to 8, wherein the G sections of the dictionary A comprise at least one of: one or more sections dedicated to the transmitting device (400), and one or more sections shared among the transmitting device (400) and one or more other transmitting devices (400).

10. The transmitting device (400) according to one of the claims 1 to 9, wherein the transmitting device (400) is configured to select the G sections from the L sections of the dictionary A by performing a random selection or following an indication, wherein the indication is received from the receiving device (1000) and is indicative of indices of the G sections in the L sections of the dictionary A.

11. A receiving device (1000), configured to: receive a plurality of signals (1001); obtain a reconstructed signal (1002) based on the plurality of received signals

(1001); process the reconstructed signal (1002) by detecting one or more sequences from a dictionary A to obtain soft information (1003) on encoded sequences, wherein the dictionary A is a n x J L complex matrix comprising L sections, each section comprising J columns, where n, J and L are positive integers; estimate one or more message sequences (401) based on the soft information (1003) on the encoded sequences, wherein each estimated message sequence (401) corresponds to a particular signal of the plurality of received signals (1001); obtain prior information (1004) based on the estimated one or more message sequences (401); re-process the reconstructed signal (1002) based on the prior information (1004) to obtain updated soft information (1003) on the encoded sequences; and re-estimate the one or more message sequences (401) based on the updated soft information (1003) on the encoded sequences.

12. The receiving device (1000) according to claim 11, wherein each column of the dictionary A is a sequence from a Gabor frame.

13. The receiving device (1000) according to claim 12, wherein the Gabor frame is constructed based on a seed vector.

14. The receiving device (1000) according to claim 12, wherein the Gabor frame is constructed based on an Alltop seed vector.

15. The receiving device (1000) according to claim 11, wherein the dictionary A is one of a Gaussian design matrix, a Walsh-Hadamard matrix, a matrix constructed with Delsarte-Goethals frame sequences, and a matrix constructed with Grassmannian frame sequences.

16. The receiving device (1000) according to one of the claims 11 to 15, wherein the receiving device (1000) is configured to receive the plurality of signals (1001) from a plurality of transmitting devices (400).

17. The receiving device (1000) according to claim 16, wherein the L sections of the dictionary A comprise at least one of: one or more sections dedicated to a particular transmitting device (400), and one or more sections shared among the particular transmitting device (400) and one or more other transmitting devices.

18. A method (1200) performed by a transmitting device (400), comprising: encoding (1201) a message sequence (401) using one or more error correction codes to obtain G encoded sequences (402), wherein each encoded sequence (402) has a length of J bits, where J and G are positive integers; mapping (1202) the G encoded sequences (402) using G sections of a dictionary A to obtain a transmitting signal (403), wherein the dictionary A is a n x J L complex matrix comprising L sections, each section comprising J columns, where n is a positive integer and L is an integer greater than or equal to G; and transmitting (1203) the transmitting signal (403) on a set of time-frequency resources to a receiving device (1000).

19. A method (1300) performed by a receiving device (1000), comprising: receiving (1301) a plurality of signals (1001); obtaining (1302) a reconstructed signal (1002) based on the plurality of received signals (1001); processing (1303) the reconstructed signal (1002) by detecting one or more sequences from a dictionary A to obtain soft information (1003) on encoded sequences, wherein the dictionary A is a n x J L complex matrix comprising L sections, each section comprising J columns, where n, J and L are positive integers; estimating (1304) one or more message sequences (401) based on the soft information (1003) on encoded sequences, wherein each estimated message sequence (401) corresponds to a particular signal of the plurality of received signals (1001); obtaining (1305) prior information (1004) based on the estimated one or more message sequences (401); re-processing (1306) the reconstructed signal (1002) based on the prior information (1004) to obtain updated soft information (1003) on the encoded sequences; and re-estimating (1307) the one or more message sequences (401) based on the updated soft information (1003) on the encoded sequences.

20. A computer program product comprising a program code for carrying out, when implemented on a processor, the method (1200, 1300) according to claim 18 or 19.

Description:
DEVICE AND METHOD FOR MASSIVE RANDOM ACCESS

TECHNICAL FIELD The present disclosure relates generally to the field of wireless communications, particularly to random access scenarios between multiple transmitters and a receiver in a wireless communication system.

BACKGROUND

Wireless communications in modern society often involve a large number of users, who send messages randomly and intermittently. On a high level, in cellular networks that support massive internet of things (IoT) communications, two communication protocols for radio access are distinguished. The first one is grant-based random access, where, in the first step, the active users are identified and the cellular network then performs scheduling and allocates transmission resources to the active users. In a grant-free random access protocol, on the other hand, the active users transmit their data right away without awaiting the grant approval. Grant-free random access protocols may be beneficial for massive random access for IoT where, due to the sporadic transmissions and the short messages, grant-based protocols may be inefficient. Constellation design, which prescribes how the information messages of the individual users are mapped to their corresponding transmit symbol vectors, is one of the major challenges for such massive random access scenarios. According to this general interpretation, constellation design encompasses both channel code design and modulation, and may be understood as a form of coded vector modulation.

On a different level, random access schemes can be divided into coherent and noncoherent, depending on the assumptions regarding the availability and acquisition of channel state information at the transmitter and receiver side. In coherent schemes, channel resources are explicitly reserved for channel estimation by dividing the symbol vector from each transmitter into a pilot part and a data part. Besides serving the purpose of channel estimation, the pilot part is also used to separate the transmitters. The data part is used to carry message information. In non-coherent schemes, on the other hand, no channel estimation is performed and, as result, there is no explicit division of the transmit symbol vectors into a pilot part and a data part In massive random access with sporadic transmissions and short messages, the explicit use of pilots to enable user identification and channel estimation may come with a substantial overhead. In this scenario, non coherent schemes are of particular relevance, as they come with reduced overhead and thus yield more efficient utilization of the valuable network resources.

Existing non coherent schemes use either a tensor structure or sparsity as a main ingredient for constellation design for joint transmitter separation and message decoding.

Considering constellations with a fixed size, the different constellations can be evaluated in terms of probability of a decoding error for a given number of supported users, and also reciprocally in terms of a number of supportable users for a given probability of decoding error. However, the existing schemes are rather complex to implement, and the performance degrades rapidly when the number of users increases.

SUMMARY In view of the above-mentioned challenges, embodiments of the present disclosure aim to introduce an improved scheme for transmitting and receiving in a massive random access scenario. In particular, an objective is to provide an encoder that can be shared among multiple users. Another objective is to allow a decoder with a reasonable complexity to be able to recover messages from the users with an improved performance. The scheme can operate in both coherent and non-coherent fashion.

One or more of the objectives is achieved by embodiments as provided in the enclosed independent claims. Advantageous implementations of the embodiments are further defined in the dependent claims.

A first aspect of the disclosure provides a transmitting device, configured to: encode a message sequence using one or more error correction codes to obtain G encoded sequences, wherein each encoded sequence has a length of J bits, where J and G are positive integers; map the G encoded sequences using G sections of a dictionary A to obtain a transmitting signal, wherein the dictionary A is a n X JL complex matrix comprising L sections, each section comprising J columns, where n is a positive integer and L is an integer greater or equal to G; and transmit the transmitting signal on a set of time-frequency resources to a receiving device.

Embodiments of this disclosure propose an improved design of a transmitting device in a communication network. In particular, the communication network may comprise multiple transmitting devices that transmit to the same receiving device. The dictionary A of size n X JL, which can be shared among users (including transmitting devices and the receiving device), is proposed in this disclosure for communicating information of the users over channels.

In an implementation form of the first aspect, the one or more error correction codes comprise a binary constant weight code (CWC).

In particular, the transmitting device may encode the message sequence using a binary CWC. For such a code, the weight of any coded message sequence, which may be defined as the number of Is in a bit representation of a codeword, is fixed and constant.

In an implementation form of the first aspect, the message sequence comprises B information bits, B being a positive integer, and the transmitting device is further configured to: split the message sequence into g groups, each group comprising q information bits, where g and q are positive integers; convert each group to an integer less than 2 q ; encode g integers using a non-binary code to obtain G integers, where G > g; and encode G integers using a CWC of a length J and a weight w to obtain the G encoded sequences, wherein each encoded sequence comprises w non-zero bits and J - w zero bits, where w is an integer and 1 < w < J.

The constant weight code may have a size that is greater or equal to 2 q . The above procedure describes in effect that the encoded message sequences may be obtained as a concatenation of two codes. The first code is a CWC of the length J and the weight w. The second code is a non-binary code over the Galois field GF(2 q ) of the length G. Notably, the resulting encoded message sequences are themselves binary vectors of a length JG and a weight Gw, i.e., they represent codewords of another CWC of the length JG and the weight Gw.

In a particular example, if the CWC of the length J and the weight w is a one-hot code, the weight w of each of the G encoded sequences will be 1 (one). That is, each encoded sequence comprises one non-zero bit and the rest of the bits are zero. In addition, in a special case, G may be selected to be equal to g, i.e., in this case g integers are uncoded.

In an implementation form of the first aspect, the non-binary code comprises at least one of a Reed Solomon code and a non-binary low-density parity check (LDPC) code.

That is, the transmitting device may use a Reed Solomon encoder or a LDPC encoder to obtain G integers.

In an implementation form of the first aspect, each column of the dictionary A is a sequence from a Gabor frame.

Notably, an important issue related to both the performance and the encoding/decoding complexity is the choice of the dictionaries A. The decoding complexity scales linearly with the size of the design matrix. To reduce the decoding complexity and the required memory, a dictionary design based on Gabor frames is proposed in this disclosure. In particular, multiplications with Gabor frames (and their adjoints) can be efficiently carried out using algorithms such as fast Fourier transform (FFT).

In an implementation form of the first aspect, the Gabor frame is constructed based on a seed vector.

In an implementation form of the first aspect, the Gabor frame is constructed based on an Alltop seed vector.

Gabor frames may be completely specified by a total of numbers that describe the seed vector, and can be effectively generated as time-frequency translates of the seed vector. In a particular case, an Alltop sequence may be chosen as a seed vector. A Gabor frame construction based on an Alltop seed vector (Alltop window) may be particularly attractive due to its coherence properties.

Alternatively, the dictionary A may use a design other than a Gabor frame.

In an implementation form of the first aspect, the dictionary A is one of a Gaussian design matrix, a Walsh-Hadamard matrix, a matrix constructed with Delsarte-Goethals frame sequences, and a matrix constructed with Grassmannian frame sequences.

In an implementation form of the first aspect, the G sections of the dictionary A comprise at least one of: one or more sections dedicated to the transmitting device, and one or more sections shared among the transmitting device and one or more other transmitting devices.

Each section of the dictionary A may be considered either as dedicated to a particular user, i.e., to one transmitting device, or as shared among multiple or all transmitting devices. This choice may be made preliminary to the communication. In a special case, each transmitting device makes use of G=L sections of the dictionary A. With such an implementation, the transmitting devices may encode their message sequences by using the same constellation. As described in the embodiments, this code can be a binary CWC. This scenario is referred to as an unsourced random access scenario. The consequence of this implementation is that the receiving device identifies the transmitted symbols, without performing association with the identity of the transmitters. In another example, each transmitting device makes use of one section from the dictionary A. This scenario is here referred to as sourced random access scenario, and the receiving device can recover the identity of the transmitting device through the section identity, since each section is dedicated to one transmitting device.

In an implementation form of the first aspect, the transmitting device is configured to select the G sections from the L sections of the dictionary A by performing a random selection or following an indication, wherein the indication is received from the receiving device and is indicative of indices of the G sections in the L sections of the dictionary A. Optionally, the transmitting device may select at random one or more sections of the dictionary A that are used for transmission. Alternatively, the receiving device may inform a particular transmitting device about which section of the dictionary A is assigned to it.

A second aspect of the disclosure provides a receiving device, configured to: receive a plurality of signals; obtain a reconstructed signal based on the plurality of received signals; process the reconstructed signal by detecting one or more sequences from a dictionary A to obtain soft information on encoded sequences, wherein the dictionary A is a n X JL complex matrix comprising L sections, each section comprising J columns, where n, J and L are positive integers; estimate one or more message sequences based on the soft information on the encoded sequences, wherein each estimated message sequence corresponds to a particular signal of the plurality of received signals; obtain prior information based on the estimated one or more message sequences; re-process the reconstructed signal based on the prior information to obtain updated soft information on the encoded sequences; and re-estimate the one or more message sequences based on the updated soft information on the encoded sequences.

Embodiments of this disclosure further propose a receiving network device, which may receive data from a plurality of transmitting devices, and can operate accordingly as described in first aspect and its implementation forms. As previously described, the proposed dictionary A of size n x JL can be shared among all users (including all transmitting devices and the receiving device).

The proposed transmission schemes can be combined with receiver processing performed by two receiver modules. The first receiver module aims at detecting the one or more sequences from the dictionary A. Working on the output of the first receiver module, the second receiver module outputs individual messages of active users (transmitting devices) by taking into account the code structure. The receiver processing can be implemented by iteratively exchanging soft information between these two receiver modules.

In an implementation form of the second aspect, each column of the dictionary A is a sequence from a Gabor frame. In an implementation form of the second aspect, the Gabor frame is constructed based on a seed vector.

In an implementation form of the second aspect, the Gabor frame is constructed based on an Alltop seed vector.

In an implementation form of the second aspect, the dictionary A is one of a Gaussian design matrix, a Walsh-Hadamard matrix, a matrix constructed with Delsarte-Goethals frame sequences, and a matrix constructed with Grassmannian frame sequences.

In an implementation form of the second aspect, the receiving device is configured to receive the plurality of signals from a plurality of transmitting devices.

In particular, the plurality of signals may be received from different transmitting devices. Notably, a transmitting device may comprise multiple transmitting antennas. The plurality of signals may be received from different transmitting antennas of one or more transmitting devices.

In an implementation form of the second aspect, the L sections of the dictionary A comprise at least one of: one or more sections dedicated to a particular transmitting device, and one or more sections shared among the particular transmitting device and one or more other transmitting devices.

A third aspect of the disclosure provides a method performed by a transmitting device, the method comprising: encoding a message sequence using one or more error correction codes to obtain G encoded sequences, wherein each encoded sequence has a length of J bits, where J and G are positive integers; mapping the G encoded sequences using G sections of a dictionary A to obtain a transmitting signal, wherein the dictionary A is a n X JL complex matrix comprising L sections, each section comprising J columns, where n is a positive integer and L is an integer greater than or equal to G; and transmitting the transmitting signal on a set of time-frequency resources to a receiving device. Implementation forms of the method of the third aspect may correspond to the implementation forms of the transmitting device of the first aspect described above. The method of the third aspect and its implementation forms achieve the same advantages and effects as described above for the transmitting device of the first aspect and its implementation forms.

A fourth aspect of the disclosure provides a method performed by a receiving device, the method comprising: receiving a plurality of signals; obtaining a reconstructed signal based on the plurality of received signals; processing the reconstructed signal by detecting one or more sequences from a dictionary A to obtain soft information on encoded sequences, wherein the dictionary A is a n X JL complex matrix comprising L sections, each section comprising J columns, where n, J and L are positive integers; estimating one or more message sequences based on the soft information on encoded sequences, wherein each estimated message sequence corresponds to a particular signal of the plurality of received signals; obtaining prior information based on the estimated one or more message sequences; re-processing the reconstructed signal based on the prior information to obtain updated soft information on the encoded sequences; and re-estimating the one or more message sequences based on the updated soft information on the encoded sequences.

Implementation forms of the method of the fourth aspect may correspond to the implementation forms of the receiving device of the second aspect described above. The method of the fourth aspect and its implementation forms achieve the same advantages and effects as described above for the receiving device of the second aspect and its implementation forms.

A fifth aspect of the disclosure provides a computer program product comprising a program code for carrying out, when implemented on a processor, the method according to the third aspect and any implementation forms of the third aspect, or the fourth aspect and any implementation forms of the fourth aspect.

It has to be noted that all devices, elements, units and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements, or any kind of combination thereof. BRIEF DESCRIPTION OF DRAWINGS

The above described aspects and implementation forms of the present disclosure will be explained in the following description of specific embodiments in relation to the enclosed drawings, in which:

FIG. 1 shows an example of a non-coherent communication system with multiple transmitters.

FIG. 2 shows (a) an example of a transmitter, and (b) an example of a receiver.

FIG. 3 shows a time-frequency grid in an exemplary OFDM system.

FIG. 4 shows a transmitting device according to an embodiment of this disclosure.

FIG. 5 shows a transmitting device according to an embodiment of this disclosure.

FIG. 6 shows a dictionary A as used in an embodiment of this disclosure.

FIG. 7 shows a message sequence in an embodiment of this disclosure.

FIG. 8 shows a dictionary A as used in an embodiment of this disclosure. FIG. 9 shows a message encoding procedure according to an embodiment of this disclosure.

FIG. 10 shows a receiving device according to an embodiment of this disclosure.

FIG. 11 shows a receiving device according to an embodiment of this disclosure.

FIG. 12 shows a method according to an embodiment of this disclosure.

FIG. 13 shows a method according to an embodiment of this disclosure.

FIG. 14 shows a performance comparison result of different communication schemes.

DETAILED DESCRIPTION OF EMBODIMENTS

Illustrative embodiments of methods and devices for transmitting and receiving message sequences in a communication system are described with reference to the figures. Although this description provides a detailed example of possible implementations, it should be noted that the details are intended to be exemplary and in no way limit the scope of the application.

Moreover, an embodiment/example in this disclosure may refer to other embodiments/examples. For example, any description including but not limited to terminology, element, process, explanation and/or technical advantage mentioned in one embodiment/example is applicative to the other embodiments/examples.

Before introducing embodiments of this disclosure, some relevant information for understanding the embodiments is first described here.

FIG. 1 shows a system with K single-antenna transmitters, which intend to communicate their respective sequences of bits to transmit to a receiver with M antennas over a propagation channel. Each transmitter may perform a modulation and resource mapping to transmit its bit sequence, for instance, as a sequence of symbols over the channel. Accordingly, the receiver may perform demodulation and resource demapping to recover a received matrix signal Y from the sequences of symbols received over the channel, and may estimate a sequence of bits for each transmitter (ideally, the estimated bits for one transmitter would correspond to the sequence of bits transmitted by that transmitter).

In the following, D denotes a number of channel uses. A channel use means that a transmitter maps a symbol to a communication resource. In particular, the symbol may be mapped by the transmitter to a resource in the time-frequency grid of an orthogonal frequency-division multiplexing (OFDM) modulation, or may be mapped to a time resource for a wideband modulation.

FIG. 2 shows in (a) an example of the k-th transmitter of the K transmitters shown in FIG. 1 (i.e., k = 1, ...., K), and shows an example of the receiver in (b). As shown in FIG. 1, the k-th transmitter takes as input a message mk as a sequence of B bits, and outputs a D- dimensional symbol s k , as shown in FIG. 2(a), which is then post-processed by a module for modulation and resource mapping as shown in FIG. 1. Each of the D elements of s k is sent by the k-th transmitter over the channel in a so-called channel resource or channel use, which may be a slice of time and frequency, or any other orthogonal cut of the wireless channel communication medium.

The single receiver pre-processes the received signal as shown generally in FIG. 1 and shown in more detail in FIG. 2(b), and outputs a received matrix Y as described hereafter. In particular, the receiver may use demodulators to demodulate signals received via its antennas, may use Analog-Digital converters to convert the analog signals into the digital domain, and may use a “symbol synchronization and slicing” module, which is responsible for the synchronization in time and frequency of the receiver with the sent symbols. This is needed to be able to slice the D channel uses, in order to output all elements of the signal matrix Y.

FIG. 3 shows an example of a time-frequency grid in an exemplary OFDM system, where D elementary resources are divided into V f V t blocks of n f n t resources. The D channel resources are split over V blocks, each of size n = D/V. In an OFDM-based system, the V blocks may correspond to V = V ^ V ^ resource blocks (RBs), with V ^ blocks spreading over time and V ^ blocks spreading over frequency, whereby each RB consists of n = n ^ n ^ time- frequency slots, with n ^ being the number of OFDM symbols and n ^ the number of consecutive subcarriers the RB spans over, as illustrated in FIG.3. When active, each user (transmitter) spreads its message over p ^ ≤ V ^ such blocks in the frequency direction and p ^ ≤ V ^ such blocks in the time dimension. In this case p ^ n ^ is related to the message duration, whereas p ^ n ^ is related to the bandwidth assigned to a given transmitter. Note that the bandwidth also depends on the subcarrier spacing. Each user transmits a signal spread over the D resource elements represented by a D × 1 vector s ^ decomposed as where each s ^,^ is a n × 1 vector signal mapped in v-th block. Since each transmitter spreads its message over p = p ^ p ^ blocks of resources, there are exactly p nonzero vectors s ^,^ in s ^ . The remaining V − p vectors are equal to 0. The received signal outputted in the v-th block by the pre-processing module of the receiver can then be described as the sum of the contribution of K transmitters weighted by the corresponding channel coefficients and of an additive noise term. A block-fading channel model is considered, meaning that the channel state is assumed to be constant during the considered n channel uses of the v-th block. where ^ Y ^ = [y ^,^ , … , y ^,^ ] ^ is the n × M matrix of received signals for the M antennas of the receiver wherein y ^,^ is a M-dimensional vector whose elements represent the signal received by all receiving antennas at i-th channel use (i=1,…,n) and [. ] ^ denotes the transpose operator, ^ W ^ is a matrix of size the n × M representing the thermal noise, ^ ^ P ^,^ is the transmit power coefficient of transmitter k, ^ s ^,^ is a vector of dimension n × 1 representing the symbol transmitted by transmitter k and carrying the information on sent sequence of bits (i.e. a sent message) that we denote by m ^,^ , and ^ h ^,^ is a vector of dimension M representing the channel between the antenna of transmitter k and the M antennas of the receiver. Since both the transmitters and receiver process each block independently, the description can be limited to one block in the following, i.e., by removing the index v for the sake of simplicity of notations. Furthermore, it is noted that operating in a random access scenario is considered, meaning that the receiver does not need to know in advance either the number of the transmitters that are transmitting over the channel or their identity. If the transmitter encoder operates differently depending on the transmitter identity, the scenario is said to be “sourced”. In this case, each transmitter will use a different encoder. If the transmitter encoder is independent of the transmitter identity, the scenario is said to be “unsourced”. In this case, the identity of the transmitter can be included in the message at the bit level. Moreover, a non-coherent regime can be considered, where the channel state is supposed to be unknown to both the receiver and the transmitters. As previously discussed, the conventional non-coherent schemes use either a tensor structure or sparsity as a main ingredient for the constellation design for a joint transmitter separation and message decoding. Considering constellations with a fixed size, the different constellations can be evaluated in terms of probability of decoding error for a given number of supported users, and reciprocally in terms of a number of supportable users for a given probability of decoding error. Embodiments of this disclosure aim to provide a constellation that improves the conventional approaches with respect to these performance metrics and with respect to implementation complexity. In the following, detailed transmission/encoding procedures according to embodiments of this disclosure, for a single active user corresponding to the modules “Transmitter” and “Receiver” in FIG.1 will be described. Without loss of generality, the same applies to all users, possibly with different parameterization of the coding scheme, which depends in general on the reliability/latency requirements, as well as the channel conditions of the individual users.

FIG. 4 shows a transmitting device 400 according to an embodiment of this disclosure. The transmitting device 400 may comprise processing circuitry (not shown) configured to perform, conduct or initiate the various operations of the transmitting device 400 described herein. The processing circuitry may comprise hardware and software. The hardware may comprise analog circuitry or digital circuitry, or both analog and digital circuitry. The digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or multipurpose processors. The transmitting device 400 may further comprise memory circuitry, which stores one or more instruction(s) that can be executed by the processor or by the processing circuitry, in particular under control of the software. For instance, the memory circuitry may comprise a non-transitory storage medium storing executable software code which, when executed by the processor or the processing circuitry, causes the various operations of the transmitting device 400 to be performed. In one embodiment, the processing circuitry comprises one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory may carry executable program code which, when executed by the one or more processors, causes the transmitting device 400 to perform, conduct or initiate the operations or methods described herein.

In particular, the transmitting device 400 is configured to encode a message sequence 401 using one or more error correction codes to obtain G encoded sequences 402. The transmitting device 400 may, to this end, include an encoder block 412. Optionally, the one or more error correction codes may comprise a binary CWC. Each encoded sequence 402 has a length of J bits, where J and G are positive integers. Further, the transmitting device 400 is configured to map the G encoded sequences 402 using G sections of a dictionary A to obtain a transmitting signal 403. The transmitting device 400 may, to this end, include a mapping block 423. In particular, the dictionary A is a n X JL complex matrix comprising L sections, each section comprising J columns, where n is a positive integer and L is an integer greater or equal to G. Then, the transmitting device 400 is configured to transmit the transmitting signal 403 on a set of time-frequency resources to a receiving device 1000 (later illustrated in FIG. 10), in particular, over a channel established between the transmitting device 400 and the receiving device 1000.

The transmitting device 400 shown in FIG. 4 may correspond to the block “Transmitter k” shown in FIG. 1. In a particular implementation, the transmitting device 400 according to an embodiment of this disclosure may be formed of two sub-blocks as shown in FIG. 5, namely the encoder block 413 that is configured to encode the message sequence 401 (message m k ) as the encoded sequence 402 (concatenated CWC p k ), and the mapping block 423, which is configured to map the encoded sequences 402 to the transmitting signal 403 (symbol m k ) to be transmitted (to the receiving device 1000).

FIG. 6 shows a dictionary A, as it may be used for the transmitting device 400, wherein the dictionary A consists of L sections shared among users (transmitting devices), each of size n X J. According to embodiments of this disclosure, to communicate information over the channel, the K users (transmitters) share the same dictionary A. Each column of the dictionary A is an n-dimensional complex symbol. The dictionary A is divided into L disjoint sections, each of size J, as illustrated in FIG. 6.

In particular, the message sequence 401 may comprise B information bits, B being a positive integer. According to embodiments of the disclosure, to transmit the message sequence 401 with B information bits, the transmitting device 400 may first split the message sequence 401 into g groups as it is shown in FIG. 7, wherein each group may comprise q information bits, where g and q are positive integers. Further, the transmitting device 400 may map q bits of each group to an integer between 0 and 2 q - 1. A non-binary code over the Galois field GF(2 i? ) may be applied to encode g integers into G integers, where G > g. Each of the G integers may be encoded into a binary codeword of a length J using a CWC of the length J and a weight w, where w is an integer and 1 < w < J. In particular, each encoded sequence 402 may comprise w non-zero bits and J — w zero bits.

Accordingly, the transmitting device 400 may map the encoded sequence 402 (i.e., vector P k as shown in FIG. 8) using the dictionary A as shown in FIG. 8. In particular, G sections from the L sections of the dictionary A may be selected for the mapping. When G = L, all L sections of the dictionary A may be used for the mapping. As an example illustrated in FIG.8, it can be seen that in each binary codeword there may be two bits that are 1, and the rest of bits are 0. That is, in this case, the weight w is two. According to an embodiment of this disclosure, the transmitting device 400 may be configured to select the G sections from the L sections of the dictionary A by performing a random selection. Alternatively, the transmitting device 400 may follow an indication from the receiving device 1000, wherein the indication is indicative of indices of the G sections in the L sections of the dictionary A. In a particular embodiment of this disclosure, the non-binary code may be a Reed Solomon code (L, g) over GF(2 ^ ). FIG.9 illustrates a message encoding procedure according to this embodiment. As shown in FIG. 9, the transmitting device 400 may divide the B information bits into g groups of q = log ^ J bits. Note that this may assume that the section size J is a power of 2, and that B divides q. Otherwise, q = log ^ J can be used, where . denotes the ceiling function of log ^ J. Alternatively, zero-padding to the binary message may also be performed. In the following, the group of q bits is denoted as a J-ary symbol. Notably, the transmitting device 400 may apply an error-correction code of a rate R that operates on the level of the J-ary symbols, resulting in a coded sequence g/R symbols. To map the coded J-ary symbols on the physical resources, the transmitting device 400 may make use of the n-dimensional complex sequences from the dictionary A, where β ^ is a vector size of JL × 1 corresponding to a one-hot encoding of the coded sequence of J-ary symbols, also known as pulse position modulation (PPM) in the literature. This operation is illustrated in FIG.9 decomposed into the L sections. The vector β ^ can then be written as FIG. 9 particularly illustrates an example of the above, in which a message of B bits is split into the g blocks of q bits (as an example, q=3 is illustrated), and then each block is converted to an integer <2 q . Then, these integers are encoded by an encoder of a (L,g) Reed Solomon code (as an example, L=4 is illustrated), which is followed by a one-hot encoding to obtain the vector b.

Each section (or block of sections) of the dictionary A of FIG. 6 or FIG. 8 can be considered either as dedicated to a particular user, e.g. to the transmitting device 400 as shown in FIG. 4, or shared among users, i.e., shared among the transmitting device 400 and other transmitting devices. This choice should be made preliminary to the communication.

In one possible implementation of the coding scheme illustrated in FIG. 9, each transmitting device may make use of the L sections of the dictionary. With this implementation, all transmitting devices may use the same constellation. In this case, the considered scenario may be referred to as an unsourced random access. The consequence of this implementation is that the receiving device 1000 has to identify the transmitted symbols, without any knowledge on identities of the transmitting devices.

In a second implementation, each transmitting device may make use of one section (or one block of sections) from the dictionary A (e.g., user 1 uses section 1, user 2 uses section 2 ...etc.). This scenario may be referred to as sourced random access. The receiving device 1000 can in this case recover the identity of the transmitting device 400 through the section identity, since each section (or block of sections) is dedicated to a particular transmitting device. Another implementation may comprise dividing the L sections into a set of sections dedicated to unsourced access and another set of sections dedicated to sourced random access.

Examples of error-correction codes used in this disclosure are discussed in the following. Some definitions are provided here for understanding the present disclosure.

Definition 1 : OR superposition

A set A = {ci, . . . , c p } consisting of p binary vectors of length n is considered. The OR superposition of these vectors is defined as the binary vector where ∨ denotes the binary OR operation (performed component-wise on the vector elements). Also, a binary vector c may be said to be included in a binary vector d if and only if c ∨ d = d. Definition 2: Disjunctive code The binary code C with codeword length N and code size M is a disjunctive code of order p if each subset of size has the property that for every word c we have that but for all other words c^,∈ C / A we have that In the above, for two binary vectors x, y we have defined ^ x,y ^ to be the correlation, i.e. the pairwise overlap (the number of positions where both x and y have 1’s), and wH(·) denotes the Hamming weight. The set of all disjunctive codes is denoted with parameters N, M and p as D(N, M, p). In other words, a disjunctive code of order p has the property that may guarantee that any combination of p or less codewords can be uniquely decoded from their OR superposition. In addition, the remaining codewords are not included in the OR superposition (in the sense of Definition 1). Definition 3: Constant-weight code An (N, M, w, d) binary CWC is a set of M N-dimensional binary codewords of Hamming weight w such that the pairwise overlap (maximum number of coincident 1’s for any pair of codewords) does not exceed d. The set of all CW codes is denoted with parameters N, M and w and d as CW(N, M, w, d). The most general applied concept is the disjunctive code from Definition 2. Upon transmission over the multiple access channel, an active transmitting device, e.g. the transmitting device 400, may send a binary codeword c of length N from a disjunctive code C of code size M (total number of binary codewords in the code C). Thereby the transmitting device 400 may transmits log 2 M bits of information in total. The codeword c is mapped to a complex-valued transmit signal vector s of length n by the use of a n × N complex-valued dictionary matrix A (2) where Γ is a N × N diagonal matrix with the scaling coefficients γ1, γ2, ... , γN on the main diagonal. Eq. (2) can be equivalently written as where ci is the i-th element of the binary codeword c and ai is the i-th column of the dictionary matrix A. In this context the interpretation of the encoding process is that the non-zero entries of the codeword c “select” the sequences from the dictionary A that are linearly combined to produce the transmit signal vector s. In an example, a scenario may be considered, in which a certain number of transmitting devices is configured to share n REs. Further, a special case may be considered, in which all transmitting devices employ the same dictionary matrix A to map their binary codewords to the corresponding transmit signal vectors, as described by eq. (2). It may be assumed that K users are simultaneously active. Further, the following channel model may be considered for the received signal vector y at the joint receiver where hj, j = 1, 2, ... , K are channel coefficients, sj, j = 1, 2, ... , K, are the transmit signal vectors of the K active users, and z is an additive noise vector. Eq. (3) can be equivalently written in the following form where x is a sparse vector that entails information about the superposition of the corresponding transmitted binary vectors c 1 , c 2 , ... , c K (with the channel action included). Based on the structure described by eq. (4), the receiver (e.g., the receiving device 1000) can run a procedure to estimate the support of the sparse vector x, supp(x), where the support is defined as a binary vector with 1’s on the positions of the non-zero entries of (x). Given that the support recovery is correct, supp(x) represents in fact the OR superposition of the binary codewords of the K active users If the codewords c1, c2, . . . , cK are selected from a disjunctive code, as described in Definition 2, and as long as the number of active users K does not exceed the order of the disjunctive code p, K ≤ p, it may be guaranteed that the binary codewords c1, c2, ... , cK of the K active users can be retrieved from supp(x). In fact, the simulation results show that, in practice, the procedure will very often return correct detection of the ”active” codewords even if K > p. It can be shown that the set of constant-weight codes with a length N , a size M , a weight w and a maximal correlation d, CW(N, M, w, d), is a subset of the set of disjunctive codes with length N , size M and order where x denotes the smallest integer greater than or equal to x. Hence, an appropriately parameterized constant-weight code yields a disjunctive code, hence inheriting its properties. Going one step further, a specific constant-weight code construction may be proposed from the concatenation of a PPM (2q) code and a Reed-Solomon code, as described in the embodiments. It is noted that, in general, the Reed-Solomon code may be substituted by another non-binary code over GF(2q ). According to embodiments of this disclosure, the use of CWC is advocated. For such a code, the weight of any coded message, defined as the number of 1s in the bit representation of the codeword β ^ , may be fixed and constant. Any non-binary code could also be applied, including LDPC codes. Targeting short message transmissions where the message is spread over a few resource blocks, algebraic codes can be used. Candidate codes include Reed Solomon codes, which form a special subclass of Bose Chaudhury Hocquenghem (BCH) codes. In the embodiment shown in FIG.9, a (4; 3) Reed Solomon code over the Galois field GF(23 ) is used, applied such that 1 redundant 8-ary symbol is added to the 4 information carrying 8-ary symbols to provide error protection. According to embodiments of this disclosure, other options than using a common dictionary are also possible. For instance, user-specific dictionaries may be used. In this case, the same code construction may also be applied for a scenario, in which the dictionary matrix A is divided into a certain number of sections, and each user is assigned a separate section that now acts as a user-specific dictionary. In that case, the transmitted codewords also carry information about the identity of the active users. In another embodiment, i.e., in a hybrid approach variant 1, a hybrid approach is also conceivable where the total number of users is divided into a number of groups (for example Ngroups), such that one group of users is configured to use one or more sections of the dictionary matrix A. For the group of users configured to share the same subsections the same code construction as described above can be used to provide separation of the simultaneously active users at the receiver side. In a hybrid approach variant 2, another option is that the dictionary matrix A is divided into sections, and each active user selects randomly one or more sections. In this case, the proposed code construction enables the receiver to separate the active users that have selected the same section(s). An important aspect related both to the performance and the encoding/decoding complexity is the choice of the user dictionaries A (i.e. sequence design). Examples of dictionary design are thus discussed in the following. One implementation includes selecting each entry of the dictionary independently drawn from a standard Gaussian distribution and storing these entries in memory. As the number of iterations is finite, the decoding complexity scales linearly with the size of the design matrix. With such a Gaussian design matrix, the memory requirement is also proportional to the dimension as the entire matrix has to be stored, which could be a major bottleneck in scaling the decoder to work with large design matrices. However, it should be noted that the proposed code construction in this disclosure can be combined with any dictionary matrix design. Examples include Gaussian matrices, Walsh- Hadamard matrices, Grassmannian frames, Equiangular tight frames, Delsarte-Goethals frames etc. To reduce the decoding complexity and the required memory, another implementation of a construction based on finite Gabor frames is considered. Besides having excellent coherence properties, there are additional reasons why Gabor frames are attractive for the scenario in hand, including the fact that: 1) Gabor frames are completely specified by a total of n numbers that describe the seed vector, and can be effectively generated as time- frequency translates of the seed vector; 2) multiplications with Gabor frames (and their adjoints) can be efficiently carried out using algorithms such as FFT. Therefore, the dictionary design from Gabor frames as being particularly attractive/beneficial. In particular, Gabor frames obtained from an Alltop seed vector (Alltop construction), as described below, have favorable properties. Formally, a Gabor frame is the set of all time-frequency translates of a nonzero seed vector in Cn, and consists of n2 vectors. Formally, let T(g n×n ^ ) ∈ C be the circulant matrix generated from a seed vector g ^ as where τk(·) denotes a circular shift by k. Its eigendecomposition can be written as Then the Gabor frame generated from g 2 ^ is an n × n block matrix of the form where are diagonal matrices with ωm on the main diagonal, Wm = diag(ω ^ ). If we apply DFT to the Gabor frame the order of time- shift and frequency modulation is reversed, and therefore Φ ^ is composed of circulant matrices with proper ordering of columns. In practice, a Gabor frame construction based on the Alltop seed vector is particularly attractive due to its coherence properties. Formally, for a prime n ≥ 5, the Alltop seed vector is constructed as The elements of a Gabor frame Φ generated from the Alltop seed vector satisfy More precisely, this particular frame construction represents a union of n orthonormal bases of Cn, with scalar products Embodiments of this disclosure also propose a receiving device 1000 as shown in FIG. 10. The receiving device 1000 may comprise processing circuitry (not shown) configured to perform, conduct or initiate the various operations of the receiving device 1000 described herein. The processing circuitry may comprise hardware and software. The hardware may comprise analog circuitry or digital circuitry, or both analog and digital circuitry. The digital circuitry may comprise components such as ASICs, FPGAs, DSPs, or multi-purpose processors. The receiving device 1000 may further comprise memory circuitry, which stores one or more instruction(s) that can be executed by the processor or by the processing circuitry, in particular under control of the software. For instance, the memory circuitry may comprise a non-transitory storage medium storing executable software code which, when executed by the processor or the processing circuitry, causes the various operations of the receiving device 1000 to be performed. In one embodiment, the processing circuitry comprises one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory may carry executable program code which, when executed by the one or more processors, causes the receiving device 1000 to perform, conduct or initiate the operations or methods described herein.

In particular, the receiving device 1000 is configured to receive a plurality of signals 1001. The signals 1001 may include the signal 403 sent by the transmitting device 400 over the channel. The receiving device 1000 is further configured to obtain a reconstructed signal 1002 based on the plurality of received signals 1001. To this end, the receiving device 1000 may comprise a reconstruction block 1012. Then, the receiving device 1000 is configured to process the reconstructed signal 1002 by detecting one or more sequences from a dictionary A to obtain soft information 1003 on encoded sequences. In particular, the dictionary A is a n X JL complex matrix comprising L sections, each section comprising J columns, where n, J and L are positive integerss. To this end, the receiving device 1000 may comprise a decoding block 1023. Further, the receiving device 1000 is configured estimate one or more message sequences 1004 based on the soft information 1003 on the encoded sequences, wherein each estimated message sequence 1004 corresponds to a particular signal of the plurality of received signals 1001. To this end, the receiving device 1000 may include an estimation block 1034. Then, the receiving device 1000 is configured to obtain prior information 1005 based on the estimated one or more message sequences 1004. To this end, the receiving device 1000 may include a block 1045. The receiving device 1000 is further configured to re-process the reconstructed signal 1002 based on the prior information 1005 to obtain updated soft information on the encoded sequences; and re-estimate the one or more message sequences 401 (see FIG. 4) based on the updated soft information on the encoded sequences.

The receiving device 1000 shown in FIG. 10 may correspond to the block “Receiver” in FIG. 1. The receiving device 1000 shown in FIG. 10 may be the receiving device 1000 shown in FIG. 4. In a particular implementation, the proposed transmission scheme of the receiving device 1000 can be combined with receiver processing performed by two receiver modules, as shown in FIG. 11.

The first receiver module may comprise or implement the blocks as described in FIG. 10, and aims at detecting the “active” sequences from the dictionary A. Working on the output of the first module, the second module may outputs the individual messages of the active users (e.g., the transmitting device 400) by taking into account the code structure. The first module can, for example, implement detection in the spirit of signal reconstruction in compressive sensing. As particularly appropriate are scalable inference algorithms based on message passing, such as approximate message passing (AMP) and extensions therein.

According to an embodiment of the disclosure, the plurality of signals 1001 may be received from different transmitting devices, e.g. including the transmitting device 400. In particular, the plurality of signals 1001 as shown in FIG. 10 may comprise the transmitting signal 403 as shown in FIG. 4. It may be worth mentioning that a transmitting device (for example the transmitting device 400 as shown in FIG. 4) may have more than one transmit antenna. It is possible that each transmit antenna transmits a signal. The plurality of signals 1001 received at the receiving device 1000 may comprise signals transmitted from different transmit antennas of the same transmitting device.

In particular, by detecting the active sequences from the dictionary A, the output of the first receiver module effectively produces an OR multiple access channel. In the case when different transmitting devices apply distinct sections from the dictionary A, the transmitting devices will be naturally separated over the channel. In the unsourced random access scenario, when the users share the sections from A, on the other hand, the separation of the users is enabled by the applied CWC, as discussed previously.

The receiver processing can also be implemented by iteratively exchanging soft information between the two receiver modules: the first module would, for example, carry out standard AMP which accounts for the dictionary structure, but ignores the dependencies imposed by the code which guides the sequence selection process (i.e. prescribes how the information messages are mapped to the linear combinations of sequences from the dictionary); the second inference module refines the output of the AMP module by handling the dependencies coming from the structure of the applied code. The soft information output from the second module is then passed to the AMP module in the form of a refined prior information and the procedure is repeated.

FIG. 12 shows a method 1200 according to an embodiment of the disclosure. In a particular embodiment of the disclosure, the method 1200 is performed by a transmitting device 400 shown in FIG. 4 or FIG. 5. The method 1200 comprises: a step 1201 of encoding a message sequence 401 using one or more error correction codes to obtain G encoded sequences 402. In particular, each encoded sequence 402 has a length of J bits, where J and G are positive integers. The method 1200 further comprises a step 1202 of mapping the G encoded sequences 402 using G sections of a dictionary A to obtain a transmitting signal 403. In particular, the dictionary A is a n x J L complex matrix comprising L sections, each section comprising J columns, where n is a positive integer and L is an integer greater than or equal to G. The method 1200 further comprises a step 1203 of transmitting the transmitting signal 403 on a set of time-frequency resources to a receiving device 1000. Possibly, the receiving device 1000 may be the receiving device 1000 shown in FIG. 4, FIG. 10 or FIG. 11.

FIG. 13 shows a method 1300 according to an embodiment of the disclosure. In a particular embodiment of the disclosure, the method 1300 is performed by a receiving device 1000 shown in FIG. 4, FIG. 10 or FIG. 11. The method 1300 comprises: a step 1301 of receiving a plurality of signals 1001. The method 1300 further comprises a step 1302 of obtaining a reconstructed signal 1002 based on the plurality of received signals 1001. The method 1300 further comprises a step 1303 of processing the reconstructed signal 1002 by detecting one or more sequences from a dictionary A to obtain soft information 1003 on encoded sequences, wherein the dictionary A is a n × J L complex matrix comprising L sections, each section comprising J columns, where n, J and L are positive integers. Further, the method 1300 comprises a step 1304 of estimating one or more message sequences 401 based on the soft information 1003 on encoded sequences, wherein each estimated message sequence 401 corresponds to a particular signal of the plurality of received signals 1001. Then, the method 1300 further comprises a step 1305 of obtaining prior information 1004 based on the estimated one or more message sequences 401, a step 1306 of re-processing the reconstructed signal 1002 based on the prior information 1004 to obtain updated soft information 1003 on the encoded sequences, and a step 1307 of re-estimating the one or more message sequences 401 based on the updated soft information 1003 on the encoded sequences. Possibly, the plurality of signals 1001 comprises the transmitting signal 403 that is transmitted from the transmitting device 400 shown in FIG.4 or FIG.5. This disclosure proposes to define a new transmitter encoder computing a symbol from a sequence of bits at each transmitter. Such symbols are transmitted over the air and processed by the receiver. This disclosure further proposes to define a multi-user receiver that is able to recover the list of the initial sequence of bits of all transmitters from the received symbols. Embodiments of the disclosure describes a design of an encoder shared among all users combining an error correction code with a constant weight property with a dictionary matrix divided in blocks. In particular, the use of CWCs and the dictionary design based on Gabor frames may be preferable. Such a combination reveals efficient in terms of performance while allowing a decoder with reasonable complexity. Moreover, the design is such that the decoder is able to recover all messages of all users, up to a permutation on the user indices, even if the users share the same encoder. FIG.14 compares performances of the proposed constellation design (referred to as CWC with Gabor dictionary) with a conventional constellation design 1 and an existing constellation design 2 for the following scenarios. A communication system with K transmitters transmitting a sequence of B=96 bits within T=3200 channel uses is considered. In particular, the receiver has M=50 antennas while each transmitter has N=1 antenna or N=50 antennas. The powers coefficient are chosen equal to The elements of H are drawn from a complex Gaussian distribution of variance 1. The elements of W are drawn from a complex Gaussian distribution of variance 10 1,5 .

Known bounds on the optimal performances (referred to as “Random coding achievability”) from the literature is also depicted in FIG. 14. It can be observed that the proposed constellation designs of this disclosure gain performance with respect to the conventional designs in the case of single-antenna receiver. In order to evaluate performances of the proposed schemes, a dictionary of a collection of Gabor frames and a Reed-Solomon code as error correction codes are considered.

It can be seen that the proposed constellation outperforms state-of-the-art methods for random access in terms of number of supported users and probability of error and are close to optimal for single-antenna receiver. The block-fading requirement is suitable for relatively short coherence time/frequency.

The present disclosure has been described in conjunction with various embodiments as examples as well as implementations. However, other variations can be understood and effected by those persons skilled in the art and practicing the claimed disclosure, from the studies of the drawings, this disclosure and the independent claims. In the claims as well as in the description the word “comprising” does not exclude other elements or steps and the indefinite article “a” or “an” does not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in the mutual different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation.

Furthermore, any method according to embodiments of the disclosure may be implemented in a computer program, having code means, which when run by processing means causes the processing means to execute the steps of the method. The computer program is included in a computer readable medium of a computer program product. The computer readable medium may comprise essentially any memory, such as a ROM (Read-Only Memory), a PROM (Programmable Read-Only Memory), an EPROM (Erasable PROM), a Flash memory, an EEPROM (Electrically Erasable PROM), or a hard disk drive. Moreover, it is realized by the skilled person that embodiments of the transmitting device 400 and the receiving device 1000, respectively, comprises the necessary communication capabilities in the form of e.g., functions, means, units, elements, etc., for performing the solution. Examples of other such means, units, elements and functions are: processors, memory, buffers, control logic, encoders, decoders, rate matchers, de-rate matchers, mapping units, multipliers, decision units, selecting units, switches, interleavers, deinterleavers, modulators, demodulators, inputs, outputs, antennas, amplifiers, receiver units, transmitter units, DSPs, trellis-coded modulation (TCM) encoder, TCM decoder, power supply units, power feeders, communication interfaces, communication protocols, etc. which are suitably arranged together for performing the solution.

Especially, the processor(s) of the transmitting device 400 and the receiving device 1000, respectively, may comprise, e.g., one or more instances of a Central Processing Unit (CPU), a processing unit, a processing circuit, a processor, an ASIC, a microprocessor, or other processing logic that may interpret and execute instructions. The expression “processor” may thus represent a processing circuitry comprising a plurality of processing circuits, such as, e.g., any, some or all of the ones mentioned above. The processing circuitry may further perform data processing functions for inputting, outputting, and processing of data comprising data buffering and device control functions, such as call processing control, user interface control, or the like.