Neural network augmentation for wireless channel estimation and tracking

A method performed by a communication device includes generating an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device. The method also includes inferring, with a neural network, a residual of the initial channel estimate of the current time step. The method further includes updating the initial channel estimate of the current time step based on the residual.

FIELD OF THE DISCLOSURE

Aspects of the present disclosure generally relate to wireless communications, and more particularly to techniques and apparatuses for channel estimation with neural network augmentation.

BACKGROUND

A wireless communications network may include a number of base stations (BSs) that can support communications for a number of user equipment (UEs). A UE may communicate with a BS via the downlink and uplink. The downlink (or forward link) refers to the communications link from the BS to the UE, and the uplink (or reverse link) refers to the communications link from the UE to the BS. As will be described in more detail, a BS may be referred to as a Node B, a gNB, an access point (AP), a radio head, a transmit receive point (TRP), a new radio (NR) BS, a 5G Node B, and/or the like.

Artificial neural networks may comprise interconnected groups of artificial neurons (e.g., neuron models). The artificial neural network may be a computational device or represented as a method to be performed by a computational device. Convolutional neural networks, such as deep convolutional neural networks, are a type of feed-forward artificial neural network. Convolutional neural networks may include layers of neurons that may be configured in a tiled receptive field. It may be desirable to apply neural network processing to wireless communications to achieve greater efficiencies.

SUMMARY

In one aspect of the present disclosure, a method performed by a communication device includes generating an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device. The method further includes inferring, with a neural network, a residual of the initial channel estimate of the current time step. The method still further includes updating the initial channel estimate of the current time step based on the residual.

Another aspect of the present disclosure is directed to an apparatus at a communication device. The apparatus includes means for generating an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device. The apparatus further includes means for inferring, with a neural network, a residual of the initial channel estimate of the current time step. The apparatus still further includes means for updating the initial channel estimate of the current time step based on the residual.

In another aspect of the present disclosure, a non-transitory computer-readable medium with non-transitory program code recorded thereon at a communication device is disclosed. The program code is executed by a processor and includes program code to generate an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device. The program code further includes program code to infer, with a neural network, a residual of the initial channel estimate of the current time step. The program code still further includes program code to update the initial channel estimate of the current time step based on the residual.

Another aspect of the present disclosure is directed to an apparatus at a communication device. The apparatus includes a processor; a memory coupled with the processor; and instructions stored in the memory and operable, when executed by the processor, to cause the apparatus to generate an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device. Execution of the instructions also cause the apparatus to infer, with a neural network, a residual of the initial channel estimate of the current time step. Execution of the instructions also cause the apparatus to update the initial channel estimate of the current time step based on the residual. Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user equipment, base station, wireless communication device, and processing system as substantially described with reference to and as illustrated by the accompanying drawings and specification.

DETAILED DESCRIPTION

Various aspects of the disclosure are described more fully below with reference to the accompanying drawings. This disclosure may, however, be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Based on the teachings one skilled in the art should appreciate that the scope of the disclosure is intended to cover any aspect of the disclosure, whether implemented independently of or combined with any other aspect of the disclosure. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth. In addition, the scope of the disclosure is intended to cover such an apparatus or method, which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the disclosure set forth. It should be understood that any aspect of the disclosure disclosed may be embodied by one or more elements of a claim.

It should be noted that while aspects may be described below using terminology commonly associated with 5G and later wireless technologies, aspects of the present disclosure can be applied in other generation-based communications systems, such as and including 3G and/or 4G technologies.

In a wireless communication system, a transmitter may process (e.g., encode and modulate) data to generate data symbols. In some examples, the transmitter multiplexes pilot symbols with the data symbols and transmits the multiplexed signal via a wireless channel. In some such examples, the wireless channel may distort the multiplexed signal with a channel response. Additionally, interference, such as channel noise, may reduce a quality of the signal. In such wireless communication systems, a receiver receives the multiplexed signal and processes the received signal to demodulate and decode the data. Specifically, in some examples, the receiver may estimate the channel based on the received pilot symbols. The receiver may obtain data symbol estimates based on the channel estimates. The data symbol estimates may be estimates of the data symbols sent by the transmitter. The receiver may process (e.g., demodulate and decode) the data symbol estimates to obtain the original data.

The receiver's ability to detect data, a quality of data symbol estimates, and a reliability of decoded data may be based on a quality of channel estimates. In some examples, the receiver's ability to detect the data, the quality of the data symbol estimates, and the reliability of the decoded data increase as the quality of the channel estimates increase. Thus, it may be desirable to derive high quality channel estimates. Channel estimation may be challenging if the wireless channel conditions can change over time. For example, the wireless channel may be relatively static at one moment and dynamic at another moment. As an example, the channel may change due to mobility of the transmitter and/or the receiver.

In some examples, a channel between a receiver and a transmitter may be estimated by a discrete stochastic process, where each time step corresponds to one orthogonal frequency division multiplexing (OFDM) symbol. The discrete stochastic process may generate a vector or tensor representing the channel estimate. In some cases, a Kalman filter (KF) tracks the channel estimation over time.

The Kalman filter assumes a hidden Markov model (HMM), where a true channel is a hidden process, and observed pilots are the observed process. The Kalman filter may track the channel based on the hidden Markov model. Additionally, the Kalman filter assumes linear transition dynamics and linear observation dynamics for the channel. Parameters for the Kalman filter may be derived based on the tracked channel data. In some cases, the parameters may be derived based on additional assumptions, such as Jakes' model for a Doppler spectrum.

