Multilayer perceptron based MIMO detection selector

The MLP-based MIMO detection selector addresses the tradeoff between performance and complexity in MIMO systems by dynamically selecting the appropriate detector based on channel estimates, enhancing efficiency and reducing power consumption in multiuser MIMO environments.

WO2025014526A1PCT designated stage expired Publication Date: 2025-01-16GREATER SHINE LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/US2023/070119
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-13
Publication Date
2025-01-16

AI Technical Summary

Technical Problem

Conventional MIMO detection methods face tradeoffs between performance and complexity, leading to inefficient power consumption and interference issues due to imperfect channel measurements in multiuser MIMO systems.

Method used

A multilayer perceptron (MLP) based MIMO detection selector is employed, which receives signals from a base station, generates channel estimates, predicts the modulation format, and dynamically selects the most suitable MIMO detector from a plurality of detectors to optimize performance while minimizing complexity, thereby reducing power consumption and interference.

Benefits of technology

The MLP-based MIMO detection selector achieves near-optimal performance with reduced complexity, lowering power consumption and supporting high data throughput while efficiently utilizing silicon resources, thus improving the efficiency of MIMO detection in multiuser environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2023070119_16012025_PF_FP_ABST
    Figure US2023070119_16012025_PF_FP_ABST
Patent Text Reader

Abstract

A system includes a user equipment in communication with a base station. The user equipment is configured to receive, via a user equipment, a signal from a base station via a channel, generate, via the user equipment, a channel estimate of the channel based on the signal, and predict, via a neural network, a predicted modulation format of the signal based on the channel estimate. The user equipment is further configured to select, via the user equipment, a first output of a first multiple-input multiple-output (MIMO) detector from a plurality of MIMO detectors based, at least in part, on the predicted modulation format of the signal, and generate, via the first MIMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MIMO detector
Need to check novelty before this filing date? Find Prior Art

Description

MULTILAYER PERCEPTRON BASED MIMO DETECTION SELECTORFIELD

[0001] The present disclosure relates, in general, to methods, systems, and apparatuses for multiuser multiple-input multiple-output (MEMO) technology.BACKGROUND

[0002] Multiuser MEMO technology is widely deployed in 4G and 5G networks where the base station can simultaneously transmit signals to multiple users through orthogonal precoding / beamforming. With multiuser (MU) MIMO, user equipment (UE) often suffers from interference from signals intended for other UEs due to imperfect channel measurements at the transmitter side. Various MEMO detectors exist, which exhibit different tradeoffs between performance and complexity.

[0003] To improve efficiency and performance of a MEMO detector, a maximum likelihood (ML) based framework for MEMO is set forth in the embodiments below.SUMMARY

[0004] Tools and techniques for a multilayer perceptron (MLP) based MEMO detection selector are provided.

[0005] A method includes receiving, via a user equipment, a signal from a base station via a channel, generating, via the user equipment, a channel estimate of the channel based on the signal, and predicting, via a neural network, a predicted modulation format of the signal based on the channel estimate. The method further includes selecting, via the user equipment, a first output of a first multiple-input multiple-output (MEMO) detector from a plurality of MEMO detectors based, at least in part, on the predicted modulation format of the signal, and generating, via the first MEMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MEMO detector.

[0006] An apparatus includes a non-transitory computer readable medium in communication with the processor, the non-transitory computer readable medium having encoded thereon a set of instructions executable by the processor to perform various functions. The set of instructions may be executable by the processor to receive, via a user equipment, a signal from a base station via a channel, generate, via the user equipment, a channel estimate of the channel based on the signal, and predict, via a neural network, a predicted modulation format of the signal based on the channel estimate. The set of instructions is further executableby the processor to select, via the user equipment, a first output of a first multiple-input multiple-output (MEMO) detector from a plurality of MEMO detectors based, at least in part, on the predicted modulation format of the signal, and generate, via the first MEMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MEMO detector.

[0007] A system includes a user equipment in communication with a base station. The user equipment further includes a processor, and a non-transitory computer readable medium in communication with the processor, the non-transitory computer readable medium having encoded thereon a set of instructions executable by the processor to perform various processes. The set of instructions is executable by the processor to receive, via the user equipment, a signal from a base station via a channel, generate, via the user equipment, a channel estimate of the channel based on the signal, and predict, via a neural network, a predicted modulation format of the signal based on the channel estimate. The set of instructions is further executable by the processor to select, via the user equipment, a first output of a first multiple-input multiple-output (MEMO) detector from a plurality of MEMO detectors based, at least in part, on the predicted modulation format of the signal, and generate, via the first MEMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MEMO detector.

[0008] These illustrative embodiments are mentioned not to limit or define the disclosure, but to provide examples to aid understanding thereof. Additional embodiments are discussed in the Detailed Description, and further description is provided therein.BRIEF DESCRIPTION OF THE DRAWINGS

[0009] A further understanding of the nature and advantages of particular embodiments may be realized by reference to the remaining portions of the specification and the drawings, in which like reference numerals are used to refer to similar components. In some instances, a sub-label is associated with a reference numeral to denote one of multiple similar components. When reference is made to a reference numeral without specification to an existing sub-label, it is intended to refer to all such multiple similar components.

[0010] Fig. l is a schematic block diagram of a system for a MLP -based MEMO detection selector, in accordance with various embodiments;

[0011] Fig. 2 is a schematic block diagram of a wireless device for a MLP -based MEMO detection selector, in accordance with various embodiments;

[0012] Fig. 3 is a functional block diagram of a MLP -based MEMO detection selector architecture, in accordance with various embodiments;

[0013] Fig. 4 is a flow diagram of a method for a MLP -based MIMO detection selector, in accordance with various embodiments;

[0014] Fig. 5 is a schematic block diagram of a computer system for a MLP -based MEMO detection selector, in accordance with various embodiments.DETAILED DESCRIPTION

