This disclosure relates generally to wireless communication systems. More specifically, this disclosure relates to low-complexity machine-learning augmented robust channel estimation.
Low complexity channel estimation is critical for wireless systems, especially in next-generation high-speed wireless networks, such as massive multiple input multiple output (MIMO) networks or millimeter-wave (mmWave) networks. Many channel estimation algorithms have been proposed with different complexity and correspondingly different performance. For example, high complexity channel estimation algorithms use machine learning models, such as a fusion model. Specialty hardware is needed to execute a machine learning model (such as a fusion model) for high complexity channel estimation. An example of this specialty hardware is a graphics processing unit (GPU) that includes the computing resources that are not found in existing base stations for cellular communications. Within an existing base station, the computing resources and architecture include one or more computing processors that are generally not sufficient to execute a fusion model or other high complexity machine learning models, and that exclude GPUs. As a result, the computing resources and hardware architecture of existing base stations perform low complexity channel estimation using a moving average calculation.
The moving average calculation performed by an existing base station is associated with a couple of performance problems. First, the statistics are not known for an uplink channel from a user equipment (UE) to an existing base station. The statistics of the uplink channel are represented by large matrices. The channel statistics represent the location of the UE relative to the base station, and properties of the space between them. Second, the current hardware of existing bases stations cannot perform fast numerical algorithms to solve this optimization problem explicitly, such as a fast inversion of large matrices.
This disclosure provides low-complexity machine-learning augmented robust channel estimation.
In a first embodiment, a method for designing a codebook of convolution kernels based on a time domain rectangular filter and training a decision tree classifier to select a codeword for real time channel estimation is provided. The method includes acquiring, by a processor of an electronic device, information associated with channel and noise covariances. The method includes determining one or more time-domain rectangular filters based on the information associated with the channel and noise covariances. The method includes generating one or more convolutional kernels based on the one or more rectangular filters applied to the channel and noise covariances in a time-domain. The method includes generating a codebook based on the one or more convolutional kernels, the codebook comprising N codewords.
In a second embodiment, an electronic device for designing a codebook of convolution kernels based on a time domain rectangular filter and training a decision tree classifier to select a codeword for real time channel estimation is provided. The electronic device includes a processor that is configured to acquire information associated with channel and noise covariances. The processor is configured to determine one or more time-domain rectangular filters based on the information associated with the channel and noise covariances. The processor is configured to generate one or more convolutional kernels based on the one or more rectangular filters applied to the channel and noise covariances in a time-domain. The processor is configured to generate a codebook based on the one or more convolutional kernels, the codebook comprising N codewords.
In a third embodiment a system for designing a codebook of convolution kernels based on a time domain rectangular filter and training a decision tree classifier to select a codeword for real time channel estimation is provided. The system includes the electronic device of the second embodiment and a base operably coupled to the electronic device. The base station includes a transceiver, a memory, and at least one processor. The transceiver of the base station is configured to receive a reference signal from a user equipment (UE). The at least one processor of the base station is configured to receive, from the electronic device, the codebook comprising N codewords. The at least one processor of the base station is configured to calculate channel statistics using a low complexity algorithm. The at least one processor of the base station is configured to execute a decision tree classifier to select a codeword from the codebook stored in the memory. The at least one processor of the base station is configured to apply the selected codeword as a convolution kernel for channel estimation.
In a fourth embodiment, a non-transitory computer readable medium comprising program code for designing a codebook of convolution kernels based on a time domain rectangular filter and training a decision tree classifier to select a codeword for real time channel estimation is provided. The computer program includes computer readable program code that, when executed by a processor of an electronic device, causes the processor to acquire information associated with channel and noise covariances. The computer readable program code causes the processor to determine one or more time-domain rectangular filters based on the information associated with the channel and noise covariances. The computer readable program code causes the processor to generate one or more convolutional kernels based on the one or more rectangular filters applied to the channel and noise covariances in a time-domain. The computer readable program code causes the processor to generate a codebook based on the one or more convolutional kernels, the codebook comprising N codewords.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms “transmit,” “receive,” and “communicate,” as well as derivatives thereof, encompass both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, means to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like.
Moreover, various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a computer readable medium. The terms “application” and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer readable program code. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
As used here, terms and phrases such as “have,” “may have,” “include,” or “may include” a feature (like a number, function, operation, or component such as a part) indicate the existence of the feature and do not exclude the existence of other features. Also, as used here, the phrases “A or B,” “at least one of A and/or B,” or “one or more of A and/or B” may include all possible combinations of A and B. For example, “A or B,” “at least one of A and B,” and “at least one of A or B” may indicate all of (1) including at least one A, (2) including at least one B, or (3) including at least one A and at least one B. Further, as used here, the terms “first” and “second” may modify various components regardless of importance and do not limit the components. These terms are only used to distinguish one component from another. For example, a first user device and a second user device may indicate different user devices from each other, regardless of the order or importance of the devices. A first component may be denoted a second component and vice versa without departing from the scope of this disclosure.
It will be understood that, when an element (such as a first element) is referred to as being (operatively or communicatively) “coupled with/to” or “connected with/to” another element (such as a second element), it can be coupled or connected with/to the other element directly or via a third element. In contrast, it will be understood that, when an element (such as a first element) is referred to as being “directly coupled with/to” or “directly connected with/to” another element (such as a second element), no other element (such as a third element) intervenes between the element and the other element.
As used here, the phrase “configured (or set) to” may be interchangeably used with the phrases “suitable for,” “having the capacity to,” “designed to,” “adapted to,” “made to,” or “capable of” depending on the circumstances. The phrase “configured (or set) to” does not essentially mean “specifically designed in hardware to.” Rather, the phrase “configured to” may mean that a device can perform an operation together with another device or parts. For example, the phrase “processor configured (or set) to perform A, B, and C” may mean a generic-purpose processor (such as a CPU or application processor) that may perform the operations by executing one or more software programs stored in a memory device or a dedicated processor (such as an embedded processor) for performing the operations.
The terms and phrases as used here are provided merely to describe some embodiments of this disclosure but not to limit the scope of other embodiments of this disclosure. It is to be understood that the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. All terms and phrases, including technical and scientific terms and phrases, used here have the same meanings as commonly understood by one of ordinary skill in the art to which the embodiments of this disclosure belong. It will be further understood that terms and phrases, such as those defined in commonly-used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined here. In some cases, the terms and phrases defined here may be interpreted to exclude embodiments of this disclosure.
Definitions for other certain words and phrases may be provided throughout this patent document. Those of ordinary skill in the art should understand that in many if not most instances, such definitions apply to prior as well as future uses of such defined words and phrases.
For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
In orthogonal frequency division multiplexing (OFDM) systems, user equipment (UE) sounding reference signals are transmitted to the gNB for channel estimation. After removing known data, such as Zadoff-Chu (ZC) sequence, the noisy channel observation can be modeled as shown in Equation 1, where h denotes the ground-truth channel at a pilot subcarrier (sc) in the OFDM signal structure, and z denotes a Gaussian channel with zero mean and variance σ2.
Assuming nSC denotes the number of pilot subcarriers used for channel estimation, the noisy channel observation can be rewritten as shown in Equation 2, where ĥ and h are length-nSC column vectors, and where nf can be expressed as shown in Equation 3, where CN indicates the distribution of circularly symmetric Gaussian noise with variance σ2. In the case of performing channel estimation, the goal is to estimate the noiseless channel h.
In the case of a Gaussian channel, it is known that the expected value of h conditional on h+nf is given by a linear filter, as expressed in Equation 4.
It is common to estimate the linear filter by minimizing the mean squared error (MMSE), as this generalizes the expected value for the Gaussian case, as expressed in Equation 5. Regarding terminology, it is understood herein that when a signal in the frequency domain is translated by an inverse discrete Fourier transform to the time domain, this disclosure refers to the time domain signal at taps, separated in time by some delay.
Embodiments of this disclosure address multiple technical problems. One problem is the previous formulation of channel estimation as a minimum mean squared error (MMSE) problem that requires knowledge of difficult to estimate channel parameters for its solution. The MMSE estimate in an ideal case is expressed by Equation 6, where Φ denote the channel covariance and σ2 denotes the channel noise. Accurate estimation of channel covariance Φ is quite difficult. Another problem, in case of a large number of subcarriers, the matrix requiring inversion may be highly ill-conditioned, with the conditioning worsening with increasing SNR.
As another problem, machine learning (ML) has been investigated as a tool to potentially help ameliorate these problems arising in modern wireless communication. However, for channel estimation the impact of ML so far, prior to this disclosure, has been minimal. As another problem, the potential application of deep neural networks (DNNs) for channel estimation is an active field of research, however, there is no existing production system where DNNs are employed. Further, pure ML solutions lack the transparency preferred for deployment to production systems.
This disclosure provides technical solutions to these problems arising in modern wireless communication. First, embodiments of this disclosure design a codebook of simple convolution kernels based on optimal or preferred rectangular filters, including determining one or more optimal or preferred symmetric Dirichlet kernels that are configured to generate a training set for a machine learning model. Additionally, embodiments of this disclosure provide a fast classifier for codeword selection, including providing a combination of clustering with one or more depth decision trees to identify one or more optimal or preferred codewords and select which optimal or preferred codeword to apply as a convolutional kernel.
This disclosure provides multiple technical advantages. As one example technical advantage, embodiments of this disclosure avoid the difficult to estimate full channel covariance matrix. As a second example technical advantage, the channel estimation executed according to this disclosure is robust with respect to the channel covariance. Specifically, when viewed in the time domain, the estimate (of the channel) is robust with respect to correlation of the power at different taps. The method according to this disclosure provides robustness with respect to tap power under some conditions. As a third example technical advantage, the method according to this disclosure has very low computational complexity and is implemented completely in the frequency domain, which is optimal or preferred for many practical orthogonal frequency division multiplexing (OFDM) systems. In the methods of this disclosure, a real-time implementation (such as executing channel estimation) involves no matrix inversion, but just a quick calculation of readily computable channel statistics and an evaluation of a fast classifier. As a fourth example technical advantage, this disclosure provides an explicit formula derived for the case of correlated noise that occurs after CS-2 cyclic shift removal, which can be generalized to CS-N. In this disclosure “CS-2” refers to cyclic shift 2, which is the case when there is only one target signal and one interfering signal. The term “CS-N” is a generalization of a cyclic shift with N−1 interfering signals. The filter provided in this disclosure handles colored noise as well as white noise.
Embodiments of this disclosure provide a hybrid approach, using machine learning to fill in gaps of classical analysis. This disclosure makes clear that the analysis herein pushes as far as possible, and then uses ML in a limited way. The hybrid analysis set forth in this disclosure is a methodology with good operational transparency that can be implemented in current production systems in a short amount of time. In some cases, the hardware architecture of a base station can obtain updated firmware to execute methods of this disclosure. The methodology of this disclosure is codebook based, using analysis to motivate codebook design, and then ML techniques (such as clustering and decision trees) to construct and implement the codebooks. Both of the ML techniques that this disclosure leverages require very little tuning and are easy to train, in contrast to DNN or support vector machine (SVM) regression-based channel estimation. This technical advantage (requiring very little tuning and being easy to train) enables embodiments of this disclosure to extend to (and be executed in) more environments than considered here. In some embodiments of this disclosure, the decision tree suggested for a live production environment also has lower complexity than the previously mentioned ML techniques.
To meet the demand for wireless data traffic having increased since deployment of 4G communication systems and to enable various vertical applications, 5G/NR communication systems have been developed and are currently being deployed. The 5G/NR communication system is considered to be implemented in higher frequency (mmWave) bands, e.g., 28 GHz or 60 GHz bands, so as to accomplish higher data rates or in lower frequency bands, such as 6 GHz, to enable robust coverage and mobility support. To decrease propagation loss of the radio waves and increase the transmission distance, the beamforming, massive multiple-input multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam forming, and large scale antenna techniques are discussed in 5G/NR communication systems.
In addition, in 5G/NR communication systems, development for system network improvement is under way based on advanced small cells, cloud radio access networks (RANs), ultra-dense networks, device-to-device (D2D) communication, wireless backhaul, moving network, cooperative communication, coordinated multi-points (CoMP), reception-end interference cancelation and the like.
The discussion of 5G systems and frequency bands associated therewith is for reference as certain embodiments of the present disclosure may be implemented in 5G systems. However, the present disclosure is not limited to 5G systems or the frequency bands associated therewith, and embodiments of the present disclosure may be utilized in connection with any frequency band. For example, aspects of the present disclosure may also be applied to deployment of 5G communication systems, 6G or even later releases which may use terahertz (THz) bands.
As shown in
The gNB 102 provides wireless broadband access to the network 130 for a first plurality of user equipment (UEs) within a coverage area 120 of the gNB 102. The first plurality of UEs includes a UE 111, which may be located in a small business; a UE 112, which may be located in an enterprise; a UE 113, which may be a WiFi hotspot; a UE 114, which may be located in a first residence; a UE 115, which may be located in a second residence; and a UE 116, which may be a mobile device, such as a cell phone, a wireless laptop, a wireless PDA, or the like. The gNB 103 provides wireless broadband access to the network 130 for a second plurality of UEs within a coverage area 125 of the gNB 103. The second plurality of UEs includes the UE 115 and the UE 116. In some embodiments, one or more of the gNBs 101-103 may communicate with each other and with the UEs 111-116 using 5G/NR, long term evolution (LTE), long term evolution-advanced (LTE-A), WiMAX, WiFi, or other wireless communication techniques.
Depending on the network type, the term “base station” or “BS” can refer to any component (or collection of components) configured to provide wireless access to a network, such as transmit point (TP), transmit-receive point (TRP), an enhanced base station (eNodeB or eNB), a 5G/NR base station (gNB), a macrocell, a femtocell, a WiFi access point (AP), or other wirelessly enabled devices. Base stations may provide wireless access in accordance with one or more wireless communication protocols, e.g., 5G/NR 3rd generation partnership project (3GPP) NR, long term evolution (LTE), LTE advanced (LTE-A), high speed packet access (HSPA), Wi-Fi 802.11a/b/g/n/ac, etc. For the sake of convenience, the terms “BS” and “TRP” are used interchangeably in this patent document to refer to network infrastructure components that provide wireless access to remote terminals. Also, depending on the network type, the term “user equipment” or “UE” can refer to any component such as “mobile station,” “subscriber station,” “remote terminal,” “wireless terminal,” “receive point,” or “user device.” For the sake of convenience, the terms “user equipment” and “UE” are used in this patent document to refer to remote wireless equipment that wirelessly accesses a BS, whether the UE is a mobile device (such as a mobile telephone or smartphone) or is normally considered a stationary device (such as a desktop computer or vending machine).
Dotted lines show the approximate extents of the coverage areas 120 and 125, which are shown as approximately circular for the purposes of illustration and explanation only. It should be clearly understood that the coverage areas associated with gNBs, such as the coverage areas 120 and 125, may have other shapes, including irregular shapes, depending upon the configuration of the gNBs and variations in the radio environment associated with natural and man-made obstructions.
As described in more detail below, low complexity machine learning (ML) augmented robust channel estimation includes for designing a codebook of convolution kernels based on a time domain rectangular filter and training a decision tree classifier to select a codeword for real time channel estimation.
Although
As shown in
The transceivers 210a-210n receive, from the antennas 205a-205n, incoming RF signals, such as signals transmitted by UEs in the wireless network 100. The transceivers 210a-210n down-convert the incoming RF signals to generate IF or baseband signals. The IF or baseband signals are processed by receive (RX) processing circuitry in the transceivers 210a-210n and/or controller/processor 225, which generates processed baseband signals by filtering, decoding, and/or digitizing the baseband or IF signals. The controller/processor 225 may further process the baseband signals.
Transmit (TX) processing circuitry in the transceivers 210a-210n and/or controller/processor 225 receives analog or digital data (such as voice data, web data, e-mail, or interactive video game data) from the controller/processor 225. The TX processing circuitry encodes, multiplexes, and/or digitizes the outgoing baseband data to generate processed baseband or IF signals. The transceivers 210a-210n up-convert the baseband or IF signals to RF signals that are transmitted via the antennas 205a-205n.
The controller/processor 225 can include one or more processors or other processing devices that control the overall operation of the gNB 102. For example, the controller/processor 225 could control the reception of UL channel signals and the transmission of DL channel signals by the transceivers 210a-210n in accordance with well-known principles. The controller/processor 225 could support additional functions as well, such as more advanced wireless communication functions. For instance, the controller/processor 225 could support beam forming or directional routing operations in which outgoing/incoming signals from/to multiple antennas 205a-205n are weighted differently to effectively steer the outgoing signals in a desired direction. Any of a wide variety of other functions could be supported in the gNB 102 by the controller/processor 225.
The controller/processor 225 is also capable of executing programs and other processes resident in the memory 230, such as an OS. The controller/processor 225 can move data into or out of the memory 230 as required by an executing process.
The controller/processor 225 is also coupled to the backhaul or network interface 235. The backhaul or network interface 235 allows the gNB 102 to communicate with other devices or systems over a backhaul connection or over a network. The network interface 235 could support communications over any suitable wired or wireless connection(s). For example, when the gNB 102 is implemented as part of a cellular communication system (such as one supporting 5G/NR, LTE, or LTE-A), the network interface 235 could allow the gNB 102 to communicate with other gNBs over a wired or wireless backhaul connection. When the gNB 102 is implemented as an access point, the network interface 235 could allow the gNB 102 to communicate over a wired or wireless local area network or over a wired or wireless connection to a larger network (such as the Internet). The network interface 235 includes any suitable structure supporting communications over a wired or wireless connection, such as an Ethernet or transceiver.
The memory 230 is coupled to the controller/processor 225. Part of the memory 230 could include a RAM, and another part of the memory 230 could include a Flash memory or other ROM.
As described in more detail below, the gNB implements low complexity machine learning (ML) augmented robust channel estimation based on a codebook of convolution kernels generated based on a time domain rectangular filter and a decision tree classifier trained to select a codeword for real time channel estimation.
Although
As shown in
The transceiver(s) 310 receives, from the antenna 305, an incoming RF signal transmitted by a gNB of the wireless network 100. The transceiver(s) 310 down-converts the incoming RF signal to generate an intermediate frequency (IF) or baseband signal. The IF or baseband signal is processed by RX processing circuitry in the transceiver(s) 310 and/or processor 340, which generates a processed baseband signal by filtering, decoding, and/or digitizing the baseband or IF signal. The RX processing circuitry sends the processed baseband signal to the speaker 330 (such as for voice data) or is processed by the processor 340 (such as for web browsing data).
TX processing circuitry in the transceiver(s) 310 and/or processor 340 receives analog or digital voice data from the microphone 320 or other outgoing baseband data (such as web data, e-mail, or interactive video game data) from the processor 340. The TX processing circuitry encodes, multiplexes, and/or digitizes the outgoing baseband data to generate a processed baseband or IF signal. The transceiver(s) 310 up-converts the baseband or IF signal to an RF signal that is transmitted via the antenna(s) 305.
The processor 340 can include one or more processors or other processing devices and execute the OS 361 stored in the memory 360 in order to control the overall operation of the UE 116. For example, the processor 340 could control the reception of DL channel signals and the transmission of UL channel signals by the transceiver(s) 310 in accordance with well-known principles. In some embodiments, the processor 340 includes at least one microprocessor or microcontroller.
The processor 340 is also capable of executing other processes and programs resident in the memory 360. The processor 340 can move data into or out of the memory 360 as required by an executing process. In some embodiments, the processor 340 is configured to execute the applications 362 based on the OS 361 or in response to signals received from gNBs or an operator. The processor 340 is also coupled to the I/O interface 345, which provides the UE 116 with the ability to connect to other devices, such as laptop computers and handheld computers. The I/O interface 345 is the communication path between these accessories and the processor 340.
The processor 340 is also coupled to the input 350, which includes for example, a touchscreen, keypad, etc., and the display 355. The operator of the UE 116 can use the input 350 to enter data into the UE 116. The display 355 may be a liquid crystal display, light emitting diode display, or other display capable of rendering text and/or at least limited graphics, such as from web sites.
The memory 360 is coupled to the processor 340. Part of the memory 360 could include a random-access memory (RAM), and another part of the memory 360 could include a Flash memory or other read-only memory (ROM).
Although
As shown in
The processor 410 executes instructions that can be stored in a memory 430. The processor 410 can include any suitable number(s) and type(s) of processors or other devices in any suitable arrangement. Example types of processors 410 include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, application specific integrated circuits, and discrete circuitry. In certain embodiments, the processor 410 can design a codebook of convolution kernels based on a time domain rectangular filter and train a decision tree classifier to select a codeword for real time channel estimation.
The memory 430 and a persistent storage 435 are examples of storage devices 415 that represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, or other suitable information on a temporary or permanent basis). The memory 430 can represent a random-access memory or any other suitable volatile or non-volatile storage device(s). For example, the instructions stored in the memory 430 can include instructions for designing a codebook of convolution kernels based on a time domain rectangular filter and training a decision tree classifier to select a codeword for real time channel estimation. The persistent storage 435 can contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, Flash memory, or optical disc.
The communications interface 420 supports communications with other systems or devices. For example, the communications interface 420 could include a network interface card or a wireless transceiver facilitating communications over the network 130 of
The I/O unit 425 allows for input and output of data. For example, the I/O unit 425 can provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device. The I/O unit 425 can also send output to a display, printer, or other suitable output device. Note, however, that the I/O unit 425 can be omitted, such as when I/O interactions with the server 400 occur via a network connection.
Although
First, before describing details of the method 500, this disclosure provides some of the analytic foundation for understanding the embodiments of this disclosure. The MMSE can be expressed as shown in Equation 7, given a channel h, channel noise in the frequency domain nf, and filter G. Embodiments of this disclosure aim to minimize the MMSE, where E(⋅) denotes expectation with respect to the joint distribution of the channel and noise, and where the * denotes a conjugate transpose operation.
The frequency domain variables h and nf are related to the time domain variables y and nt by a Discrete Fourier Transform (DFT), as shown in Equation 8 and Equation 9.
This allows for expressing the mean squared error (MSE) in terms of the time domain variables. The following derivation of the MSE of Equation 10 is based on an assumption that the DFT has been normalized so that F F*=I, and is based on a matrix R that is expressed according to Equation 11. The equation F F*=I demonstrates that the mean squared error expressed in the time domain is similar to the expression in the frequency domain.
The MSE is further simplified using invariance of the trace operator under cyclic permutation and based on an assumption of independence of noise from the channel, as shown in the following derivation of the MSE of Equation 12, where the matrix Ω is expressed according to Equation 13.
In some embodiments of this disclosure do not assume that Λ=σ2I because this may not be true after certain preprocessing stages (e.g., cyclic shift removal). In such embodiments, the channel power can be expressed according to Equation 14, thereby enabling embodiments of this disclosure to focus on minimizing a controllable term, such as the controllable term shown in Equation 15.
An MMSE filter obtained from minimizing the controllable term shown in Equation 15 with respect to R can be referred to as an optimal or preferred MMSE filter, which is expressed in Equation 16.
To generate the filters in this disclosure, the channel covariance can be approximated by the diagonal entries, based on an assumption that the noise is independently and identically (i.i.d) Gaussian, such that the corresponding estimate Restopt would be a diagonal matrix with real entries. Therefore, these filters are first of the form shown in Equation 17. The number of channel measurements is denoted as n, which is the same n as the number of subcarrier frequencies.
The controllable term can then be expressed according to Equation 18.
The gain g(Rdiag, Ω, Λ) can be expressed as shown in Equation 19. The off diagonal terms Ωij for i≠j do not appear in the gain g(Rdiag, Ω, Λ) of Equation 19. This filter is robust with respect to the off diagonal channel covariance. Since Ωii is the power at the ith tap in the time domain, this filter is robust with respect to the correlation in the channel gain at different taps.
For later comparison, the gain g(Rdiag, Ω, Λ) is minimized when the condition of Equation 20 is TRUE.
In which case, the minimized gain can be expressed as shown in Equation 21.
A further simplification is achieved based on an assumption that R takes the form shown in Equation 22. That is, Rrect is constant on the first l taps and zero elsewhere. Therefore, such filters can be referred to as “rectangular” filters. In addition to robustness with respect to correlation between taps, these filters also offer some robustness with respect to tap power, especially if all the signal power is completely covered by the first l taps.
Regarding the MSE, the gain can be expressed as shown in Equation 23.
A minimization can be applied to the gain with respect to l and r, as shown in Equation 24.
The inner optimization has the analytic solution, as shown in Equation 25.
When this ropt(l) is combined into the previous Equation 24, the resulting minimization problem is shown is shown as Equation 26.
Therefore, to determine an optimal or preferred rectangular filter, first solve Equation 27, and then plug the solution into Equation 25 to obtain the corresponding height of the rectangular filter.
By comparing the Rrect to the Ropt, the optimal or preferred rectangular filter is also an optimal or preferred MMSE filter for the case where both Ωdiag and Λdiag are diagonal, as shown in Equation 28 and Equation 29, respectively.
Now referring to the method 500 of
After the codebook has been generated and the fast classifier has been trained according to the ML technique of this disclosure, a base station can obtain these two main designs and apply them “online.” Given noisy channel data, a few simple and low complexity statistics are used (for example, “online” by the base station) as input to the fast classifier to select a codeword for channel estimation.
At block 505, the server 400 acquires information associated with channel and noise covariances. As one example, the server 400 simulates a large number of noiseless channels of various types (e.g., TDL-A, TDL-B, TDL-C, UMI) which have already been preprocessed (e.g., cyclic shift removal, timing compensation) and for various levels of noise. These simulated noiseless channels and simulated noisy channels for various levels of SNR can be stored in a database, and can represent reference signals that a gNB could receive from a UE. As another example, the server 400 accesses a database of noiseless channels and corresponding noisy channels for various levels of signal-to-noise ratio (SNR).
The following procedures of blocks 510-570 are performed for each nSC×nant sample, which is each (number of subcarriers)×(number of antennas) sample. Each sample includes a noiseless channel and corresponding noisy channel. A dataset of multiple samples are associated with noiseless channels and corresponding noisy channels for various levels of signal-to-noise ratio (SNR).
At block 510, the server 400 translates the channel from the frequency domain to the time domain. For example, the server 400 can perform an inverse discrete Fourier transform (IDFT) to transform the channel to the time domain, as express in Equation 30. The vector hj denotes single or various pilots, usually in the frequency domain.
At blocks 520-530, the server 400 calculates channel and noise covariances. At block 520, the server 400 estimates channel covariance. For example, the server 400 can estimate Ωii by averaging the power per tap across the antennas to determine the diagonal entries for the power covariance, as expressed in Equation (31).
At block 530, the server 400 estimates noise covariance. The noise interference covariance Cov(nf) in the frequency domain, as expressed by the matrix in Equation 32, can be translated to the time domain, as expressed by the diagonal entries Λii of the corresponding time matrix in Equation 33. Noise interference in the frequency domain is denoted by nf, but in the time domain is denoted by nt. More particularly, the server 400 can estimate Λii, thereby estimating noise covariance in the time domain. For example, in case of a single user, if nf is Gaussian with covariance σ2I, then Λii=σ2 and nt is also Gaussian with covariance σ2I. In the case of a multiuser interference (MUI) with two UEs, after cyclic shift removal a tridiagonal frequency domain covariance is determined, as expressed in Equation 32.
At block 540, the server 400 determines an optimal or preferred rectangular filter. Particularly, the server 400 determines one or more optimal or preferred time domain rectangular filters. As an example,
The server 400 applies the optimal or preferred time domain rectangular filters to the power delay profiles of the samples, respectively, thereby generating time domain covariance matrices. The special structure of the time domain covariance matrices allows the corresponding frequency domain matrices to each be calculated by a single discrete Fourier Transform (DFT).
At block 550, the server 400 maps the corresponding time domain covariance matrices to the frequency domain, for example by performing a DFT, as shown in Equation 34. For example, the server 400 maps the corresponding time domain covariance matrices to the frequency domain Dirichlet kernel.
At block 560, the server 400 determines a codeword. In some embodiments, to determine the codeword, the server 400 truncates kernels. That is, the server 400 determines N codewords as the truncated kernels. The codewords can be in the frequency domain. More particularly, to construct a Toeplitz (2K+1)×(2K+1) channel covariance matrix Φ, the server 400 samples the ACFs corresponding to Ωfreq at lags 0, . . . 2K. Analogously, the server 400 performs similar functions for Λfreq to construct a noise covariance Σ. The server 400 defines a codeword as expressed in Equation 35. In some embodiments, the server 400 truncates each of the frequency domain Dirichlet kernels such that the number of coefficients remaining in the Dirichlet kernel after the truncation is the same as used by a moving average calculation. As a technical advantage of utilizing existing memory hardware, the size of computing resources used for storage of codewords generated according to the method 500 can be similar to the size of computing resources used for storage of codewords that are used with a low complexity channel estimation that uses a moving average calculation.
At block 570, the server 400 creates the codebook. More particularly, the server 400 clusters codewords to create (such as, to generate) the codebook. Given a large number of such codewords created by a training set, the server 400 can cluster these codewords using K-means or K-Medoids clustering algorithm. The cluster centers (also referred to as centroids) are used to determine the codebook. As a technical advantage, the size of the codebook is small. For example, the codebook can include a small number of vectors, such as 6-8 vectors, where each vector includes 25 real entries. In other embodiments, each vector in the codebook can include 25 complex entries. The codebook generated according to the method 500 can be applied to any of the wireless signals that the gNB 102 receives.
The optimal or preferred rectangular filter 602, which corresponds to the optimal or preferred rectangular filter width l, is one among various rectangular filter designs that the server 400 could determine or could select. Each of the various choices of rectangular filter designs has a different width defined by a different number of lags, and Equation 26 can be used to determine the loss associated with that choice of filter. As such, these noise portions 604N not only represent noise, but also represent some of the power of the power delay profile 604 that is ignored because if a rectangular filter has a width that is too wide, then the output from the filter will include too much noise relative to the power of the power delay profile 604. If a rectangular filter has a width that is too narrow, then the filter will discard some of the useful transmissions by discarding power from the useful portions of the power delay profile 604. As an example only, the lower limit 606 is expressed as SNR=0, but other lower limits can have a different SNR value.
At block 810, the server 400 labels a training dataset (for training a decision tree classifier) using a codeword selected from the codebook. For ease of explanation, the codeword selected from the codebook is referred to as the “best” codeword.
At block 820, the server 400 selects, as features, channel statistics that are easily calculatable. The NMSE is an example of a target feature. Easily calculatable refers to low calculation complexity. More particularly, on the training dataset, the server 400 selects a few features with low calculation complexity (such as, noise variance, channel ACF at a few lags, etc.) to serve as features for the fast classifier, and the server 400 labels the sample according to the best codeword from the codebook. Specifically, for any nNC×nant noiseless sample G from the training data and level of noise σ2, the server 400 constructs the corresponding noisy sample H, and labels the features calculated from the noisy sample with index j* as expressed in Equation 36, with the wj range over the codebook.
For each respective sample in the training dataset, the server 400 applies each of the N codewords from the codebook to that respective sample. From among the N codewords, whichever codeword that, when applied to that respective sample, estimates the clean channel best from the noisy channel will be selected by the server 400 as the label for the classifier. For example, estimating the clean channel best can refer to estimating the noiseless channel with a lowest loss associated with that choice of codeword, where loss can be determined based on Equation 26. This procedure at block 820 of selecting a cluster centroid that best estimates the clean channel has less computational complexity (requires fewer computing resources) than computing an optimal or preferred filter in real time nNC×nant samples (such as 6,528 samples in the case of 32 Rx antenna with 204 subcarriers per antenna).
At block 830, the server 400 trains a decision tree classifier to select the “best” codeword. The decision tree classifiers are highly efficient to evaluate, as they involve only checking inequalities on coordinates and relatively few arithmetic operations at the selected leaf. The features used for classification have low computational complexity to improve overall efficiency. Advantages of decision trees is that they use little memory and are fast to evaluate. So the overhead in evaluating the decision tree is negligible in terms of implementation.
As a technical advantage, the fast classifier according to some embodiments of this disclosure can be implemented by the gNB 102 without adding overhead to the gNB by utilizing channel statistics (calculated by the gNB) as the features that the fast classifier will use for classification. In other embodiment of this disclosure, a fast classifier can be implemented by adding a marginal amount of overhead to the gNB 102, which is associated with the gNB 102 calculating an ACF of the received reference signal at a few different lags, which can be a few dot products calculations the gNB executes.
Note that although the method 800 of
The system 900 will be described as including the gNB 102 of
At block 910, the gNB 102 obtains the codebook generated by the server 400. For example to obtain the codebook, the gNB 102 can receive, from the server 400, the codebook comprising the N codewords.
At block 920, the gNB 102 receives a reference signal from a UE 116. The reference signal can be a sound reference signal that the UE 116 transmitted to the gNB 102.
At block 930, the gNB 102 calculates channel statistics using a low complexity algorithm. An example of a low complexity algorithm is a moving average calculation, which is a kind of local averaging. An example of channel statistics include a timing offset, which can be for each subcarrier and for each RX antenna of the gNB. Another example channel statistic is noise in the channel.
At block 940, the gNB 102 executes a fast classifier (such as a decision tree classifier) to select a codeword from the codebook stored in the memory 230 of the gNB. At block 950, the gNB 102 applies the selected codeword as convolution kernel for channel estimation.
Various codebooks were tested during the experiments. For example, codebooks with 4, 6, 8, and 10 codewords were tested. However,
At block 1510, the processor 410 acquires information associated with channel and noise covariances. The procedure at block 1510 can be the same as or similar to the procedure at block 505 of
At block 1520, the processor 410 determines one or more time-domain rectangular filters based on the information associated with the channel and noise covariances. The procedure at block 1520 can be the same as or similar to the procedure at block 540 of
At block 1530, the processor 410 generates one or more convolutional kernels based on the one or more rectangular filters applied to the channel and noise covariances in a time-domain. The procedure at block 1530 can be the same as or similar to the procedure at block 550 of
In some embodiments, as shown at block 1532, the processor 410 can generate the one or more convolutional kernels by mapping the channel and noise covariances in the time-domain to frequency-domain Dirichlet kernels, respectively. At block 1534, the processor 410 defines the one or more codewords as the frequency-domain Dirichlet kernels, respectively.
At block 1540, the processor 410 generates a codebook based on the one or more convolutional kernels, the codebook comprising N codewords. The procedure at block 1540 can be the same as or similar to the procedure at block 570 of
As shown at block 1542, the processor 410 generates the codebook by clustering the frequency-domain Dirichlet kernels, thereby generating N clusters. The procedure at block 1542 can be the same as or similar to the procedure at block 550 of
At blocks 1550-1570, the processor 410 executes the method 800 (of
At block 1560, the processor 410 selects and labels features that include low computational complexity. The procedure at block 1560 can be the same as or similar to the procedure at block 820 of
At block 1570, the processor 410 trains a decision tree fast classifier to select a codeword by only checking inequalities on coordinates and checking a threshold number of arithmetic operations at a selected leaf of the decision tree. The procedure at block 1570 can be the same as or similar to the procedure at block 830 of
At block 1580, the processor 410 outputs the codebook and the ML-trained fast classifier. For example, communication circuitry 420 of the server 400 establishes a communication link to the gNB 102, for example, via the backhaul/network IF 235. In some embodiments, the server 400 makes the codebook and the ML-trained fast classifier accessible to the gNB 102, so that the gNB 102 downloads them into the memory 230 of the gNB. In some embodiments, the communication circuitry 420 of the server 400 sends the codebook and the ML-trained fast classifier to the gNB 102.
Although
The above flowcharts illustrate example methods that can be implemented in accordance with the principles of the present disclosure and various changes could be made to the methods illustrated in the flowcharts herein. For example, while shown as a series of steps, various steps in each figure could overlap, occur in parallel, occur in a different order, or occur multiple times. In another example, steps may be omitted or replaced by other steps.
Although the figures illustrate different examples of user equipment, various changes may be made to the figures. For example, the user equipment can include any number of each component in any suitable arrangement. In general, the figures do not limit the scope of this disclosure to any particular configuration(s). Moreover, while figures illustrate operational environments in which various user equipment features disclosed in this patent document can be used, these features can be used in any other suitable system.
None of the description in this application should be read as implying that any particular element, step, or function is an essential element that must be included in the claim scope. The scope of patented subject matter is defined only by the claims. Moreover, none of the claims is intended to invoke 35 U.S.C. § 112(f) unless the exact words “means for” are followed by a participle. Use of any other term, including without limitation “mechanism,” “module,” “device,” “unit,” “component,” “element,” “member,” “apparatus,” “machine,” “system,” “processor,” or “controller,” within a claim is understood by the applicants to refer to structures known to those skilled in the relevant art and is not intended to invoke 35 U.S.C. § 112(f).
Although the present disclosure has been described with exemplary embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications as fall within the scope of the appended claims. None of the description in this application should be read as implying that any particular element, step, or function is an essential element that must be included in the claims scope. The scope of patented subject matter is defined by the claims.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 63/598,032 filed on Nov. 10, 2023. The above-identified provisional patent application is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63598032 | Nov 2023 | US |