Neural Network Augmentation for Wireless Channel Estimation and Tracking
By introducing neural network amplification units into the Kalman filter and adding residuals to correct channel dynamics, the problem of reduced channel estimation accuracy in the prior art is solved, and higher channel estimation accuracy and transitiveness are achieved.
Patent Information
- Application Number
- CN202180042205.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-16
- Filing Date
- 2021-06-17
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2041-06-17
AI Technical Summary
The prior art has problems with channel dynamic changes and reduced accuracy under the influence of noise in wireless channel estimation and tracking.
The neural network amplification of the Kalman filter is used to correct the mismatch between channel dynamics and assumptions by adding residuals to the output of the Kalman filter, thereby improving the accuracy of channel estimation.
The accuracy and transitiveness of channel estimation are improved, especially when the channel dynamic changes and noise influence are large.
Smart Images

Figure CN115702561B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Patent Application No. 17 / 349,744, filed on June 16, 2021, entitled “NEURAL NETWORK AUGMENTATION FOR WIRELESS CHANNEL ESTIMATION AND TRACKING,” which claims the benefit of U.S. Provisional Patent Application No. 63 / 041,637, filed on June 19, 2020, entitled “NEURAL NETWORK AUGMENTATION FOR WIRELESS CHANNEL ESTIMATION AND TRACKING,” the disclosures of which are expressly incorporated herein by reference in their entirety.
[0003] Public domain
[0004] Aspects of the present disclosure relate generally to wireless communications and, more particularly, to techniques and apparatus for channel estimation through neural network augmentation.
[0005] background
[0006] Wireless communication systems are widely deployed to provide various telecommunication services such as telephone, video, data, messaging, and broadcast. Typical wireless communication systems may employ multiple access technologies that can support communication with multiple users by sharing available system resources (e.g., bandwidth, transmit power, etc.). Examples of such multiple access technologies include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, orthogonal frequency division multiple access (OFDMA) systems, single carrier frequency division multiple access (SC-FDMA) systems, time division synchronous code division multiple access (TD-SCDMA) systems, and long term evolution (LTE). LTE / LTE-Advanced is an expansion set to the Universal Mobile Telecommunications System (UMTS) mobile standard promulgated by the Third Generation Partnership Project (3GPP).
[0007] A wireless communication network may include several base stations (BSs) that can support communication for several user equipments (UEs). The UE may communicate with the BS via a downlink and an uplink. The downlink (or forward link) refers to the communication link from the BS to the UE, while the uplink (or reverse link) refers to the communication link from the UE to the BS. As will be described in more detail, the BS may be referred to as a Node B, a gNB, an Access Point (AP), a Radio Head, a Transmit Receiving Point (TRP), a New Radio (NR) BS, a 5G Node B, and the like.
[0008] The above multiple access technologies have been adopted in various telecommunication standards to provide a common protocol that enables different user equipment to communicate at city, country, region, and even global levels. New Radio (NR) (which may also be referred to as 5G) is an expansion set to the LTE mobile standard promulgated by the Third Generation Partnership Project (3GPP). NR is designed to better support mobile broadband Internet access by using orthogonal frequency division multiplexing (OFDM) (CP-OFDM) with cyclic prefix (CP) on the downlink (DL), using CP-OFDM and / or SC-FDM (e.g., also known as discrete Fourier transform spread OFDM (DFT-s-OFDM)) on the uplink (UL), and supporting beamforming, multiple input multiple output (MIMO) antenna technology and carrier aggregation to improve spectrum efficiency, reduce costs, improve services, utilize new spectrum, and better integrate with other open standards.
[0009] An artificial neural network may include groups of interconnected artificial neurons (e.g., a neuron model). An artificial neural network may be a computing device or represented as a method to be performed by a computing device. A convolutional neural network (such as a deep convolutional neural network) is a feed-forward artificial neural network. A convolutional neural network 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 higher efficiency.
[0010] Overview
[0011] In one aspect of the present disclosure, a method performed by a communication device includes generating an initial channel estimate for a channel for a current time step using a Kalman filter based on a first signal received at the communication device. The method further includes inferring a residual of the initial channel estimate for the current time step using a neural network. The method further includes updating the initial channel estimate for the current time step based on the residual.
[0012] Another aspect of the present disclosure relates to an apparatus at a communication device. The apparatus includes means for generating an initial channel estimate for a channel for a current time step using a Kalman filter based on a first signal received at the communication device. The apparatus further includes means for inferring a residual of the initial channel estimate for the current time step using a neural network. The apparatus further includes means for updating the initial channel estimate for the current time step based on the residual.
[0013] In another aspect of the present disclosure, a non-transient computer-readable medium having non-transient program code recorded thereon at a communication device is disclosed. The program code is executed by a processor and includes program code for the following operations: generating an initial channel estimate for a channel for a current time step using a Kalman filter based on a first signal received at the communication device. The program code further includes program code for inferring a residual of the initial channel estimate for the current time step using a neural network. The program code further includes program code for updating the initial channel estimate for the current time step based on the residual.
[0014] Another aspect of the present disclosure relates to an apparatus at a communication device. The apparatus includes a processor; a memory coupled to the processor; and instructions stored in the memory, which, when executed by the processor, are operable to cause the apparatus to: generate an initial channel estimate for a channel for a current time step using a Kalman filter based on a first signal received at the communication device. Execution of the instructions also causes the apparatus to use a neural network to infer a residual of the initial channel estimate for the current time step. Execution of the instructions also causes the apparatus to update the initial channel estimate for the current time step based on the residual. Aspects generally include methods, apparatuses, systems, computer program products, non-transitory computer-readable media, user equipment, base stations, wireless communication devices, and processing systems as basically described herein with reference to the accompanying drawings and specifications and as illustrated in the accompanying drawings and specifications.
[0015] The foregoing has broadly outlined the features and technical advantages of examples according to the present disclosure in an effort to make the following detailed description better understood. Additional features and advantages will be described hereinafter. The disclosed concepts and specific examples can be easily used as a basis for modifying or designing other structures for implementing the same purpose as the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. The characteristics of the disclosed concepts in terms of both their organization and method of operation and the associated advantages will be better understood by considering the following description in conjunction with the accompanying drawings. Each of the accompanying drawings is provided for the purpose of illustration and description and is not intended to define limitations on the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to understand the features of the present disclosure in detail, a more specific description may be made with reference to various aspects, some of which are illustrated in the accompanying drawings. However, it should be noted that the accompanying drawings only illustrate certain aspects of the present disclosure and should not be considered to limit its scope, as the description may allow for other equally effective aspects. The same reference numerals in different drawings may identify the same or similar elements.
[0018] Figure 1 is a block diagram conceptually illustrating an example of a wireless communication network in accordance with various aspects of the present disclosure.
[0019] Figure 2is a block diagram conceptually illustrating an example of a base station in communication with a user equipment (UE) in a wireless communication network according to various aspects of the present disclosure.
[0020] Figure 3 An example implementation of designing a neural network using a system on a chip (SOC) including a general-purpose processor in accordance with certain aspects of the present disclosure is illustrated.
[0021] Figure 4A , 4B 4C are diagrams illustrating neural networks according to aspects of the present disclosure.
[0022] Figure 4D is a diagram illustrating an exemplary deep convolutional network (DCN) according to aspects of the present disclosure.
[0023] Figure 5 is a block diagram illustrating an exemplary deep convolutional network (DCN) according to aspects of the present disclosure.
[0024] Figure 6 is a schematic diagram illustrating a recurrent neural network (RNN) according to aspects of the present disclosure.
[0025] Figure 7 is a block diagram illustrating an example of augmenting the output of a Kalman filter (KF) at multiple time steps by a neural augmentation unit in accordance with aspects of the present disclosure.
[0026] Figure 8 is a block diagram illustrating an example of a wireless communication device configured to estimate a channel and track a channel with a neural augmented Kalman filter in accordance with aspects of the present disclosure.
[0027] Fig. 9 is a diagram illustrating an example process performed, for example, by a recipient device according to various aspects of the present disclosure.
[0028] Detailed Description
[0029] The various aspects of the present disclosure are described more fully below with reference to the accompanying drawings. However, the present disclosure can be implemented in many different forms and should not be interpreted as being limited to any specific structure or function given throughout the present disclosure. Specifically, these aspects are provided to make the present disclosure thorough and complete, and it will fully convey the scope of the present disclosure to those skilled in the art. Based on this teaching, it should be appreciated by those skilled in the art that the scope of the present disclosure is intended to cover any aspect of the present disclosure, whether it is independently or in combination with any other aspect of the present disclosure. For example, any number of aspects described can be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover such devices or methods that are practiced using supplements or other other structures, functionality, or structures and functionality as the various aspects of the present disclosure described. It should be understood that any aspect of the present disclosure disclosed can be implemented by one or more elements of the claims.
[0030] Several aspects of telecommunication systems will now be presented with reference to various devices and techniques. These devices and techniques will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, modules, components, circuits, steps, processes, algorithms, etc. (collectively referred to as "elements"). These elements can be implemented using hardware, software, or a combination thereof. Whether such elements are implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system.
[0031] It should be noted that although various aspects may be described below using terminology generally associated with 5G and later generation wireless technologies, various aspects of the present disclosure may be applied in communication systems based on other generations, such as and including 3G and / or 4G technologies.
[0032] 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 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 signal quality. 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 a data symbol estimate based on the channel estimate. The data symbol may be an estimate of the data symbol sent by the transmitter. The receiver may process (e.g., demodulate and decode) the data symbol estimate to obtain the original data.
[0033] The ability of the receiver to detect data, the quality of the data symbol estimate, and the reliability of the decoded data may be based on the quality of the channel estimate. In some examples, the ability of the receiver to detect data, the quality of the data symbol estimate, and the reliability of the decoded data improve as the quality of the channel estimate improves. Therefore, it may be desirable to derive a high-quality channel estimate. Channel estimation may be challenging in situations where wireless channel conditions may change over time. For example, a wireless channel may be relatively static at one time and dynamic at another time. As an example, the channel may change due to the mobility of the transmitter and / or the receiver.
[0034] In some examples, the channel between the receiver and the transmitter can be estimated by a discrete random process, where each time step corresponds to an orthogonal frequency division multiplexing (OFDM) symbol. The discrete random process can generate a vector or tensor representing the channel estimate. In some cases, a Kalman filter (KF) tracks the channel estimate over time.
[0035] Kalman filter adopts hidden Markov model (HMM), wherein the real channel is a hidden process, and the observed pilot is an observed process. Kalman filter can track the channel based on the hidden Markov model. Additionally, Kalman filter assumes linear transition dynamics and linear observation dynamics of the channel. Parameters for Kalman filter can be derived based on the tracked channel data. In some cases, parameters can be derived based on additional assumptions (such as Jakes model for Doppler spectrum).
[0036] The assumptions of the Kalman filter may deviate from the actual evolving dynamics of the channel, thereby reducing the accuracy of the channel estimate. Various aspects of the present disclosure relate to a neurally augmented KF (NA-KF). The NA-KF may incorporate the physics of channel evolution encapsulated in the Kalman filter. Additionally, the NA-KF may correct for the mismatch between the actual channel dynamics and the assumptions of the Kalman filter by adding residuals to the Kalman filter's estimate. The residuals may be tracked instead of the channel to improve transferability.
[0037] Figure 11 is a diagram illustrating a network 100 in which various aspects of the present disclosure may be practiced. The network 100 may be a 5G or NR network or some other wireless network, such as an LTE network. The wireless network 100 may include several BSs 110 (shown as BSs 110a, BSs 110b, BSs 110c, and BSs 110d) and other network entities. A BS is an entity that communicates with a user equipment (UE) and may also be referred to as a base station, NR BS, B node, gNB, 5G B node (NB), access point, transmit receive point (TRP), and the like. Each BS may provide communication coverage for a particular geographic area. In 3GPP, the term "cell" may refer to a coverage area of a BS and / or a BS subsystem serving the coverage area, depending on the context in which the term is used.
[0038] A BS may provide communication coverage for a macro cell, a pico cell, a femto cell, and / or another type of cell. A macro cell may cover a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by UEs with service subscriptions. A pico cell may cover a relatively small geographic area and may allow unrestricted access by UEs with service subscriptions. A femto cell may cover a relatively small geographic area (e.g., a residence) and may allow restricted access by UEs associated with the femto cell (e.g., UEs in a closed subscriber group (CSG)). A BS for a macro cell may be referred to as a macro BS. A BS for a pico cell may be referred to as a pico BS. A BS for a femto cell may be referred to as a femto BS or a home BS. In Figure 1 In the example shown in , BS 110a may be a macro BS for macro cell 102a, BS 110b may be a pico BS for pico cell 102b, and BS 110c may be a femto BS for femto cell 102c. The BS may support one or more (e.g., three) cells. The terms “eNB,” “base station,” “NR BS,” “gNB,” “TRP,” “AP,” “Node B (NB),” “5G NB,” and “cell” may be used interchangeably.
[0039] In some aspects, the cells may not necessarily be stationary, and the geographic area of the cells may move depending on the location of the mobile BS. In some aspects, the BSs may be interconnected to each other and / or to one or more other BSs or network nodes (not shown) in the wireless network 100 via various types of backhaul interfaces (such as direct physical connections, virtual networks, etc.) using any suitable transport network.
[0040] The wireless network 100 may also include a relay station. A relay station is an entity that can receive transmissions of data from an upstream station (e.g., a BS or a UE) and send transmissions of the data to a downstream station (e.g., a UE or a BS). A relay station may also be a UE that can relay transmissions for other UEs. Figure 1 In the example shown in , a relay station 110d may communicate with a macro BS 110a and a UE 120d to facilitate communication between the BS 110a and the UE 120d. A relay station may also be referred to as a relay BS, a relay base station, a relay, or the like.
[0041] The wireless network 100 may be a heterogeneous network including different types of BSs (e.g., macro BSs, pico BSs, femto BSs, relay BSs, etc.). These different types of BSs may have different transmit power levels, different coverage areas, and different effects on interference in the wireless network 100. For example, a macro BS may have a high transmit power level (e.g., 5 to 40 watts), while a pico BS, a femto BS, and a relay BS may have a lower transmit power level (e.g., 0.1 to 2 watts).
[0042] The network controller 130 may be coupled to a set of BSs and may provide coordination and control of these BSs. The network controller 130 may communicate with each BS via a backhaul. The BSs may also communicate with each other directly or indirectly, for example, via a wireless or wired backhaul.
[0043] UEs 120 (e.g., 120a, 120b, 120c) may be dispersed throughout the wireless network 100, and each UE may be stationary or mobile. UEs may also be referred to as access terminals, terminals, mobile stations, subscriber units, stations, etc. A UE may be a cellular phone (e.g., a smart phone), a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, a tablet, a camera, a gaming device, a netbook, a smartbook, an ultrabook, a medical device or equipment, a biometric sensor / device, a wearable device (smart watch, smart clothing, smart glasses, smart wristband, smart jewelry (e.g., smart ring, smart bracelet)), an entertainment device (e.g., a music or video device, or a satellite radio), a vehicle component or sensor, a smart meter / sensor, industrial manufacturing equipment, a global positioning system device, or any other suitable device configured to communicate via a wireless or wired medium.
[0044] Some UEs may be considered as machine type communication (MTC) UEs, or evolved or augmented machine type communication (eMTC) UEs. MTC and eMTC UEs include, for example, robots, drones, remote devices, sensors, meters, monitors, location tags, etc., which may communicate with a base station, another device (e.g., a remote device), or some other entity. A wireless node may provide connectivity to or to a network (e.g., a wide area network (such as the Internet) or a cellular network), for example, via a wired or wireless communication link. Some UEs may be considered as Internet of Things (IoT) devices, and / or may be implemented as NB-IoT (narrowband Internet of Things) devices. Some UEs may be considered as client equipment (CPE). UE 120 may be included inside a housing that houses components of UE 120, such as a processor component, a memory component, and the like.
[0045] In general, any number of wireless networks may be deployed in a given geographic area. Each wireless network may support a specific radio access technology (RAT) and may operate on one or more frequencies. RAT may also be referred to as radio technology, air interface, etc. Frequency may also be referred to as carrier, frequency channel, etc. Each frequency may support a single RAT in a given geographic area to avoid interference between wireless networks of different RATs. In some cases, NR or 5G RAT networks may be deployed.
[0046] In some aspects, two or more UEs 120 (e.g., shown as UE 120a and UE 120e) may communicate directly (e.g., without using base station 110 as an intermediary to communicate with each other) using one or more sidelink channels. For example, UE 120 may communicate using peer-to-peer (P2P) communication, device-to-device (D2D) communication, vehicle-to-everything (V2X) protocol (e.g., which may include vehicle-to-vehicle (V2V) protocol, vehicle-to-infrastructure (V2I) protocol, etc.), mesh network, etc. In this case, UE 120 may perform scheduling operations, resource selection operations, and / or other operations described elsewhere herein as being performed by base station 110. For example, base station 110 may configure UE 120 via downlink control information (DCI), radio resource control (RRC) signaling, media access control-control element (MAC-CE), or via system information (e.g., system information block (SIB)).
[0047] As indicated above, Figure 1 These are provided as examples only. Other examples may differ from those described herein. Figure 1 The content described.
[0048] Figure 2A block diagram of a design 200 of a base station 110 and a UE 120 is shown, which may be Figure 1 One for each base station and one for each UE in the base station 110. Base station 110 may be equipped with T antennas 234a through 234t, and UE 120 may be equipped with R antennas 252a through 252r, where in general T≧1 and R≧1.
[0049] At the base station 110, the transmit processor 220 may receive data for one or more UEs from the data source 212, select one or more modulation and coding schemes (MCS) for each UE based at least in part on a channel quality indicator (CQI) received from the UE, process (e.g., encode and modulate) the data for the UE based at least in part on the MCS selected for each UE, and provide data symbols for all UEs. Reducing the MCS reduces throughput but increases reliability of transmission. The transmit processor 220 may also process system information (e.g., for semi-static resource partitioning information (SRPI), etc.) and control information (e.g., CQI requests, grants, upper layer signaling, etc.), and provide overhead symbols and control symbols. The transmit processor 220 may also generate reference symbols for reference signals (e.g., cell-specific reference signals (CRS)) and synchronization signals (e.g., primary synchronization signals (PSS) and secondary synchronization signals (SSS)). The transmit (TX) multiple-input multiple-output (MIMO) processor 230 may perform spatial processing (e.g., precoding) on data symbols, control symbols, overhead symbols, and / or reference symbols, where applicable, and may provide T output symbol streams to T modulators (MOD) 232a to 232t. Each modulator 232 may process a respective output symbol stream (e.g., for OFDM, etc.) to obtain an output sample stream. Each modulator 232 may further process (e.g., convert to analog, amplify, filter, and up-convert) the output sample stream to obtain a downlink signal. The T downlink signals from modulators 232a to 232t may be transmitted via T antennas 234a to 234t, respectively. According to various aspects described in more detail below, position coding may be used to generate synchronization signals to convey additional information.
[0050] At UE 120, antennas 252a to 252r may receive downlink signals from base station 110 and / or other base stations and may provide received signals to demodulators (DEMODs) 254a to 254r, respectively. Each demodulator 254 may condition (e.g., filter, amplify, downconvert, and digitize) the received signal to obtain input samples. Each demodulator 254 may further process the input samples (e.g., for OFDM, etc.) to obtain received symbols. A MIMO detector 256 may obtain received symbols from all R demodulators 254a to 254r, perform MIMO detection on the received symbols where applicable, and provide detected symbols. A receive processor 258 may process (e.g., demodulate and decode) the detected symbols, provide decoded data for UE 120 to a data sink 260, and provide decoded control information and system information to a controller / processor 280. The channel processor may determine reference signal received power (RSRP), received signal strength indicator (RSSI), reference signal received quality (RSRQ), channel quality indicator (CQI), etc. In some aspects, one or more components of UE 120 may be included in a housing.
[0051] On the uplink, at the UE 120, a transmit processor 264 may receive and process data from a data source 262 and control information from a controller / processor 280 (e.g., for reports including RSRP, RSSI, RSRQ, CQI, etc.). The transmit processor 264 may also generate reference symbols for one or more reference signals. The symbols from the transmit processor 264 may be precoded by a TX MIMO processor 266, if applicable, further processed by modulators 254a through 254r (e.g., for DFT-s-OFDM, CP-OFDM, etc.), and transmitted to the base station 110. At the base station 110, uplink signals from the UE 120 and other UEs may be received by the antenna 234, processed by the demodulator 254, detected by the MIMO detector 236, if applicable, and further processed by the receive processor 238 to obtain decoded data and control information sent by the UE 120. Receive processor 238 may provide decoded data to data sink 239 and decoded control information to controller / processor 240. Base station 110 may include communication unit 244 and communicate with network controller 130 via communication unit 244. Network controller 130 may include communication unit 294, controller / processor 290, and memory 292.
[0052] The controller / processor 240 of the base station 110, the controller / processor 280 of the UE 120, and / or Figure 2Any other component(s) of the controller / processor 240 of the base station 110, the controller / processor 280 of the UE 120, and / or Figure 2 Any other component(s) may perform or direct e.g. Figure 6-8 The processes and / or operations of other processes as described. Memories 242 and 282 may store data and program codes for base station 110 and UE 120, respectively. Scheduler 246 may schedule UEs for data transmission on the downlink and / or uplink.
[0053] In some aspects, UE 120 may include means for: generating a channel estimate for a current time step using a Kalman filter; inferring a residual based on the channel estimate for the current time step; and updating the channel estimate for the current time step based on the residual. Such means may include combining Figure 2 One or more components of a UE 120 or base station 110 are described.
[0054] As indicated above, Figure 2 These are provided as examples only. Other examples may differ from those described herein. Figure 2 The content described.
[0055] In some cases, different types of devices supporting different types of applications and / or services may coexist in a cellular cell. Examples of different types of devices include UE handsets, customer premises equipment (CPE), vehicles, Internet of Things (IoT) devices, and the like. Examples of different types of applications include ultra-reliable low latency communications (URLLC) applications, massive machine type communications (mMTC) applications, augmented mobile broadband (eMBB) applications, vehicles to everything (V2X) applications, and the like. In addition, in some cases, a single device may support different applications or services simultaneously.
[0056] Figure 3An example implementation of a system on chip (SOC) 300 according to certain aspects of the present disclosure is illustrated, which may include a central processing unit (CPU) 302 or a multi-core CPU configured to augment Kalman filter estimation. The SOC 300 may be included in a base station 110 or a UE 120. Variables (e.g., neural signals and synaptic weights), system parameters associated with a computing device (e.g., a 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, a memory block associated with a CPU 302, a memory block associated with a graphics processing unit (GPU) 304, a memory block associated with a digital signal processor (DSP) 306, a memory block 318, or may be distributed across multiple blocks. Instructions executed at the CPU 302 may be loaded from a program memory associated with the CPU 302 or may be loaded from the memory block 318.
[0057] The SOC 300 may also include additional processing blocks customized for specific functions, such as a GPU 304, a DSP 306, a connectivity block 310 (which may include fifth generation (5G) connectivity, fourth generation long term evolution (4G LTE) connectivity, Wi-Fi connectivity, USB connectivity, Bluetooth connectivity, etc.), and a multimedia processor 312 that may detect and recognize gestures, for example. In one implementation, the NPU is implemented in the CPU, DSP, and / or GPU. The SOC 300 may also include a sensor processor 314, an image signal processor (ISP) 316, and / or a navigation module 320 (which may include a global positioning system).
[0058] SOC 300 may be based on the ARM instruction set. In one aspect of the present disclosure, the instructions loaded into the general purpose processor 302 may include code for the following operations: generating a channel estimate for the current time step using a Kalman filter; inferring a residual based on the channel estimate for the current time step; and updating the channel estimate for the current time step based on the residual.
[0059] Deep learning architectures can perform object recognition tasks by learning to represent the input at successively higher levels of abstraction in each layer, thereby building useful feature representations of the input data. In this way, deep learning addresses a major bottleneck of traditional machine learning. Before the advent of deep learning, machine learning approaches to object recognition problems might rely heavily on human-engineered features, perhaps combined with shallow classifiers. A shallow classifier could be a two-class linear classifier, for example, where a weighted sum of the components of a feature vector is compared to a threshold to predict which class the input belongs to. A human-engineered feature could be a template or kernel that is customized for a specific problem domain by an engineer with domain expertise. In contrast, a deep learning architecture can learn to represent features similar to what a human engineer might design, but it does so through training. In addition, deep networks can learn to represent and recognize new types of features that humans might not have considered.
[0060] A deep learning architecture can learn a hierarchy of features. For example, if a first layer is presented with visual data, the first layer can learn to recognize relatively simple features (such as edges) in the input stream. In another example, if a first layer is presented with auditory data, the first layer can learn to recognize spectral power in specific frequencies. A second layer that takes the output of the first layer as input can learn to recognize combinations of features, such as simple shapes for visual data or combinations of sounds for auditory data. For example, higher layers can learn to represent complex shapes in visual data or words in auditory data. Even higher layers can learn to recognize common visual objects or spoken phrases.
[0061] Deep learning architectures can perform particularly well when applied to problems that have a natural hierarchical structure. For example, the classification of motor vehicles can benefit from first learning to recognize wheels, windshields, and other features. These features can be combined in different ways at higher levels to recognize cars, trucks, and airplanes.
[0062] Neural networks can be designed to have various connectivity patterns. In a feedforward network, information is passed from lower layers to higher layers, with each neuron in a given layer communicating to neurons in a higher layer. As described above, hierarchical representations can be constructed in successive layers of a feedforward network. Neural networks can also have reflow or feedback (also known as top-down) connections. In a reflow connection, the output from a neuron in a given layer can be communicated to another neuron in the same layer. The reflow architecture can help identify patterns that span more than one block of input data delivered sequentially to the neural network. The connection from a neuron in a given layer to a neuron in a lower layer is called a feedback (or top-down) connection. A network with many feedback connections may be helpful when the recognition of high-level concepts can assist in discerning specific low-level features of the input.
[0063] The connections between layers of a neural network can be fully connected or partially connected. Figure 4A Illustrated is an example of a fully connected neural network 402. In the fully connected neural network 402, a neuron in a first layer may communicate its output to every neuron in a second layer, so that every neuron in the second layer will receive input from every neuron in the first layer. Figure 4B An example of a locally connected neural network 404 is illustrated. In the locally connected neural network 404, neurons in a first layer may be connected to a limited number of neurons in a second layer. More generally, the locally connected layers of the locally connected neural network 404 may be configured so that each neuron in a layer will have the same or similar connectivity pattern, but their connection strengths may have different values (e.g., 410, 412, 414, and 416). The locally connected connectivity patterns may produce spatially distinct receptive fields in higher layers because higher layer neurons in a given area may receive inputs that are tuned through training to be of a nature that is a limited portion of the total input to the network.
[0064] An example of a locally connected neural network is a convolutional neural network. Figure 4C An example of a convolutional neural network 406 is illustrated. The convolutional neural network 406 can be configured such that the connection strengths associated with the inputs to each neuron in the second layer are shared (e.g., 408). Convolutional neural networks may be well suited for problems where the spatial location of the inputs is meaningful.
[0065] One type of convolutional neural network is a deep convolutional network (DCN). Figure 4D A detailed example of a DCN 400 designed to recognize visual features from an image 426 input from an image capture device 430 (such as an onboard camera) is illustrated. The DCN 400 of the current example can be trained to identify traffic signs and numbers provided on traffic signs. Of course, the DCN 400 can be trained for other tasks, such as identifying lane markings or identifying traffic lights.
[0066] The DCN 400 may be trained using supervised learning. During training, an image (such as an image 426 of a speed limit sign) may be presented to the DCN 400, and a "forward pass" may then be calculated to produce an output 422. The DCN 400 may include a feature extraction section and a classification section. Upon receiving the image 426, a convolution layer 432 may apply a convolution kernel (not shown) to the image 426 to generate a first set of feature maps 418. As an example, the convolution kernel of the convolution layer 432 may be a 5x5 kernel that generates a 28x28 feature map. In this example, since four different feature maps are generated in the first set of feature maps 418, four different convolution kernels are applied to the image 426 at the convolution layer 432. A convolution kernel may also be referred to as a filter or a convolution filter.
[0067] The first set of feature maps 418 may be subsampled by a max pooling layer (not shown) to generate a second set of feature maps 420. The max pooling layer reduces the size of the first set of feature maps 418. That is, the size of the second set of feature maps 420 (such as 14x14) is smaller than the size of the first set of feature maps 418 (such as 28x28). The reduced size provides similar information to subsequent layers while reducing memory consumption. The second set of feature maps 420 may be further convolved via one or more subsequent convolutional layers (not shown) to generate a subsequent set of one or more sets of feature maps (not shown).
[0068] exist Figure 4D In the example of , the second set of feature maps 420 are convolved to generate a first feature vector 424. In addition, the first feature vector 424 is further convolved to generate a second feature vector 428. Each feature of the second feature vector 428 may include a number corresponding to a possible feature of the image 426 (such as "sign", "60", and "100"). A softmax function (not shown) can convert the numbers in the second feature vector 428 into probabilities. In this way, the output 422 of the DCN 400 is the probability that the image 426 includes one or more features.
[0069] In this example, the probability of "sign" and "60" in output 422 is higher than the probability of other features of output 422 (such as "30", "40", "50", "70", "80", "90", and "100"). Before training, output 422 generated by DCN 400 is likely to be incorrect. Thus, the error between output 422 and the target output can be calculated. The target output is the true value of image 426 (e.g., "sign" and "60"). The weights of DCN 400 can then be adjusted to align the output 422 of DCN 400 more closely with the target output.
[0070] To adjust the weights, the learning algorithm may calculate a gradient vector for the weights. The gradient may indicate the amount by which the error will increase or decrease if the weights are adjusted. At the top layer, the gradient may directly correspond to the value of the weights connecting the activated neurons in the penultimate layer to the neurons in the output layer. In the lower layers, the gradient may depend on the value of the weights and the calculated error gradient of the higher layers. The weights may then be adjusted to reduce the error. This way of adjusting weights may be referred to as "backward propagation" because it involves a "backward pass" in the neural network.
[0071] In practice, the error gradient of the 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 error rate achievable by the entire system has stopped decreasing or until the error rate has reached a target level. After learning, a new image (e.g., a speed limit sign of image 426) may be presented to the DCN and a forward pass through the network may produce output 422, which may be considered an inference or prediction of the DCN.
[0072] Deep belief network (DBN) is a probabilistic model including multiple layers of hidden nodes. DBN can be used to extract hierarchical representations of training data sets. DBN can be obtained by stacking multiple layers of restricted Boltzmann machines (RBM). RBM is a class of artificial neural networks that can learn probability distributions on input sets. Since RBM can learn probability distributions without information about which class each input should be classified into, RBM is often used in unsupervised learning. Using a hybrid unsupervised and supervised paradigm, the bottom RBM of DBN can be trained in an unsupervised manner and can be used as a feature extractor, while the top RBM can be trained in a supervised manner (on the joint distribution of the input and target class from the previous layer) and can be used as a classifier.
[0073] A deep convolutional network (DCN) is a network of convolutional networks configured with additional pooling and normalization layers. DCN has achieved state-of-the-art performance on many tasks. DCN can be trained using supervised learning, where both the input and output targets are known for many examples and are used to modify the weights of the network by using gradient descent.
[0074] The DCN can be a feed-forward network. In addition, as described above, the connections from the neurons in the first layer of the DCN to the neuron groups in the next higher layer are shared across the neurons in the first layer. The feed-forward and shared connections of the DCN can be used for fast processing. The computational burden of the DCN can be much smaller than, for example, the computational burden of a neural network of similar size that includes reflow or feedback connections.
[0075] The processing of each layer of the convolutional network can be considered as a spatial invariant template or basis projection. If the input is first decomposed into multiple channels, such as the red, green and blue channels of a color image, the convolutional network trained on the input can be considered to be three-dimensional, with two spatial dimensions along the axis of the image and a third dimension that captures color information. The output of the convolutional connection can be considered to form a feature map in a subsequent layer, each element in the feature map (e.g., 220) receives input from a certain range of neurons in the previous layer (e.g., feature map 218) and from each channel in the multiple channels. The values in the feature map can be further processed with nonlinearity (such as rectification, max (0, x)). The values from adjacent neurons can be further pooled (which corresponds to downsampling) and can provide additional local invariance and dimensionality reduction. Normalization can also be applied by lateral inhibition between neurons in the feature map, which corresponds to whitening.
[0076] The performance of deep learning architectures can improve as more labeled data points become available or as computing power increases. Modern deep neural networks are routinely trained with thousands of times more computing resources than were available to a typical researcher just fifteen years ago. New architectures and training paradigms can further boost the performance of deep learning. Rectified linear units can reduce the training problem known as vanishing gradients. New training techniques can reduce over-fitting and thus enable larger models to achieve better generalization. Encapsulation techniques can abstract the data within a given receptive field and further improve overall performance.
[0077] Figure 5 is a block diagram illustrating a deep convolutional network 550 according to aspects of the present disclosure. The deep convolutional network 550 may include multiple layers of different types based on connectivity and weight sharing. Figure 5 As shown in FIG. 5 , the deep convolution network 550 includes convolution blocks 554A and 554B. Each of the convolution blocks 554A and 554B may be configured with a convolution layer (CONV) 356 , a normalization layer (LNorm) 558 , and a maximum pooling layer (MAX POOL) 560 .
[0078] The convolution layer 556 may include one or more convolution filters that can be applied to the input data to generate a feature map. Although only two convolution blocks 554A, 554B are shown, the present disclosure is not limited thereto, but instead any number of convolution blocks 554A, 554B may be included in the deep convolution network 550 according to design preferences. The normalization layer 558 may normalize the output of the convolution filter. For example, the normalization layer 558 may provide whitening or lateral suppression. The maximum pooling layer 560 may provide spatial downsampling aggregation to achieve local invariance and dimensionality reduction.
[0079] For example, the parallel filter bank of the deep convolutional network can be loaded onto the CPU 302 or GPU 304 of the SOC 300 to achieve high performance and low power consumption. In an alternative embodiment, the parallel filter bank can be loaded onto the DSP 306 or ISP 316 of the SOC 300. Additionally, the deep convolutional network 550 can access other processing blocks that may be present on the SOC 300, such as the sensor processor 314 and navigation module 320 dedicated to sensors and navigation, respectively.
[0080] The deep convolutional network 550 may also include one or more fully connected layers 562 (FC1 and FC2). The deep convolutional network 550 may further include a logistic regression (LR) layer 564. There are weights (not shown) to be updated between each layer 556, 558, 560, 562, 564 of the deep convolutional network 550. The output of each layer (e.g., 556, 558, 560, 562, 564) can be used as the input to a subsequent layer (e.g., 556, 558, 560, 562, 564) in the deep convolutional network 550 to learn hierarchical feature representations from the input data 552 (e.g., images, audio, video, sensor data, and / or other input data) supplied at the first convolutional block 554A. The output of the deep convolutional network 550 is the classification score 566 for the input data 552. The classification score 566 can be a set of probabilities, where each probability is the probability that the input data includes features from the feature set.
[0081] Figure 6 is a schematic diagram illustrating a recurrent neural network (RNN) 600 in accordance with aspects of the present disclosure. The recurrent neural network 600 includes an input layer 602, a hidden layer 604 with recurrent connections, and an output layer 606. Given an input sequence X having multiple input vectors x T (e.g., X = {x0, x1, x2…x t}), the recurrent neural network 600 will predict the classification label y of each output vector z T in the output sequence Z (e.g., Z = {z0…z t}). As t shown, a hidden layer 604 having M units (e.g., h Figure 6 ) is designated between the input layer 602 and the output layer 606. The M units of the hidden layer 604 store information about previous values (t’ < t) of the input sequence X. These M units can be computational nodes (e.g., neurons). In one configuration, the recurrent neural network 600 receives the input x o …h t ) and generates the classification label y of the output z T by iteratively evaluating the following equations: T for the output z t :
[0082]
[0083] h t =f(s t ) (2)
[0084] o t =W yh h t +b y (3)
[0085] y t =g(o t ) (4)
[0086] where w hx 、w hh and w yh is the weight matrix, b h and b y is the bias, s t and t are the inputs to the hidden layer 604 and the output layer 606, respectively, and f and g are nonlinear functions. Function f may include a rectified linear unit (RELU) and in some aspects, function g may include a linear function or a softmax function. In addition, the hidden layer nodes are initialized to fixed biases bi so that at t=0, h o =bi. In some aspects, bi may be set to zero (eg, bi=0). The objective function C(θ) for a recurrent neural network with a single training pair (x, y) is defined as C(θ)=∑ t L t (z, t(θ)), where θ represents the set of parameters (weights and biases) in this recurrent neural network.
[0087] As indicated above, Figure 3-6 are provided as examples. Other examples may differ from those described in Figure 3-6 The content described.
[0088] As described, the channel between the receiver and the transmitter can be estimated by a discrete random process, where each time step corresponds to an orthogonal frequency division multiplexing (OFDM) symbol. The discrete random process can generate a vector or tensor representing the channel estimate. In some implementations, the channel can be a wireless communication channel. In some examples, the wireless communication channel can be tracked by a Kalman filter (KF). In some such examples, the Kalman filter can track the estimate of the wireless communication channel over time.
[0089] Additionally, as described, the Kalman filter adopts a hidden Markov model (HMM), wherein the real channel corresponds to a hidden process, and the observed pilot corresponds to the observed process. The Kalman filter can track the channel based on the hidden Markov model. Parameters for the Kalman filter can be derived or based on observed data, such as observed pilots. In some cases, the parameters can be derived analytically based on additional assumptions (such as the Jakes model for the Doppler spectrum).
[0090] In some examples, the Kalman filter may assume linear transition dynamics of the channel and a linear observation process. In some such examples, the assumptions of the Kalman filter may deviate from the actual evolution dynamics of the channel, thereby reducing the accuracy of the channel estimate. For example, the accuracy of the channel estimate may be reduced under certain channel conditions (such as high Doppler shift or a combination of different Doppler shifts). As another example, the accuracy of the channel estimate may be reduced when a single tracking function is used for various communication scenarios. Therefore, it may be desirable to improve the accuracy of the channel estimate derived from the Kalman filter.
[0091] Various aspects of the present disclosure relate to augmenting a Kalman filter with an artificial neural network, such as a recursive neural network, to improve channel estimation. For ease of explanation, the augmented Kalman filter may be referred to as a neural 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 rough channel dynamics encapsulated in the output of the Kalman filter. Doppler values are an example of rough channel dynamics. In some examples, the NA-KF may provide Doppler values as an additional output. Additionally, the NA-KF may correct for mismatches between actual channel dynamics and assumptions of the Kalman filter by adding residuals to the Kalman filter's estimate. In some examples, the residual error may be tracked instead of tracking the channel to improve transferability. In some implementations, the pattern learning function of the neural augmentation unit may be combined with the channel analysis generated by the Kalman filter to improve the channel estimate.
[0092] As described, the Kalman filter can be augmented with a neural amplification unit (e.g., a recursive neural network). In some implementations, at each time step, the neural amplification unit can generate a residual based on the output of the Kalman filter. In some examples, at each time step, the Kalman filter can output a mean and covariance estimate based on the mean and covariance estimate of the previous time step. The residual can 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 can also be based on channel observations. In some such examples, the channel observations can be obtained from received pilot symbols (e.g., reference signals). In some examples, in the absence of pilot symbols, the neural amplification unit can generate synthetic pilot observations in the absence of actual pilot observations derived from received pilot symbols.
[0093] According to aspects of the present disclosure, the neural augmentation unit does not modify the direct input or direct output of the Kalman filter. In some examples, the neural augmentation unit can be disabled to provide an independent Kalman filter. In such examples, the independent Kalman filter can be backward compatible with conventional communication systems (such as conventional wireless communication systems).
[0094] In some examples, the Kalman filter may take the form of the following Hidden Markov Model (HMM):
[0095]
[0096] The parameter h t A vector (e.g., a flat vector) representing the true channel state at discrete time step t, with parameters w t represents the process noise, and the parameter v t represents the observation noise, and the parameters A and B represent the coefficients. In some cases (such as multiple-input multiple-output channels), the parameter h t A tensor that can represent the channel state at discrete time step t. Additionally, the parameter o t represents the channel h determined from the pilot symbol t The parameter o is a noise observation of a part of t May be referred to as pilot observations.
[0097] As described, the receiving party may estimate the channel based on pilot symbols received on the channel. For example, channel estimation may be used for maximum ratio combining, equalization, matched filtering, data detection, or demodulation. In some examples, the transmitting party (such as referring to Figure 1The base station 110 described above may transmit pilot symbols at an interval (such as a periodic interval). In some other examples, the pilot symbols may also be transmitted asynchronously. In some cases, the transmit waveform may be reconstructed based on the decoded data or control payload. The transmit waveform may be used as a pilot for channel estimation. The Kalman filter assumes that the channel state h at the current state t Depending on the channel state in one or more previous channels (such as channel state h t-1 to h t-N ) channel state. In Formula 5, the current channel state h t Based on the previous channel state h t-1 and process noise w t Additionally, the pilot observation o t The synthetic estimate of can be based on the current channel state h t and the observed noise v t It is obtained by linear transformation.
[0098] The parameters of the Kalman filter may include matrices A and B, process noise w t and the observation noise v t The parameters can be learned or derived from a model (such as the Jakes model). The Kalman filter can be based on this observation. t (when available) and the previous channel state h t-1 The mean and covariance Estimate the channel state h t The mean and covariance Estimation. The estimation process can be a two-step process, where each step can be linear.
[0099] In some examples, the current channel state h t The current channel estimate (such as the mean and covariance The estimate can be based on the mean of the previous channel states arrive and covariance and For example, the previous channel state h t-1 The vector can be composed of multiple previous channel states h t-1 to h t-N In one configuration, a higher-order self-recursive channel model can be constructed by replacing the concatenation of channel vectors for multiple previous time steps with parameters s t To replace the parameter h in equation 5 tto track. In some examples, channel estimation may be performed in the time domain, and thus further restrictions may be introduced to include further a priori information, such as independent channel taps. In one example, the matrix A may be restricted to a diagonal matrix.
[0100] Figure 7 is a block diagram illustrating an example 700 of augmenting the output of a Kalman filter (KF) 702 at multiple time steps by a neural augmentation unit 704 in accordance with aspects of the present disclosure. Figure 7 In the example of Figure 1 and 2 In some such examples, channel estimation may be performed by referring to Figure 2 254a-254r. In some other examples, the Kalman filter 702 and the neural augmentation unit 704 may be a base station (such as the one described in reference to Figure 1 and 2 In some such examples, channel estimation may be performed as described with reference to Figure 2 One or more of the controller / processor 240, transmit processor 220, and / or demodulators 232a-232t described may be used. Figure 7 The Kalman filter 702 and the neural augmentation unit 704 may be examples of a neural augmented Kalman filter (NA-KF).
[0101] like Figure 7 As shown, at the current time step t, the Kalman filter 702 receives the mean of the previous channel estimate and covariance and the observation o at the current time step t t As described, the observation o at time step t t can be generated based on the pilot symbol received at time step t. In some examples, the observation o t It can be called instant channel estimation. Figure 7 In the example of , based on these inputs, Kalman filter 702 generates a mean for the current time step t and covariance Mean and covariance It can represent the initial channel estimate for the current time step t.
[0102] At each time step, the mean value from Kalman filter 702 and covariance can be input to the neural amplification unit 704. Figure 7As shown, the neural amplification unit 704 can also receive observations o from the current time step t t The neural amplification unit 704 may be a recurrent network, such as a long short-term memory (LSTM) network, a gated recurrent unit (GRU), or other types of recurrent neural networks. The neural amplification unit 704 may generate a mean residual for the current time step t. and covariance residuals .like Figure 7 As shown, the mean residual and covariance residuals The mean of the Kalman filter 702 may be updated and covariance To obtain the mean of the channel state at the current time step and covariance In some examples, the mean residual can be added to the mean of the Kalman filter To obtain the mean The actual estimate of . Additionally, the covariance residual The covariance that can be added to the Kalman filter 702 To obtain the covariance actual estimate.
[0103] In conventional systems, the mean value generated by Kalman filter 702 for one time step is and covariance can be input to Kalman filter 702 to determine the channel estimate for the next time step. In contrast, aspects of the present disclosure use the mean residual and covariance residuals To increase the mean of the current time step and covariance to correct the estimate of Kalman filter 702. That is, the output of Kalman filter 702 is interleaved with the output of neural augmentation unit 704. The corrected estimate can be used for subsequent estimates of Kalman filter 702. Figure 7 Example 700 illustrates the process for multiple time steps t-1, t, and t+1. Multiple Kalman filters 702 and neural augmentation units 704 are shown for illustrative purposes to show the timeline over multiple time steps. Various aspects of the present disclosure may use a single Kalman filter 702 and a single neural augmentation unit 704 for each time step. Alternatively, multiple Kalman filters 702 and neural augmentation units 704 may be designated for a receiving device.
[0104] like Figure 7As shown, the process described with reference to the current time step t can be repeated for subsequent time steps (such as the next time step t+1). In one configuration, when no pilot symbol is received (e.g., an observation is missed), the neural amplification unit 704 can use the synthetic observation for the current time step t generated by the neural amplification unit 704 at the previous time step t-1 For example, Figure 7 As shown, at the current time step t, the neural amplification unit 704 generates a synthetic observation for the next time step t+1 In some implementations, at each time step, the neural augmentation unit 704 may model the residual for the Kalman filter 702 and also the synthetic observation for the next time step. In the case of a missed observation, the neural augmentation unit 704 replaces the synthetic observation of the current time step with the one it modeled during the previous time step. Alternatively, in the case where a real pilot is observed, the neural augmentation unit 704 may use the real observation o as input. Figure 7 In the example above, optional steps are illustrated with dashed lines. Synthetic Observations can be used by one or more of the Kalman filter 702 or the neural augmentation unit 704. In some implementations, the neural augmentation unit 704 can be trained to t The true value or actual observation o t The true value of .
[0105] In some implementations, the neural augmentation unit 704 may maintain one or more internal states (e.g., as implemented in an LSTM network). In some examples, additional information (such as independent channel taps) may impose additional constraints on the parameters learned by the neural augmentation unit 704.
[0106] In some implementations, the Kalman filter 702 and the neural augmentation unit 704 can be trained simultaneously. That is, the Kalman filter 702 and the neural augmentation unit 704 can be considered as a system (e.g., function) and the parameters of the Kalman filter 702 and the neural augmentation unit 704 can be trained together. The parameters can include Kalman parameters as well as neural network parameters.
[0107] In another implementation, the Kalman filter 702 may be trained separately. After training the Kalman filter, the combination of the Kalman filter 702 and the neural amplification unit 704 (e.g., NA-KF) may be trained as a whole. In this implementation, the parameters of the Kalman filter 702 may be fixed when the combination of the Kalman filter 702 and the neural amplification unit 704 is trained as a whole. The training data may train the neural network parameters when the combination of the Kalman filter 702 and the neural amplification unit 704 is trained after the Kalman filter 702 is trained separately. In one configuration, the neural network parameters may be trained based on the loss between the channel estimate and the actual true channel. In this example, the channel estimate may be the sum of the estimate of the Kalman filter 702 and the residual output from the neural amplification unit 704. The residual error may then be used as the true value of the neural amplification unit 704. Alternatively, as described, when training the combination of the Kalman filter 702 and the neural amplification unit 704 as a whole, the parameters of the Kalman filter 702 may be fixed, and the parameters of the neural amplification unit 704 may be trained. That is, the training may be a two-step process in which the Kalman filter 702 is trained alone and then inserted into the combination of the Kalman filter 702 and the neural augmentation unit 704 to learn the neural network parameters (eg, weights).
[0108] Synthetic Observation It may be optional during training. The fine-tuning step may be performed online or offline. The fine-tuning process may be applied based on the described training process.
[0109] Figure 8 8 is a block diagram illustrating an example of a wireless communication device 800 configured to estimate a channel and track a channel using a neural augmented Kalman filter in accordance with aspects of the present disclosure. The wireless communication device 800 may be a reference Figure 1 and 2 The base station 110 described herein or with reference to Figure 1 and 2 Examples of various aspects of UE 120 described herein. The wireless communication device 800 may include a receiver 810, a communication manager 815, and a transmitter 820, which may communicate with each other (e.g., via one or more buses). In some implementations, the receiver 810 and the transmitter 820. In some examples, the wireless communication device 800 is configured to perform operations, including the following reference Fig. 9 The operations of process 900 are described.
[0110] In some examples, the wireless communication device 800 may include a chip, a system on a chip (SoC), a chipset, a package, or a device including at least one processor and at least one modem (e.g., a 5G modem or other cellular modem). In some examples, the communication manager 815 or its subcomponents may be separate and distinct components. In some examples, at least some components of the communication manager 815 are at least partially implemented as software stored in a memory. For example, portions of one or more components of the communication manager 815 may be implemented as non-transient code that can be executed by a processor to perform the functions or operations of the corresponding components.
[0111] The receiver 810 may receive one or more reference signals (e.g., periodically configured CSI-RS, aperiodically configured CSI-RS, or reference signals that differ for multiple beams), synchronization signals (e.g., synchronization signal blocks (SSBs)), control information, and / or data information from one or more other wireless communication devices, such as in packet form, via various channels including a control channel (e.g., a physical downlink control channel (PDCCH) and a data channel (e.g., a physical downlink shared channel (PDSCH)). The other wireless communication devices may include, but are not limited to, reference signals. Figure 1 and 2 Another base station 110 or another UE 120 is described.
[0112] The received information may be communicated to other components of the wireless communication device 800. The receiver 810 may be a reference Figure 2 Examples of various aspects of the described receive processor 258 or 238. The receiver 810 may include a device coupled to or otherwise utilizing a set of antennas (eg, the set of antennas may be referenced to Figure 2 A set of radio frequency (RF) chains (examples of aspects of antennas 252a to 252r or antennas 234a to 234t) are described.
[0113] The transmitter 820 may transmit signals generated by the communication manager 815 or other components of the wireless communication device 800. In some examples, the transmitter 820 may be co-located with the receiver 810 in a transceiver. The transmitter 820 may be a reference Figure 2 Examples of various aspects of the transmit processor 264 are described. The transmitter 820 can be coupled to or otherwise utilize a set of antennas (e.g., the set of antennas can be referenced Figure 2 252a to 252r or antennas 234a to 234t), the group of antennas can be antenna elements shared with the receiver 810. In some examples, the transmitter 820 is configured to transmit control information in a physical uplink control channel (PUCCH) and transmit data in a physical uplink shared channel (PUSCH).
[0114] The communication manager 815 may be a reference Figure 2 Examples of various aspects of the controller / processor 240 or 280 described. The communication manager 815 includes a Kalman filter 825 and a neural amplification unit 830. In some examples, working in conjunction with the receiver 810, the Kalman filter 825 can generate an initial channel estimate for the channel for the current time step based on the first signal received at the communication device. In some examples, the channel can be a wireless communication channel. Additionally, working in conjunction with the Kalman filter 825 and the receiver 810, the neural amplification unit 830 infers the residual of the initial channel estimate for the current time step. The neural amplification unit 830 can be a recurrent neural network, such as a neural network ... Figure 7 The neural augmentation unit 704 is depicted. Working in conjunction with the Kalman filter 825 and the neural augmentation unit 830, the communication manager 815 can update the initial channel estimate for the current time step based on the residual.
[0115] Fig. 9 900 is a flow chart illustrating an example process 900 for wireless communication supporting channel estimation and channel tracking using a neural augmented Kalman filter in accordance with aspects of the present disclosure. In some implementations, process 900 may be performed by a UE (such as the one described above with reference to Figure 1 and 2 120 described above) or a wireless communication device operating within the UE, or by a base station (such as the one described above with reference to Figure 1 and 2 The process may be performed by one of the base stations 110 described herein) or a wireless communication device operating within a base station.
[0116] like Fig. 9 As shown, process 900 begins at block 902, where an initial channel estimate for a channel is generated for a current time step using 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 block 904, process 900 uses a neural network to infer a residual of the initial channel estimate for the current time step. The neural network may be a recurrent neural network, such as a reference neural network. Figure 7 The neural amplification unit 704 described. In some examples, the initial channel estimate for 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 box 906, the process updates the initial channel estimate for the current time step based on the residual. In some examples, the process 900 may 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 the actual channel estimate from a previous time step.
[0117] Various implementation examples are described in the following numbered clauses.
[0118] 1. A method performed by a communication device, comprising:
[0119] generating an initial channel estimate of a channel for a current time step using a Kalman filter based on a first signal received at the communication device;
[0120] Inferring a residual of the initial channel estimate for the current time step using a neural network; and
[0121] The initial channel estimate for the current time step is updated based on the residual.
[0122] 2. The method of clause 1, wherein:
[0123] The initial channel estimate for the current time step includes a mean and a covariance; and
[0124] The residual includes 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.
[0125] 3. The method of any of clauses 1-2, further comprising generating the initial channel estimate for the current time step and inferring the residual based on channel observations for the current time step.
[0126] 4. The method of clause 3, further comprising generating the channel observation from a pilot symbol or a data symbol, wherein the waveform of the pilot symbol or the data symbol is known by decoding a previous pilot symbol or a previous data symbol.
[0127] 5. The method of clause 3, further comprising generating the channel observations based on synthesized pilot estimates in the absence of received pilot symbols.
[0128] 6. The method according to any one of clauses 1 to 5, further comprising:
[0129] generating an actual channel estimate based on updating the initial channel estimate; and
[0130] A second signal received on the channel is decoded based on the actual channel estimate.
[0131] 7. The method of any 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.
[0132] 8. A method as described in any of clauses 1-7, wherein the neural network is a recurrent neural network.
[0133] 9. An apparatus at a communication device, comprising:
[0134] processor;
[0135] a memory coupled to the processor; and
[0136] instructions stored in the memory and operable, when executed by the processor, to cause the apparatus to:
[0137] generating an initial channel estimate of a channel for a current time step using a Kalman filter based on a first signal received at the communication device;
[0138] Inferring a residual of the initial channel estimate for the current time step using a neural network; and
[0139] The initial channel estimate for the current time step is updated based on the residual.
[0140] 10. The apparatus of clause 9, wherein:
[0141] The initial channel estimate for the current time step includes a mean and a covariance; and
[0142] The residual includes 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.
[0143] 11. An apparatus as described in clause 9 or 10, wherein execution of the instructions further causes the apparatus to generate the initial channel estimate for the current time step and infer the residual based on channel observations for the current time step.
[0144] 12. The apparatus of clause 11, wherein execution of the instructions further causes the apparatus to generate the channel observations from a pilot symbol or a data symbol, wherein a waveform of the pilot symbol or the data symbol is known by decoding a previous pilot symbol or a previous data symbol.
[0145] 13. The apparatus of clause 11, wherein execution of the instructions further causes the apparatus to generate the channel observations based on synthesized pilot estimates in the absence of received pilot symbols.
[0146] 14. An apparatus as described in any of clauses 9-13, wherein execution of the instructions further causes the apparatus to:
[0147] generating an actual channel estimate based on updating the initial channel estimate; and
[0148] A second signal received on the channel is decoded based on the actual channel estimate.
[0149] 15. An apparatus as described in any of clauses 9-14, wherein execution of the instructions further causes the apparatus to generate the initial channel estimate for the current time step based on an actual channel estimate from a previous time step.
[0150] 16. An apparatus as described in any of clauses 9-15, wherein the neural network is a recurrent neural network.
[0151] 17. A non-transitory computer readable medium at a communication device having program code recorded thereon, the program code being executed by a processor and comprising:
[0152] program code for generating an initial channel estimate for a channel for a current time step using a Kalman filter based on a first signal received at the communication device;
[0153] Program code for inferring a residual of the initial channel estimate for the current time step using a neural network; and
[0154] Program code for updating the initial channel estimate for the current time step based on the residual.
[0155] 18. The non-transitory computer-readable medium of clause 17, wherein:
[0156] The initial channel estimate for the current time step includes a mean and a covariance; and
[0157] The residual includes 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.
[0158] 19. The non-transitory computer-readable medium of clause 17 or 18, wherein the program code further comprises program code for generating the initial channel estimate for the current time step and inferring the residual based on channel observations for the current time step.
[0159] 20. The non-transitory computer-readable medium of clause 19, wherein the program code further comprises program code for generating the channel observation from a pilot symbol or a data symbol, wherein the waveform of the pilot symbol or the data symbol is known by decoding a previous pilot symbol or a previous data symbol.
[0160] 21. The non-transitory computer-readable medium of clause 19, wherein the program code further comprises program code for generating the channel observations based on synthesized pilot estimates in the absence of received pilot symbols.
[0161] 22. The non-transitory computer readable medium of any of clauses 17-21, wherein the program code further comprises:
[0162] Program code for generating an actual channel estimate based on updating the initial channel estimate; and
[0163] Program code for decoding a second signal received on the channel based on the actual channel estimate.
[0164] 23. The non-transitory computer-readable medium of any of clauses 17-22, wherein the program code further comprises program code for generating the initial channel estimate for the current time step based on an actual channel estimate from a previous time step.
[0165] 24. The non-transitory computer-readable medium of any of clauses 17-23, wherein the neural network is a recursive neural network.
[0166] 25. An apparatus at a communication device, comprising:
[0167] means for generating an initial channel estimate of a channel for a current time step using a Kalman filter based on a first signal received at the communication device;
[0168] means for inferring a residual of said initial channel estimate for said current time step using a neural network; and
[0169] means for updating the initial channel estimate for the current time step based on the residual.
[0170] 26. The apparatus of clause 25, wherein:
[0171] The initial channel estimate for the current time step includes a mean and a covariance; and
[0172] The residual includes 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.
[0173] 27. The apparatus of clause 25 or 26, further comprising means for generating the initial channel estimate for the current time step and inferring the residual based on channel observations for the current time step.
[0174] 28. The apparatus of clause 27, further comprising means for generating the channel observation from a pilot symbol or a data symbol, wherein a waveform of the pilot symbol or the data symbol is known by decoding a previous pilot symbol or a previous data symbol.
[0175] 29. The apparatus of clause 27, further comprising means for generating the channel observations based on synthesized pilot estimates in the absence of received pilot symbols.
[0176] 30. The apparatus of any one of clauses 25 to 29, further comprising:
[0177] means for generating an actual channel estimate based on updating the initial channel estimate; and means for decoding a second signal received on the channel based on the actual channel estimate.
[0178] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the aspects to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired by practice of the various aspects.
[0179] As used, the term "component" is intended to be broadly interpreted as hardware, firmware, and / or a combination of hardware and software. As used, a processor is implemented with hardware, firmware, and / or a combination of hardware and software.
[0180] Some aspects are described in conjunction with a threshold value. As used, satisfying a threshold value may refer to a value being greater than a threshold value, greater than or equal to a threshold value, less than a threshold value, less than or equal to a threshold value, equal to a threshold value, not equal to a threshold value, etc., depending on the context.
[0181] It will be apparent that the described systems and / or methods can be implemented in various forms of hardware, firmware, and / or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the aspects. Thus, the operation and behavior of these systems and / or methods are described without reference to specific software code - it is understood that software and hardware can be designed to implement these systems and / or methods based at least in part on this description.
[0182] Although specific feature combinations are described in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various aspects. In fact, many of these features can be combined in a manner not specifically described in the claims and / or not disclosed in the specification. Although each dependent claim listed below can be directly subordinate to only one claim, the disclosure of various aspects includes that each dependent claim is combined with each other claim in this group of claims. The phrase quoting "at least one of" a column of items refers to any combination of these items, including a single member. As an example, "at least one of a, b or c" is intended to cover: a, b, c, ab, ac, bc, and abc, and any combination with multiple identical elements (for example, aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other sorting of a, b and c).
[0183] The elements, actions or instructions used should not be interpreted as critical or necessary unless explicitly described as such. Moreover, as used, the articles "one" and "a" are intended to include one or more items and can be used interchangeably with "one or more". In addition, as used, the terms "set" and "group" are intended to include one or more items (e.g., related items, non-related items, combinations of related and non-related items, etc.), and can be used interchangeably with "one or more". In the case of intending to have only one item, the phrase "only one" or similar language is used. Moreover, as used, the terms "having", "containing", "including", etc. are intended to be open terms. In addition, the phrase "based on" is intended to mean "based at least in part on", unless otherwise explicitly stated.
Claims
1. A method performed by a communication device, comprising: generating an initial channel estimate of a channel for a current time step using a Kalman filter based on a first signal received at the communication device; Inferring a residual of the initial channel estimate at the current time step using a neural network; as well as The initial channel estimate for the current time step is updated based on the residual.
2. The method of claim 1, wherein: The initial channel estimate for the current time step includes a mean and a covariance; and The residual includes 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 claim 1, further comprising generating the initial channel estimate for the current time step and inferring the residual based on channel observations for the current time step.
4. The method of claim 3, further comprising generating the channel observation from a pilot symbol or a data symbol, wherein a waveform of the pilot symbol or the data symbol is known by decoding a previous pilot symbol or a previous data symbol.
5. The method of claim 3, further comprising generating the channel observations based on synthesized pilot estimates in the absence of received pilot symbols.
6. The method of claim 1, further comprising: generating an actual channel estimate based on updating the initial channel estimate; as well as A second signal received on the channel is decoded based on the actual channel estimate.
7. The method of claim 1, 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 claim 1, wherein the neural network is a recurrent neural network.
9. An apparatus at a communication device, comprising: processor; a memory coupled to the processor; as well as instructions stored in the memory and operable, when executed by the processor, to cause the apparatus to: generating an initial channel estimate of a channel for a current time step using a Kalman filter based on a first signal received at the communication device; Inferring a residual of the initial channel estimate at the current time step using a neural network; as well as The initial channel estimate for the current time step is updated based on the residual.
10. The apparatus of claim 9, wherein: The initial channel estimate for the current time step includes a mean and a covariance; and The residual includes 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 claim 9, wherein execution of the instructions further causes the apparatus to generate the initial channel estimate for the current time step and to infer the residual based on channel observations for the current time step.
12. The apparatus of claim 11, wherein execution of the instructions further causes the apparatus to generate the channel observation from a pilot symbol or a data symbol, wherein a waveform of the pilot symbol or the data symbol is known by decoding a previous pilot symbol or a previous data symbol.
13. The apparatus of claim 11, wherein execution of the instructions further causes the apparatus to generate the channel observations based on synthesized pilot estimates in the absence of received pilot symbols.
14. The apparatus of claim 9, wherein execution of the instructions further causes the apparatus to: generating an actual channel estimate based on updating the initial channel estimate; and A second signal received on the channel is decoded based on the actual channel estimate.
15. The apparatus of claim 9, wherein execution of the instructions further causes 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 claim 9, wherein the neural network is a recurrent neural network.
17. A non-transitory computer readable medium at a communication device having program code recorded thereon, the program code being executed by a processor and comprising: program code for generating an initial channel estimate for a channel for a current time step using a Kalman filter based on a first signal received at the communication device; program code for inferring a residual of the initial channel estimate for the current time step using a neural network; as well as Program code for updating the initial channel estimate for the current time step based on the residual.
18. The non-transitory computer readable medium of claim 17, wherein: The initial channel estimate for the current time step includes a mean and a covariance; and The residual includes 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 claim 17, wherein the program code further comprises program code for generating the initial channel estimate for the current time step and inferring the residual based on channel observations for the current time step.
20. The non-transitory computer readable medium of claim 19, wherein the program code further comprises program code for generating the channel observation from a pilot symbol or a data symbol, wherein a waveform of the pilot symbol or the data symbol is known by decoding a previous pilot symbol or a previous data symbol.
21. The non-transitory computer readable medium of claim 19, wherein the program code further comprises program code for generating the channel observations based on synthesized pilot estimates in the absence of received pilot symbols.
22. The non-transitory computer readable medium of claim 17, wherein the program code further comprises: program code for generating an actual channel estimate based on updating the initial channel estimate; as well as Program code for decoding a second signal received on the channel based on the actual channel estimate.
23. The non-transitory computer readable medium of claim 17, wherein the program code further comprises program code for generating 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 claim 17, wherein 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 using a Kalman filter based on a first signal received at the communication device; means for inferring a residual of said initial channel estimate for said current time step using a neural network; as well as means for updating the initial channel estimate for the current time step based on the residual.
26. The apparatus of claim 25, wherein: The initial channel estimate for the current time step includes a mean and a covariance; and The residual includes 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 claim 25, further comprising means for generating the initial channel estimate for the current time step and inferring the residual based on channel observations for the current time step.
28. The apparatus of claim 27, further comprising means for generating the channel observation from a pilot symbol or a data symbol, wherein a waveform of the pilot symbol or the data symbol is known by decoding a previous pilot symbol or a previous data symbol.
29. The apparatus of claim 27, further comprising means for generating the channel observations based on synthesized pilot estimates in the absence of received pilot symbols.
30. The apparatus of claim 25, further comprising: means for generating an actual channel estimate based on updating the initial channel estimate; as well as means for decoding a second signal received on the channel based on the actual channel estimate.
Citation Information
Patent Citations
Channel estimation method based on dynamic compression sensing
CN104283825A