[0015] Various embodiments provide tools and techniques for a MLP -based MEMO detection selector.

[0016] In some embodiments, a method for a MLP -based MEMO detection selector is provided. A method includes receiving, via a user equipment, a signal from a base station via a channel, generating, via the user equipment, a channel estimate of the channel based on the signal, and predicting, via a neural network, a predicted modulation format of the signal based on the channel estimate. The method further includes selecting, via the user equipment, a first output of a first multiple-input multiple-output (MEMO) detector from a plurality of MEMO detectors based, at least in part, on the predicted modulation format of the signal, and generating, via the first MEMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MEMO detector.

[0017] In some examples, the signal may be a reference signal. In some examples, the method includes decoding the signal received via the channel based on the LLR. In some examples, the neural network may be a multilayer perceptron network. In some examples, the multilayer perceptron network may be a recursive vector multilayer perceptron network comprising at least one first layer including a plurality of parallel multipliers, and at least one second layer comprising a multi-stage adder tree.

[0018] In some examples, selecting the first output of the first MEMO detector may include selecting the first output of a minimum mean square error (MMSE) MEMO detector from the plurality of MEMO detectors. In some examples, the plurality of MEMO detectors includes a minimum mean square error (MMSE) MEMO detector and a maximum likelihood (ML) based MEMO detector. In yet further examples, the predicted modulation format may be one of 64-quadrature amplitude modulation (QAM), 256-QAM, or 1024-QAM.

[0019] In some embodiments, an apparatus for a MLP -based MEMO detection selector is provided. An apparatus includes a non-transitory computer readable medium in communication with the processor, the non-transitory computer readable medium having encoded thereon a set of instructions executable by the processor to perform various functions. The set of instructions may be executable by the processor to receive, via a user equipment, asignal from a base station via a channel, generate, via the user equipment, a channel estimate of the channel based on the signal, and predict, via a neural network, a predicted modulation format of the signal based on the channel estimate. The set of instructions is further executable by the processor to select, via the user equipment, a first output of a first multiple-input multiple-output (MEMO) detector from a plurality of MEMO detectors based, at least in part, on the predicted modulation format of the signal, and generate, via the first MEMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MEMO detector.

[0020] In some examples, the signal may be a reference signal. In some examples, the set of instructions may further be executable by the processor to decode the signal received via the channel based on the LLR. In some examples, the neural network may be a multilayer perceptron network. In some examples, the multilayer perceptron network may be a recursive vector multilayer perceptron network comprising at least one first layer including a plurality of parallel multipliers, and at least one second layer comprising a multi-stage adder tree.

[0021] In some examples, selecting the first output of the first MEMO detector may include selecting the first output of a minimum mean square error (MMSE) MEMO detector from the plurality of MEMO detectors. In some examples, the plurality of MEMO detectors includes a minimum mean square error (MMSE) MEMO detector and a maximum likelihood (ML) based MEMO detector. In yet further examples, the predicted modulation format may be one of 64-quadrature amplitude modulation (QAM), 256-QAM, or 1024-QAM.

[0022] In further embodiments, a system for a MLP -based MEMO detection selector is provided. A system includes a user equipment in communication with a base station. The user equipment further includes a processor, and a non-transitory computer readable medium in communication with the processor, the non-transitory computer readable medium having encoded thereon a set of instructions executable by the processor to perform various processes. The set of instructions is executable by the processor to receive, via the user equipment, a signal from a base station via a channel, generate, via the user equipment, a channel estimate of the channel based on the signal, and predict, via a neural network, a predicted modulation format of the signal based on the channel estimate. The set of instructions is further executable by the processor to select, via the user equipment, a first output of a first multiple-input multiple-output (MEMO) detector from a plurality of MEMO detectors based, at least in part, on the predicted modulation format of the signal, and generate, via the first MEMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MEMO detector.

[0023] In some examples, the neural network may be a multilayer perceptron network, wherein the multilayer perceptron network is a recursive vector multilayer perceptron networkcomprising at least one first layer comprising a plurality of parallel multipliers, and at least one second layer comprising a multi-stage adder tree.

[0024] In some examples, selecting the first output of the first MEMO detector may include selecting the first output of one of a minimum mean square error (MMSE) MEMO detector or a maximum likelihood (ML) based MIMO detector from the plurality of MEMO detectors. In some examples, the plurality of MEMO detectors may include a minimum mean square error (MMSE) MEMO detector and a maximum likelihood (ML) based MEMO detector.

[0025] En the following description, for the purposes of explanation, numerous details are set forth to provide a thorough understanding of the described embodiments. Et will be apparent to one skilled in the art, however, that other embodiments may be practiced without some of these details. Several embodiments are described herein, and while various features are ascribed to different embodiments, it should be appreciated that the features described with respect to one embodiment may be incorporated with other embodiments as well. By the same token, however, no single feature or features of any described embodiment should be considered essential to every embodiment of the invention, as other embodiments of the invention may omit such features.

[0026] When an element is referred to herein as being "connected" or "coupled" to another element, it is to be understood that the elements can be directly connected to the other element, or have intervening elements present between the elements. En contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, it should be understood that no intervening elements are present in the "direct" connection between the elements. EEowever, the existence of a direct connection does not exclude other connections, in which intervening elements may be present.

[0027] When an element is referred to herein as being "disposed" in some manner relative to another element (e.g., disposed on, disposed between, disposed under, disposed adjacent to, or disposed in some other relative manner), it is to be understood that the elements can be directly disposed relative to the other element (e.g., disposed directly on another element), or have intervening elements present between the elements. En contrast, when an element is referred to as being "disposed directly" relative to another element, it should be understood that no intervening elements are present in the "direct" example. EEowever, the existence of a direct disposition does not exclude other examples in which intervening elements may be present.

