radio receiver
By using neural networks to process channel estimation and data reception in radio receivers, the problems of high manpower consumption and poor performance in existing technologies are solved, and efficient data reception and flexible channel estimation under various channel conditions are achieved.
Patent Information
- Application Number
- CN202180029935.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-12
- Filing Date
- 2021-02-17
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2041-02-17
AI Technical Summary
Existing radio receiver algorithms require a lot of manpower to design and have difficulty providing optimal performance under various channel conditions. In particular, efficient channel estimation and data reception are difficult to achieve when channel conditions are inconsistent.
Neural networks, especially convolutional neural networks, are used to handle channel estimation, equalization, and bit detection in radio receivers. By training the neural networks to adapt to different reference signal configurations and modulation schemes, flexible channel estimation and data reception are achieved.
Improved radio receiver performance under various channel conditions, especially in sparse reference signal configurations, enabling more efficient data reception and decoding, and enhanced channel estimation accuracy and flexibility.
Smart Images

Figure CN115462040B_ABST
Abstract
Description
Technical Field
[0001] The present application relates generally to the field of wireless communications. In particular, the present application relates to a radio receiver device, a related method, and a computer program for wireless communications. Background Art
[0002] Radio receiver algorithms can include blocks based on mathematical and statistical algorithms. These algorithms can be manually developed and programmed, which can be labor-intensive. For example, it can require significant effort to implement different reference signal configurations. Receiver algorithms designed in this manner may perform adequately under most channel conditions but may not provide the best possible performance for any channel. Estimating how to develop algorithms based on theoretical channel conditions consistent with actual physical channel conditions can also be difficult. Summary of the Invention
[0003] The scope of protection of various exemplary embodiments of the present invention is defined in the independent claims. Exemplary embodiments and features described in this specification that do not fall within the scope of the independent claims (if any) are to be construed as examples that aid in understanding the various exemplary embodiments of the present invention.
[0004] An example embodiment of a radio receiver includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the radio receiver to: obtain a data array including a plurality of elements, wherein each element of the plurality of elements in the data array corresponds to a subcarrier of a plurality of subcarriers and a time slot in an interval; obtain a reference signal array representing a reference signal configuration to be applied during the interval; implement a neural network; input data into the neural network, wherein the data includes at least the data array and the reference signal array; wherein the neural network is configured to output an output array representing values of the plurality of elements in the data array based on the data, wherein the values include bits or symbols. For example, the radio receiver may be capable of receiving data transmitted using various reference signal configurations.
[0005] An example embodiment of a radio receiver provides a component that performs the following operations: obtains a data array comprising a plurality of elements, wherein each element of the plurality of elements in the data array corresponds to a subcarrier of a plurality of subcarriers and a time slot in a time interval; obtains a reference signal array representing a reference signal configuration applied during the time interval; implements a neural network; inputs data into the neural network, wherein the data comprises at least the data array and the reference signal array; wherein the neural network is configured to output an output array representing values of the plurality of elements in the data array based on the data, wherein the values comprise bits or symbols.
[0006] In an example embodiment, instead of or in addition to the above example embodiments, the neural network also includes a convolutional neural network. For example, a radio receiver may be able to handle correlation and / or impairments in time and frequency by using convolution operations in a convolutional neural network.
[0007] In an example embodiment, alternatively or in addition to the above example embodiments, the reference signal array includes a plurality of reference signals, wherein a position of each reference signal in the reference signal array indicates a subcarrier of the reference signal and a time slot of the reference signal. For example, a radio receiver may be able to interpolate channel estimates across various reference signal configurations.
[0008] In an example embodiment, alternatively or in addition to the example embodiments described above, the reference signal array further includes a preconfigured indicator value in each position of the reference signal array that does not include a reference signal. For example, when performing channel estimation, the radio receiver may be able to ignore elements of the reference signal array that do not include a reference signal.
[0009] In an example embodiment, alternatively or in addition to the above example embodiments, the reference signal array includes a plurality of convolutional channels, wherein each of the plurality of convolutional channels in the reference signal array corresponds to a layer of a multiple-input multiple-output (MIMO) transmission. For example, a radio receiver may be able to utilize the reference signal to receive the MIMO transmission.
[0010] In an example embodiment, alternatively or in addition to the above example embodiments, the neural network further comprises at least one residual block.For example, a radio receiver may be able to receive data more efficiently.
[0011] In an example embodiment, alternatively or in addition to the above example embodiments, the at least one memory and the computer program code are further configured to, with the at least one processor, cause a radio receiver to: acquire a frequency array representing subcarrier frequencies of a plurality of subcarriers; wherein the data further comprises the frequency array. For example, the radio receiver may be able to exploit physical characteristics of a wireless channel that depend on the frequency band being used.
[0012] In an example embodiment, alternatively or in addition to the example embodiments described above, at least one of the plurality of convolution channels of data corresponds to a reference signal array. For example, a radio receiver may be able to input the reference signal array into a neural network with improved flexibility.
[0013] In an example embodiment, alternatively or in addition to the example embodiments described above, at least one of the plurality of convolution channels of data corresponds to a frequency array. For example, a radio receiver may be able to input the frequency array into a neural network with improved flexibility.
[0014] In an example embodiment, alternatively or in addition to the above example embodiments, the data array includes a plurality of convolution channels and data from a plurality of antenna streams, wherein each convolution channel in the data array corresponds to an antenna stream in the plurality of antenna streams. For example, a radio receiver may be able to input the antenna streams into a neural network with improved flexibility.
[0015] In an example embodiment, alternatively or in addition to the above example embodiments, the at least one memory and the computer program code are further configured to, with the at least one processor, cause the radio receiver to extract a subset of bits from each element of the output array based on a modulation scheme for a time interval and a plurality of subcarriers. For example, the radio receiver may be able to flexibly receive data using a variety of modulation schemes.
[0016] In an example embodiment, alternatively or in addition to the above example embodiments, the at least one memory and the computer program code are further configured to, with the at least one processor, cause the radio receiver to receive raw data using a plurality of samples during a time interval; and perform a Fourier transform on the received raw data to produce a data array. For example, the radio receiver may be capable of operating in a compatible manner with OFDM-based technologies.
[0017] An example embodiment of a radio receiver comprises a radio receiver according to any one of the above example embodiments.
[0018] An example embodiment of a network node apparatus comprises a radio receiver according to any one of the above example embodiments.
[0019] An exemplary embodiment of a method for training a neural network of a radio receiver according to any of the above exemplary embodiments includes: obtaining a training input data set and ground truth values corresponding to the training input data set; inputting the training input data set into the neural network, wherein the training input data set includes a training data array having a plurality of elements, wherein each of the plurality of elements in the training data array corresponds to a subcarrier in a plurality of subcarriers and a time slot in a time interval; receiving an estimated output of the training input data set from the neural network, the estimated output of the training input data set representing bit values of the plurality of elements in the training data array; extracting a subset of bits from each element of the estimated output based on a modulation scheme used for the training input data set; calculating a loss function based on the extracted bits and the bits included in the ground truth values; and adjusting at least one parameter of the neural network based on the calculated loss function. This method can enable the neural network to be trained to flexibly operate under various modulation schemes.
[0020] An exemplary embodiment of a computer program product comprises a program code configured to perform a method according to any one of the above exemplary embodiments when the computer program product is executed on a computer. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are intended to provide a further understanding of the exemplary embodiments and constitute a part of this specification. These drawings illustrate exemplary embodiments and together with the description help to explain the principles of the exemplary embodiments. In the drawings:
[0022] Figure 1 An example embodiment of the subject matter described herein is shown, which illustrates a radio receiver;
[0023] Figure 2 A comparative example of the subject matter described herein is shown, which shows a block diagram of a radio receiver;
[0024] Figure 3 An example embodiment of the subject matter described herein is shown, which shows a block diagram of a radio receiver including a neural network;
[0025] Figure 4 A comparative example of the subject matter described herein is shown, which shows a block diagram of a radio receiver including a neural network for channel estimation;
[0026] Figure 5 An example embodiment of the subject matter described herein is shown, which illustrates the flow of data in a neural network;
[0027] Figure 6 Another example embodiment of the subject matter described herein is shown, illustrating data flow in a neural network configuration for MIMO;
[0028] Figure 7 Another example embodiment of the subject matter described herein is shown, which shows a neural network parameter table and a residual network block;
[0029] Figure 8 Another example embodiment of the subject matter described herein is shown, which shows a constellation diagram;
[0030] Figure 9 Another example embodiment of the subject matter described herein is shown, which illustrates bit extraction;
[0031] Figure 10 Another example embodiment of the subject matter described herein is shown, which illustrates data flow in neural network training;
[0032] Figure 11 Another example embodiment of the subject matter described herein is shown, which illustrates the flow of data when using a trained neural network;
[0033] Figure 12 Another example embodiment of the subject matter described herein is shown, which illustrates the flow of data when fine-tuning a trained neural network;
[0034] Figure 13 A comparative example of the subject matter described herein is shown, illustrating resource allocation;
[0035] Figure 14 Another example embodiment of the subject matter described herein is shown, which illustrates resource allocation;
[0036] Figure 15 Another example embodiment of the subject matter described herein is shown, which illustrates resource allocation;
[0037] Figure 16 Another example embodiment of the subject matter described herein is shown, which illustrates simulation results;
[0038] Figure 17 Another example embodiment of the subject matter described herein is shown, which illustrates simulation results;
[0039] Figure 18 Another example embodiment of the subject matter described herein is shown, which illustrates simulation results;
[0040] Figure 19 Another example embodiment of the subject matter described herein is shown, which illustrates simulation results;
[0041] Figure 20 Another example embodiment of the subject matter described herein is shown, which illustrates simulation results;
[0042] Figure 21 Another example embodiment of the subject matter described herein is shown, which illustrates simulation results;
[0043] Figure 22 Another example embodiment of the subject matter described herein is shown, which shows simulation results; and
[0044] Figure 23 Another example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0045] Like reference numerals are used to designate like parts in the drawings. DETAILED DESCRIPTION
[0046] Reference will now be made in detail to example embodiments, examples of which are illustrated in the accompanying drawings. The detailed description provided below in conjunction with the accompanying drawings is intended to describe the examples and is not intended to represent the only way to construct or use the present disclosure. The description illustrates the functions of the examples and the sequence of steps for constructing and operating the examples. However, the same or equivalent functions and sequences may be accomplished by different example embodiments.
[0047] Figure 1 is a block diagram of a radio receiver 100 configured in accordance with an example embodiment.
[0048] The radio receiver 100 may include one or more processors 101 and one or more memories 102 containing computer program code. The radio receiver 100 may also include at least one antenna port and other elements such as an input / output module ( Figure 1 Not shown) and / or communication interface ( Figure 1 not shown).
[0049] According to an example embodiment, the at least one memory 102 and the computer program code are configured to, with the at least one processor 101, cause the radio receiver 100 to acquire a data array comprising a plurality of elements, wherein each element of the plurality of elements in the data array corresponds to a subcarrier of the plurality of subcarriers and a time slot in the time interval.
[0050] For example, the multiple subcarriers may correspond to the subcarriers of a code / resource block.
[0051] For example, the time interval may correspond to a transmission time interval (TTI).
[0052] For example, data may be transmitted using Orthogonal Frequency Division Multiplexing (OFDM).Each subcarrier in the plurality of subcarriers may correspond to an OFDM subcarrier.
[0053] For example, a data array may correspond to a code block.
[0054] Each slot may correspond to one OFDM symbol in the time domain.
[0055] For example, each element of the plurality of elements may correspond to a symbol in a symbol constellation.The symbol constellation may depend on a modulation scheme for the received data.
[0056] The at least one memory 102 and the computer program code may further be configured to, with the at least one processor 101 , cause the radio receiver 100 to acquire a reference signal array representing a reference signal configuration applied during a time interval.
[0057] The at least one memory 102 and the computer program code may also be configured to, with the at least one processor 101 , cause the radio receiver 100 to implement a neural network.
[0058] The neural network may have been trained as disclosed herein.
[0059] For example, the neural network may include a convolutional neural network. Alternatively, for example, the neural network may be implemented using an attention mechanism and / or a transformer neural network.
[0060] The at least one memory 102 and the computer program code may also be configured to, together with the at least one processor 101 , cause the radio receiver 100 to input data to the neural network, wherein the data comprises at least a data array and a reference signal array.
[0061] The data may also include any other information disclosed herein.
[0062] The data may comprise a three-dimensional array. The first dimension of the data may correspond to frequency, the second dimension of the data may correspond to time, and the third dimension of the data may correspond to a convolution channel. The convolution channel dimension of the data or any other array disclosed herein may also be referred to as a depth dimension or a channel dimension. The third dimension of the data may correspond to different types of data.
[0063] The neural network may be configured to output an output array representing values of a plurality of elements in the data array based on the data, where the values include bits or symbols.
[0064] For example, the output array may include log-likelihood ratios (LLRs) or raw bit values.
[0065] For example, a radio receiver may perform acquisition of a data array by receiving raw data using a plurality of samples during a time interval and performing Fourier transform on the received raw data to generate a data array.
[0066] Although the radio receiver 100 may be described as including only one processor 101, the radio receiver 100 may include more processors. In an example embodiment, the memory 102 is capable of storing instructions, such as an operating system and / or various applications.
[0067] In addition, the processor 101 may be capable of executing stored instructions. In an example embodiment, the processor 101 may be embodied as a multi-core processor, a single-core processor, or a combination of one or more multi-core processors and one or more single-core processors. For example, the processor 101 may be embodied as one or more of a variety of processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuit system with or without an accompanying DSP, or various other processing devices, including integrated circuits such as application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), microcontroller units (MCUs), hardware accelerators, special-purpose computer chips, etc. In an example embodiment, the processor 101 may be configured to perform hard-coded functions. In an example embodiment, the processor 101 is embodied as an executor of software instructions, wherein the instructions can specifically configure the processor 101 to perform the algorithms and / or operations described herein when the instructions are executed.
[0068] The memory 102 may be embodied as one or more volatile memory devices, one or more non-volatile memory devices, and / or a combination of one or more volatile memory devices and non-volatile memory devices. For example, the memory 102 may be embodied as a semiconductor memory (e.g., mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory), etc.).
[0069] The radio receiver 100 may be embodied in, for example, a mobile phone, a smartphone, a tablet, a smartwatch, or any handheld or portable device or any other apparatus, such as a vehicle, a robot, or a repeater.
[0070] The radio receiver 100 may be embodied in, for example, a network node device, such as a base station (BS). The base station may include, for example, a gNB, or any other device that provides an air interface for client devices to connect to a wireless network via wireless transmission.
[0071] When the radio receiver 100 is configured to implement a certain function, a certain component and / or certain components of the radio receiver 100 (such as the at least one processor 101 and / or the memory 102) can be configured to implement the function. In addition, when the at least one processor 101 is configured to implement a certain function, the function can be implemented using, for example, program code included in the memory 102. For example, if the radio receiver 100 is configured to perform an operation, the at least one memory 102 and the computer program code can be configured to, together with the at least one processor 101, cause the radio receiver 100 to perform the operation.
[0072] Certain terminology used herein may follow the naming scheme of current forms of 4G or 5G technology. However, this terminology should not be considered limiting, and the terminology may change over time. Therefore, the following discussion of any example embodiment may also apply to other technologies.
[0073] Figure 2 A comparative example of the subject matter described herein is shown, which shows a block diagram of a radio receiver.
[0074] The radio receiver may be electrically coupled to one or more antennas 201. The radio receiver may obtain raw receive data 202 from the one or more antennas 201. The radio receiver may be configured to remove 203 a cyclic prefix (CP) from the raw receive data 201. The radio receiver 200 may be configured to perform a Fourier transform on the raw receive data 202 using, for example, a fast Fourier transform (FFT).
[0075] The radio receiver may be configured to perform channel estimation 205 and interpolation 206 based on the reference signal configuration.
[0076] The radio receiver may be configured to perform equalization 207 based on the Fourier transformed data and the channel estimate. After equalization 207, the radio receiver 200 may perform log-likelihood ratio (LLR) estimation 208. Based on the LLRs, the radio receiver 200 may decode 209 the bit value 210.
[0077] Figure 3 An example embodiment of the subject matter described herein is shown, which shows a block diagram of a radio receiver 100 .
[0078] By comparison Figure 3 Example embodiments of Figure 2 As can be seen from the comparative example of FIG, the neural network 301 can replace, for example, the functional blocks 205-208.
[0079] The neural network 301 can receive a partially processed received waveform and output information, such as log-likelihood ratios (LLRs), or directly output decoded bits. In the former case, a separate decoder 209 may be required to process the neural network output to obtain information bits 210. For example, a low-density parity check (LDPC) decoder may be required to obtain 5G uplink shared channel (UL-SCH) data. By training using appropriate training algorithms and data, the neural network 301 can be trained to perform at least some of the functions of the radio receiver 100.
[0080] The structure of the radio receiver 100 can allow the use of a neural network chip and / or an AI accelerator to quickly and efficiently implement the radio receiver 100. In some cases, such as under certain channel conditions and / or when the reference signal configuration is very sparse, the neural network radio receiver can also improve performance.
[0081] Many radio transmitters and receivers are based on orthogonal frequency division multiplexing, where symbols are modulated onto orthogonal subcarriers. For example, in 5G systems, OFDM is used in both the uplink (UL) and downlink (DL), allowing different users to be multiplexed onto adjacent subcarrier blocks (Orthogonal Frequency Division Multiple Access, OFDMA).
[0082] The neural network 301 may implement channel estimation 205 (subcarrier demapping), equalization 207, and LLR estimation 208 (bit detection). In addition, the radio receiver 100 may be able to handle flexible demodulation reference signal (DMRS) configurations, multi-layer MIMO, and various modulation schemes, such as quadrature phase shift keying (QPSK) or quadrature amplitude modulation (QAM).
[0083] Neural network 301 may be implemented using a convolutional neural network (CNN). Neural network 301 may receive the received data after FFT 204 and output LLRs or bit values. CNNs may be two-dimensional and operate on both time and frequency axes. CNNs may simultaneously consider all subcarriers and symbols in a transmission time interval (TTI). Thus, the convolution filters in the CNN may implicitly handle correlations and / or impairments in time and frequency that arise from antenna configuration, multipath propagation, and mobility.
[0084] Sparse pilot symbols may only provide local information about the channel. It may be beneficial to allow the neural network to exploit the unknown data and its known distribution to further improve the LLR estimates at locations far from the pilot locations. Therefore, when both data and pilot signals are input to the neural network in a coherent manner, the LLR estimates can be improved. This can allow the neural network to exploit both for LLR estimation. For example, the neural network can learn some version of an advanced iterative receiver scheme.
[0085] Figure 4 A comparative example of the subject matter described herein is shown, which shows a block diagram of a radio receiver.
[0086] exist Figure 4 In the comparative example of , channel estimation 205 and interpolation 206 are replaced with a neural network channel estimator 401. The channel estimate can be combined with the Fourier transformed data in an equalizer and combiner 402.
[0087] Figure 5 An example embodiment of the subject matter described herein is shown, illustrating the flow of data in a neural network.
[0088] The radio receiver 100 may be configured to combine the various information sources into data 510. For example, the radio receiver 100 may concatenate 505 the various information sources to form data 510. After concatenation 505, the various information sources may correspond to convolution channels of the data 510. Thus, the information sources 501-504 may be concatenated in the depth dimension of the data 510.
[0089] Data 510 may also be referred to as neural network input data, etc.
[0090] A one-dimensional vector and a two-dimensional matrix can be expanded into a three-dimensional array. Thus, a single three-dimensional array can be formed as data 510. Data 510 can be fed into neural network 301.
[0091] Data 510 may include a data array 501. Data array 501 may be the received Fourier transformed data. Figure 3In the example embodiment, data array 501 may be acquired as the output of FFT 204 .
[0092] The data array 501 can be represented as a three-dimensional array with dimension N. freq (Number of subcarriers in the plurality of subcarriers) × N time (number of slots in the time interval) × N ant (number of antenna streams). For example, N time In 5G it can be 14.
[0093] The at least one memory and the computer program code may also be configured to, with the at least one processor, cause the radio receiver 100 to acquire a reference signal array 502 representing a reference signal configuration applied during the time interval. The data 510 may also include the reference signal array 502.
[0094] The reference signal array 502 may represent a reference signal (pilot configuration) applied during a time interval. The reference signal array 502 may be used for channel estimation. For example, in the case of a single user, the dimension of the reference signal array 502 may be N freq ×N time .
[0095] The reference signal array 502 may include a plurality of reference signals, wherein the position of each reference signal in the reference signal array indicates the subcarrier of the reference signal and the time slot of the reference signal. Figure 5 In the example embodiment, reference signal array 502 includes two reference signals.
[0096] The reference signal array 502 may also include a preconfigured indicator value in each position of the reference signal array 502 that does not include a reference signal. The preconfigured indicator value may indicate that the corresponding element of the reference signal array 502 does not include a reference signal. Figure 5 In the example embodiment of FIG. 5 , reference signal array 502 includes zero as a pre-configured indicator value.
[0097] If the corresponding subcarrier and time slot is a reference signal, the elements of the reference signal array 502 may be non-zero. The values of the non-zero elements may be filled with reference signal values.
[0098] For MIMO, the reference signal array 502 may be three-dimensional. The reference signal configurations for each MIMO channel using the same subcarrier frequency may be stacked in the depth dimension.
[0099] The at least one memory and the computer program code may also be configured to, with the at least one processor, cause the radio receiver to acquire a frequency array 503 representing subcarrier frequencies of the plurality of subcarriers. The data 510 may also include the frequency array 503.
[0100] By feeding the subcarrier frequencies to neural network 301, it is also possible to process a time interval in multiple blocks on the frequency axis. This approach can be used to limit the size of neural network 301 if the computational resources of radio receiver 100 are insufficient to process the entire time interval at once. Furthermore, the physical characteristics of the wireless channel can depend on the frequency band. Therefore, allowing neural network 301 to utilize this information can also be beneficial.
[0101] The dimension of the frequency array 503 may be N freq ×1. Frequency array 502 may include vectors representing subcarrier frequencies. This can provide neural network 301 with information about the subcarrier frequencies. This can allow the network to specialize some lower-level filters to take different actions based on the subcarrier frequency. Frequency array 503 can also add the ability to process any portion of the frequency individually, for example due to hardware or load requirements.
[0102] The data can include multiple convolution channels.
[0103] At least one convolution channel of the plurality of convolution channels of data may correspond to a reference signal array.
[0104] At least one of the plurality of convolution channels of data may correspond to a frequency array.
[0105] The data 510 may also include other information 504. The other information 505 may include, for example, information about coding, UE identifier, UE scheduling information, etc.
[0106] After concatenation 505, the dimension of data 510 may be N freq ×N time ×N ch , where N ch is the number of convolution channels. The number of convolution channels can also be called the depth. Therefore, after cascading 505, different data types can be stacked in the convolution channel / depth dimension of data 510, such as data array 501, reference signal array 502, and frequency array 503.
[0107] The neural network 301 may include at least one two-dimensional convolutional layer operating in the time and frequency directions. The neural network 301 may include multiple such convolutional layers.
[0108] Each convolutional layer in the neural network 301 may include k filters. The depth of each filter may be equal to the depth of the input to the layer. For example, the depth of each filter in the first layer of the neural network 301 may be N chTherefore, when each of the k filters is convolved with the data 510 in the frequency and time dimensions, a filter of size N may be produced. freq ×N time A new three-dimensional array 506 of ×k is generated.
[0109] For example, the size of each filter in neural network 301 can be 3×3 or any other size.
[0110] For example, neural network 301 may include 10-20 convolutional layers.
[0111] In the convolution operation of the neural network 301, zero padding can be used. Alternative padding schemes such as period padding can also be used. In some cases, using N freq and N time Padding where the dimension remains constant within the neural network 301 may be beneficial.
[0112] In the convolution operation of the neural network 301, after performing two-dimensional convolution in the frequency and time dimensions, the results can be summed in the convolution channel direction.
[0113] Alternatively or additionally, other types of convolution operations may be implemented in neural network 301, such as depthwise separable convolutions.
[0114] The neural network 301 may also include nonlinearities such as rectified linear units (ReLUs) and possible normalization such as batch normalization during training. Each convolutional layer in the neural network 301 may include ReLUs and / or other nonlinearities.
[0115] Each layer in the neural network 301 can include different weights. The weights can correspond to elements of the filter. Weights can also be called parameters, model parameters, etc.
[0116] Convolution can handle time and frequency correlation and / or impairments due to, for example, the UE's antenna configuration and mobility (Doppler shift / spread). Convolution can also improve the interpolation of channel information within a time interval, since the channel estimate should be interpolated within the subcarriers and symbols that transmit the actual data symbols.
[0117] The neural network 301 may further include at least one residual block.
[0118] The output of the final convolutional layer can be fed into a 1×1 convolution that combines the output convolution channels of the 2D convolutional layer to produce bit LLRs 508. The 1×1 convolutional layer can have N MIMO ×N bit output channels, where N MIMO is the number of MIMO layers, N bitis the maximum number of bits per symbol. For example, to support up to 256QAM, N bit =8.
[0119] The output of the neural network 301 can be reshaped into N freq ×N time ×N MIMO ×N bit elements, each of which can be fed into a sigmoid function. The sigmoid function can output the probability 201 that each bit is 1. The output array can include these probabilities.
[0120] Since the output of the sigmoid layer is the bit probability, the input of the sigmoid layer corresponds to the LLR and can be multiplied by -1 according to the convention used. In other words, the output of the 1×1 convolution layer before the sigmoid layer can give the corresponding bit LLR.
[0121] In some example embodiments, the neural network 301 may be configured to output bit LLRs 508 in an output array. In some example embodiments, the neural network 301 may be configured to output bit probabilities 509 in an output array. In some example embodiments, the neural network 301 may be configured to output bit values in an output array.
[0122] Any operation performed by neural network 301 can be in the complex domain or the real domain. For example, this may depend on the hardware on which neural network 301 is implemented. Since data array 501 can be a Fourier transformed signal, the disclosure herein may assume complex operations. For implementations using real operations, the real and imaginary parts of the complex numbers can be fed into the convolution channels of neural network 301. In this case, the number of convolution channels in data 510 can be twice that of the complex case.
[0123] The neural network 301 may process the entire TTI / code block as a single pass through the neural network 301. Thus, the neural network 301 may implicitly learn channel estimates and interpolations over the entire TTI. Furthermore, processing the entire code block may benefit the final decoding stage as it may produce a more accurate signal-to-noise ratio (SNR) estimate.
[0124] Figure 6 An example embodiment of the subject matter described herein is shown, which illustrates streaming data in a neural network configured for multiple-input multiple-output (MIMO).
[0125] The data array 501 may include a plurality of convolution channels and data from a plurality of antenna streams, wherein each convolution channel in the data array 501 corresponds to an antenna stream in the plurality of antenna streams. The convolution channels may also be referred to as input channels.
[0126] Reference signal array 502 may include multiple convolution channels, where each of the multiple convolution channels in reference signal array 502 corresponds to a layer of a MIMO transmission. For example, the layer may be from single-user MIMO or mixed single-user and multi-user MIMO.
[0127] exist Figure 6 In the example embodiment, data array 501 includes two convolution channels. Each convolution channel may correspond to a separate antenna stream. In addition, reference signal array 502 includes two convolution channels. Each convolution channel may correspond to a MIMO layer.
[0128] The antenna streams of data array 510 and the MIMO layers of reference signal array 502 may be concatenated into data 510 .
[0129] Neural network 301 may output LLRs 508 for each MIMO layer based on data 510 .
[0130] Figure 6 The example embodiments of FIG. 5 may be applicable to multi-user MIMO or single-user MIMO. In multi-user MIMO, the number of MIMO layers may correspond to the number of MIMO users.
[0131] Figure 7 Another example embodiment of the subject matter described herein is shown, which shows a neural network parameter table 750 and a residual network block 753.
[0132] exist Figure 7 In the example embodiment of FIG5 , data array 501 , reference signal array 502 , and channel estimate array 504 are concatenated to form data 510 . Data 510 is split into real and imaginary parts, which produces array 751 , which includes twice the number of convolution channels as complex data 510 .
[0133] Figure 7 The neural network of the example embodiment includes a first convolutional layer 752, nine residual network blocks 753, and a 1×1 convolutional layer 754. The 1×1 convolutional layer 754 outputs LLR 508.
[0134] exist Figure 7In the exemplary embodiment of FIG, each residual network block 753 includes two batch normalization (BN) blocks 761, two ReLU blocks 762, two separable two-dimensional convolution blocks 763, and two 1×1 two-dimensional convolution blocks 764. The input 760 of the residual network block 753 is fed into the first BN block 761, the output of the first BN block 761 is fed into the first ReLU block 762, the output of the first ReLU block 762 is fed into the first separable two-dimensional convolution block 763, and the output of the first separable two-dimensional convolution block 763 is fed into the first 1×1 convolution block 764. Then, for the output of the first 1×1 convolution block 764, the process is repeated using the second BN block 761, the second ReLU block 762, the second separable two-dimensional convolution block 763, and the second 1×1 two-dimensional convolution block 764. The output of the second 1×1 2D convolution block 764 is then summed 765 with the input 760 to produce the output 766 of the residual network block 753.
[0135] Figure 8 Another example embodiment of the subject matter described herein is shown, which shows a constellation diagram.
[0136] Figure 8 The embodiment shows how to extract bit values from symbols in a 16-bit quadrature amplitude modulation (QAM) constellation. The first two bit values b1b2 can be determined by the quartiles of the complex plane where the symbol lies. For example, in Figure 8 In the embodiment of , the symbol is located in the first quartile 701 of the complex plane.
[0137] The next two bit values b3b4 can be determined by dividing the first quartile 701 into quartiles again and selecting the quartile 702 where the symbol is located.
[0138] Higher-order QAM constellations can be constructed in a hierarchical manner following a similar process. For example, in 32QAM, quartile 702 can be divided into quartiles again to determine the next two bit values of the higher-order QAM constellation, and so on.
[0139] Figure 9 Another example embodiment of the subject matter described herein is shown, illustrating bit extraction.
[0140] According to an example embodiment, the at least one memory and the computer program code are further configured to, with the at least one processor, cause the radio receiver 100 to extract a subset of bits from each element of the output array based on the modulation scheme for the time interval and for the plurality of subcarriers.
[0141] The radio receiver 100 can extract certain bit subsets by, for example, masking certain bits. In this way, the radio receiver can construct the final bit stream according to the modulation scheme used.
[0142] For example, if you use 2 n If QAM is used, the radio receiver 100 may extract n bits. The extracted bits may include the first n bits of each element of the output array.
[0143] For example, if QPSK or 4QAM is used, the radio receiver 100 may extract the first two bits 802 as Figure 9 As shown in the example embodiment of FIG.
[0144] On the other hand, if 16QAM is used, the radio receiver 100 can extract the first four bits 801 as Figure 9 As shown in the example embodiment of FIG.
[0145] The bit subsets may be extracted during use of the radio receiver 100 and / or during training of the neural network 301. Thus, the neural network may learn to map different bit output nodes to different hierarchical quartiles of the constellation. Thus, the neural network 301 may be trained to operate using a variety of different modulation schemes.
[0146] Figure 10 Another example embodiment of the subject matter described herein is shown, which illustrates data flow in neural network training.
[0147] According to one embodiment, a method for training a neural network for a radio receiver includes obtaining a training input data set and ground truth corresponding to the training input data set.
[0148] The training input data set can be a portion of multiple training data records. Each such training data record can be used to train a neural network.
[0149] The method may further include inputting a training input data set into the neural network. The training input data set may include a training data array having a plurality of elements, wherein each element of the plurality of elements in the training data array corresponds to a subcarrier in the plurality of subcarriers and a time slot in the time interval.
[0150] For example, the input training data set may include simulated data 901. For example, the simulated data 900 may be generated using a link-level simulator. The simulated data 901 may be generated by simulating a transmitter-receiver chain and storing the transmitted coded bits (for ground truth), received signals, and other relevant information (such as reference signal configurations and parameters).
[0151] At the beginning of training, the neural network 301 may be configured with random parameters 908 .
[0152] The simulated data 901 can be fed into the neural network. This can be called the model forward pass 902.
[0153] The method may also include receiving an estimated output of the training input data set from the neural network, the estimated output of the training input data set representing bit values of a plurality of elements in the training data array.
[0154] The estimated output may include estimated bit values 903 for the input training data set.
[0155] The method may further comprise extracting a subset of bits from each element of the estimated output based on the modulation scheme used for the training input data set. The bits may be extracted, for example, in the manner disclosed herein. For example, the bits may be extracted in the manner disclosed herein. Figure 9 Since the bits are extracted based on the modulation scheme used, the neural network 301 can be trained to work with various modulation schemes.
[0156] The method may further include calculating a cost function based on the extracted bits and bits included in the ground truth.
[0157] For example, the loss function can be calculated by comparing the extracted bit values 903 with the ground truth bit values 904. The ground truth bit values 904 can be obtained from the training dataset. For example, the loss function 905 can include a cross entropy loss between the ground truth bit values 904 and the extracted bits 903.
[0158] The method may further include adjusting at least one parameter of the neural network according to the calculated loss function. For example, the at least one parameter of the neural network may include at least one weight of the neural network 301.
[0159] The adjustment of at least one parameter may be referred to as a backward pass 906. For example, the parameters may be adjusted using stochastic gradient descent (SGD) or an extension thereof (such as the Adam optimizer) and backward propagation. This may output trained parameters 907.
[0160] The above description of the training process may correspond to only a portion of the training process. The parameters of the neural network 301 can be adjusted in an iterative manner, whereby a forward pass 902 is performed after each adjustment. Further adjustments can be derived using, for example, SGD based on how the previous parameter adjustments change the value of the loss function 905. This iteration of the parameters can continue, for example, until the loss function reaches a preconfigured threshold, or until some other condition of the performance of the neural network 301 is met.
[0161] Training can be performed by any computing device, such as a computer. For example, training can be performed in the cloud using simulated or real data collected from the BS. Training may not require ground truth channel information, only the received RX signal and the ground truth bits.
[0162] Any disclosure herein regarding data 510 may also apply to the training input dataset.
[0163] The training input data set may further include a reference signal array. The reference signal array may include a plurality of reference signals, wherein the position of each reference signal in the reference signal array indicates a subcarrier of the reference signal and a time slot of the reference signal. The reference signal array may further include a preconfigured indicator value in each position of the reference signal array that does not include a reference signal. The reference signal array may include a plurality of convolution channels, wherein each convolution channel in the plurality of convolution channels in the reference signal array corresponds to a layer of the MIMO transmission.
[0164] The training input data set may also include a frequency array representing subcarrier frequencies of the plurality of subcarriers.
[0165] The training input dataset may include multiple convolution channels. At least one of the multiple convolution channels in the dataset corresponds to a reference signal array. At least one of the multiple convolution channels in the training input dataset may correspond to a frequency array. The data array may include multiple convolution channels and data from multiple antenna streams. Each convolution channel in the data array may correspond to an antenna stream from the multiple antenna streams.
[0166] Figure 11 Another example embodiment of the subject matter described herein is shown, illustrating data flow when using a trained neural network.
[0167] The output of the training process may be trained model parameters 907. These may also be referred to as simulated trained models. The model may be used in production, such as Figure 11 As shown in the example embodiment of FIG.
[0168] For example, the radio receiver 100 may use the neural network 301 by inputting the data 510 into the neural network in a forward pass 902. Using the trained model parameters 907 and the data 510, the neural network 301 may output an output data set including the estimated bit value 201.
[0169] Figure 12 Another example embodiment of the subject matter described herein is shown, which illustrates the flow of data when fine-tuning a trained neural network.
[0170] After training is performed, the trained model parameters 907 can be fine-tuned for a specific location or situation. For example, fine-tuning can be performed using data collected from the field. For fine-tuning, ground truth 1102 can be obtained, for example, through hybrid automatic repeat request (HARQ) resubmissions. This also allows for obtaining training data in situations where decoding initially fails.
[0171] Fine-tuning the parameters of neural network 301 can be performed similarly to training. Simulated training model parameters 907 can serve as a starting point for fine-tuning. During fine-tuning, recorded data 1101 can be used instead of the simulated data 901 used in training, and ground truth values 1102 can be obtained through HARQ. The resulting parameters are fine-tuning parameters 1103.
[0172] Figure 13 A comparative example of the subject matter described herein is shown, illustrating resource allocation.
[0173] Figure 13 The comparative example of FIG shows a frame structure including data resource elements 1201 and pilot signal resource elements 1202. The frame structure includes two pilot signals 1202 separated in time for each subcarrier. This type of frame structure can be implemented in, for example, the 4G physical uplink shared channel (PUSCH).
[0174] Figure 14 Another example embodiment of the subject matter described herein is shown, illustrating resource allocation.
[0175] Figure 14 The example embodiment shows a frame structure consisting of data resource elements 1201, pilot signal resource elements 1202 and other resource elements 1203. This type of frame structure can be implemented in 5G PUSCH, for example. Figure 14 Example embodiments of Figure 13 It can be seen from the comparison example that in the 5G PUSCH frame structure, the number of pilot signals 1202 and their positions can be allocated more freely compared with 4G.
[0176] Figure 15 Another example embodiment of the subject matter described herein is shown, illustrating resource allocation.
[0177] The neural network 301 of the receiver 100 can also learn to estimate the channel more efficiently from the data symbol distribution.As a result, the number of resource elements allocated to the pilot signal 1202 can be reduced, which can result in greater throughput. Figure 15 An example embodiment of a frame structure with a reduced number of pilots 1202 is shown in Since the number of pilot signals 1202 and their positions can be more freely allocated in 5G, the radio receiver 100 can provide greater throughput in 5G.
[0178] In at least some example embodiments, neural network 301 may be capable of operating using various reference signal configurations. During training, neural network 301 may learn to interpolate channel estimates over the various configurations for which neural network 301 is trained. Thus, manual programming of radio receiver 100 for different configurations may not be required.
[0179] In at least some example embodiments, neural network 301 may output a different number of bits depending on the modulation scheme used.
[0180] In at least some example embodiments, when the UE and the BS have MIMO antenna arrays, the neural network 301 may process spatial multiplexing. The UE scheduling information may be a vector or a matrix included in the data 510.
[0181] In at least some example embodiments, radio receiver 100 may process different UEs scheduled on adjacent resource blocks. Different UEs may have different constellations and reference signal configurations.
[0182] At least some example embodiments may simplify the implementation of radio receiver 100. Neural network 301 may learn to perform channel estimation, multi-antenna equalization, frequency offset (e.g., Doppler shift) estimation / compensation, and / or LLR estimation. Neural network 301 may be able to handle different reference signal configurations without manual programming. Neural network 301 may only require Rx data and ground truth symbols for training. Channel or SNR estimation may not be required.
[0183] At least some example embodiments may utilize neural network 301 at the physical layer while still being compliant with standards.
[0184] In at least some example embodiments, implementing the entire RX chain using a single neural network 301 can yield higher performance. Parallelization can be simplified. Complexity and power consumption can be reduced. This can be further improved by incorporating other parts of the receiver processing into the neural network 301, while still being able to differentiate and train the neural network 301 in an end-to-end manner. Using a high-performance neural network inference chip (such as a 1-bit architecture) can be beneficial.
[0185] In at least some example embodiments, training may only require simulation of the transmitter and channel. Reception can be learned from the data. Since the functionality can be learned from the training data, the amount of program code in radio receiver 100 can be reduced.
[0186] In some example embodiments, the time domain RX data is fed directly to the neural network 301, and the neural network 301 performs an FFT or similar operation. The FFT can be a fixed part of the neural network 301, and similar behavior can also be learned.
[0187] In some example embodiments, depthwise separable convolution may be performed to reduce the number of parameters and enable faster inference.
[0188] In some example embodiments, the radio receiver 100 may include a long short-term memory (LSTM) for storing channel information between TTIs.
[0189] In some example embodiments, the radio receiver 100 may be split and operated in multiple nodes, for example as a component of a combined multipoint receiver (U1CoMP).
[0190] In some example embodiments, neural network 301 may output detected symbols instead of LLRs by adjusting the last layer.
[0191] In some example embodiments, UE muting may be implemented to simultaneously receive from multiple UEs with flexible frequency allocations.
[0192] In some example embodiments, frequency blocks may be input to the neural network 301 rather than all sub-carrier frequencies.
[0193] Figure 16 An example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0194] exist Figure 16 In an example embodiment, simulation results of a 5G 2Rx Single-Input Multiple-Output (SIMO) receiver are presented with no interference, a mobile UE with random speed, and one pilot signal in time. Figure 16 The graph shows the coding bit error rate (BER) as a function of the signal-to-interference-and-noise ratio (SINR).
[0195] Curve 1501 corresponds to radio receiver 100, curve 1502 corresponds to a reference receiver, and curve 1503 corresponds to a reference receiver with full channel information. The reference receiver with full channel information can correspond to an ideal receiver because it has perfect knowledge of the channel. However, it may not be able to perform any type of interference suppression / cancellation or Doppler spread compensation.
[0196] Figure 17 An example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0197] exist Figure 17 In the example embodiment, simulation results of a 5G 2Rx SIMO receiver are presented, which has no interference, a mobile UE with random speed, and two pilot signals in time. Figure 17 The graph shows the coding bit error rate as a function of SINR.
[0198] Curve 1601 corresponds to the radio receiver 100 , curve 1602 corresponds to the reference receiver, and curve 1603 corresponds to the reference receiver with full channel information.
[0199] Figure 18 An example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0200] exist Figure 18 In this example, simulation results for a 5G 2×4 MIMO receiver are presented. Four pilot configurations include one or two pilot signals in time, and a randomly selected 3GPP channel model. Different channel models are used for training and validation. Figure 18 The graph shows the raw BER as a function of SINR.
[0201] Curve 1701 corresponds to the radio receiver 100 , curve 1702 corresponds to the reference receiver, and curve 1703 corresponds to the reference receiver with full channel information.
[0202] Figure 19 An example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0203] Figure 19 The diagram shows the Figure 18 Related simulated coding bit error rates as a function of SINR.
[0204] Curve 1801 corresponds to the radio receiver 100 , curve 1802 corresponds to the reference receiver, and curve 1803 corresponds to the reference receiver with full channel information.
[0205] Figure 20 An example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0206] exist Figure 20 In the example embodiments, simulation results of a 2RX SIMO downlink channel estimator are given, with one or two pilots in time and with interference. Figure 20 The graph shows the raw BER as a function of SINR.
[0207] Curve 1901 corresponds to the radio receiver 100 , curve 1902 corresponds to the reference receiver, and curve 1903 corresponds to the reference receiver with full channel information.
[0208] Figure 21 An example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0209] Figure 21 The diagram shows the Figure 20 Related simulated coding bit error rates as a function of SINR.
[0210] Curve 2001 corresponds to the radio receiver 100 , curve 2002 corresponds to the reference receiver, and curve 2003 corresponds to the reference receiver with full channel information.
[0211] Figure 22 An example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0212] exist Figure 22 In the example embodiments, simulation results of a 2RX SIMO radio receiver are given, with one or two pilot signals in time, and with interference. Figure 22 The graph shows the raw BER as a function of SINR.
[0213] Curve 2101 corresponds to the radio receiver 100 , curve 2102 corresponds to the reference receiver, and curve 2103 corresponds to the reference receiver with full channel information.
[0214] Figure 23 An example embodiment of the subject matter described herein is shown, which illustrates simulation results.
[0215] Figure 23 The diagram shows the Figure 22 Related simulated coding bit error rates as a function of SINR.
[0216] Curve 2201 corresponds to the radio receiver 100 , curve 2202 corresponds to the reference receiver, and curve 2203 corresponds to the reference receiver with full channel information.
[0217] An apparatus may include means for performing any aspect of the methods described herein. According to an example embodiment, the means include at least one processor and a memory including program code, the at least one processor and the program code being configured to cause the performance of any aspect of the methods when executed by the at least one processor.
[0218] The functions described herein may be performed at least in part by one or more computer program product components (such as software components). According to an example embodiment, the radio receiver 100 includes a processor configured by a program code that, when executed, performs the example embodiments of the described operations and functions. Alternatively or additionally, the functions described herein may be performed at least in part by one or more hardware logic components. By way of example and not limitation, illustrative types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), and graphics processing units (GPUs).
[0219] Any range or device value given herein may be expanded or modified without losing the effect sought. In addition, any exemplary embodiment may be combined with another exemplary embodiment unless expressly prohibited.
[0220] Although the subject matter has been described in language specific to structural features and / or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as examples of implementing the claims, and other equivalent features and acts are intended to be within the scope of the claims.
[0221] It should be understood that the benefits and advantages described above may relate to one or more exemplary embodiments. The exemplary embodiments are not limited to embodiments that solve any or all of the problems described, nor are they limited to embodiments that have any or all of the benefits and advantages described. It should be further understood that reference to "an" item may refer to one or more of these items.
[0222] Where appropriate, the steps of the methods described herein may be performed in any suitable order or concurrently. In addition, individual blocks may be removed from any method without departing from the spirit and scope of the subject matter described herein. Aspects of any of the above-described example embodiments may be combined with aspects of any other example embodiment described to form additional example embodiments without losing the desired effect.
[0223] The term "comprising" is used herein to mean including the identified methods, blocks or elements, but such blocks or elements do not include an exclusive list and the method or apparatus may include additional blocks or elements.
[0224] It should be understood that the above description is given by way of example only and that various modifications may be made by those skilled in the art. The above description, examples, and data provide a complete description of the structure and use of the example embodiments. Although various example embodiments have been described above with a certain degree of particularity or with reference to one or more individual example embodiments, those skilled in the art may make numerous modifications to the disclosed example embodiments without departing from the spirit or scope of this specification.
Claims
1. A radio receiver comprising: at least one processor; as well as at least one memory including computer program code; The at least one memory and the computer program code are configured to, with the at least one processor, cause the radio receiver to: obtaining a data array comprising a plurality of elements, wherein each element of the plurality of elements in the data array corresponds to a subcarrier of a plurality of subcarriers and a time slot in a time interval; obtaining a reference signal array representing a reference signal configuration applied during the time interval; Implementing neural networks; Inputting data into the neural network, wherein the data at least includes the data array and the reference signal array; wherein the reference signal array comprises a plurality of convolutional channels, wherein each of the plurality of convolutional channels in the reference signal array corresponds to a layer of a multiple-input multiple-output MIMO transmission; The neural network is configured to output an output array representing values of the plurality of elements in the data array based on the data, wherein the values comprise bits or symbols.
2. The radio receiver of claim 1 , wherein the neural network comprises a convolutional neural network.
3. The radio receiver according to claim 1 , wherein the reference signal array comprises a plurality of reference signals, wherein a position of each reference signal in the plurality of reference signals in the reference signal array indicates a subcarrier of the reference signal and a time slot of the reference signal.
4. The radio receiver of claim 3 , wherein the reference signal array further comprises: A preconfigured indicator value in each position of the reference signal array that does not include a reference signal.
5. The radio receiver according to any one of claims 1 to 4, wherein the neural network further comprises at least one residual block.
6. The radio receiver according to any one of claims 1 to 4, wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the radio receiver to: obtaining a frequency array representing subcarrier frequencies of the plurality of subcarriers; The data further includes the frequency array.
7. A radio receiver according to any one of claims 1 to 4, wherein the data comprises a plurality of convolution channels.
8. The radio receiver of claim 7, wherein at least one of the plurality of convolution channels of the data corresponds to the reference signal array. 9 . The radio receiver according to claim 6 , wherein at least one convolution channel among a plurality of convolution channels included in the data corresponds to the frequency array.
10. The radio receiver of any one of claims 1 to 4, wherein the data array comprises a plurality of convolution channels, and data from a plurality of antenna streams, wherein each convolution channel in the data array corresponds to an antenna stream in the plurality of antenna streams.
11. The radio receiver according to any one of claims 1 to 4, wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the radio receiver to: A subset of bits is extracted from each element of the output array based on a modulation scheme for the time interval and for the plurality of subcarriers.
12. The radio receiver according to any one of claims 1 to 4, wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the radio receiver to perform acquiring the data array by: receiving raw data using a plurality of samples during the time interval; and A Fourier transform is performed on the received raw data to generate the data array.
13. A client device comprising a radio receiver according to any one of claims 1 to 12.
14. A network node device comprising the radio receiver according to any one of claims 1 to 12.
15. A method for training a neural network of a radio receiver according to any one of claims 1 to 12, the method comprising: Obtaining a training input data set and a ground truth value corresponding to the training input data set; inputting the training input data set into the neural network, wherein the training input data set comprises a training data array having a plurality of elements, wherein each element of the plurality of elements in the training data array corresponds to a subcarrier of a plurality of subcarriers and a time slot in a time interval; receiving an estimated output of the training input data set from the neural network, the estimated output of the training input data set representing bit values of the plurality of elements in the training data array; extracting a subset of bits from each element of the estimated output based on a modulation scheme used for the training input data set; calculating a loss function based on the extracted bits and bits included in the ground truth; and At least one parameter of the neural network is adjusted according to the calculated loss function.
16. A computer program product comprising a program code, the program code being configured to perform the method according to claim 15 when the computer program product is executed on a computer.