The Kalman filter's assumptions may deviate from an actual evolution dynamics of the channel, thereby reducing channel estimation accuracy. Aspects of the present disclosure are directed to a neurally-augmented KF (NA-KF). The NA-KF may incorporate physics of the channel evolution encapsulated in the Kalman filter. Additionally, the NA-KF may correct a mismatch between actual channel dynamics and the Kalman filter's assumptions by adding a residual to the Kalman filter's estimates. Rather than tracking the channel, the residual may be tracked to improve transferability.

In some aspects, two or more UEs120(e.g., shown as UE120aand UE120e) may communicate directly using one or more sidelink channels (e.g., without using a base station110as an intermediary to communicate with one another). For example, the UEs120may communicate using peer-to-peer (P2P) communications, device-to-device (D2D) communications, a vehicle-to-everything (V2X) protocol (e.g., which may include a vehicle-to-vehicle (V2V) protocol, a vehicle-to-infrastructure (V2I) protocol, and/or the like), a mesh network, and/or the like. In this case, the UE120may perform scheduling operations, resource selection operations, and/or other operations described elsewhere as being performed by the base station110. For example, the base station110may configure a UE120via downlink control information (DCI), radio resource control (RRC) signaling, a media access control-control element (MAC-CE) or via system information (e.g., a system information block (SIB).

As indicated above,FIG.1is provided merely as an example. Other examples may differ from what is described with regard toFIG.1.

FIG.2shows a block diagram of a design200of the base station110and UE120, which may be one of the base stations and one of the UEs inFIG.1. The base station110may be equipped with T antennas234athrough234t, and UE120may be equipped with R antennas252athrough252r, where in general T≥1 and R≥1.

At the UE120, antennas252athrough252rmay receive the downlink signals from the base station110and/or other base stations and may provide received signals to demodulators (DEMODs)254athrough254r, respectively. Each demodulator254may condition (e.g., filter, amplify, downconvert, and digitize) a received signal to obtain input samples. Each demodulator254may further process the input samples (e.g., for OFDM and/or the like) to obtain received symbols. A MIMO detector256may obtain received symbols from all R demodulators254athrough254r, perform MIMO detection on the received symbols if applicable, and provide detected symbols. A receive processor258may process (e.g., demodulate and decode) the detected symbols, provide decoded data for the UE120to a data sink260, and provide decoded control information and system information to a controller/processor280. A channel processor may determine reference signal received power (RSRP), received signal strength indicator (RSSI), reference signal received quality (RSRQ), channel quality indicator (CQI), and/or the like. In some aspects, one or more components of the UE120may be included in a housing.

On the uplink, at the UE120, a transmit processor264may receive and process data from a data source262and control information (e.g., for reports comprising RSRP, RSSI, RSRQ, CQI, and/or the like) from the controller/processor280. Transmit processor264may also generate reference symbols for one or more reference signals. The symbols from the transmit processor264may be precoded by a TX MIMO processor266if applicable, further processed by modulators254athrough254r(e.g., for DFT-s-OFDM, CP-OFDM, and/or the like), and transmitted to the base station110. At the base station110, the uplink signals from the UE120and other UEs may be received by the antennas234, processed by the demodulators254, detected by a MIMO detector236if applicable, and further processed by a receive processor238to obtain decoded data and control information sent by the UE120. The receive processor238may provide the decoded data to a data sink239and the decoded control information to a controller/processor240. The base station110may include communications unit244and communicate to the network controller130via the communications unit244. The network controller130may include a communications unit294, a controller/processor290, and a memory292.

The controller/processor240of the base station110, the controller/processor280of the UE120, and/or any other component(s) ofFIG.2may perform one or more techniques associated with machine learning for non-linearities, as described in more detail elsewhere. For example, the controller/processor240of the base station110, the controller/processor280of the UE120, and/or any other component(s) ofFIG.2may perform or direct operations of, for example, the processes ofFIGS.6-8and/or other processes as described. Memories242and282may store data and program codes for the base station110and UE120, respectively. A scheduler246may schedule UEs for data transmission on the downlink and/or uplink.

In some aspects, the UE120may include means for generating a channel estimate for a current time step with a Kalman filter; inferring a residual based on the channel estimate of the current time step; and updating the channel estimate of the current time step based on the residual. Such means may include one or more components of the UE120or base station110described in connection withFIG.2.

As indicated above,FIG.2is provided merely as an example. Other examples may differ from what is described with regard toFIG.2.

In some cases, different types of devices supporting different types of applications and/or services may coexist in a cell. Examples of different types of devices include UE handsets, customer premises equipment (CPEs), vehicles, Internet of Things (IoT) devices, and/or the like. Examples of different types of applications include ultra-reliable low-latency communications (URLLC) applications, massive machine-type communications (mMTC) applications, enhanced mobile broadband (eMBB) applications, vehicle-to-anything (V2X) applications, and/or the like. Furthermore, in some cases, a single device may support different applications or services simultaneously.

FIG.3illustrates an example implementation of a system-on-a-chip (SOC)300, which may include a central processing unit (CPU)302or a multi-core CPU configured for augmenting Kalman filter estimates, in accordance with certain aspects of the present disclosure. The SOC300may be included in the base station110or UE120. Variables (e.g., neural signals and synaptic weights), system parameters associated with a computational device (e.g., neural network with weights), delays, frequency bin information, and task information may be stored in a memory block associated with a neural processing unit (NPU)308, in a memory block associated with a CPU302, in a memory block associated with a graphics processing unit (GPU)304, in a memory block associated with a digital signal processor (DSP)306, in a memory block318, or may be distributed across multiple blocks. Instructions executed at the CPU302may be loaded from a program memory associated with the CPU302or may be loaded from a memory block318.

The SOC300may also include additional processing blocks tailored to specific functions, such as a GPU304, a DSP306, a connectivity block310, which may include fifth generation (5G) connectivity, fourth generation long term evolution (4G LTE) connectivity, Wi-Fi connectivity, USB connectivity, Bluetooth connectivity, and the like, and a multimedia processor312that may, for example, detect and recognize gestures. In one implementation, the NPU is implemented in the CPU, DSP, and/or GPU. The SOC300may also include a sensor processor314, image signal processors (ISPs)316, and/or navigation module320, which may include a global positioning system.

The SOC300may be based on an ARM instruction set. In an aspect of the present disclosure, the instructions loaded into the general-purpose processor302may comprise code to generate a channel estimate for a current time step with a Kalman filter; to infer a residual based on the channel estimate of the current time step; and to update the channel estimate of the current time step based on the residual.

Deep learning architectures may perform an object recognition task by learning to represent inputs at successively higher levels of abstraction in each layer, thereby building up a useful feature representation of the input data. In this way, deep learning addresses a major bottleneck of traditional machine learning. Prior to the advent of deep learning, a machine learning approach to an object recognition problem may have relied heavily on human engineered features, perhaps in combination with a shallow classifier. A shallow classifier may be a two-class linear classifier, for example, in which a weighted sum of the feature vector components may be compared with a threshold to predict to which class the input belongs. Human engineered features may be templates or kernels tailored to a specific problem domain by engineers with domain expertise. Deep learning architectures, in contrast, may learn to represent features that are similar to what a human engineer might design, but through training. Furthermore, a deep network may learn to represent and recognize new types of features that a human might not have considered.

The connections between layers of a neural network may be fully connected or locally connected.FIG.4Aillustrates an example of a fully connected neural network402. In a fully connected neural network402, a neuron in a first layer may communicate its output to every neuron in a second layer, so that each neuron in the second layer will receive input from every neuron in the first layer.FIG.4Billustrates an example of a locally connected neural network404. In a locally connected neural network404, a neuron in a first layer may be connected to a limited number of neurons in the second layer. More generally, a locally connected layer of the locally connected neural network404may be configured so that each neuron in a layer will have the same or a similar connectivity pattern, but with connections strengths that may have different values (e.g.,410,412,414, and416). The locally connected connectivity pattern may give rise to spatially distinct receptive fields in a higher layer, because the higher layer neurons in a given region may receive inputs that are tuned through training to the properties of a restricted portion of the total input to the network.

One example of a locally connected neural network is a convolutional neural network.FIG.4Cillustrates an example of a convolutional neural network406. The convolutional neural network406may be configured such that the connection strengths associated with the inputs for each neuron in the second layer are shared (e.g.,408). Convolutional neural networks may be well suited to problems in which the spatial location of inputs is meaningful.

One type of convolutional neural network is a deep convolutional network (DCN).FIG.4Dillustrates a detailed example of a DCN400designed to recognize visual features from an image426input from an image capturing device430, such as a car-mounted camera. The DCN400of the current example may be trained to identify traffic signs and a number provided on the traffic sign. Of course, the DCN400may be trained for other tasks, such as identifying lane markings or identifying traffic lights.

The DCN400may be trained with supervised learning. During training, the DCN400may be presented with an image, such as the image426of a speed limit sign, and a forward pass may then be computed to produce an output422. The DCN400may include a feature extraction section and a classification section. Upon receiving the image426, a convolutional layer432may apply convolutional kernels (not shown) to the image426to generate a first set of feature maps418. As an example, the convolutional kernel for the convolutional layer432may be a 5×5 kernel that generates 28×28 feature maps. In the present example, because four different feature maps are generated in the first set of feature maps418, four different convolutional kernels were applied to the image426at the convolutional layer432. The convolutional kernels may also be referred to as filters or convolutional filters.

The first set of feature maps418may be subsampled by a max pooling layer (not shown) to generate a second set of feature maps420. The max pooling layer reduces the size of the first set of feature maps418. That is, a size of the second set of feature maps420, such as 14×14, is less than the size of the first set of feature maps418, such as 28×28. The reduced size provides similar information to a subsequent layer while reducing memory consumption. The second set of feature maps420may be further convolved via one or more subsequent convolutional layers (not shown) to generate one or more subsequent sets of feature maps (not shown).

In the example ofFIG.4D, the second set of feature maps420is convolved to generate a first feature vector424. Furthermore, the first feature vector424is further convolved to generate a second feature vector428. Each feature of the second feature vector428may include a number that corresponds to a possible feature of the image426, such as “sign,” “60,” and “100.” A softmax function (not shown) may convert the numbers in the second feature vector428to a probability. As such, an output422of the DCN400is a probability of the image426including one or more features.

In the present example, the probabilities in the output422for “sign” and “60” are higher than the probabilities of the others of the output422, such as “30,” “40,” “50,” “70,” “80,” “90,” and “100”. Before training, the output422produced by the DCN400is likely to be incorrect. Thus, an error may be calculated between the output422and a target output. The target output is the ground truth of the image426(e.g., “sign” and “60”). The weights of the DCN400may then be adjusted so the output422of the DCN400is more closely aligned with the target output.

In practice, the error gradient of weights may be calculated over a small number of examples, so that the calculated gradient approximates the true error gradient. This approximation method may be referred to as stochastic gradient descent. Stochastic gradient descent may be repeated until the achievable error rate of the entire system has stopped decreasing or until the error rate has reached a target level. After learning, the DCN may be presented with new images (e.g., the speed limit sign of the image426) and a forward pass through the network may yield an output422that may be considered an inference or a prediction of the DCN.

The performance of deep learning architectures may increase as more labeled data points become available or as computational power increases. Modern deep neural networks are routinely trained with computing resources that are thousands of times greater than what was available to a typical researcher just fifteen years ago. New architectures and training paradigms may further boost the performance of deep learning. Rectified linear units may reduce a training issue known as vanishing gradients. New training techniques may reduce over-fitting and thus enable larger models to achieve better generalization. Encapsulation techniques may abstract data in a given receptive field and further boost overall performance.

FIG.5is a block diagram illustrating a deep convolutional network550, in accordance with aspects of the present disclosure. The deep convolutional network550may include multiple different types of layers based on connectivity and weight sharing. As shown inFIG.5, the deep convolutional network550includes the convolution blocks554A,554B. Each of the convolution blocks554A,554B may be configured with a convolution layer (CONV)356, a normalization layer (LNorm)558, and a max pooling layer (MAX POOL)560.

The convolution layers556may include one or more convolutional filters, which may be applied to the input data to generate a feature map. Although only two of the convolution blocks554A,554B are shown, the present disclosure is not so limiting, and instead, any number of the convolution blocks554A,554B may be included in the deep convolutional network550according to design preference. The normalization layer558may normalize the output of the convolution filters. For example, the normalization layer558may provide whitening or lateral inhibition. The max pooling layer560may provide down sampling aggregation over space for local invariance and dimensionality reduction.

The parallel filter banks, for example, of a deep convolutional network may be loaded on a CPU302or GPU304of an SOC300to achieve high performance and low power consumption. In alternative embodiments, the parallel filter banks may be loaded on the DSP306or an ISP316of an SOC300. In addition, the deep convolutional network550may access other processing blocks that may be present on the SOC300, such as sensor processor314and navigation module320, dedicated, respectively, to sensors and navigation.

The deep convolutional network550may also include one or more fully connected layers562(FC1 and FC2). The deep convolutional network550may further include a logistic regression (LR) layer564. Between each layer556,558,560,562,564of the deep convolutional network550are weights (not shown) that are to be updated. The output of each of the layers (e.g.,556,558,560,562,564) may serve as an input of a succeeding one of the layers (e.g.,556,558,560,562,564) in the deep convolutional network550to learn hierarchical feature representations from input data552(e.g., images, audio, video, sensor data and/or other input data) supplied at the first of the convolution blocks554A. The output of the deep convolutional network550is a classification score566for the input data552. The classification score566may be a set of probabilities, where each probability is the probability of the input data, including a feature from a set of features.

FIG.6is a schematic diagram illustrating a recurrent neural network (RNN)600, in accordance with aspects of the present disclosure. The recurrent neural network600includes an input layer602, a hidden layer604with recurrent connections, and an output layer606. Given an input sequence X with multiple input vectors xT(e.g., X={x0, x1, x2. . . xt}), the recurrent neural network600will predict a classification label ytfor each output vector ztof an output sequence Z (e.g., Z={z0. . . zT}). As shown inFIG.6, a hidden layer604with M units (e.g., ho. . . ht) is specified between the input layer602and the output layer606. The M units of the hidden layer604store information on the previous values (t′<t) of the input sequence X. The M units may be computational nodes (e.g., neurons). In one configuration, the recurrent neural network600receives an input xTand generates a classification label ytof the output zTby iterating the equations:
st=WhxxtWhhht−1+bh(1)
ht=ƒ(st)  (2)
ot=Wyhht+by(3)
yt=g(ot)  (4)
where Whx, Whh, and Wyhare the weight matrices, bhand byare the biases, stand otare inputs to the hidden layer604and the output layer606, respectively, and ƒ and g are nonlinear functions. The function ƒ may comprise a rectifier linear unit (RELU) and, in some aspects, the function g may comprise a linear function or a softmax function. In addition, the hidden layer nodes are initialized to a fixed bias bi such that at t=0 ho=bi. In some aspects, bi may be set to zero (e.g., bi=0). The objective function, C(θ), for a recurrent neural network with a single training pair (x,y) is defined as C(θ)=ΣtLt(z, y(θ)), where θ represents the set of parameters (weights and biases) in the recurrent neural network.

As indicated above,FIGS.3-6are provided as examples. Other examples may differ from what is described with respect toFIGS.3-6.

As described, a channel between a receiver and a transmitter may be estimated by a discrete stochastic process, where each time step corresponds to one orthogonal frequency division multiplexing (OFDM) symbol. The discrete stochastic process may generate a vector or tensor representing the channel estimate. In some implementations, the channel may be a wireless communication channel. In some examples, the wireless communication channel may be tracked by a Kalman filter (KF). In some such examples, the Kalman filter may track an estimation of the wireless communication channel over time.

Additionally, as described, the Kalman filter assumes a hidden Markov model (HMM), where a true channel corresponds to a hidden process and observed pilots correspond to an observed process. The Kalman filter may track the channel based on the hidden Markov model. Parameters for the Kalman filter may be derived or based on observed data, such as the observed pilots. In some cases, the parameters may be analytically derived based on additional assumptions, such as Jakes' model for a Doppler spectrum.

In some examples, the Kalman filter may assume linear transition dynamics as well as a linear observation process for the channel. In some such examples, the Kalman filter's assumptions may deviate from actual evolution dynamics of the channel, thereby reducing an accuracy of channel estimates. For example, the accuracy of the channel estimates may be reduced under certain channel conditions, such as a high Doppler shift or a combination of different Doppler shifts. As another example, the accuracy of the channel estimates may be reduced when a single tracking function is used for various communication scenarios. Therefore, it may be desirable to improve an accuracy of channel estimates derived from a Kalman filter.

Aspects of the present disclosure are directed to augmenting a Kalman filter with an artificial neural network, such as a recurrent neural network, to improve channel estimates. For ease of explanation, the augmented Kalman filter may be referred to as a neurally-augmented Kalman filter (NA-KF). Additionally, the neural network may be referred to as a neural augmentation unit. In some examples, the NA-KF may incorporate coarse channel dynamics encapsulated in an output of the Kalman filter. A Doppler value is an example of a coarse channel dynamic. In some examples, the NA-KF may provide a Doppler value as an additional output. Additionally, the NA-KF may correct a mismatch between actual channel dynamics and the Kalman filter assumptions by adding a residual to the Kalman filter's estimates. In some examples, rather than tracking the channel, a residual error may be tracked to improve transferability. In some implementations, a pattern learning function of the neural augmentation unit may be combined with channel analytics generated by a Kalman filter to improve channel estimates.

As described, the Kalman filter may be augmented with a neural augmentation unit (e.g., recurrent neural network). In some implementations, at each time step, the neural augmentation unit may generate residuals based on an output of the Kalman filter. In some examples, at each time step, the Kalman filter may output mean and covariance estimates based on mean and covariance estimates of a previous time step. The residuals may be combined with the Kalman filter to generate a residual corrected estimate, such as a residual corrected mean and a residual corrected covariance. In some examples, the output of the Kalman filter may also be based on a channel observation. In some such examples, the channel observation may be obtained from a received pilot symbol (e.g., reference signal). In some examples, in the absence of a pilot symbol, the neural augmentation unit may generate synthetic pilot observation in the absence of an actual pilot observation derived from a received pilot symbol.

According to aspects of the present disclosure, the neural augmentation unit does not modify a direct input or a direct output of the Kalman filter. In some examples, the neural augmentation unit may be disabled to provide a standalone Kalman filter. In such examples, the standalone Kalman filter may be backward compatible with conventional communication systems, such as a conventional wireless communication system.

In some examples, the Kalman filter may assume the following hidden Markov models (HMM):
ht=Aht−1+wt
ot=Bht+vt,  (5)
where the parameter htrepresents a vector (e.g., a flattened vector) of a state of a true channel at a discrete time step t, the parameter wtrepresents process noise, and the parameter vtrepresents observation noise, and the parameters A and B represent coefficients. In some cases, such as a multiple-input multiple-output channel, the parameter htmay represent a tensor of the state of the channel at the discrete time step t. Additionally, the parameter otrepresents a noisy observation of a portion of the channel htdetermined from a pilot symbol. The parameter otmay be referred to as a pilot observation.

As described, a receiver may estimate a channel based on a pilot symbol received on the channel. The channel estimate may be used for maximal ratio combining, equalization, matched filtering, data detection, or demodulation, for example. In some examples, a transmitter, such as the base station110as described with reference toFIG.1, may transmit pilot symbols at an interval, such as a periodic interval. In some other examples, the pilot symbols may also be asynchronously transmitted. In some cases, the transmit waveforms may be reconstructed based on decoded data or control payloads. The transmit waveforms may be used as pilots for channel estimation. The Kalman filter assumes the channel state htat a current state is dependent on a channel state at one or more previous channel states, such as channel states ht−1to ht−N. In equation 5, a current channel state htmay be based on a linear transformation of a previous channel state ht−1and process noise wt. Additionally, a synthetic estimate of the pilot observation otmay be obtained based on a linear transformation of a current channel state htand observed noise vt.

The parameters of the Kalman filter may include matrices A and B, the process noise wt, and the observation noise vt. The parameters may be learned or derived from a model, such as Jakes' model. The Kalman filter may generate a mean {tilde over (μ)}tand covariance {tilde over (Σ)}testimates of the channel state htbased on the observation ot(when available) and mean {tilde over (μ)}t−1and covariance {tilde over (Σ)}t−1estimates for a previous channel state ht−1. The estimation process may be a two-step process, where each step may be linear.

In some examples, the current channel estimate, such as the mean {tilde over (μ)}tand covariance {tilde over (Σ)}testimates, of a current channel state htmay be based on mean {tilde over (μ)}t−1to {tilde over (μ)}t−Nand covariance {tilde over (Σ)}t−1and {tilde over (Σ)}t−Nestimates from previous channel states. For example, a vector of the previous channel state ht−1may be replaced with a concatenated vector of multiple previous channel states ht−1to ht−N. In one configuration, a higher order auto-regressive channel model may be tracked by replacing the parameter htin equation 5 with a parameter strepresenting a concatenation of channel vectors for multiple previous time steps. In some examples, the channel estimates may be performed in a time domain, therefore, further restrictions may be introduced to include further prior information, such as independent channel taps. In one example, the matrix A may be restricted to a diagonal matrix.

FIG.7is a block diagram illustrating an example700of augmenting an output of a Kalman filter (KF)702with a neural augmentation unit704at multiple time-steps, in accordance with aspects of the present disclosure. In the example ofFIG.7, the Kalman filter702and the neural augmentation unit704may be components of a UE, such as the UE120described with reference toFIGS.1and2. In some such examples, the channel estimates may be used by one or more of the controller/processor280, transmit processor264, and/or demodulator254a-254ras described with reference toFIG.2. In some other examples, the Kalman filter702and the neural augmentation unit704may be components of a base station, such as the base station110described reference toFIGS.1and2. In some such examples, the channel estimates may be used by one or more of the controller/processor240, transmit processor220, and/or demodulator232a-232tas described with reference toFIG.2. The Kalman filter702and the neural augmentation unit704ofFIG.7may be an example of a neurally-augmented Kalman filter (NA-KF).

As shown inFIG.7, at a current time step t, the Kalman filter702receives a mean {tilde over (μ)}t−1and a covariance {tilde over (Σ)}t−1of a previous channel estimate, and an observation otof current time step t. As described, an observation otat the time step t may be generated based on a pilot symbol received at the time step t. In some examples, the observation otmay be referred to as an instantaneous channel estimation. In the example ofFIG.7, based on the inputs, the Kalman filter702generates a mean {circumflex over (μ)}tand a covariance {circumflex over (Σ)}tfor the current time step t. The mean {circumflex over (μ)}tand the covariance {circumflex over (Σ)}tmay represent an initial channel estimate for the current time step t.

At each time step, the mean {circumflex over (μ)}tand the covariance {circumflex over (Σ)}tfrom the Kalman filter702may be input to the neural augmentation unit704. As shown inFIG.7, the neural augmentation unit704may also receive the observation otfrom the current time step t. The neural augmentation unit704may be a recurrent network, such as a long short term memory (LSTM) network, a gated recurrent unit (GRU), or another type of recurrent neural network. The neural augmentation unit704may generate a residual of the mean Δ{circumflex over (μ)}tand a residual of the covariance Δ{circumflex over (Σ)}tfor the current time step t. As shown inFIG.7, the residuals of the mean Δ{circumflex over (μ)}tand the covariance Δ{circumflex over (Σ)}tmay update the mean {circumflex over (μ)}tand the covariance {circumflex over (Σ)}tof the Kalman filter702to obtain an actual estimate of the mean {tilde over (μ)}tand covariance {tilde over (Σ)}tof the channel state at the current time step. In some examples, the residual of the mean Δ{circumflex over (μ)}tmay be added to the mean {circumflex over (μ)}tof the Kalman filter to obtain an actual estimate of the mean {tilde over (μ)}t. Additionally, the residual of the covariance Δ{circumflex over (Σ)}tmay be added to the covariance {circumflex over (Σ)}tof the Kalman filter702to obtain the actual estimate of the covariance {tilde over (Σ)}t.

In a conventional system, the mean {circumflex over (μ)}tand covariance {circumflex over (Σ)}tgenerated by the Kalman filter702for one time step may be input to the Kalman filter702to determine a channel estimate for a subsequent time step. In contrast, aspects of the present disclosure augment the mean {circumflex over (μ)}tand covariance {circumflex over (Σ)}tof the current time step with the residual of the mean Δ{circumflex over (μ)}tand a residual of the covariance Δ{circumflex over (Σ)}tto correct the estimates of the Kalman filter702. That is, the output of the Kalman filter702is interleaved with an output of the neural augmentation unit704. The corrected estimates may be used for a subsequent estimate by the Kalman filter702. The example700ofFIG.7illustrates a process for multiple time steps t−1, t, and t+1. Multiple Kalman filters702and neural augmentation units704are shown for illustrative purposes to show a timeline over multiple time-steps. Aspects of the present disclosure may use a single Kalman filter702and a single neural augmentation unit704for each time step. Alternatively, multiple Kalman filters702and neural augmentation units704may be specified for a receiving device.

As shown inFIG.7, the process described with respect to a current time step t may be repeated for subsequent time steps, such as a next time step t+1. In one configuration, when a pilot symbol is not received (e.g., an observation is missing), the neural augmentation unit704may use a synthetic observation õtfor a current time step t generated by the neural augmentation unit704at a previous time step t−1. For example, as shown inFIG.7, at a current time step t, the neural augmentation unit704generates a synthetic observation õt+1for the next time step t+1. In some implementations, at every time step, the neural augmentation unit704, may model residuals for the Kalman filter702and also model a synthetic observation5for a next step. In a case of a missing observation, the neural augmentation unit704takes the synthetic observation5for current time step modeled by itself during the last time step as an input. Alternatively, in a case when real pilots are observed, the neural augmentation unit704may use the real observation o as an input. In the example700ofFIG.7, optional steps are illustrated with dashed lines. The synthetic observation õt+1may be used by one or both of the Kalman filter702or the neural augmentation unit704. In some implementations, the neural augmentation unit704may be trained to generate the synthetic observation õt+1based on a ground-truth of the channel state htor a ground-truth of an actual observation ot.

In some implementations, the neural augmentation unit704may maintain one or multiple internal states (e.g., as performed in an LSTM network). In some examples, additional information, such as independent channel taps, may impose additional restrictions on parameters learned by the neural augmentation unit704.

In some implementations, the Kalman filter702and the neural augmentation unit704may be simultaneously trained. That is, the Kalman filter702and the neural augmentation unit704may be considered as one system (e.g., function) and the parameters of the Kalman filter702and the neural augmentation unit704may be trained together. The parameters include Kalman parameters as well as the neural network parameters.

In another implementation, the Kalman filter702may be trained individually. After training the Kalman filter, a combination of the Kalman filter702and the neural augmentation unit704(e.g., the NA-KF) may be trained as a whole. In this implementation, the parameters of the Kalman filter702may be fixed when the combination of the Kalman filter702and the neural augmentation unit704are trained as a whole. The training data may train the neural network parameters when the combination of the Kalman filter702and the neural augmentation unit704are trained after separately training the Kalman filter702. In one configuration, the neural network parameters may be trained based on a loss between a channel estimate and an actual ground truth channel. In such an example, the channel estimate may be the sum of the estimate of the Kalman filter702and a residual output from the neural augmentation unit704. The residual error may then be used as the ground truth for the neural augmentation unit704. Alternatively, as described, when training the combination of the Kalman filter702and the neural augmentation unit704as a whole, the parameters of Kalman filter702may be fixed and the parameters of the neural augmentation unit704may be trained. That is, the training may be a two-step process, where the Kalman filter702is trained individually and then plugged into the combination of the Kalman filter702and the neural augmentation unit704to learn the neural network parameters (e.g., weights).

The synthetic observations õtmay be optional during training. A fine tuning step may be performed online or offline. The fine tuning process may be applied based on the described training processes.

FIG.8is a block diagram illustrating an example a wireless communication device800configured to estimating a channel and tracking the channel with a neurally-augmented Kalman filter, in accordance with aspects of the present disclosure. The wireless communication device800may be an example of aspects of a base station110, described with reference toFIGS.1and2, or a UE120, described with reference toFIGS.1and2. The wireless communication device800may include a receiver810, a communication manager815, and a transmitter820, which may be in communication with one another (for example, via one or more buses). In some implementations, the receiver810and the transmitter820. In some examples, the wireless communication device800is configured to perform operations, including operations of the process900described below with reference toFIG.9.

In some examples, the wireless communication device800can include a chip, system on chip (SoC), chipset, package, or device that includes at least one processor and at least one modem (for example, a 5G modem or other cellular modem). In some examples, the communication manager815, or its sub-components, may be separate and distinct components. In some examples, at least some components of the communication manager815are implemented at least in part as software stored in a memory. For example, portions of one or more of the components of the communication manager815can be implemented as non-transitory code executable by the processor to perform the functions or operations of the respective component.

The receiver810may receive one or more reference signals (for example, periodically configured CSI-RSs, aperiodically configured CSI-RSs, or multi-beam-specific reference signals), synchronization signals (for example, synchronization signal blocks (SSBs)), control information, and/or data information, such as in the form of packets, from one or more other wireless communication devices via various channels including control channels (for example, a physical downlink control channel (PDCCH)) and data channels (for example, a physical downlink shared channel (PDSCH)). The other wireless communication devices may include, but are not limited to, another base station110or another UE120, described with reference toFIGS.1and2.

The received information may be passed on to other components of the wireless communication device800. The receiver810may be an example of aspects of the receive processor258or238described with reference toFIG.2. The receiver810may include a set of radio frequency (RF) chains that are coupled with or otherwise utilize a set of antennas (for example, the set of antennas may be an example of aspects of the antennas252athrough252ror the antennas234athrough234tdescribed with reference toFIG.2).

The transmitter820may transmit signals generated by the communication manager815or other components of the wireless communication device800. In some examples, the transmitter820may be collocated with the receiver810in a transceiver. The transmitter820may be an example of aspects of the transmit processor264described with reference toFIG.2. The transmitter820may be coupled with or otherwise utilize a set of antennas (for example, the set of antennas may be an example of aspects of the antennas252athrough252ror the antennas234athrough234tdescribed with reference toFIG.2), which may be antenna elements shared with the receiver810. In some examples, the transmitter820is configured to transmit control information in a physical uplink control channel (PUCCH) and data in a physical uplink shared channel (PUSCH).

The communication manager815may be an example of aspects of the controller/processor240or280described with reference toFIG.2. The communication manager815includes a Kalman filter825and a neural augmentation unit830. In some examples, working in conjunction with the receiver810, the Kalman filter825may generate an initial channel estimate of a channel for a current time step based on a first signal received at the communication device. In some examples, the channel may be a wireless communication channel. Additionally, working in conjunction with the Kalman filter825and the receiver810, the neural augmentation unit830infers a residual of the initial channel estimate of the current time step. The neural augmentation unit830may be a recurrent neural network, such as the neural augmentation unit704described with reference toFIG.7. Working in conjunction with the Kalman filter825and the neural augmentation unit830, the communication manager815may update the initial channel estimate of the current time step based on the residual.

FIG.9is a flowchart illustrating an example process900for wireless communication that supports estimating a channel and tracking the channel with a neurally-augmented Kalman filter, in accordance with aspects of the present disclosure. In some implementations, the process900may be performed by a wireless communication device operating as or within a UE, such as one of the UEs120described above with respect toFIGS.1and2, or a base station, such as one of the base stations110described above with respect toFIGS.1and2.

As shown inFIG.9, the process900begins at block902by generating an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device. In some examples, the channel may be a wireless communication channel. At block904, the process900infers, with a neural network, a residual of the initial channel estimate of the current time step. The neural network may be a recurrent neural network, such as the neural augmentation unit704described with reference toFIG.7. In some examples, the initial channel estimate of the current time step may include a mean and a covariance. In such examples, the residual may include a residual mean based on the mean of the initial channel estimate and a residual covariance based on the covariance of the initial channel estimate. At block906, the process updates the initial channel estimate of the current time step based on the residual. In some examples, the process900may generate an actual channel estimate based on updating the initial channel estimate, and also decode a second signal received on the channel based on the actual channel estimate. Additionally, the initial channel estimate for the current time step may be based on an actual channel estimate from a previous time step

Implementation examples are described in the following numbered clauses:1. A method performed by a communication device, comprising:generating an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device;inferring, with a neural network, a residual of the initial channel estimate of the current time step; andupdating the initial channel estimate of the current time step based on the residual.2. The method of Clause 1, in which:the initial channel estimate of the current time step comprises a mean and a covariance; andthe residual comprises a residual mean based on the mean of the initial channel estimate and a residual covariance based on the covariance of the initial channel estimate.3. The method of any one of Clauses 1-2, further comprising generating the initial channel estimate of the current time step and inferring the residual based on a channel observation of the current time step.4. The method of Clause 3, further comprising generating the channel observation from a pilot symbol or a data symbol, in which a waveform of the pilot symbol or the data symbol is known from decoding a previous pilot symbol or a previous data symbol.5. The method of Clause 3, further comprising generating the channel observation based on a synthetic pilot estimate in an absence of a received pilot symbol.6. The method of any one of Clauses 1-5, further comprising:generating an actual channel estimate based on updating the initial channel estimate; anddecoding a second signal received on the channel based on the actual channel estimate.7. The method of any one of Clauses 1-6, further comprising generating the initial channel estimate for the current time step based on an actual channel estimate from a previous time step.8. The method of any one of Clauses 1-7, in which the neural network is a recurrent neural network.9. An apparatus at a communication device, comprising:a processor;a memory coupled with the processor; andinstructions stored in the memory and operable, when executed by the processor, to cause the apparatus:to generate an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device;to infer, with a neural network, a residual of the initial channel estimate of the current time step; andto update the initial channel estimate of the current time step based on the residual.10. The apparatus of Clause 9, in which:the initial channel estimate of the current time step comprises a mean and a covariance; andthe residual comprises a residual mean based on the mean of the initial channel estimate and a residual covariance based on the covariance of the initial channel estimate.11. The apparatus of Clause 9 or 10, in which execution of the instructions further cause the apparatus to generate the initial channel estimate of the current time step and inferring the residual based on a channel observation of the current time step.12. The apparatus of Clause 11, in which execution of the instructions further cause the apparatus to generate the channel observation from a pilot symbol or a data symbol, in which a waveform of the pilot symbol or the data symbol is known from decoding of a previous pilot symbol or a previous data symbol.13. The apparatus of Clause 11, in which execution of the instructions further cause the apparatus to generate the channel observation based on a synthetic pilot estimate in an absence of a received pilot symbol.14. The apparatus of any of Clauses 9-13, in which execution of the instructions further cause the apparatus:to generate an actual channel estimate based on updating the initial channel estimate; andto decode a second signal received on the channel based on the actual channel estimate.15. The apparatus of any of Clauses 9-14, in which execution of the instructions further cause the apparatus to generate the initial channel estimate for the current time step based on an actual channel estimate from a previous time step.16. The apparatus of any of Clauses 9-15, in which the neural network is a recurrent neural network.17. A non-transitory computer-readable medium having program code recorded thereon at a communication device, the program code executed by a processor and comprising:program code to generate an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at the communication device;program code to infer, with a neural network, a residual of the initial channel estimate of the current time step; andprogram code to update the initial channel estimate of the current time step based on the residual.18. The non-transitory computer-readable medium of Clause 17, in which:the initial channel estimate of the current time step comprises a mean and a covariance; andthe residual comprises a residual mean based on the mean of the initial channel estimate and a residual covariance based on the covariance of the initial channel estimate.19. The non-transitory computer-readable medium of Clause 17 or 18, in which the program code further comprises program code to generate the initial channel estimate of the current time step and inferring the residual based on a channel observation of the current time step.20. The non-transitory computer-readable medium of Clause 19, in which the program code further comprises program code to generate the channel observation from a pilot symbol or a data symbol, in which a waveform of the pilot symbol or the data symbol is known from decoding of a previous pilot symbol or a previous data symbol.21. The non-transitory computer-readable medium of Clause 19, in which the program code further comprises program code to generate the channel observation based on a synthetic pilot estimate in an absence of a received pilot symbol.22. The non-transitory computer-readable medium of any of Clauses 17-21, in which the program code further comprises:program code to generate an actual channel estimate based on updating the initial channel estimate; andprogram code to decode a second signal received on the channel based on the actual channel estimate.23. The non-transitory computer-readable medium of any of Clauses 17-22, in which the program code further comprises program code to generate the initial channel estimate for the current time step based on an actual channel estimate from a previous time step.24. The non-transitory computer-readable medium of any of Clauses 17-23, in which the neural network is a recurrent neural network.25. An apparatus at a communication device, comprising:means for generating an initial channel estimate of a channel for a current time step with a Kalman filter based on a first signal received at a communication device;means for inferring, with a neural network, a residual of the initial channel estimate of the current time step; andmeans for updating the initial channel estimate of the current time step based on the residual.26. The apparatus of Clause 25, in which:the initial channel estimate of the current time step comprises a mean and a covariance; andthe residual comprises a residual mean based on the mean of the initial channel estimate and a residual covariance based on the covariance of the initial channel estimate.27. The apparatus of Clause 25 or 26, further comprising means for generating the initial channel estimate of the current time step and inferring the residual based on a channel observation of the current time step.28. The apparatus of Clause 27, further comprising means for generating the channel observation from a pilot symbol or a data symbol, in which a waveform of the pilot symbol or the data symbol is known from decoding of a previous pilot symbol or a previous data symbol.29. The apparatus of Clause 27, further comprising means for generating the channel observation based on a synthetic pilot estimate in an absence of a received pilot symbol.30. The apparatus of any of Clauses 25-29, further comprising:means for generating an actual channel estimate based on updating the initial channel estimate; andmeans for decoding a second signal received on the channel based on the actual channel estimate.

As used, the term “component” is intended to be broadly construed as hardware, firmware, and/or a combination of hardware and software. As used, a processor is implemented in hardware, firmware, and/or a combination of hardware and software.