[0028] Similarly, when an element is referred to herein as being "bonded" to another element, it is to be understood that the elements can be directly bonded to the other element(without any intervening elements) or have intervening elements present between the bonded elements. In contrast, when an element is referred to as being "directly bonded" to another element, it should be understood that no intervening elements are present in the "direct" bond between the elements. However, the existence of direct bonding does not exclude other forms of bonding, in which intervening elements may be present.

[0029] Likewise, when an element is referred to herein as being a "layer," it is to be understood that the layer can be a single layer or include multiple layers. For example, a conductive layer may comprise multiple different conductive materials or multiple layers of different conductive materials, and a dielectric layer may comprise multiple dielectric materials or multiple layers of dielectric materials. When a layer is described as being coupled or connected to another layer, it is to be understood that the coupled or connected layers may include intervening elements present between the coupled or connected layers. In contrast, when a layer is referred to as being "directly" connected or coupled to another layer, it should be understood that no intervening elements are present between the layers. However, the existence of directly coupled or connected layers does not exclude other connections in which intervening elements may be present.

[0030] Moreover, the terms left, right, front, back, top, bottom, forward, reverse, clockwise and counterclockwise are used for purposes of explanation only and are not limited to any fixed direction or orientation. Rather, they are used merely to indicate relative locations and / or directions between various parts of an object and / or components.

[0031] Furthermore, the methods and processes described herein may be described in a particular order for ease of description. However, it should be understood that, unless the context dictates otherwise, intervening processes may take place before and / or after any portion of the described process, and further various procedures may be reordered, added, and / or omitted in accordance with various embodiments.

[0032] Unless otherwise indicated, all numbers used herein to express quantities, dimensions, and so forth should be understood as being modified in all instances by the term "about." In this application, the use of the singular includes the plural unless specifically stated otherwise, and use of the terms "and" and "or" means "and / or" unless otherwise indicated. Moreover, the use of the terms "including" and "having," as well as other forms, such as "includes," "included," "has," "have," and "had," should be considered non-exclusive. Also, terms such as "element" or "component" encompass both elements and components comprising one unit and elements and components that comprise more than one unit, unless specifically stated otherwise.

[0033] As used herein, the phrase "at least one of' preceding a series of items, with the term "and" or "or" to separate any of the items, modifies the list as a whole, rather than each member of the list (i.e., each item). The phrase "at least one of does not require selection of at least one of each item listed; rather, the phrase allows a meaning that includes at least one of any one of the items, and / or at least one of any combination of the items. By way of example, the phrases "at least one of A, B, and C" or "at least one of A, B, or C" each refer to only A, only B, or only C; and / or any combination of A, B, and C. In instances where it is intended that a selection be of "at least one of each of A, B, and C," or alternatively, "at least one of A, at least one of B, and at least one of C," it is expressly described as such.

[0034] Conventional approaches to MIMO detection exhibit tradeoffs between complexity and performance (such as power-consumption, noise mitigation, etc.). For example, MIMO detectors may include maximal ratio combining (MRC), minimum mean square error (MMSE), and reduced-complexity ML receiver algorithms. In general, a maximum-likelihood detection (MLD) based algorithm yields near-optimal performance, but has the highest complexity.

[0035] Thus, an efficient method to select between various types of MIMO detectors in a dynamic manner is set forth, optimizing for performance while minimizing complexity. The reduced complexity may result in a reduction in power consumption, such as during physical downlink shared channel (PDSCH) data transmission. Moreover, the MLP -based MIMO detection selector supports high data throughput with low silicon resource usage. In contrast to traditional approaches utilizing a static MIMO detection scheme, the dynamic MIMO detector selection scheme achieves close to optimal performance while, by dynamically selecting the lowest complexity sufficient MIMO detector, reduce dynamic power consumption under high throughput use cases, such as PDSCH reception. Moreover, the efficient computing architecture has the configurability to support the different number of layers, while utilizing the expensive Arithmetic Logic Units (ALU) efficiently. It has higher efficiency than a general- purpose digital signal processor (DSP), while providing more flexibility than a fixed integrated circuit (IC) architecture.

[0036] Fig. 1 is a schematic block diagram of a system 100 for a MLP -based MIMO detection selector, in accordance with various embodiments. The system 100 includes a base station (gNodeB / eNodeB) 105, which further includes layer mapping logic 110, precoding logic 115, one or more antennas 120, first UE (UE1) 125, second UE (UE2) 130, and third UE (UE3) 135. It should be noted that the various components of the system 100 are schematicallyillustrated in Fig. 1, and that modifications to the various components and other arrangements of system 100 may be possible and in accordance with the various embodiments.

[0037] In various embodiments, the base station 105 may include one or more gNodeB, eNodeB, or other base stations. The base station 105 may, in some examples, include base stations for transmitting and / or receiving communications in a long term evolution (LTE) or fifth-generation new radio (5G NR) network. In various examples, at the basestation 105, data associated with multiple users may be multiplexed through joint layer mapping (via layer mapping logic 110), precoded (via precoding logic 115), and beamformed (via one or more antennas 120). The one or more antennas 120 may include the antennas of an antenna array (physical and / or virtual).

[0038] Under ideal operation, the transmitted signals to each individual UE (UE1 125 - UE3 135) are orthogonal at each UE, such that any individual UE does not observe interference from signals intended for the other respective UEs. However, in practice, multiuser interference is inevitable due to imperfect channel measurements at the eNodeB / gNodeB side, and / or due to movement of the UEs 125-135. Thus, some interference may be observed by the UEs. For example, UE1 125 may encounter interference from signals as illustrated by the dashed arrows. Thus, UE1 125 may encounter MU interference from signals for UEs, such as UE2 130 and UE3 135.

[0039] Thus, in some examples, UE 125-135 may be configured to implement, respectively, a MLP -based MIMO detection selector. The operation of the MLP -based MIMO detection selector is described in greater detail below with respect to Fig. 2.

