RADIO RECEIVER
TECHNICAL FIELD
The present application generally relates to the field of wireless communications. In particular, the present application relates to a radio receiver device for wireless communication, and related methods and com puter programs.
BACKGROUND
Radio receiver algorithms may comprise blocks that are based on mathematical and statistical algo rithms. These algorithms may be developed and programmed manually, which may be labor intensive. For example, it requires large amounts of manual labor to implement dif ferent reference signal configurations. Receiver algo rithms designed this way may perform adequately for most channel conditions but may not give the best possible performance for any of the channels. It may also be difficult to estimate how algorithms developed based on theoretical channel conditions align with actual phys ical channel conditions.
SUMMARY
The scope of protection sought for various ex ample embodiments of the invention is set out by the independent claims. The example embodiments and fea tures, if any, described in this specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various example embodiments of the invention.
An example embodiment of a radio receiver com prises at least one processor and at least one memory comprising 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 re ceiver to: obtain a data array comprising a plurality of elements, wherein each element in the plurality of elements in the data array corresponds to a subcarrier in a plurality of subcarriers and to a timeslot in a time interval; obtain a reference signal array repre senting a reference signal configuration applied during the time interval; implement a neural network; input 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, based on the data, output an output array representing values of the plurality of elements in the data array, wherein the values comprise bits or symbols. The radio receiver may be able to, for example, receive data transmitted using various reference signal configurations.
An example embodiment of a radio receiver com prises means for performing: obtain a data array com prising a plurality of elements, wherein each element in the plurality of elements in the data array corre sponds to a subcarrier in a plurality of subcarriers and to a timeslot in a time interval; obtain a reference signal array representing a reference signal configura tion applied during the time interval; implement a neu ral network; input data into the neural network, wherein the data comprises at least the data array and the ref erence signal array; wherein the neural network is con figured to, based on the data, output an output array
representing values of the plurality of elements in the data array, wherein the values comprise bits or symbols.
In an example embodiment, alternatively or in addition to the above-described example embodiments, the neural network comprises a convolutional neural network. The radio receiver may be able to, for example, handle correlations and/or impairments in time and frequency via convolutional operations in the convolutional neural network.
In an example embodiment, alternatively or in addition to the above-described example embodiments, the reference signal array comprises a plurality of refer ence signals, wherein a location in the reference signal array of each reference signal in the plurality of ref erence signals indicates a subcarrier of the reference signal and a timeslot of the reference signal. The radio receiver may be able to, for example, interpolate chan nel estimates over various reference signal configura tions.
In an example embodiment, alternatively or in addition to the above-described example embodiments, the reference signal array further comprises a preconfigured indicator value in each location of the reference signal array not comprising a reference signal. The radio re ceiver may be able to, for example, ignore the elements in the reference signal array not comprising reference signals when performing channel estimation.
In an example embodiment, alternatively or in addition to the above-described example embodiments, the reference signal array comprises a plurality of convo lutional channels, wherein each convolutional channel
in the plurality of convolutional channels in the ref erence signal array corresponds to a layer of a multi ple-input and multiple-output, MIMO, transmission. The radio receiver may be able to, for example, utilize the reference signals for receiving a MIMO transmission.
In an example embodiment, alternatively or in addition to the above-described example embodiments, the neural network further comprises at least one residual block. The radio receiver may be able to, for example, receive data more efficiently.
In an example embodiment, alternatively or in addition to the above-described 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: obtain a frequency array representing subcarrier frequencies of the plurality of subcarriers; wherein the data further comprises the fre quency array. The radio receiver may be able to, for example, utilize physical properties of a wireless chan nel that depend on the used frequency band.
In an example embodiment, alternatively or in addition to the above-described example embodiments, at least one convolutional channel in the plurality of con volutional channels of the data corresponds to the ref erence signal array. The radio receiver may be able to, for example, input the reference signal array into the neural network with improved flexibility.
In an example embodiment, alternatively or in addition to the above-described example embodiments, at least one convolutional channel in the plurality of con volutional channels of the data corresponds to the fre quency array. The radio receiver may be able to, for
example, input the frequency array into the neural net work with improved flexibility.
In an example embodiment, alternatively or in addition to the above-described example embodiments, the data array comprises a plurality of convolutional chan nels and data from a plurality of antenna streams, wherein each convolutional channel in the data array corresponds to an antenna stream in the plurality of antenna streams. The radio receiver may be able to, for example, input the antenna streams into the neural net work with improved flexibility.
In an example embodiment, alternatively or in addition to the above-described 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 modu lation scheme used for the time interval and for the plurality of subcarriers. The radio receiver may be able to, for example, flexibly receive data using various modulation schemes.
In an example embodiment, alternatively or in addition to the above-described 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 the time interval; and per form a Fourier transform on the received raw data, pro ducing the data array. The radio receiver may be able to, for example, operation in a compatible fashion with OFDM-based technologies.
An example embodiment of a radio receiver com prises the radio receiver according to any of the above- described example embodiments.
An example embodiment of a network node device comprises the radio receiver according to any of the above-described example embodiments.
An example embodiment of a method for training the neural network of the radio receiver according to any of the above-described example embodiments com prises: obtaining a training input dataset and a ground truth corresponding to the training input dataset; in putting a training input dataset into the neural net work, wherein the training input dataset comprises a training data array comprising a plurality of elements, wherein each element in the plurality of elements in the training data array corresponds to a sub-carrier in a plurality of subcarriers and to a timeslot in a time interval; receiving an estimated output of the training input dataset from the neural network 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 dataset; computing a cost func tion based on the extracted bits and bits comprised in the ground truth; and adjusting at least one parameter of the neural network according to the computed cost function. The method may enable the neural network to be trained to function flexibly with various modulation schemes.
An example embodiment of a computer program product comprises program code configured to perform the
method according to any of the above example embodi ments, when the computer program product is executed on a computer.
DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the example em bodiments and constitute a part of this specification, illustrate example embodiments and together with the description help to explain the principles of the exam ple embodiments. In the drawings:
Fig. 1 illustrates an example embodiment of the subject matter described herein illustrating a radio receiver;
Fig. 2 illustrates a comparative example of the subject matter described herein illustrating block di agram of a radio receiver;
Fig. 3 illustrates an example embodiment of the subject matter described herein illustrating block di agram of a radio receiver comprising a neural network;
Fig. 4 illustrates a comparative example of the subject matter described herein illustrating block di agram of a radio receiver comprising a neural network for channel estimation;
Fig. 5 illustrates an example embodiment of the subject matter described herein illustrating data flow in a neural network;
Fig. 6 illustrates another example embodiment of the subject matter described herein illustrating data flow in a neural network configure for MIMO;
Fig. 7 illustrates another example embodiment of the subject matter described herein illustrating a
table of neural network parameters and a residual net work block;
Fig. 8 illustrates another example embodiment of the subject matter described herein illustrating a constellation diagram;
Fig. 9 illustrates another example embodiment of the subject matter described herein illustrating bit extraction;
Fig. 10 illustrates another example embodiment of the subject matter described herein illustrating data flow in neural network training;
Fig. 11 illustrates another example embodiment of the subject matter described herein illustrating data flow when using a trained neural network;
Fig. 12 illustrates another example embodiment of the subject matter described herein illustrating data flow in fine-tuning a trained neural network;
Fig. 13 illustrates a comparative example of the subject matter described herein illustrating re source allocation;
Fig. 14 illustrates another example embodiment of the subject matter described herein illustrating re source allocation;
Fig. 15 illustrates another example embodiment of the subject matter described herein illustrating re source allocation;
Fig. 16 illustrates another example embodiment of the subject matter described herein illustrating sim ulation results;
Fig. 17 illustrates another example embodiment of the subject matter described herein illustrating sim ulation results;
Fig. 18 illustrates another example embodiment of the subject matter described herein illustrating sim ulation results;
Fig. 19 illustrates another example embodiment of the subject matter described herein illustrating sim ulation results;
Fig. 20 illustrates another example embodiment of the subject matter described herein illustrating sim ulation results;
Fig. 21 illustrates another example embodiment of the subject matter described herein illustrating sim ulation results;
Fig. 22 illustrates another example embodiment of the subject matter described herein illustrating sim ulation results; and
Fig. 23 illustrates another example embodiment of the subject matter described herein illustrating sim ulation results.
Like reference numerals are used to designate like parts in the accompanying drawings.
DETAILED DESCRIPTION
Reference will now be made in detail to example embodiments, examples of which are illustrated in the accompanying drawings. The detailed description pro vided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present disclosure may be constructed or utilized. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and
sequences may be accomplished by different example em bodiments.
Fig. 1 is a block diagram of a radio receiver 100 configured in accordance with an example embodiment.
The radio receiver 100 may comprises one or more processors 101 and one or more memories 102 that comprise computer program code. The radio receiver 100 may also comprise at least one antenna port, as well as other elements, such as an input/output module (not shown in FIG. 1), and/or a communication interface (not shown in FIG. 1).
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 obtain a data array comprising a plurality of elements, wherein each element in the plurality of elements in the data array corre sponds to a subcarrier in a plurality of subcarriers and to a timeslot in a time interval.
The plurality of subcarriers may correspond to, for example, subcarriers of a code/resource block.
The time interval may correspond to, for exam ple, a transmission time interval (TTI).
The data may be transmitted using, for example, orthogonal frequency-division multiplexing (OFDM). Each subcarrier in the plurality of subcarriers may corre spond to an OFDM subcarrier.
The data array may correspond to, for example a code block.
Each timeslot may correspond to one OFDM symbol in time domain.
Each element in the plurality of elements may correspond to, for example, a symbol in a symbol con stellation. The symbol constellation may depend on the modulation scheme used for the received data.
The at least one memory 102 and the computer program code may be further configured to, with the at least one processor 101, cause the radio receiver 100 to obtain a reference signal array representing a ref erence signal configuration applied during the time in terval.
The at least one memory 102 and the computer program code may be further configured to, with the at least one processor 101, cause the radio receiver 100 to implement a neural network.
The neural network may have been trained as disclosed herein.
The neural network may comprise, for example, a convolutional neural network. Alternatively, the neu ral network may be implemented using, for example, at tention mechanisms and/or transformer neural networks.
The at least one memory 102 and the computer program code may be further configured to, with the at least one processor 101, cause the radio receiver 100 to input data into the neural network, wherein the data comprises at least the data array and the reference signal array.
The data may further comprise any other infor mation as disclosed herein.
The data may comprise a three-dimensional ar ray. A first dimension of the data may correspond to frequency, a second dimension of the data may correspond to time, and a third dimension of the data may correspond
to convolutional channel. The convolutional channel di mension of the data or of any other array disclosed herein may also be referred to as depth dimension or channel dimension. The third dimension of the data may correspond to different types of data.
The neural network may be configured to, based on the data, output an output array representing values of the plurality of elements in the data array, wherein the values comprise bits or symbols.
The output array may comprise, for example, log likelihood ratios (LLRs) or raw bit values.
The radio receiver may perform the obtaining the data array by, for example, receiving raw data using a plurality of samples during the time interval and performing a Fourier transform on the received raw data, producing the data array.
Although the radio receiver 100 may be depicted to comprise only one processor 101, the radio receiver
100 may comprise more processors. In an example embod iment, the memory 102 is capable of storing instruc tions, such as an operating system and/or various ap plications.
Furthermore, the processor 101 may be capable of executing the stored instructions. In an example em bodiment, the processor 101 may be embodied as a multi core processor, a single core processor, or a combina tion 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 various processing devices, such as a coprocessor, a microprocessor, a con troller, a digital signal processor (DSP), a processing
circuitry with or without an accompanying DSP, or var ious other processing devices including integrated cir cuits such as, for example, an application specific in tegrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accel erator, a special-purpose computer chip, or the like. In an example embodiment, the processor 101 may be con figured to execute hard-coded functionality. In an ex ample embodiment, the processor 101 is embodied as an executor of software instructions, wherein the instruc tions may specifically configure the processor 101 to perform the algorithms and/or operations described herein when the instructions are executed.
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 ex ample, the memory 102 may be embodied as semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory), etc.).
The radio receiver 100 may be embodied in e.g. a mobile phone, a smartphone, a tablet computer, a smart watch, or any hand-held or portable device or any other apparatus, such as a vehicle, a robot, or a repeater.
The radio receiver 100 may be embodied in, for example, a network node device, such as a base station (BS). The base station may comprise, for example, a gNB or any such device providing an air interface for client devices to connect to the wireless network via wireless transmissions .
When the radio receiver 100 is configured to implement some functionality, some component and/or com ponents of the radio receiver 100, such as the at least one processor 101 and/or the memory 102, may be config ured to implement this functionality. Furthermore, when the at least one processor 101 is configured to imple ment some functionality, this functionality may be im plemented using program code comprised, for example, 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 config ured to, with the at least one processor 101, cause the radio receiver 100 to perform that operation.
Some terminology used herein may follow the naming scheme of 4G or 5G technology in its current form. However, this terminology should not be considered limiting, and the terminology may change over time. Thus, the following discussion regarding any example embodiment may also apply to other technologies.
Fig. 2 illustrates a comparative example of the subject matter described herein illustrating block di agram of a radio receiver.
The radio receiver may be electrically coupled to one or more antennas 201. The radio receiver may obtain raw received data 202 form the one or more an tennas 201. The radio receiver may be configured to remove 203 a cyclic prefix (CP) from the raw received data 202. The radio receiver 200 may be configured to perform a Fourier transform, using for example fast Fou rier transform (FFT), on the raw received data 202.
The radio receiver may be configured to perform channel estimation 205 and interpolation 206 based on reference signal configuration.
The radio receiver may be configured to perform equalization 207 based on the Fourier transformed data and the channel estimates. After equalization 207, the radio receiver 200 may perform log likely hood ratio (LLR) estimation 208. Based on the LLR, the radio re ceiver 200 may decode 209 the bit values 210.
Fig. 3 illustrates an example embodiment of the subject matter described herein illustrating block di agram of a radio receiver 100.
As can be seen by comparing the example embod iment of Fig. 3 to the comparative example of Fig. 2, The neural network 301 may replace, for example, the functional blocks 205 - 208.
The neural network 301 may take in the par tially processed received waveform and output the in formation as, for example, the log-likelihood ratios (LLRs) or directly the decoded bits. In the former case, a separate decoder 209 may be required to process the neural network output to obtain the information bits 210. For example, low-density parity check (LDPC) de coder may be needed to obtain 5G uplink shared channel (UL-SCH) data. The neural network 301 can be trained to perform at least some functionality of the radio re ceiver 100 by training with an appropriate training al gorithm and data.
The structure of the radio receiver 100 may allow fast and efficient implementation of the radio receiver 100 using neural network chips and/or AI ac-
celerators. It is also likely that under some circum stances, such as under particular channel conditions and/or with very sparse reference signal configurations, a neural network radio receiver will result in improved performance.
Many radio transmitters and receivers are based on orthogonal frequency-division multiplexing, where the symbols are modulated onto orthogonal subcarriers. For instance, in 5G systems, OFDM is used both in the uplink (UL) and in the downlink (DL), such that it is possible to multiplex different users into adjacent sub carrier blocks (orthogonal frequency division multiple access, OFDMA).
The neural network 301 may implement channel estimation 205 (subcarrier demapping), equalization 207 and LLR estimation 208 (bit detection). Moreover, the radio receiver 100 may be able to handle flexible de modulation reference signal (DMRS) configurations, multi-layer MIMO, and various modulation schemes, such as quadrature phase shift keying (QPSK) or quadrature amplitude modulation (QAM).
The neural network 301 may be implemented using a convolutional neural network (CNN). The neural network 301 may take in the received data after FFT 204 and output LLRs or bit values. The CNN may be two dimensional and operate over the time and frequency axis. The CNN can simultaneously consider all subcarriers and symbols in a transmission time interval (TTI). This way, the convolutional filters in the CNN can implicitly handle correlations and/or impairments in time and frequency, which stem from the antenna configuration, multipath propagation, and mobility.
Sparse pilot symbols may only provide local information about the channel. It may be beneficial to allow the neural network to utilize the unknown data and its known distribution for improved LLR estimation fur ther away from the pilot locations. Thus, the LLR es timation may be improved when both data and pilot sig nals are input to the neural network in a coherent fash ion. This may allow the neural network to utilize both for carrying out LLR estimation. For example, the neural network may learn some version of an advanced iterative receiver scheme.
Fig. 4 illustrates a comparative example of the subject matter described herein illustrating block di agram of a radio receiver.
In the comparative example of Fig. 4, the chan nel estimation 205 and the interpolation 206 are re placed with a neural network channel estimator 401. The channel estimate can be combined with the Fourier trans formed data in equalized and combiner 402.
Fig. 5 illustrates an example embodiment of the subject matter described herein illustrating data flow in a neural network.
The radio receiver 100 may be configured to combine various information sources into the data 510. For example, the radio receiver 100 may concatenate 505 various information sources to form the data 510. After the concatenation 505, the various information sources may correspond to convolutional channels of the data 510. Thus, the information sources 501 - 504 may be concatenated in the depth dimension of the data 510.
The data 510 may also be referred to as neural network input data or similar.
One-dimensional vectors and two-dimensional matrices may be expanded to three-dimensional arrays. Thus, a single three-dimensional array may be formed as the data 510. The data 510 may be fed into the neural network 301.
The data 510 may comprise the data array 501. The data array 501 may be received Fourier transformed data. The data array 501 may be obtained as the output of FFT 204 in the example embodiment of Fig. 3.
The data array 501 may be represented as a three-dimensional array with dimensions iVfreq (number of subcarriers in the plurality of subcarriers) x Ntime (number of timeslots in the time interval) x iVant (the number of antenna streams). Ntime may be, for example, 14 in 5G.
The at least one memory and the computer pro gram code may be further configured to, with the at least one processor, cause the radio receiver 100 to obtain a reference signal array 502 representing a ref erence signal configuration applied during the time in terval. The data 510 may further comprise the reference signal array 502.
The reference signal array 502 may represent reference signals (pilot configuration) that are applied during the time interval. The reference signal array 502 may be used for channel estimation. For example, a sin gle user case, the dimensions of the reference signal array 502 may be iVfreq X Ntime .
The reference signal array 502 may comprise a plurality of reference signals, wherein a location in the reference signal array of each reference signal in
the plurality of reference signals indicates a subcar rier of the reference signal and a timeslot of the ref erence signal. For example, in the example embodiment of Fig. 5, the reference signal array 502 comprises two reference signals.
The reference signal array 502 may further com prise a preconfigured indicator value in each location of the reference signal array 502 not comprising a ref erence signal. The preconfigured indicator value may indicate that the corresponding element of the reference signal array 502 does not comprise a reference signal. For example, in the example embodiment of Fig. 5, the reference signal array 502 comprise zeros as the pre configured indicator values.
An element of the reference signal array 502 may be non-zero if the corresponding subcarrier and timeslot is a reference signal. The values of the non zero elements may be filled with the reference signal values.
For MIMO, the reference signa array 502 may be three-dimensional. Reference signal configurations for each MIMO channel using the same subcarrier frequency can be stacked in the depth dimension.
The at least one memory and the computer pro gram code may be further configured to, with the at least one processor, cause the radio receiver to obtain a frequency array 503 representing subcarrier frequen cies of the plurality of subcarriers. The data 510 may further comprise the frequency array 503.
By feeding the frequencies of the subcarriers to the neural network 301, it may also be possible to process one time interval in multiple blocks over the
frequency axis. This approach can be used to limit the size of the neural network 301 if computational re sources of radio receiver 100 are not sufficient to process whole time interval at once. Further, the phys ical properties of a wireless channel can depend on the frequency band. Thus, it may also be beneficial to allow the neural network 301 to utilize this information.
Dimensions of the frequency array 503 may be iVfreq X 1· The frequency array 503 may comprise a vector representing subcarrier frequencies. This may provide information about the subcarrier frequencies for the neural network 301. This may allow the network to spe cialize some lower level filters to act differently based on the subcarrier frequency. The frequency array 503 may also add the capability to process any part of the frequencies separately, for instance because of hardware or load requirements.
The data may comprise a plurality of convolu tional channels.
At least one convolutional channel in the plu rality of convolutional channels of the data may corre spond to the reference signal array.
At least one convolutional channel in the plu rality of convolutional channels of the data may corre spond to the frequency array.
The data 510 may further comprise other infor mation 504. The other information 504 may comprise, for example, information about the encoding, UE identifier, UE scheduling information etc.
After the concatenation 505, the dimensions of the data 510 may be iVfreq xNtime xiVch, where iVch is the num-
ber of convolutional channels. The number of convolu tional channels may also be referred to as depth. Thus, after the concatenation 505, different data types, such as the data array 501, the reference signal array 502, and the frequency array 503, may be stacked in the con volutional channel / depth dimension of the data 510.
The neural network 301 may comprise at least one two-dimensional convolutional layer operating in time and frequency directions. The neural network 301 may comprise a plurality of such convolutional layers.
Each convolutional layer in the neural network 301 may comprise k filters. The depth of each filter may be equal to the depth of the input of that layer. For example, the depth of each filter in the first layer of the neural network 301 may be Nc^. Thus, when each of the k filters is convoluted with the data 510 in the frequency and time dimensions, a new three-dimensional array 506 of size iVfreq xNtime xk may be produced.
Each filter in the neural network 301 may be, for example, of size 3x3 or of any other size.
The neural network 301 may comprise, for exam ple 10 - 20 convolutional layers.
In the convolution operations of the neural network 301 zero padding may be used. Alternative pad ding schemes, such as period padding, may also be used. In some cases, it may be beneficial to use such a padding that the Nfreq and Ntime dimensions remain constant through the neural network 301.
In the convolution operations of the neural network 301, after two-dimensional convolutions in the frequency and time dimensions, the results may be summed over the convolutional channel direction.
Alternatively or additionally, other type of convolution operations, such as depth wise separable convolution, may be implemented in the neural network 301.
The neural network 301 may further comprise nonlinearity, such as Rectified Linear Unit (ReLU), and possible normalization, such as batch normalization dur ing training. Each convolutional layer in the neural network 301 may comprise a ReLU and/or other nonlinear ity.
Each layer in the neural network 301 may com prise distinct weights. The weights may correspond to the elements of the filters. Weight may also be referred to as parameter, model parameter, or similar.
Convolutions may make it possible to handle correlations and/or impairments in time and frequency due to, for example, antenna configuration and mobility of UE (Doppler shift/spread). Convolutions may also im prove interpolation of channel information over the time interval, since the channel estimates should be inter polated over those subcarriers and symbols where the actual data symbols are transmitted.
The neural network 301 may further comprise at least one residual block.
The output of the final convolutional layer can be fed to a lxl convolution that combines the output convolutional channels from two-dimensional convolu tional layers producing bit LLRs 508. The lxl convolu tional layer may have NMm0 X Nbit output channels, where ^MIMO is the number of MIMO layers and iVbit is the maximum number of bits per symbol. For example, for support up to 256QAM, iVbit = 8.
The output of the neural network 301 may be reshaped to Nfreq x Ntime x NMIM0 x Nbit elements and each el ement can be fed into the sigmoid function. The sigmoid function can output the output the probability 201 of each bit being 1. The output array may comprise these probabilities .
Since the outputs of the sigmoid layer are the bit probabilities, the input to the sigmoid layer cor responds to LLRs with a possible multiplication with —1 depending on the used convention. In other words, the output of the lxl convolution layer before the sigmoid may give the corresponding bit LLRs.
In some example embodiments, the neural network 301 may be configured to output bit LLRs 508 in the output array. In some example embodiments, the neural network 301 may be configured to output bit probabili ties 509 in the output array. In some example embodi ments, the neural network 301 may be configured to out put bit values in the output array.
Any operations performed by the neural network 301 can be in complex or real domain. This may depend on, for example, the hardware the neural network 301 is implemented on. The disclosure herein may assume complex operations as the data array 501 may be a Fourier trans formed signal. For an implementation using real opera tions, the real and imaginary parts of a complex number can be fed to convolutional channels of the neural net work 301. In such a case, the number of convolutional channels in the data 510 may be doubled compared to the complex case.
The neural network 301, may process a whole TTI / code block as a single pass through the neural network
301. Thus, the neural network 301 can implicitly learn channel estimation and interpolation over the whole TTI. Moreover, processing the whole code block may be bene ficial for the final decoding stage, since this may result in more accurate signal-to-noise ratio (SNR) es timation.
Fig. 6 illustrates an example embodiment of the subject matter described herein illustrating flow data in a neural network configured for multiple-input and multiple-output (MIMO).
The data array 501 may comprise a plurality of convolutional channels and data from a plurality of an tenna streams, wherein each convolutional channel in the data array 501 corresponds to an antenna stream in the plurality of antenna streams. The convolutional channels may also be referred to as input channels.
The reference signal array 502 may comprise a plurality of convolutional channels, wherein each con volutional channel in the plurality of convolutional channels in the reference signal array 502 corresponds to a layer of a MIMO transmission. The layers may be, for example, from a single user MIMO or mixed single- and multi-user MIMO.
In the example embodiment of Fig. 6, the data array 501 comprises two convolutional channels. Each convolutional channel may correspond to a separate an tenna stream. Furthermore, the reference signal array 502 comprises two convolutional channels. Each convolu tional channel may correspond to a MIMO layer.
The antenna streams of the data array 510 and the MIMO layers of the reference signal array 502 may be concatenated into the data 510.
The neural network 301 may output LLRs 508 for each MIMO layer based on the data 510.
The example embodiment of Fig. 6 may apply 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.
Fig. 7 illustrates another example embodiment of the subject matter described herein illustrating a table 750 of neural network parameters and a residual network block 753.
In the example embodiment of Fig. 7, a data array 501, a reference signal array 502, and a channel estimate array 504 are concatenated to form the data 510. The data 510 is split into real and imaginary parts, which produces an array 751 comprising double the number of convolutional channels compared to the complex data 510.
The neural network of the example embodiment of Fig. 7 comprises a first convolutional layer 752, nine residual network blocks 753, and a lxl convolu tional layer 754. The lxl convolutional layer 754 out puts the LLRs 508.
In the example embodiment of Fig. 7, each re sidual network block 753 comprises two batch normaliza tion (BN) blocks 761, two ReLU blocks 762, two separable two-dimensional convolutional blocks 763, and two lxl two-dimensional convolutional blocks 764. The input 760 of the residual network block 753 is fed to a first BN block 761, the output of the first BN block 761 is fed into a first the ReLU block 762, the output of the first ReLU block 762 block is fed into a first separable two- dimensional convolutional block 763, and the output of
the first separable two-dimensional convolutional block 763 is fed into a first lxl convolutional block 764. The process is then repeated for the output of the first lxl convolutional block 764 using a second BN block 761, a second ReLU block 762, a second separable two-dimen sional convolutional block 763, and a second lxl two- dimensional convolutional block 764. The output of the second lxl two-dimensional convolutional block 764 is then summed 765 with the input 760, producing the output 766 of the residual network block 753.
Fig. 8 illustrates another example embodiment of the subject matter described herein illustrating a constellation diagram.
The embodiment of Fig. 8 illustrates how bit values can be extracted from a symbol in a 16 quadrature amplitude modulation (QAM) constellation. The first two bit values b1b2 can be determined by the quarter of the complex plane in which the symbol lies. For example, in the embodiment of Fig. 8, the symbol is in the first quarter 701 of the complex plane.
The next two bit values b3b4 can be determined by dividing the first quarter 701 again into four quar ters and choosing the quarter 702 in which the symbol lies.
Higher order QAM constellations may be con structed in a hierarchical manner by following a similar process. For example, in 32QAM, the quarter 702 may be divided again into quarters to determine the next two bits values and so on for higher order QAM constella tions.
Fig. 9 illustrates another example embodiment of the subject matter described herein illustrating bit extraction.
According to an example embodiment, the at least one memory and the computer program code are fur ther 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 a modu lation scheme used for the time interval and for the plurality of subcarriers.
The radio receiver 100 may extract certain the subset of bits by, for example, masking certain bits. This way, the radio receiver may construct the final bit stream according to the used modulation scheme.
For example, if 2nQAM is used, the radio re ceiver 100 may extract n bits. The extracted bits may comprise n first bits of each element of the output ar ray.
For example, if QPSK or 4QAM is used, the radio receiver 100 may extract the first two bits 802 as il lustrated in the example embodiment of Fig. 9.
On the other hand, if 16QAM is used, the radio receiver 100 may extract the first four bits 801 as illustrated in the example embodiment of Fig. 9.
The subset of bits can be extracted during the use of the radio receiver 100 and/or during the training of the neural network 301. The neural network can there fore learn to map the different bit output nodes into the different hierarchical quartiles of the constella tion. Thus, the neural network 301 may be trained to function with various different modulation schemes.
Fig. 10 illustrates another example embodiment of the subject matter described herein illustrating data flow in neural network training.
According to an embodiment, a method for train ing a neural network for the radio receiver comprises obtaining a training input dataset and a ground truth corresponding to the training input dataset.
The training input dataset may be part of a plurality of training data records. Each such training data record may be used for training the neural network.
The method may further comprise inputting a training input dataset into the neural network. The training input dataset may comprise a training data ar ray comprising a plurality of elements, wherein each element in the plurality of elements in the training data array corresponds to a subcarrier in the plurality of subcarriers and to a timeslot in the time interval.
The input training dataset may comprise, for example, simulated data 901. The simulated data 901 may be generated using, for example, link-level simulator. The simulated data 901 may be generated by simulating transmitter-receiver chain and storing sent encoded bits (for ground truth), received signal and other relevant information such as reference signal configurations and parameters.
At the start of the training, the neural net work 301 may be configured with random parameters 908.
The simulated data 901 may be fed into the neural network. This may be referred to as model forward pass 902.
The method may further comprise receiving an estimated output of the training input dataset from the
neural network representing bit values of the plurality of elements in the training data array.
The estimated output may comprise the estimated bit values 903 for the input training dataset.
The method may further comprise extracting a subset of bits from each element of the estimated output based on a modulation scheme used for the training input dataset. The bits may be extracted, for example, in a manner disclosed herein. The bits may be extracted, for example, in a similar manner as in the example embodi ment of Fig. 9. Since the bits are extracted based on the modulation scheme used, the neural network 301 may be trained to function with various modulation schemes.
The method may further comprise computing a cost function based on the extracted bits and bits com prised in the ground truth.
The cost function may be computed by, for ex ample, comparing the extracted bit values 903 to the ground truth bit values 904. The ground truth bit values 904 may be obtained from a training dataset. The cost function 905 may comprise, for example, the cross-en tropy loss between the ground truth bits 904 and ex tracted bits 903.
The method may further comprise adjusting at least one parameter of the neural network according to the computed cost function. The at least one parameter of the neural network may comprise, for example, at least one weights of the neural network 301.
The adjustment of the at least one parameter may be referred to as backward pass 906. The parameters may be adjusted using, for example, stochastic gradient
decent (SGD) or its extensions (e.g. Adam optimizer) and backpropagation . This may output trained parameters 907.
The above description of the training process may correspond only to part of the training process. The parameters of the neural network 301 may be adjusted in an iterative fashion, whereby the forward pass 902 is performed after each adjustment. Based on how the pre vious parameter adjustment changes the value of the loss function 905, further adjustments can be deduced using, for example, SGD. Such iteration of the parameters can be continued until, for example, the loss function reaches a preconfigured threshold or until some other condition for the performance of the neural network 301 is reached.
The training may be performed by any computing device, such as a computer. For example, the training can be performed in the cloud with simulated or real data collected from the BS. No ground truth channel information may be needed for training, only the re ceived RX signals and ground truth bits may be required.
Any disclosure herein in relation to the data 510 may apply also to the training input dataset.
The training input dataset may further comprise a reference signal array. The reference signal array may comprise a plurality of reference signals, wherein a location in the reference signal array of each reference signal in the plurality of reference signals indicates a subcarrier of the reference signal and a timeslot of the reference signal. The reference signal array may further comprise a preconfigured indicator value in each location of the reference signal array not comprising a
reference signal. The reference signal array may com prise a plurality of convolutional channels, wherein each convolutional channel in the plurality of convolu tional channels in the reference signal array corre sponds to a layer of a MIMO transmission.
The training input dataset may further comprise a frequency array representing subcarrier frequencies of the plurality of subcarriers.
The training input dataset may comprise a plu rality of convolutional channels. At least one convolu tional channel in the plurality of convolutional chan nels of the dataset corresponds to the reference signal array. At least one convolutional channel in the plu rality of convolutional channels of the training input dataset may correspond to the frequency array. The data array may comprise a plurality of convolutional channels and data from a plurality of antenna streams. Each con volutional channel in the data array may correspond to an antenna stream in the plurality of antenna streams.
Fig. 11 illustrates another example embodiment of the subject matter described herein illustrating data flow when using a trained neural network.
The output of the training procedure may be the trained model parameters 907. These may also be referred to as a simulation-trained model. This model can be used in production as shown in the example embodiment of Fig. 11.
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 manner. Using the
trained model parameters 907 and the data 510, the neu ral network 301 can output the output dataset comprising the estimated bit values 201.
Fig. 12 illustrates another example embodiment of the subject matter described herein illustrating data flow in fine-tuning a trained neural network.
The trained model parameters 907 may be fine- tuned for specific location or situation after the training has been performed. The fine-tuning may be per formed using, for example, data collected from the field. For the fine-tuning, the ground truth 1102 can be obtained via, for example, hybrid automatic repeat request (HARQ) resubmissions. This may allow obtaining training data also for cases where the decoding ini tially fails.
Fine-tuning of the parameters of the neural network 301 may be performed similarly to the training. The simulation-trained model parameters 907 may function as the starting point for fine-tuning. In the fine- tuning, recorded data 1101 may be used in place of the simulated data 901 used in training and the ground truth 1102 may be obtained via HARQ. The resulting parameters are fine-tuned parameters 1103.
Fig. 13 illustrates a comparative example of the subject matter described herein illustrating re source allocation.
The comparative example of Fig. 13 illustrates a frame structure comprising data resource elements 1201 and pilot signal resource elements 1202. The frame structure comprises two pilot signals 1202 separated in time for every subcarrier. This type of frame structure
may be implemented in, for example, 4G physical uplink shared channel (PUSCH).
Fig. 14 illustrates another example embodiment of the subject matter described herein illustrating re source allocation.
The example embodiment of Fig. 14 illustrates a frame structure comprising data resource elements 1201, pilot signal resource elements 1202, and other resource elements 1203. This type of frame structure may be implemented in, for example, 5G PUSCH. As can be seen by comparing the example embodiment of Fig. 14 to the comparative example of Fig. 13, in 5G PUSCH frame struc ture, the number of pilot signals 1202, and their loca tion may be allocated more freely compared to 4G.
Fig. 15 illustrates another example embodiment of the subject matter described herein illustrating re source allocation.
The neural network 301 of the receiver 100 may learn to estimate the channel more efficiently also from data symbol distributions. Thus, the number of resource elements allocated to pilot signals 1202 may be reduced, which may result in greater throughput. An example em bodiment of frame structure with a reduced number of pilots 1202 is illustrated in Fig. 15. Since the number of pilot signals 1202 and their location may be allo cated more freely in 5G, the radio receiver 100 may be able to provide greater throughput in 5G.
At least in some example embodiments, the neu ral network 301 may be able to operate with various reference signal configurations. During the training, the neural network 301 can learn to interpolate channel estimates over various configurations the neural network
301 is trained with. Thus, there may be no need to manually program the radio receiver 100 for different configurations .
In at least some example embodiments, the neu ral network 301 can output a different number of bits, depending on the used modulation schemes.
In at least some example embodiments, the neu ral network 301 can handle spatial multiplexing when the UEs and the BS have MIMO antenna arrays. UE scheduling information can be a vector or a matrix comprised in the data 510.
In at least some example embodiments, the radio receiver 100 can process different UEs that have been scheduled on adjacent resource blocks. Different UEs are likely to have different constellations and reference signal configurations.
At least some example embodiments may simplify the implementation of the radio receiver 100. The neural network 301 can learn to perform channel estimation, multi-antenna equalization, frequency offset (e.g. Dop pler shift) estimation/compensation, and/or LLR estima tion. The neural network 301 may be able to handle dif ferent reference signal configurations without the need to program them manually. The neural network 301 may require only Rx data and ground truth symbols for train ing. There may be no need for channel or SNR estimates.
At least some example embodiments may utilize the neural network 301 on the physical layer while still being standard-compliant.
In at least some example embodiments, imple menting the whole RX chain with one neural network 301 may result in greater performance. Parallelization may
be straightforward. Complexity and power consumption may be reduced. This may be further improved by incorporat ing other parts of receiver processing into the neural network 301, while still being able to differentiate and train the neural network 301 in an end-to-end fashion. It may be beneficial to use high-performance neural net work inference chips, such as 1-bit architectures.
In at least some example embodiments, the training may require only a simulation of a transmitter and a channel. Receiving may be learned from the data. Amount of program code in the radio receiver 100 may be reduced, since functionality can be learned from train ing data.
In some example embodiments, time domain RX data is fed to the neural network 301 directly and neural network 301 performs FFT or similar operation. FFT can be a fixed part of the neural network 301 or similar behavior may be learned.
In some example embodiments, depth-wise sepa rable convolutions may be performed for reduced number of parameters and faster inference.
In some example embodiments, the radio receiver 100 may comprise long short-term memory (LSTM) for stor ing channel information between TTIs.
In some example embodiments, the radio receiver 100 can be split and run in multiple nodes as, for example, the components of combined multipoint receiver (UlCoMP).
In some example embodiments, the neural network 301 can output detected symbols instead of LLRs by ad justing the last layer.
In some example embodiments, a UE mask can be implemented for receiving simultaneously from multiple UEs with flexible frequency assignment.
In some example embodiments, blocks of fre quencies can be input to the neural network 301 instead of all subcarrier frequencies.
Fig. 16 illustrates an example embodiment of the subject matter described herein illustrating simu lation results.
In the example embodiment of Fig. 16, simula tion results are presented for 5G 2Rx single-input and multiple-output (SIMO) receiver, with no interference, with mobile UEs with random speed, and with one pilot signal in time. The plot of Fig. 16 illustrates the coded bit error rate (BER) as a function of the signal- to-interference-plus-noise ratio (SINR).
Curve 1501 correspond to the radio receiver 100, curve 1502 correspond to a reference receiver, and curve 1503 corresponds to a reference receiver with full channel information. The reference receiver with full channel information may correspond to an ideal receiver in the sense that it knows the channel perfectly. How ever, it may not be able to perform any type of inter ference rejection/cancellation or Doppler spread com pensation.
Fig. 17 illustrates an example embodiment of the subject matter described herein illustrating simu lation results.
In the example embodiment of Fig. 17, simula tion results are presented for 5G 2Rx SIMO receiver, with no interference, with mobile UEs with random speed,
and with two pilot signals in time. The plot of Fig. 17 illustrates the coded BER as a function of the SINR.
Curve 1601 correspond to the radio receiver 100, curve 1602 correspond to a reference receiver, and curve 1603 corresponds to a reference receiver with full channel information.
Fig. 18 illustrates an example embodiment of the subject matter described herein illustrating simu lation results.
In the example embodiment of Fig. 18, simula tion results are presented for 5G 2x4 MIMO receiver, with four pilot configurations comprising one or two pilot signals in time, and with 3GPP channel models chosen randomly. Different channel models were used for training and validation. The plot of Fig. 18 illustrates the raw BER as a function of the SINR.
Curve 1701 correspond to the radio receiver 100, curve 1702 correspond to a reference receiver, and curve 1703 corresponds to a reference receiver with full channel information.
Fig. 19 illustrates an example embodiment of the subject matter described herein illustrating simu lation results.
The plot of Fig. 19 illustrates the coded BER as a function of the SINR for the simulation described above in relation to Fig. 18.
Curve 1801 correspond to the radio receiver 100, curve 1802 correspond to a reference receiver, and curve 1803 corresponds to a reference receiver with full channel information.
Fig. 20 illustrates an example embodiment of the subject matter described herein illustrating simu lation results.
In the example embodiment of Fig. 20, simula tion results are presented for 2RX SIMO downlink channel estimator, with one or two pilots in time, and with interference. The plot of Fig. 20 illustrates the raw BER as a function of the SINR.
Curve 1901 correspond to the radio receiver 100, curve 1902 correspond to a reference receiver, and curve 1903 corresponds to a reference receiver with full channel information.
Fig. 21 illustrates an example embodiment of the subject matter described herein illustrating simu lation results.
The plot of Fig. 21 illustrates the coded BER as a function of the SINR for the simulation described above in relation to Fig. 20.
Curve 2001 correspond to the radio receiver 100, curve 2002 correspond to a reference receiver, and curve 2003 corresponds to a reference receiver with full channel information.
Fig. 22 illustrates an example embodiment of the subject matter described herein illustrating simu lation results.
In the example embodiment of Fig. 22, simula tion results are presented for 2RX SIMO radio receiver, with one or two pilot signals in time, and with inter ference. The plot of Fig. 22 illustrates the raw BER as a function of the SINR.
Curve 2101 correspond to the radio receiver 100, curve 2102 correspond to a reference receiver, and
curve 2103 corresponds to a reference receiver with full channel information.
Fig. 23 illustrates an example embodiment of the subject matter described herein illustrating simu lation results.
The plot of Fig. 23 illustrates the coded BER as a function of the SINR for the simulation described above in relation to Fig. 22.
Curve 2201 correspond to the radio receiver 100, curve 2202 correspond to a reference receiver, and curve 2203 corresponds to a reference receiver with full channel information.
An apparatus may comprise means for performing any aspect of the method(s) described herein. According to an example embodiment, the means comprises at least one processor, and memory comprising program code, the at least one processor, and program code configured to, when executed by the at least one processor, cause per formance of any aspect of the method.
The functionality described herein can be per formed, at least in part, by one or more computer program product components such as software components. Accord ing to an example embodiment, the radio receiver 100 comprises a processor configured by the program code when executed to execute the example embodiments of the operations and functionality described. Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs),
Application-specific Integrated Circuits (ASICs), Ap plication-specific Standard Products (ASSPs), System- on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), and Graphics Processing Units (GPUs).
Any range or device value given herein may be extended or altered without losing the effect sought. Also any example embodiment may be combined with another example embodiment unless explicitly disallowed.
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 equiv alent features and acts are intended to be within the scope of the claims.
It will be understood that the benefits and advantages described above may relate to one example embodiment or may relate to several example embodiments. The example embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. It will further be understood that reference to 'an' item may refer to one or more of those items.
The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter de scribed herein. Aspects of any of the example embodi ments described above may be combined with aspects of
any of the other example embodiments described to form further example embodiments without losing the effect sought.
The term 'comprising' is used herein to mean including the method, blocks or elements identified, but that such blocks or elements do not comprise an exclu sive list and a method or apparatus may contain addi tional blocks or elements.
It will be understood that the above descrip- tion is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples and data provide a complete description of the structure and use of exem plary embodiments. Although various example embodiments have been described above with a certain degree of par ticularity, or with reference to one or more individual example embodiments, those skilled in the art could make numerous alterations to the disclosed example embodi ments without departing from the spirit or scope of this specification.