[0040] Fig. 2 is a schematic block diagram of a wireless device for a MLP -based MIMO detection selector, in accordance with various embodiments. Wireless device 200 includes channel and noise estimation logic 205, MIMO detector 210, feature extraction network 215, MLP network 220, first constellation decision maker 225, second constellation decision maker 230, third constellation decision maker 235, MIMO detector high-authority control (HAC) logic 240, MMSE detector HAC 245, first ML-detector HAC 250, second ML detector HAC 255, phasor measuring unit (PMU) 260, multiplexer 265, demultiplexer 270, channel decoder logic 275, digital front end 280, analog front end 285. It should be noted that the various components of wireless device 200 are schematically illustrated in Fig. 2, and that modifications to the various components and other arrangements of wireless device 200 may be possible and in accordance with the various embodiments.

[0041] According to various examples, each of the channel and noise estimation logic 205, MIMO detector 210, feature extraction network 215, MLP network 220, first, second, andthird constellation decision makers 225-235, MEMO detector HACs 240 including MMSE detector HAC 245, first ML-detector HAC 250, second ML-detector HAC 255, PMU 260, and channel decoder logic 275 may be implemented as hardware, software, or a combination of both hardware and software. For example, the various logic may include, without limitation, software logic, implemented as software and / or firmware code, hardware logic such as digital logic or other programmable logic, circuits such as custom IC or application specific integrated circuits (ASIC), or a combination of the above.

[0042] In various examples, the wireless device 200 may be a UE, such as the UEs 125-135 of Fig. 1. Accordingly, the wireless device 200 may be, without limitation, a mobile device such as a smartphone, tablet, wearable device such as a smartwatch, computer, or other suitable wireless device. The wireless device 200 may include an analog front end 285, which may further include a receiver and / or receiver chain, one or more antennas, and other circuitry configured to receive an analog wireless signal. For example, the one or more antennas may be configured to receive signals from a base station, which includes UE signals and interference from other UE signals. The received (Rx) signal may include, for example, a wireless signal transmitted by a base station, such as an eNodeB, gNodeB, wireless access point, or other suitable base station, to the UE, such as wireless device 200. The Rx signal may, in some embodiments, include a reference signal (RS) or other wireless signal communicated to the UE. The RS may be a signal in which known pilot symbols are transmitted by the base station to the UE (e.g., wireless device 200). The Rx EQ samples, in some examples, may include a signal of the UE, such as wireless device 200, as well as interference (e.g., signals for other UEs).

[0043] In-phase (I) and quadrature (Q) samples (e.g., EQ samples) of the received signal may be fed to the digital front end 280. In various embodiments, the EQ sampled Rx signal, such as an RS, may then be demodulated, for example, by demodulation logic in the digital front end 280. From the demodulation, a digital signal (e.g., pilot tones) may be extracted from the RS. Based on the demodulated RS, a channel and noise estimation may be performed via the channel and noise estimation logic 205.

[0044] Accordingly, in various embodiments, the channel and noise estimation logic 205 may generate an estimated channel matrix (Hn) from the transmitter (e.g., base station), as well as a noise estimate (e.g., noise power (D2)). The channel and noise estimates may then be provided to the MEMO detector 210, along with the observed signal (Yn), which may be a reference signal or other Rx signal as observed by the analog front end 285, and demodulated via digital front end 280.

[0045] In various embodiments, the MEMO detector 210 may include a feature extraction network 215, MLP network 220, first constellation decision maker 225, second constellation decision maker 230, and third constellation decision maker 235. The MIMO detector 210 may further include MIMO detector HACs 240, which include an MMSE detector HAC 245 and first and second ML-detector HACs 250, 255. In various examples, the output of the digital front end 280 (e.g., Yn) and the channel and noise estimates (e.g., Hn, El2) from channel and noise estimation logic 205 may be provided to the feature extraction network 215. In some embodiments, the feature extraction network 215 may be configured to generate a feature map from input data, such as the observed signal (e.g., Yn), channel estimate (e.g., Hn) or noise estimate (El2). In some examples, the feature extraction network 105 may include various types of CNNs, such as a ResNet, RNN, R-CNN, etc., configured to extract and / or identify features in the input data, and further to generate respective feature maps.

[0046] Once feature maps are generated, in various embodiments, the feature extraction network 215 may be configured to feed the feature maps to the MLP network 220. The MLP network 220 may include, for example, one or more neural network layers. For example, the MLP network 220 may be a feed forward network (FFN) comprising at least 3 layers (e.g., an input layer, and output layer, and at least one hidden layer). In various examples, the output of the MLP network 220 may be provided to a first, second, and / or third constellation decision maker 225-235 (collectively "the constellation decision makers 225-235").

[0047] In various embodiments, the first, second, and third constellation decision maker may be an output of a predicted modulation constellation (e.g., a modulation format) of the channel between a base station and the wireless device 200 and / or analog front end 285. The predicted constellation may, in some examples, include a prediction of a quadrature amplitude modulated (QAM) constellation, such as 64-QAM, 256-QAM, 1024-QAM, etc. In other embodiments, other QAM constellations may be employed, and it is to be understood that embodiments are not limited to a particular set of constellations. For example, in some embodiments, QAM constellations may include a quadrature phase-shift key (QPSK) constellation, 16-QAM, 32-QAM, 64-QAM, 128-QAM, 256-QAM, 512-QAM, 1024-QAM, 2048-QAM, and so on, including subsets thereof. Thus, in some examples, the MLP network 220 may be configured to predict a modulation format of a channel (e.g., a channel estimate). In some further examples, the MLP network 220 may be configured to predict a modulation format of an interference layer (e.g., noise signal) for mitigation, for example, via MLD or other algorithm.

[0048] In various embodiments, the output of the MLP network 220, and more specifically of the first, second, and third constellation decision makers 225-235, may further be utilized to select between different MIMO detectors. For example, in some embodiments, when the channel estimate is for a predicted 64-QAM modulation format, the first constellation decision maker 225 (e.g., a 64-QAM decision maker) may be utilized to determine a MEMO detector of the MEMO detector HACs 240 to be utilized for MEMO detection. Similarly, if the output of the MLP network 220 is a 256-QAM modulation format, the second constellation decision maker 230 (e.g., a 256-QAM decision maker) may be utilized to determine the MEMO detector to be utilized. Similarly, if a 1024-QAM is predicted, the third constellation decision maker 235 (e.g., 1024-QAM decision maker) may be configured to select a MEMO detector to be utilized.

[0049] In various embodiments, the input signals may concurrently be provided to the MEMO detector HACs 240, via the multiplexer 265. The multiplexer 265 may split the input signals into three signals, each signal going to a respective MEMO detector of the MEMO detector HACs 240, such as the MMSE detector HAC 240, first ML-detector HAC 250, and second ML-detector HAC 255. Each HAC may refer to a respective algorithm having high- authority control (e.g., general control) over MEMO detection. In this example, MMSE may refer to the algorithm utilized by the MMSE detector HAC 245. The first ML-detector HAC 250 may utilize a first ML-based algorithm, such as MRC, MLD, a low-complexity ML algorithm, or other ML-based algorithm. The type of algorithm utilized by the first ML- detector HAC 250 is not limited to a particular algorithm, and in different embodiments, different algorithms may be implemented. Similarly, the second ML-detector HAC 255 may be configured to implement a second ML-based MEMO algorithm different from the algorithm utilized in the first ML-detector HAC 250.

[0050] The outputs of each respective MEMO detector HAC 245-255 may be transmitted to a demultiplexer 270, which may be configured to select an output of one of the MEMO detector HACs 245-255 to be transmitted to the channel decoder logic 275. Specifically, the demultiplexer 270 may be a selection circuit configured to select an input (e.g., the output of one of the MMSE detector HAC 245, first ML-detector HAC 250, and second ML-detector HAC 255) based on a control signal. The control signal may, in various examples, be based, at least in part, on the output of the constellation decision makers 225-235.

[0051] In various embodiments, the PMU 260 may be configured to receive the output of the constellation decision makers 225-235 and determine specific timing and other information relative to the outputs of the constellation decision makers 225-235. For example,in some examples, the PMU 260 may be configured to synchronize the output of the of the constellation decision makers 225-235 in relation to the inputs of the demultiplexer 270 (e.g., the outputs of the MEMO detector HACs 245-255). Thus, the MEMO detector 210 may be configured to generate log likelihood-ratios (LLR) based on a selected MEMO detection algorithm, including MMSE, MRC, or an ML-based algorithm, and in further examples, the channel estimate and noise estimates. Accordingly, in some further embodiments, channel decoding logic 275 may be configured to decode a signal received by the EJE (e.g., wireless device 200), along with LLRs generated by the MEMO detector 210, via a channel between the wireless device 200 and a base station.

[0052] Fig. 3 is a functional block diagram of a MLP -based MEMO detection selector architecture 300, in accordance with various embodiments. Architecture 300 includes firmware 305, weight fetcher control logic 310, node loader control logic 315, vector mean absolute deviation (MAD) engine 320, processor 325, finite state machine (FSM) 330, and buffers 335. It should be noted that the various components and arrangement of architecture 300 are schematically illustrated in Fig. 3, and that modifications to the various components and other arrangements of architecture 300 may be possible and in accordance with the various embodiments.

[0053] According to various examples, each of the firmware 305, weight fetcher control logic 310, node laoder control logic 315, vector MAD engine 320, processor 325, and FSM 330 may be implemented as hardware, software, or a combination of both hardware and software. For example, the various logic may include, without limitation, software logic, implemented as software and / or firmware code, hardware logic such as digital logic or other programmable logic, circuits such as custom EC or ASEC, or a combination of the above.

[0054] En various embodiments, the MLP -based MEMO detection selector architecture 300 may be part of the MEMO detector 210 of Fig. 2, and specifically the MLP network 220. In various examples, the firmware 305 may be configured to obtain, via the weight fetcher control logic 310, various weight matrices, each weight matrix associated with a different modulation format (e.g., modulation constellation). Moreover, the firmware 305 may further initialize, via the node loader control logic 315, the one or more layers of the neural network, such as the vector MAD engine 320. The vector MAD engine 320 may, in some examples, be part of a recursive vector MLP engine, which further includes a pipelined data-path of the multiple parallel multipliers and a multi-stage adder tree. The node loader control logic 315 may, in some examples, be a Vector-Node-Loader (VNL) configured to take multiple input of thechannel and data features (e.g., extracted feature maps) from the input signal, and subsequently take inputs from the hidden nodes for subsequent iterations.

[0055] In various examples, the weight fetcher control logic 310 may include a Vector Wei ght-F etcher (VWF) configured to fetch weight matrices in an order corresponding to each respective MLP layer. The control logic in generating the fetch signals is configured via the firmware 305 firmware, and the weight coefficients are also configured from firmware. In some examples, the weight coefficients may be predetermined, for example, based on training and / or calibration.

[0056] The vector MAD engine (vMADE) 320 may be configured to generate outputs the (Qi, £ , . . .Qp)Tafter the first iteration, and outputsthe 2nd iteration and so-on. In various examples, after the first iteration, the signal (Qi, £ , . . .Qp)Tmay be passed to a Sigmoid Activation Function (SAF) f(x). In various examples, the SAF may be implemented as a look-up table (LUT), and executed via the processor 325. Accordingly, in various embodiments, the processor 325 may be an Activation / Arg (AA) processor configured to implement the SAF f(x) LUT function and / or an Arg Max function. The result may then be stored in a vector store unit to be provided to buffer 335. The buffer 335, in various examples, may be a Feature & Hidden Nodes Buffer (FHNB), arranged to be a vectorized memory bank. In subsequent iterations, the VNL logic (e.g. node loader control logic 315), may be configured to load the hidden node results from the vector memory bank, and arrange the results in a pipelined and vectorized loading sequence into a Vector- Input- Staging-Buffer described above. Correspondingly, the weights for the layers may be updated by the VWF control logic (e.g., weight fetcher control logic 310) to align with the computation order that is determined by the computation equation. Accordingly, in various examples, the FHNB (e.g., buffer 335) may be configured to store the input features of the next iteration (e.g., feature map) while the multiple layer computation of the hidden nodes is computed. In this way, the vMADE 320 may be utilized to achieve high computational efficiency while keeping silicon resource usage to a minimum.

[0057] Fig. 4 is a flow diagram of a method 400 for a MLP -based MIMO detection selector, in accordance with various embodiments. The method 400 includes, at block 405, receiving, via a UE, an RS (or other Rx signal) from a base station. The RS may include both a signal intended for the UE, as well as an interference signal. As previously described, in some examples, the reference signal may be a simulated signal, in which known pilot symbols are transmitted by the base station to the UE, for both a UE channel and noise (e.g., interference). In various examples, as previously described, the received signal (e.g., the RS) may be ananalog signal first received via an analog front end. The analog signal may be demodulated and converted into a digital signal, such as via a digital front end, as previously described.

[0058] The method 400 continues, at block 410, by generating a channel and noise estimate. In various embodiments, generating a channel estimate may include generating a channel estimate based on a reference signal. As previously described, generating the channel estimate may include extracting known pilot symbols from the reference signal to generate the channel estimation. In various examples, generating the channel estimate may include generating a channel matrix characterizing the channel between the UE and the base station. Similarly, generating an noise estimate may include generating an estimate of noise power. Accordingly, in various embodiments, the output of the digital front end (e.g., a received signal that has been demodulated, Yn) and the channel and noise estimates (e.g., Hn, a2) may be generated.

[0059] At block 415, the method 400 continues by selecting a MIMO detector based on a predicted modulation format. Specifically, the demodulated signal may be fed to a feature extraction network. The feature extraction network may then generate a feature map based on the input signals, in this case Yn, Hn, and a2. The feature extraction network may then provide one or more respective feature maps to an MLP network, as previously described. The MLP network may, in some examples, have a recursive architecture, as previously described with respect to Fig. 3 .The MLP network may then provide an output to one or more constellation decision makers as previously described. For example, in various embodiments, the one or more constellation decision makers may be configured to output a predicted modulation constellation (e.g., a modulation format) of the channel between a base station and the wireless device and / or analog front end. The predicted constellation may, in some examples, include a prediction of a quadrature amplitude modulated (QAM) constellation, such as 64-QAM, 256- QAM, 1024-QAM, etc. In other embodiments, other QAM constellations may be employed, and it is to be understood that embodiments are not limited to a particular set of constellations. For example, in some embodiments, QAM constellations may include a quadrature phase-shift key (QPSK) constellation, 16-QAM, 32-QAM, 64-QAM, 128-QAM, 256-QAM, 512-QAM, 1024-QAM, 2048-QAM, and so on, including subsets thereof.

[0060] At block 420, the method 400 includes selecting a MIMO detector based on a predicted modulation format. In various embodiments, the output of the constellation decision makers may be utilized to select between different MIMO detectors. For example, in some embodiments, when the channel estimate includes a modulation format that is predicted to be 64-QAM, a first constellation decision maker (e.g., a 64-QAM decision maker) may be utilizedto determine a MEMO detector of the MEMO detector HACs, as previously described. The MEMO detector HACs may correspond to respective MEMO detection algorithms, as previously described. IN some examples, MEMO detection algorithms may include MMSE, linear MMSE (LMMSE), an ML-based algorithm, MRC, MLD, or other suitable algorithm. Thus, a MEMO detector corresponding to a respective MEMO algorithm.

[0061] In some examples, the outputs of each respective MEMO detector HAC may be transmitted to a demultiplexer. The demultiplexer may then be controlled via a control signal from the MLP network and / or constellation decision maker indicative of the predicted modulation format. Thus, the demultiplexer may be a selection circuit configured to select an input (e.g., the output of one of the MEMO detector HACs) based on the control signal. The control signal may, in various examples, be based, at least in part, on the output of the constellation decision makers. In some embodiments, a PMU may be configured to determine timing information for the outputs of the MEMO detectors relative to the outputs of the constellation decision makers. For example, in some examples, the PMU may be configured to synchronize, or otherwise relate the output of the of the constellation decision makers to the inputs of the demultiplexer.

[0062] At block 425, the method 400 further includes generating LLRs based on the selected MEMO detector. At block 430, a UE channel bay be decoded based on the LLRs. In some embodiments, a channel decoding logic may be configured to decode a signal received by the UE (e.g., wireless device) via a channel between the wireless device and a base station, based on the LLRs generated by the MEMO detector.

[0063] The techniques and processes described above with respect to various embodiments may be performed by one or more computer systems. Fig. 5 is a schematic block diagram of a computer system 500 for a MLP -based MEMO detection selector, in accordance with various embodiments. Fig. 5 provides a schematic illustration of one embodiment of a computer system 500, such as in system 100, wireless device 200, or subsystems thereof, which may perform the methods provided by various other embodiments, as described herein. It should be noted that Fig. 5 only provides a generalized illustration of various components, of which one or more of each may be utilized as appropriate. Fig. 5, therefore, broadly illustrates how individual system elements may be implemented in a separated or integrated manner.

[0064] The computer system 500 includes multiple hardware elements that may be electrically coupled via a bus 505 (or may otherwise be in communication, as appropriate). The hardware elements may include one or more processors 510, including, without limitation, one or more general-purpose processors and / or one or more special-purpose processors (such asmicroprocessors, digital signal processor (DSP) including vector DSP (VDSP) , graphics processing units, and microcontrollers); one or more input devices 515, which include, without limitation, a mouse, a keyboard, one or more sensors, and / or the like; and one or more output devices 520, which can include, without limitation, a display device, and / or the like.

[0065] The computer system 500 may further include (and / or be in communication with) one or more storage devices 525, which can comprise, without limitation, local and / or network accessible storage, and / or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random-access memory ("RAM") and / or a read-only memory ("ROM"), which can be programmable, flash-updateable, and / or the like. Such storage devices may be configured to implement any appropriate data stores, including, without limitation, various file systems, database structures, and / or the like.

[0066] The computer system 500 might also include a communications subsystem 530, which may include, without limitation, a modem, a network card (wireless or wired), an IR communication device, a wireless communication device and / or chipset (such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a WWAN device, a Z-Wave device, a ZigBee device, cellular communication facilities, etc.), and / or a low-power wireless device. The communications subsystem 530 may permit data to be exchanged with a network (such as the network described below, to name one example), with other computer or hardware systems, between data centers or different cloud platforms, and / or with any other devices described herein. In many embodiments, the computer system 500 further comprises a working memory 535, which can include a RAM or ROM device, as described above.

[0067] The computer system 500 also may comprise software elements, shown as being currently located within the working memory 535, including an operating system 540, device drivers, executable libraries, and / or other code, such as one or more application programs 545, which may comprise computer programs provided by various embodiments, and / or may be designed to implement methods, and / or configure systems, provided by other embodiments, as described herein. Merely by way of example, one or more procedures described with respect to the method(s) discussed above might be implemented as code and / or instructions executable by a computer (and / or a processor within a computer); in an aspect, then, such code and / or instructions can be used to configure and / or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods.

[0068] A set of these instructions and / or code might be encoded and / or stored on a non- transitory computer readable storage medium, such as the storage device(s) 525 describedabove. In some cases, the storage medium might be incorporated within a computer system, such as the system 500. In other embodiments, the storage medium might be separate from a computer system (i.e., a removable medium, such as a compact disc, etc.), and / or provided in an installation package, such that the storage medium can be used to program, configure, and / or adapt a general purpose computer with the instructions / code stored thereon. These instructions might take the form of executable code, which is executable by the computer system 500 and / or might take the form of source and / or installable code, which, upon compilation and / or installation on the computer system 500 (e.g., using any of a variety of generally available compilers, installation programs, compression / decompression utilities, etc.) then takes the form of executable code.

[0069] It will be apparent to those skilled in the art that substantial variations may be made in accordance with specific requirements. For example, customized hardware (such as programmable logic controllers, single board computers, FPGAs, ASICs, and SoCs) might also be used, and / or particular elements might be implemented in hardware, software (including portable software, such as applets, etc.), or both. Further, connection to other computing devices such as network input / output devices may be employed.

[0070] As mentioned above, in one aspect, some embodiments may employ a computer or hardware system (such as the computer system 500) to perform methods in accordance with various embodiments of the invention. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer system 500 in response to processor 510 executing one or more sequences of one or more instructions (which may be incorporated into the operating system 540 and / or other code, such as an application program 545) contained in the working memory 535. Such instructions may be read into the working memory 535 from another computer readable medium, such as one or more of the storage device(s) 525. Merely by way of example, execution of the sequences of instructions contained in the working memory 535 might cause the processor(s) 510 to perform one or more procedures of the methods described herein.

[0071] The terms "machine readable medium" and "computer readable medium," as used herein, refer to any medium that participates in providing data that causes a machine to operate in a specific fashion. In an embodiment implemented using the computer system 500, various computer readable media might be involved in providing instructions / code to processor(s) 510 for execution and / or might be used to store and / or carry such instructions / code (e.g., as signals). In many implementations, a computer readable medium is a non-transitory, physical, and / or tangible storage medium. In some embodiments, a computerreadable medium may take many forms, including, but not limited to, non-volatile media, volatile media, or the like. Non-volatile media includes, for example, optical and / or magnetic disks, such as the storage device(s) 525. Volatile media includes, without limitation, dynamic memory, such as the working memory 535. In some alternative embodiments, a computer readable medium may take the form of transmission media, which includes, without limitation, coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 505, as well as the various components of the communication subsystem 530 (and / or the media by which the communications subsystem 530 provides communication with other devices). In an alternative set of embodiments, transmission media can also take the form of waves (including, without limitation, radio, acoustic, and / or light waves, such as those generated during radiowave and infra-red data communications).

[0072] Common forms of physical and / or tangible computer readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read instructions and / or code.

[0073] Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 510 for execution. Merely by way of example, the instructions may initially be carried on a magnetic disk and / or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and / or executed by the computer system 500. These signals, which might be in the form of electromagnetic signals, acoustic signals, optical signals, and / or the like, are all examples of carrier waves on which instructions can be encoded, in accordance with various embodiments of the invention.

[0074] The communications subsystem 530 (and / or components thereof) generally receives the signals, and the bus 505 then might carry the signals (and / or the data, instructions, etc. carried by the signals) to the working memory 535, from which the processor(s) 510 retrieves and executes the instructions. The instructions received by the working memory 535 may optionally be stored on a storage device 525 either before or after execution by the processor(s) 510.

[0075] While some features and aspects have been described with respect to the embodiments, one skilled in the art will recognize that numerous modifications are possible. For example, the methods and processes described herein may be implemented using hardwarecomponents, software components, and / or any combination thereof. Further, while various methods and processes described herein may be described with respect to particular structural and / or functional components for ease of description, methods provided by various embodiments are not limited to any particular structural and / or functional architecture but instead can be implemented on any suitable hardware, firmware and / or software configuration. Similarly, while some functionality is ascribed to one or more system components, unless the context dictates otherwise, this functionality can be distributed among various other system components in accordance with the several embodiments.

[0076] Moreover, while the procedures of the methods and processes described herein are described in a particular order for ease of description, unless the context dictates otherwise, various procedures may be reordered, added, and / or omitted in accordance with various embodiments. Moreover, the procedures described with respect to one method or process may be incorporated within other described methods or processes; likewise, system components described according to a particular structural architecture and / or with respect to one system may be organized in alternative structural architectures and / or incorporated within other described systems. Hence, while various embodiments are described with or without some features for ease of description and to illustrate aspects of those embodiments, the various components and / or features described herein with respect to a particular embodiment can be substituted, added and / or subtracted from among other described embodiments, unless the context dictates otherwise. Consequently, although several embodiments are described above, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.

Claims

WHAT IS CLAIMED IS:

1. A method comprising: receiving, via a user equipment, a signal from a base station via a channel; generating, via the user equipment, a channel estimate of the channel based on the signal; predicting, via a neural network, a predicted modulation format of the signal based on the channel estimate; selecting, via the user equipment, a first output of a first multiple-input multiple-output (MIMO) detector from a plurality of MIMO detectors based, at least in part, on the predicted modulation format of the signal; and generating, via the first MIMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MIMO detector.

2. The method of claim 1, wherein the signal is a reference signal.

3. The method of claim 1, further comprising: decoding the signal received via the channel based on the LLR.

4. The method of claim 1, wherein the neural network is a multilayer perceptron network.

5. The method of claim 4, wherein the multilayer perceptron network is a recursive vector multilayer perceptron network comprising at least one first layer comprising a plurality of parallel multipliers, and at least one second layer comprising a multi-stage adder tree.

6. The method of claim 1, wherein selecting the first output of the first MIMO detector comprises selecting the first output of a minimum mean square error (MMSE) MIMO detector from the plurality of MIMO detectors.

7. The method of claim 1, wherein the plurality of MIMO detectors includes a minimum mean square error (MMSE) MIMO detector and a maximum likelihood (ML) based MIMO detector.

8. The method of claim 1, wherein the predicted modulation format is one of 64- quadrature amplitude modulation (QAM), 256-QAM, or 1024-QAM.

9. A non-transitory computer readable medium in communication with a processor, the non-transitory computer readable medium having encoded thereon a set of instructions executable by the processor to: receive, via a user equipment, a signal from a base station via a channel; generate, via the user equipment, a channel estimate of the channel based on the signal;predict, via a neural network, a predicted modulation format of the signal based on the channel estimate; select, via the user equipment, a first output of a first multiple-input multiple-output (MEMO) detector from a plurality of MEMO detectors based, at least in part, on the predicted modulation format of the signal; and generate, via the first MEMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MEMO detector.

10. The non-transitory computer readable medium of claim 9 wherein the signal is a reference signal.

11. The non-transitory computer readable medium of claim 9, wherein the set of instructions is further executable by the processor to: decode the signal received via the channel based on the LLR.

12. The non-transitory computer readable medium of claim 9, wherein the neural network is a multilayer perceptron network.

13. The non-transitory computer readable medium of claim 12, wherein the multilayer perceptron network is a recursive vector multilayer perceptron network comprising at least one first layer comprising a plurality of parallel multipliers, and at least one second layer comprising a multi-stage adder tree.

14. The non-transitory computer readable medium of claim 9, wherein selecting the first output of the first MEMO detector comprises selecting the first output of a maximum likelihood (ML) based MEMO detector from the plurality of MEMO detectors.

15. The non-transitory computer readable medium of claim 9, wherein the plurality of MEMO detectors includes a minimum mean square error (MMSE) MEMO detector and a maximum likelihood (ML) based MEMO detector.

16. The non-transitory computer readable medium of claim 9, wherein the predicted modulation format is one of 64-quadrature amplitude modulation (QAM), 256-QAM, or 1024- QAM.

17. A system comprising: a user equipment in communication with a base station, the user equipment comprising: a processor; a non-transitory computer readable medium in communication with the processor, the non-transitory computer readable medium having encoded thereon a set of instructions executable by the processor to:receive, via the user equipment, a signal from a base station via a channel; generate, via the user equipment, a channel estimate of the channel based on the signal; predict, via a neural network, a predicted modulation format of the signal based on the channel estimate; select, via the user equipment, a first output of a first multiple-input multiple-output (MEMO) detector from a plurality of MEMO detectors based, at least in part, on the predicted modulation format of the signal; and generate, via the first MEMO detector, a logarithmic likelihood-ratio (LLR) based on the first output of the first MEMO detector.

18. The system of claim 17, wherein the neural network is a multilayer perceptron network, wherein the multilayer perceptron network is a recursive vector multilayer perceptron network comprising at least one first layer comprising a plurality of parallel multipliers, and at least one second layer comprising a multi-stage adder tree.

19. The system of claim 17, wherein selecting the first output of the first MEMO detector comprises selecting the first output of one of a minimum mean square error (MMSE) MEMO detector or a maximum likelihood (ML) based MEMO detector from the plurality of MEMO detectors.

20. The system of claim 17, wherein the plurality of MEMO detectors includes a minimum mean square error (MMSE) MEMO detector and a maximum likelihood (ML) based MEMO detector.

Citation Information

Patent Citations

  • Machine-learning based method for MIMO detection complexity reduction

    US10826581B1

  • Architecture, system and method for artificial neural network implementation

    US20120166374A1

  • Updates to MU-MIMO rate adaptation algorithm

    US20150326340A1

  • Multiple-input multiple-output system performance using advanced receivers for 5g or other next generation networks

    US20200052761A1

  • Adaptive wireless MIMO communications system using list-based MIMO detector

    US9209870B1