Neuron calculator for artificial neural network

By calculating and allocating order sets and third-order sets in neural networks, the problem of memory and power limits when neural networks are expanded is solved, and more efficient processing and higher accuracy are achieved.

CN119962599APending Publication Date: 2025-05-09MICRON TECHNOLOGY INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510040824.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-08-29
Filing Date
2019-08-29
Publication Date
2025-05-09

AI Technical Summary

Technical Problem

As neural networks learn and expand, the number of neurons and corresponding weights may increase exponentially, exceeding memory and power limits, resulting in difficulty in implementation.

Method used

By receiving multiple calibration signals, multiple order and third order sets are calculated and allocated to the corresponding neurons of the neuron calculator, the signals are processed to reduce storage and power requirements.

Benefits of technology

It realizes that without increasing memory and power consumption, the processing efficiency and accuracy of neural networks are improved, and the weight and number of neurons are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119962599A_ABST
    Figure CN119962599A_ABST
Patent Text Reader

Abstract

The invention relates to a neuron calculator for an artificial neural network. Wireless devices and systems having a neuron calculator that can perform one or more functionalities of a wireless transceiver are provided. The neuron calculator calculates an output signal that may be implemented, for example, using an accumulation unit that sums multiplication processing results from an order set of order neurons by connection weights for each connection between the order neurons and the output of the neuron calculator. The order set may be a combination of some input signals, where the number of signals is determined by the order of the neurons. Thus, a kth order neuron may include an order set of product values comprising k input signals selected from a set of k combinations having repetition. As an example in a wireless transceiver, the neuron calculator may perform channel estimation as a channel estimation processing component of a receiver portion of the wireless transceiver.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Divisional application

[0002] This application is a divisional application of the invention patent application with the application date of August 29, 2019, application number 201980056145.4, and invention name “Neural Calculator for Artificial Neural Networks”. Technical Field

[0003] The present disclosure relates generally to artificial neural networks, and more particularly to neuron computers for use with artificial neural networks. Background Art

[0004] Artificial neural networks are used in many applications, including image and speech recognition. Fifth generation (5G) wireless communication systems also have applications for artificial neural networks, including those wireless communication systems that employ multiple-input multiple-output (MIMO) technology or "massive MIMO" technology, in which multiple antennas (greater than a certain number, such as 8 in the case of an example MIMO system) are used to transmit and / or receive wireless communication signals. However, as the learning of the neural network increases, the number of neurons and the corresponding weights of the neural network may increase exponentially, thereby exceeding the memory and power limits of devices implementing such schemes. Summary of the invention

[0005] Example methods are disclosed herein. In an embodiment of the present disclosure, a method includes: receiving a plurality of calibration signals; generating a second-order set of a plurality of ordered sets based at least in part on multiplying each calibration signal in the plurality of calibration signals by another calibration signal in the plurality of calibration signals; and generating a third-order set of the plurality of ordered sets based at least in part on multiplying each calibration signal in the plurality of calibration signals by two other calibration signals in the plurality of calibration signals; assigning the second-order set to a second-order neuron of a neuron calculator and assigning the third-order set to a third-order neuron of the neuron calculator; and processing signals at the neuron calculator with the second-order neuron and the third-order neuron.

[0006] Additionally or alternatively, generating the second-order set further includes: multiplying a first calibration signal among the multiple calibration signals with the first calibration signal to generate a first multiplication processing result of the second-order set; multiplying the first calibration signal with a second calibration signal among the multiple calibration signals to generate a second multiplication processing result of the second-order set; multiplying the first calibration signal with a third calibration signal among the multiple calibration signals to generate a third multiplication processing result of the second-order set; multiplying the second calibration signal with the first calibration signal to generate a fourth multiplication processing result of the second-order set; multiplying the second calibration signal with the second calibration signal to generate a fifth multiplication processing result of the second-order set; multiplying the second calibration signal with the third calibration signal to generate a sixth multiplication processing result of the second-order set; multiplying the third calibration signal with the first calibration signal to generate a seventh multiplication processing result of the second-order set; multiplying the third calibration signal with the second calibration signal to generate an eighth multiplication processing result of the second-order set; and multiplying the third calibration signal with the third calibration signal to generate a ninth multiplication processing result of the second-order set.

[0007] Additionally or alternatively, generating a plurality of connection weights for corresponding connections between each of the corresponding ordered neurons of the neuron calculator and a corresponding output of the plurality of outputs of the neuron calculator is also included.

[0008] Additionally or alternatively, also included combining at least the second order set or the third order set with at least a portion of the connection weights at each output of the neuron calculator to produce a compensated calibration signal.

[0009] Additionally or alternatively, generating the plurality of connection weights for the corresponding connections further comprises: randomly selecting the plurality of connection weights; and reducing an error of a compensated calibration signal based on a summation of the plurality of connection weights and at least the second order set or the third order set.

[0010] Additionally or alternatively, the method further comprises: providing a first radio frequency (RF) signal associated with a first frequency and a second RF signal associated with a second frequency to the neuron calculator, wherein the first RF signal is received at a first antenna among a plurality of antennas and the second RF signal is received at a second antenna among the plurality of antennas; mixing the first RF signal and the second RF signal according to the second-order set or the third-order set and the plurality of connection weights to generate a plurality of output signals, the plurality of output signals representing the first RF signal and the second RF signal compensated for errors in processing the first RF signal and the second RF signal.

[0011] Additionally or alternatively, the number of the plurality of antennas corresponds to the number of antennas of a MIMO antenna array.

[0012] Additionally or alternatively, also included is identifying, for a first-order set, each of the corresponding calibration signals as a signal of the first-order set.

[0013] An example device is disclosed herein. In an embodiment of the present disclosure, a plurality of antennas; a first transceiver configured to receive a first radio frequency (RF) signal from a first antenna of the plurality of antennas; a second transceiver configured to receive a second radio frequency (RF) signal from a second antenna of the plurality of antennas; a neuron calculator coupled to the first transceiver and the second transceiver, the neuron calculator configured to mix the first RF signal and the second RF signal with a plurality of ordered sets and a plurality of connection weights to generate a plurality of output signals, wherein the neuron calculator includes a plurality of ordered neurons, each of the ordered neurons configured to mix the first RF signal and the second RF signal with a corresponding ordered set and the connection weights.

[0014] Additionally or alternatively, the neuronal calculator is further configured to calculate the multiple ordered sets based on multiplying a calibration signal from a plurality of calibration signals by a portion of the calibration signal from the multiple calibration signals, wherein the portion of the calibration signal includes a number of the multiple calibration signals corresponding to the order of a corresponding ordered set from the multiple ordered sets.

[0015] Additionally or alternatively, a memory configured to store the plurality of ordered sets and the plurality of connection weights is also included.

[0016] Additionally or alternatively, the neuron calculator is further configured to mix the corresponding ordered sets with the first RF signal and the second RF signal at a first-order neuron and a second-order neuron among the plurality of ordered neurons, wherein the first-order neuron calculator includes a first-order set among the plurality of ordered sets, and wherein the second-order neuron calculator includes a second-order set among the plurality of ordered sets.

[0017] Additionally or alternatively, the neuron calculator is further configured to mix the plurality of connection weights with outputs of the first-order neurons and the second-order neurons to generate the plurality of output signals.

[0018] Additionally or alternatively, the first transceiver includes: an analog-to-digital (ADC) converter configured to convert the first RF signal into digital symbols; a digital down-converter (DDC) configured to mix the digital symbols with a carrier signal to produce down-converted symbols; and fast Fourier transform (FFT) logic configured to convert the down-converted symbols into symbols indicative of the first RF signal.

[0019] Additionally or alternatively, the first transceiver further includes: a channel estimator configured to estimate an error of a communication channel over which the symbol indicative of the first RF signal is transmitted, the channel estimator further configured to provide the symbol indicative of the first RF signal to the neuron calculator.

[0020] Additionally or alternatively, the channel estimator is further configured to receive compensated symbols indicative of the first RF signal based on the neuron calculator adjusting the symbols indicative of the first RF signal with at least a portion of the plurality of ordered sets.

[0021] In another aspect of the present disclosure, a device includes: a first receiver configured to process a first radio frequency (RF) signal; a second receiver configured to process a second RF signal; and a neuron calculator coupled to the first receiver and the second receiver and configured to receive a first input signal based on the first RF signal and a second input signal based on the second RF signal, the neuron calculator configured to calculate multiple ordered sets and multiple connection weights to generate multiple output signals.

[0022] Additionally or alternatively, the neuron computer is configured to perform channel estimation of the first and second input signals and to provide the plurality of output signals as compensated symbols.

[0023] Additionally or alternatively, each ordered set of the plurality of ordered sets comprises a product value of at least the first and second input signals, wherein the at least first and second input signals are selected from a set comprising k combinations of repetitions, wherein k represents the number of input signals to be selected.

[0024] Additionally or alternatively, the neuron calculator is configured to assign each ordered set of the plurality of ordered sets to a k-th order neuron of the plurality of ordered neurons of the neuron calculator. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1A is a schematic illustration of an example system arranged according to the examples described herein.

[0026] Figure 1B is a schematic illustration of an example processing unit arranged according to the examples described herein.

[0027] Figure 2 is a schematic illustration of a system arranged according to examples described herein.

[0028] Figure 3 is a schematic illustration of a wireless transmitter.

[0029] Figure 4is a schematic illustration of a wireless receiver.

[0030] Figure 5 is a schematic illustration of an electronic device arranged according to examples described herein.

[0031] Figure 6 is a schematic illustration of a neuronal computing method according to examples described herein.

[0032] Figure 7 is a schematic illustration of a wireless communication system arranged in accordance with aspects of the present disclosure.

[0033] Figure 8 is a schematic illustration of a wireless communication system arranged in accordance with aspects of the present disclosure.

[0034] Fig. 9 is a block diagram of a computing device arranged according to the examples described herein. DETAILED DESCRIPTION

[0035] Neural networks continue to be used in a variety of memory-intensive and power-intensive applications, such as image recognition, wireless communications, and speech recognition. Due in part to such memory and power requirements, processor implementations may become more expensive as neural networks grow larger. For example, as the number of layers of a neural network increases and / or additional neurons are added to the network, the number of weights and / or the dimensions of the weight matrix used to connect the neurons may increase exponentially. To meet these requirements, in some neural network applications, weights may be compressed and / or pruned to reduce the number of weights and / or neurons. However, because additional, often cumbersome processes may be used to identify and determine which weights to reduce, such trimming or compression of neural networks is often not implemented without introducing additional complexity to the neural network, such as increased power or memory consumption. For example, the weights in a conventional scheme may be determined using a least mean square algorithm to produce weights with large precision values, which may undesirably utilize additional memory.

[0036] Examples described herein can calculate and provide an ordered set for a neural network that utilizes an input signal as a basis for the ordered set, thereby forming a neural network that utilizes less memory or uses memory more efficiently than conventional solutions. Compared to examples of conventional neural network arrangements that may store weights / parameters that are not related to the input signal, the systems and methods described herein can utilize input signals that may have been allocated memory storage as a basis for calculating weights and / or elements of the neural network.

[0037] By associating neurons in a neural network with certain combinations of input signals, the number of elements can be limited, thereby facilitating memory allocation. Additional advantages of such memory allocation include increasing processing speed (e.g., by utilizing already known input signals) while attempting to increase the accuracy of a given neural network, compared to conventional neural networks that may reduce processing speed. For example, according to examples of the methods and systems described herein, a neuron calculator may calculate an ordered set based on the order of the input signals and the corresponding neurons to provide an ordered set for use as a neural network. The ordered set may be a multiplicative combination of a certain number of input signals, where the number of signals is determined by the order of the neurons. Thus, a k-th order neuron may include an ordered set including product values ​​of k input signals, where the input signals are selected from a set of k combinations with repetitions.

[0038] Figure 1A is a schematic illustration of an example neural network 10 arranged according to the examples described herein. The neural network 10 includes a memory 15 and a neuron calculator 18, which has a plurality of memory cells for input signals x1(n), x2(n), x k (n) and the inputs 20, 22 and 28 for output signals z1(n), z2(n), z l The neuron calculator 18 further includes neurons of different orders, such as a first-order neuron 30, a second-order neuron 32, and a k-th-order neuron 38. The neuron calculator 18 generates a signal based on the input signals x1(n), x2(n), x k (n) calculates the ordered set utilized at the corresponding ordered neurons 30, 32, and 38. Once calculated, the ordered set can be stored in the memory 15 for additional input signals (e.g., additional input signals received at 20, 22, and 28) to adjust and / or compensate for errors in the additional input signals (e.g., wireless channel errors of the wireless channel). In this example, the input signals x1(n), x2(n), x k (n) may correspond to a method for receiving corresponding input signals x1(n), x2(n), x k (n) of the transceiver; and the output signals z1(n), z2(n), z l (n) can correspond to the input signals x1(n), x2(n), x k (n) compared to the compensated signal with reduced channel estimation error.

[0039] As described herein, the ordered sets stored in memory 15 to be implemented in the respective ordered neurons 30, 32, and 38 may be multiplicative combinations of a number of input signals, where the number of signals is determined by the order of the neuron. Thus, for a first-order neuron 30, the first-order set includes p i elements, where N1 is the number of input signals:

[0040]

[0041] As shown here, p i Elemental (1) The superscript represents the rank of the element in the ordered set. Therefore, (1) The superscript indicates first order. For the second-order neuron 32, the second-order set includes p ij elements, where N i (2) and N j (2) is the number of input signals.

[0042]

[0043] Since an ordered set is a set with repeated k combinations, the total number of i and j input signals is the same; resulting in a maximum number of second-order elements of N i (2) ×N j (2) , which is equal to the second-order set N to be used in the second-order neuron 32 2 p ij As an example, the neuron calculator 18 may calculate the second-order set for three input signals x1(n), x2(n), x3(n) as p ij elements, as shown in Table 1.

[0044]

[0045] Table 1

[0046] In Table 1, the six independent elements represent second-order elements and, therefore, can be used as a second-order set representing a second-order nonlinearity for the input signals x1(n), x2(n), x3(n). Continuing in the example, for the k-th order neuron 38, the k-th order set includes Elements:

[0047]

[0048] Therefore, the maximum number of k-th order elements is N of the k-th order set to be used in the k-th order neuron 38. kAs an example, the neuron calculator 18 may calculate the k-th order set for three input signals x1(n), x2(n), x3(n) as p ijk elements, as shown in Table 2.

[0049]

[0050] Table 2

[0051] In Table 2, the ten independent elements represent third-order elements and, therefore, can be used as a third-order set representing a third-order nonlinearity for the input signals x1(n), x2(n), x3(n).

[0052] Reference again Figure 1A For example, the inputs 20, 22, and 28 of the neuron calculator 18 may be implemented using a bit manipulation unit that can manipulate the input signals x1(n), x2(n), x k (n) forwarded to the ordered neurons 30, 32, and 38. For example, the ordered neurons 30, 32, and 38 may be implemented using a multiplication unit that includes a corresponding ordered set. In some examples, the corresponding ordered set may be calculated by the neuron calculator 18 in each of the ordered neurons 30, 32, and 38; and stored in the memory 15. For example, the outputs 40, 42, and 48 may be implemented using an accumulation unit that mixes (e.g., sums) the corresponding ordered set at each of the ordered neurons 30, 32, and 38 with the connection weights for each connection between the ordered neurons 30, 32, and 38 and the outputs 40, 42, and 48. For example, each connection may have a weight 'W l 'weighted, where l represents the total number of weights used for the connection. In some examples, 'W l ' can be a matrix. For example, each connection between the ordered neurons 30, 32 and 38 and the outputs 40, 42 and 48 is weighted. The neuron calculator 18 sums the ordered sets and connection weights at the outputs 40, 42 and 48 to produce the output signals z1(n), z2(n), z l (n). In an example, the summation at each respective output 40, 42 and 48 may be expressed as:

[0053]

[0054] In Equation 1, l corresponds to each output of each neuron (e.g., neurons 30, 32, and 38), and q l (@) is the activation function of the lth output of each neuron, and W l(·) is the corresponding connection weight set between the l-th output and the k-th order neuron. Using equation 1, the neuron calculator 18 can determine the connection weights. For example, the neuron calculator 18 can use a least mean square algorithm to determine the connection weights. For example, the calibration signal provided to the neuron calculator 18 can be compared with the output signals z1(n), z2(n), z l In the context of Equation 2, Z(n) may be a number of calibration signals provided to the neuron computer 18 at inputs 20, 22, and 28, where M represents how many calibration signals are provided to the neuron computer 18.

[0055]

[0056] As an example of applying Equation 2 to determine the connection weights with the calibration signal, a gradient descent method may be used to optimize the value of the connection weights. For example, the connection weights may be initially randomly selected (e.g., all connection weights may initially be equal to zero). The neuron calculator 18 calculates outputs 40, 42, and 48 for the calibration signal according to Equation 1. The neuron calculator 18 calculates the error at each of the outputs 40, 42, and 48. The calculated error δ at each of the outputs 40, 42, and 48 where the ordered set and the connection weights are summed l (n) can be represented by Equation 3; where z(n) is the corresponding output of the neuron calculator 18 (e.g., outputs 40, 42, and 48) of the total number of L outputs; where vl(n) is the weighted sum of the lth neuron of outputs 40, 42, and 48; and where [q l (v l (n)]' is the gradient of the lth neuron with outputs 40, 42, and 48.

[0057]

[0058] Thus, the neuron calculator 18 may calculate the individual errors for each output 40, 42, and 48 after summing the ordered sets and connection weights at the outputs 40, 42, and 48 to generate output signals z1(n), z2(n), z l As an example of a summation for calculating the error of the respective calibration signals, continuing with the representation of the ordered sets and connection weights of Equation 1, the neuron computer is configured to mix (e.g., sum) the ordered sets and connection weights with the calibration signal Z(n) at each respective output 40, 42, and 48, as expressed in Equation 4.

[0059]

[0060] Continuing with the example of determining connection weights, the initial connection weights may be updated according to Equation 5.

[0061]

[0062] For example, the neuron calculator 18 may calculate the error δ at each of the outputs 40, 42, and 48. l The product of (n) is summed with the elements of each ordered neuron. According to equation 5, the sum can be multiplied by a learning rate factor α. In some examples, various sets of M calibration signals can be provided to the neuron calculator 18 to continue updating the connection weights. Once the weights have converged according to the gradient descent method, the connection weights can be stored in the memory 15 for the neuron calculator 18 to map various input signals to output signals. For example, the neuron calculator 18 can act as a processing component of a wireless transceiver. For example, the neuron calculator 18 can perform channel estimation as a channel estimation processing component of the receiver portion of the wireless transceiver. Therefore, in the context of the neuron calculator 18 being a channel estimation processing component, the neuron calculator 18 can include an ordered set and connection weights that remove or reduce the error introduced by the wireless channel when applied to the wireless input signal. In various examples, the neuron calculator 18 or several neuron calculators can operate in conjunction with the wireless transceiver to perform various wireless processing component functionalities.

[0063] The neuron computer 18 may be implemented using one or more processing units, such as having any number of cores. Example processing units may include an arithmetic logic unit (ALU), a bit manipulation unit, a multiplication unit, an accumulation unit, an adder unit, a lookup table unit, a memory lookup unit, or any combination thereof. For example, referring to Figure 1B Processing unit 58 is depicted, which includes a multiplication unit, an accumulation unit, and a memory lookup unit.

[0064] In an example processor core, an instruction set implementing the calculations performed by the neuron calculator 18 may be loaded. In some examples, the neuron calculator 18 may include circuits (including custom circuits), and / or firmware for performing the functions described herein. For example, as described herein, the circuits may include multiplication units, accumulation units, and / or bit manipulation units for performing the functions described. The neuron calculator 18 may be implemented in any type of processor architecture, including but not limited to a microprocessor or a digital signal processor (DSP) or any combination thereof. In an example processor core, an instruction set implementing the training of the neuron calculator 18 provided with a calibration signal may be loaded, for example, the training of the neuron calculator 18 determining the elements of the ordered set and the connection weights.

[0065] exist Figure 1A, the neuron calculator 18 has been described with respect to a single layer of ordered neurons 30, 32, and 38, where a layer is an intermediate connection node between inputs 20, 22, and 28 and outputs 40, 42, and 48. For example, each ordered neuron 30, 32, and 38 is an individual multiplication unit. It can be appreciated that additional layers of ordered neurons with multiplication units can be added between the inputs 20, 22, and 28 and the outputs 40, 42, and 48. For example, in an embodiment in which additional neurons are included between the inputs 20, 22, and 28 and the ordered neurons 30, 32, and 38, the ordered neurons 30, 32, and 38 may represent the last layer of the neuron calculator 18 having several layers of ordered neurons. In this case, Equation 1 may represent the summation at each respective output 40, 42, and 48 of this last layer of the neuron calculator 18. The neuron calculator 18 is scalable in hardware form, with additional multiplication units added to accommodate the additional layers.

[0066] Figure 1B is a block diagram of a processing unit 58 in a neural network 50 that may be implemented as a neuron computer 18 according to examples described herein. The processing unit 58 may receive input signals x1(n), x2(n), x k (n) (e.g., X(n)) 60a-c are used for processing, for example, as a component of a MIMO wireless transceiver. The processing unit 58 may include multiplication units / accumulation units 62a-c, 66a-c and memory lookup units 64a-c, 68a-c, which, when mixed with the input signal, can generate output signals z1(n), z2(n), z l (n) (e.g., Z(n))) 70a-c. In some examples, the output signals (e.g., Z(n)) 70a-c can be used as outputs of components of a MIMO wireless transceiver. The processing unit 58 can be provided with instructions to cause the processing unit 58 to configure the multiplication units 62a-c to multiply the input signals 60a-c with the ordered sets and connection weights of the corresponding ordered neurons to produce a multiplication processing result to be summed. The accumulation units 66a-c are configured to multiply the product values ​​to produce the output signals 70a-c.

[0067] The multiplication units / accumulation units 62a-c, 66a-c multiply two operands from the input signals 60a-c to produce a multiplication process result, which is accumulated by the accumulation unit portion of the multiplication units / accumulation units 62a-c, 66a-c. The multiplication units / accumulation units 62a-c, 66a-c add the multiplication process results to update the process results stored in the accumulation unit portion, thereby accumulating the multiplication process results. For example, the multiplication units / accumulation units 62a-c, 66a-c can perform a multiplication-accumulation operation such that two operands M and N are multiplied and then added to P to produce a new version of P stored in its corresponding multiplication unit / accumulation unit.

[0068] The memory lookup unit 64a-c, 68a-c retrieves the ordered set and / or connection weights of the ordered neurons stored in the memory 55. The output of the memory lookup unit 64a-c, 68a-c is provided to the multiplication unit / accumulation unit 62a-c, 66a-c, which can be used as a multiplication operand in the multiplication unit portion of the multiplication unit / accumulation unit 62a-c, 66a-c. For example, the memory lookup unit can be a lookup table that retrieves a specific plurality of connection weights associated with the corresponding ordered neuron. As described herein, the neuron calculator 18 can dynamically calculate the ordered set of ordered neurons based on the input signal 60a-c to be used as part of the multiplication-accumulation operation. In some examples, the calculated ordered set can be stored in the memory 55 and retrieved by the memory lookup unit 64a-c, 68a-c. Or the calculated ordered set, once calculated, can be used as part of the multiplication-accumulation operation to generate the output signal 70a-c. For example, the input signals 60a-c may be used to compute the corresponding ordered sets, for example, the input signals for a second-order neuron include the second-order p ij elements, as above relative to Figure 1A Thus, in various instances of computing ordered sets, Figure 1B The circuit arrangement may be used to generate output signals (eg, Z(n)) 70a-c from input signals (eg, X(n)) 60a-c.

[0069] Each of the multiplication / accumulation units 62a-c, 66a-c may include multiple multipliers, multiple accumulation units, and / or multiple adders. Any of the multiplication / accumulation units 62a-c, 66a-c may be implemented using an ALU. In some examples, any of the multiplication / accumulation units 62a-c, 66a-c may include one multiplier and one adder, each of which performs multiple multiplications and multiple additions, respectively. The input-output relationship of the multiplication / accumulation units 62a-c, 66a-c may be expressed as:

[0070]

[0071] where "I" represents the number of multiplications performed in the unit, C i are coefficients accessible from a memory such as memory 55, and B in (i) represents a factor from the input data X(n) 60a-c or an output from a multiplication unit / accumulation unit 62a-c, 66a-c. In one example, a group of multiplication unit / accumulation unit outputs B out Equal to the sum of coefficient data C i Multiply by the output B of another set of multiplication unit / accumulation unit in (i) B in(i) It can also be input data, so that the output B of a group of multiplication units / accumulation units out Equal to the sum of coefficient data C i Multiplies the input data.

[0072] Figure 2 1 is a schematic illustration of a system arranged according to the examples described herein. System 100 includes electronic device 102, electronic device 110, antenna 101, antenna 103, antenna 105, antenna 107, antenna 121, antenna 123, antenna 125, antenna 127, wireless transmitter 131, wireless transmitter 133, wireless receiver 135, and wireless receiver 137. Antennas 101, 103, 105, 107, 121, 123, 125, and 127 may be dynamically tuned to different frequencies or frequency bands in some examples. Electronic device 102 may include antenna 121 associated with a first frequency, antenna 123 associated with a second frequency, antenna 125 associated with a first frequency, antenna 127 associated with a second frequency, wireless transmitter 131 for the first frequency, wireless transmitter 133 for the second frequency, wireless receiver 135 for the first frequency, and wireless receiver 137 for the second frequency. The electronic device 110 may include an antenna 101 associated with a first frequency, an antenna 103 associated with a second frequency, an antenna 105 associated with the first frequency, an antenna 107 associated with the second frequency, a wireless transmitter 111 for the first frequency, a wireless transmitter 113 for the second frequency, a wireless receiver 115 for the first frequency, and a wireless receiver 117 for the second frequency.

[0073] The electronic devices 102, 110 may include the neural network 10. For example, the wireless transmitter 131 and the wireless receiver 135 may include the neural network 10 in combination, each having a neuron calculator 18 incorporated as part of at least a component of the respective transmitter 131 or receiver 135. In operation, the neuron calculator 18 may calculate an ordered set and provide an output signal for one or more components of the transmitter 131 or receiver 135. In an example, the wireless transmitter 133 may include the neural network 10 having several neuron calculators 18 or a single neuron calculator 18. In operation, the neuron calculator 18 of the transmitter 133 may calculate an ordered set and provide an output signal for one or more components of the transmitter 133. As can be appreciated, and as can be seen with respect to MIMO transceiver applications Figure 5 As further described, the neuronal computers 18 may be implemented in various portions of the electronic devices 102 , 110 , as individual components of certain aspects of the electronic devices or working together in a neural network 10 that includes various neuronal computers 18 .

[0074] The electronic devices described herein may be implemented using substantially any electronic device having the desired communication capabilities, such as Figure 2 102 and 110 are shown in FIG. 104. For example, the electronic device 102 and / or the electronic device 110 may be implemented using a mobile phone, a smart watch, a computer (e.g., a server, a laptop, a tablet, a desktop), or a radio. In some examples, the electronic device 102 and / or the electronic device 110 may be incorporated into and / or communicate with other devices that desire communication capabilities, such as, but not limited to, wearable devices, medical devices, cars, airplanes, helicopters, appliances, tags, cameras, or other devices.

[0075] Although in Figure 2 Although not explicitly shown, in some examples, electronic device 102 and / or electronic device 110 may include any of a variety of components, including but not limited to memory, input / output devices, circuitry, processing units (e.g., processing elements and / or processors), or combinations thereof.

[0076] The electronic device 102 and the electronic device 110 may each include multiple antennas. For example, the electronic device 102 and the electronic device 110 may each have more than two antennas. Figure 2 10 and 110. Although three antennas are shown in each, substantially any number of antennas may be used, including 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 32, or 64 antennas. Other numbers of antennas may be used in other examples. In some examples, electronic device 102 and electronic device 110 may have the same number of antennas, such as Figure 2 In other examples, electronic device 102 and electronic device 110 may have different numbers of antennas.

[0077] In general, the systems described herein may include multiple-input multiple-output ("MIMO") systems. A MIMO system generally refers to one or more electronic devices that transmit transmissions using multiple antennas and one or more electronic devices that receive transmissions using multiple antennas. In some examples, the electronic devices may transmit and receive transmissions using multiple antennas. Some example systems described herein may be "massive MIMO" systems. In general, a massive MIMO system refers to a system that employs greater than a certain number (e.g., 16) of antennas to transmit and / or receive transmissions. As the number of antennas increases, so does the complexity involved in generally accurately transmitting and / or receiving transmissions.

[0078] Although Figure 2 Two electronic devices (eg, electronic device 102 and electronic device 110 ) are shown in FIG. 1 , but in general system 100 may include any number of electronic devices.

[0079] The electronic devices described herein may include receivers, transmitters, and / or transceivers. For example, Figure 2 The electronic device 102 includes a wireless transmitter 131 and a wireless receiver 135, and the electronic device 110 includes a wireless transmitter 111 and a wireless receiver 115. In general, a receiver may be provided for receiving transmissions from one or more connected antennas, a transmitter may be provided for transmitting transmissions from one or more connected antennas, and a transceiver may be provided for receiving and transmitting transmissions from one or more connected antennas. Figure 2 1 and 110 are depicted as having individual wireless transmitters and individual wireless receivers, but it is understood that wireless transceivers can be coupled to antennas of electronic devices and operate as wireless transmitters or wireless receivers to receive and transmit transmissions. For example, the transceiver of electronic device 102 can be used to provide transmissions to and / or receive transmissions from antennas 121 and 123, while the other transceivers of electronic device 110 can be used to provide transmissions to and / or receive transmissions from antennas 101 and 103.

[0080] In general, multiple receivers, transmitters, and / or transceivers may be provided in an electronic device, each of which communicates with each of the antennas of the electronic device. The transmission may be in accordance with any of a variety of protocols including, but not limited to, 5G signals, and / or may use a variety of modulation / demodulation schemes including, but not limited to, orthogonal frequency division multiplexing (OFDM), filter bank multi-carrier (FBMC), general frequency division multiplexing (GFDM), general filtered multi-carrier (UFMC) transmission, dual orthogonal frequency division multiplexing (BFDM), sparse code multiple access (SCMA), non-orthogonal multiple access (NOMA), multi-user shared access (MUSA), and ultra-Nyquist rate (FTN) signaling with time-frequency packing. In some examples, transmissions may be sent, received, or both sent and received in accordance with various protocols and / or standards (e.g., NR, LTE, WiFi, etc.).

[0081] Examples of transmitters, receivers, and / or transceivers described herein, such as wireless transmitter 131, wireless transmitter 133, wireless receiver 115, or wireless receiver 117, may be implemented using a variety of components, including hardware, software, firmware, or a combination thereof. For example, a transceiver, transmitter, or receiver may include circuitry and / or one or more processing units (e.g., processors) and memory encoded with executable instructions for causing the transceiver to perform one or more functions described herein (e.g., software).

[0082] Figure 3 3 is a schematic diagram of a wireless transmitter 300. The wireless transmitter 300 receives a data signal 311 and performs operations to generate a wireless communication signal for transmission via an antenna 303. The wireless transmitter 300 may be used to implement, for example, Figure 2Before transmitting the output data on the RF antenna 303, the transmitter output signal x N The (n) 310 is amplified by a power amplifier 332. The operations to the RF front end may be performed substantially in analog circuits or processed as digital baseband operations for implementing a digital front end. The operations of the baseband and RF front end include a scrambler 304, a decoder 308, an interleaver 312, a modulation map 316, a frame adaptation 320, an inverse fast Fourier transform (IFFT) logic 324, a guard interval 328, and a frequency up-conversion 330.

[0083] The scrambler 304 may convert the input data into a pseudo-random or random binary sequence. For example, the input data may be a transport layer source (e.g., an MPEG-2 transport stream and other data) that is converted into a pseudo-random binary sequence (PRBS) with a generator polynomial. Although described in the example of a generator polynomial, a variety of scramblers 304 are possible.

[0084] Decoder 308 can encode the data output from the scrambler to decode the data. For example, a Reed-Solomon (RS) encoder, a turbo encoder can be used as a first decoder to generate a parity block for each randomized transport packet fed by the scrambler 304. In some examples, the length of the parity block and the transport packet can vary according to various wireless protocols. Interleaver 312 can interleave the parity blocks output by decoder 308, for example, interleaver 312 can utilize convolutional byte interleaving. In some examples, additional decoding and interleaving can be performed after decoder 308 and interleaver 312. For example, additional decoding can include a second decoder, which can further decode the data output from the interleaver, for example, with a punctured convolutional decoding with a certain constraint length. Additional interleaving can include an internal interleaver that forms a group of joined blocks. Although described in the context of RS decoding, turbo decoding, and punctured convolutional decoding, various decoders 308 are possible, such as a low density parity check (LDPC) decoder or a polar decoder. Although described in the context of convolutional byte interleaving, various interleavers 312 are possible.

[0085] The modulation map 316 may modulate the data output from the interleaver 312. For example, the data may be mapped using quadrature amplitude modulation (QAM) by changing (e.g., modulating) the amplitude of the associated carrier. Various modulation maps may be used, including but not limited to: quadrature phase shift keying (QPSK), SCMA, NOMA, and MUSA (multi-user shared access). The output from the modulation map 316 may be referred to as a data symbol. Although described in the context of QAM modulation, various modulation maps 316 are possible. Frame adaptation 320 may arrange the output from the modulation map according to a bit sequence representing the corresponding modulation symbol, carrier, and frame.

[0086] The IFFT logic 324 may be a processor and / or computer readable medium that implements instructions to perform an inverse fast Fourier transform. For example, the IFFT logic 324 may transform symbols that have been framed into subcarriers (e.g., by frame adaptation 320) into time domain symbols. Taking the example of a 5G wireless protocol scheme, the IFFT may be applied as an N-point IFFT:

[0087]

[0088] Where X n is the modulated symbol sent in the nth 5G subcarrier. Thus, the output of the IFFT logic 324 may form a time domain 5G symbol. In some examples, the IFFT of the logic 324 may be replaced by a pulse shaping filter or a polyphase filter bank to output symbols for frequency upconversion 330. For example, a processor and / or computer readable medium implementing instructions for performing an inverse fast Fourier transform may be changed or updated to implement a pulse shaping filter or a polyphase filter bank.

[0089] exist Figure 3 In the example of , guard interval 328 adds a guard interval to the time domain 5G symbol. For example, the guard interval can be a fractional length of the symbol duration added by repeating a portion of the end of the time domain 5G symbol at the beginning of the frame to reduce inter-symbol interference. For example, the guard interval can be a time period corresponding to the cyclic prefix portion of the 5G wireless protocol scheme.

[0090] Frequency up-conversion 330 may up-convert the time domain 5G symbols to a specific radio frequency. For example, the time domain 5G symbols may be considered to be in a baseband frequency range, and a local oscillator may mix the frequency at which it oscillates with the 5G symbols to produce a 5G symbol at the oscillation frequency. A digital up-converter (DUC) may also be utilized to convert the time domain 5G symbols. Thus, the 5G symbols may be up-converted to a specific radio frequency for RF transmission.

[0091] Before transmission, at antenna 303, power amplifier 332 may amplify the transmitter output signal x N(n) 310 to output data for RF transmission in the RF domain at antenna 303. Antenna 303 can be an antenna designed to radiate at a specific radio frequency. For example, antenna 303 can radiate at a frequency at which 5G symbols are upconverted. Thus, wireless transmitter 300 can transmit an RF transmission via antenna 303 based on data signal 311 received at scrambler 304.

[0092] As above relative to Figure 3 As described, the operation of the wireless transmitter 300 may include a variety of processing operations. Such operations may be implemented in a conventional wireless transmitter, where each operation is implemented by specifically designed hardware for the respective operation. For example, the DSP processing unit may be specifically designed to implement the guard interval 328. As described in the examples herein, the neural computer 18 may be included in the wireless transmitter 300 to perform one or more of the processing operations / components. Thus, the neural computer 18 may implement the guard interval 328. As may be appreciated, additional operations of the wireless transmitter 300 may be included in the Figure 3 The operations are not depicted in a conventional wireless transmitter (e.g., a digital-to-analog converter (DAC)), but are also operations that can be implemented by the neural computer 18.

[0093] Figure 4 4 is a schematic diagram of a wireless receiver 400. The wireless receiver 400 receives input data X(i,j) 410 from an antenna 405 and performs wireless receiver operations to generate receiver output data at a descrambler 444. The wireless receiver 400 may be used to implement, for example, Figure 2 The wireless receiver 115, 117, 135, 137 of the present invention may be a wireless receiver 115, 117, 135, 137 of the present invention. Antenna 405 may be an antenna designed to receive at a specific radio frequency. The operation of the wireless receiver may be performed by analog circuits or processed as digital baseband operations for implementing a digital front end. The operation of the wireless receiver includes frequency down conversion 412, guard interval removal 416, fast Fourier transform (FFT) logic 420, synchronization 424, channel estimation 428, demodulation mapping 432, deinterleaver 436, decoder 440, and descrambler 444.

[0094] Frequency down conversion 412 may down convert frequency domain symbols to a baseband processing range. For example, continuing with the example of 5G implementation, frequency domain 5G symbols may be mixed with a local oscillator frequency to produce 5G symbols in a baseband frequency range. Frequency domain symbols may also be converted using a digital down converter (DDC). Thus, an RF transmission including time domain 5G symbols may be down converted to baseband. Guard interval removal 416 may remove guard intervals from frequency domain 5G symbols.

[0095] The FFT logic 420 may be a processor and / or computer readable medium that implements instructions for performing a Fast Fourier Transform. For example, the FFT logic 420 may transform a time domain 5G symbol into a frequency domain 5G symbol. Taking the example of a 5G wireless protocol scheme, the FFT may be applied as an N-point FFT:

[0096]

[0097] Where X n is the modulated symbol sent in the nth 5G subcarrier. Thus, the output of the FFT logic 420 may form a frequency domain 5G symbol. In some examples, the FFT of the logic 420 may be replaced by a polyphase filter bank to output symbols for synchronization 424. For example, a processor and / or computer readable medium implementing instructions for performing a fast Fourier transform may be changed or updated to implement a polyphase filter bank.

[0098] Synchronization 424 may detect pilot symbols in the 5G symbols to synchronize the transmitted data. In some examples of 5G implementations, pilot symbols may be detected in the time domain at the beginning of a frame (e.g., in a header). Such symbols may be used by the wireless receiver 400 for frame synchronization. With the frame synchronized, the 5G symbols proceed to channel estimation 428. Channel estimation 428 may also use time domain pilot symbols and additional frequency domain pilot symbols to estimate time or frequency effects on the received signal (e.g., path loss).

[0099] For example, the channel may be estimated based on the N signals received by the M antennas (except the antenna 405) in the preamble period of each signal. In some examples, the channel estimation 428 may also use the guard interval removed at the guard interval removal 416. Through the channel estimation process, the channel estimation 428 may compensate the frequency domain 5G symbols by a certain factor to minimize the impact of the estimated channel. Although the channel estimation has been described in terms of time domain pilot symbols and frequency domain pilot symbols, other channel estimation techniques or systems are possible, such as a MIMO-based channel estimation system or a frequency domain equalization system.

[0100] The demodulation map 432 can demodulate the data output from the channel estimate 428. For example, a quadrature amplitude modulation (QAM) demodulator can map the data by changing (e.g., modulating) the amplitude of the related carrier. Any modulation map described herein can have a corresponding demodulation map as performed by the demodulation map 432. In some examples, the demodulation map 432 can detect the phase of the carrier signal to facilitate demodulation of the 5G symbol. The demodulation map 432 can generate bit data from the 5G symbol for further processing by the deinterleaver 436.

[0101] The deinterleaver 436 may deinterleave the data bits arranged as parity blocks from the demodulation map into the bit stream for the decoder 440. For example, the deinterleaver 436 may perform the inverse operation of convolutional byte interleaving. The deinterleaver 436 may also use channel estimates to compensate for channel effects on the parity blocks.

[0102] Decoder 440 can decode the data output from the scrambler to decode the data. For example, a Reed-Solomon (RS) decoder or a turbo decoder can be used as a decoder to generate a decoded bit stream for a descrambler 444. For example, a turbo decoder can implement a parallel serial decoding scheme. In some examples, additional decoding and / or deinterleaving can be performed after decoder 440 and deinterleaver 436. For example, additional decoding can include another decoder that can further decode the data output from decoder 440. Although described in the context of RS decoding and turbo decoding, various decoders 440 are possible, such as a low-density parity check (LDPC) decoder or a polar decoder.

[0103] The descrambler 444 may convert the output data from the decoder 440 from a pseudo-random or random binary sequence to the original source data. For example, the descrambler 44 may convert the decoded data to a transport layer destination (e.g., an MPEG-2 transport stream) which is descrambled with the inverse of the generator polynomial of the scrambler 304. The descrambler thus outputs receiver output data. Thus, the wireless receiver 400 receives an RF transmission including input data X(i,j) 410 to generate receiver output data.

[0104] As in this article, for example, Figure 4 As described, the operation of the wireless receiver 400 may include a variety of processing operations. Such operations may be implemented in a conventional wireless receiver, where each operation is implemented by specifically designed hardware for the respective operation. For example, the DSP processing unit may be specifically designed to implement FFT 420. As described in the examples herein, the neural computer 18 may be included in the wireless receiver 400 to perform one or more of the processing operations / components. Thus, the neural computer 18 may implement FFT 420. As may be appreciated, additional operations of the wireless receiver 400 may be included in Figure 4 The operations are not depicted in a conventional wireless receiver (e.g., an analog-to-digital converter (ADC)), but are also operations that can be implemented by the neural computer 18.

[0105] Figure 5 is a schematic illustration 200 of an electronic device 110 arranged according to examples described herein. Similarly, Figure 5 The numbered components include Figure 21. The electronic device 110 may also include a neuron computer 240, which may be a neuron computer 18. Each wireless transmitter 111, 113 may communicate with a corresponding antenna, such as antenna 101, antenna 103. Each wireless transmitter 111, 113 receives a corresponding data signal, such as data signals 211, 213. The wireless transmitter 113 may process the data signal 213 with the operation of the wireless transmitter (e.g., transmitter 300) to generate a transmission signal (e.g., output signal x). N (n) 310). Each wireless receiver 115, 117 may communicate with a respective antenna, such as antenna 105, antenna 107. Each wireless receiver 115, 117 receives a respective signal from antenna 105, 107; and may process the signal with operation of a wireless receiver (e.g., wireless receiver 400) to generate received output signals 255, 257.

[0106] During processing of signals received from antennas 105, 107, wireless receivers 115, 117 may provide input signals x1(n), x2(n) 221, 223 to neuron calculator 240. For example, input signals x1(n), x2(n) 221, 223 may be provided to neuron calculator 240 via internal paths from the output of wireless receiver 115 and the output of wireless receiver 117. Thus, paths originating from wireless receivers 115, 117 and neuron calculator 240 may communicate with each other. Thus, neuron calculator 240 receives a first signal x1(n) 221 associated with wireless receiver 115 and a second signal x2(n) 223 associated with wireless receiver 117.

[0107] The examples of the neuron calculator described herein may generate and provide output signals z1(n), z2(n) 245, 247 to wireless receivers 245, 247. In generating such output signals, the neuron calculator may calculate the set p of order i,j (k) 241 elements. For example, as referenced Figure 1AAs described, various ordered sets may be calculated based on input signals x1(n), x2(n) 221, 223. In some examples where the input signal is a calibration signal, the neuron calculator 240 may also determine the connection weights according to equations 1 to 5. Thus, for example, the neuron calculator 240 may generate and store the connection weights in a local memory of the electronic device 110, and using such weights may provide output signals z1(n), z2(n) 245, 247 to the wireless receivers 115, 117. Continuing with the example of the neuron calculator 18 having been provided with the input signals x1(n), x2(n) 221, 223, the neuron calculator 18 may be configured to perform the functionality of the wireless receivers 115, 117. For example, the neuron calculator 240 may perform channel estimation (e.g., channel estimation 428) for the wireless receiver 115, 117 on the input signals x1(n), x2(n) 221, 223 to provide output signals z1(n), z2(n) 245, 247, in which the noise introduced by the wireless channel (e.g., the wireless channel associated with the first and second frequencies) is removed or reduced. The neuron calculator 240 may mix the input signals x1(n), x2(n) 221, 223 with the ordered set of ordered neurons and connection weights to calculate the output signals z1(n), z2(n) 245, 247. In the example, the neuron calculator 240 may receive the input signals x1(n), x2(n) 221, 223 as symbols from the wireless receiver 115, 117; and therefore, provide output signals z1(n), z2(n) 245, 247, which may be referred to as compensated symbols. For example, the output signal may be compensated because the channel errors present in the signals x1(n), x2(n) 221, 223 have been removed or reduced.

[0108] Although Figure 5 The neuron calculator 240 is depicted operating on signals from the wireless receivers 115, 117 at the channel estimation stage / component of the wireless receiver stage, but it can be appreciated that various signals, whether amplified, modulated, or raw, can be provided to the neuron calculator 18, such as the neuron calculator 240, to perform the functionality of one or more processing stages of the wireless receivers 115, 117. For example, in one embodiment, the neuron calculator can receive each of the input signals x1(n), x2(n) 221, 223 at a decoder stage (e.g., decoder 440) of the wireless receiver. In various examples, the input signals can be provided at different points in the receiver path. Additionally or alternatively, the neuron calculator 240 can communicate with the wireless transmitters 111, 113 to perform the functionality of one or more processing stages of the wireless transmitters 111, 113.

[0109] Figure 6600 according to an example described herein. Figure 2 The electronic devices 102, 110, Figure 5 The electronic device 110, or Figure 2 , Figure 5 and Figure 7-9 The example method 600 may be implemented by any system or combination of systems depicted in . In some examples, the blocks in the example method 600 may be performed by a neuron computer 18 implemented as a processing unit 58. The operations described in blocks 608-628 may also be stored as control instructions in a computer-readable medium such as the memory 55 or in an electronic device 110 including a memory.

[0110] The example method 600 may start a neuron computing method. At block 608, the method 600 includes receiving calibration signals at a neuron calculator. The neuron calculator 18 having inputs 20, 22, and 28 may receive at least a respective calibration signal at each input, e.g., a first calibration signal, a second calibration signal, and a third calibration signal. Such calibration signals may be used to determine connection weights for the neuron calculator, as further described with respect to block 620. For example, the calibration signal set may include a signal, such as a pilot signal, for determining a channel estimate for a wireless transmitter or a wireless receiver.

[0111] At block 612, method 600 includes calculating a plurality of ordered sets based on the calibration signal. For example, as described with respect to Table 1, calculating the plurality of ordered sets includes multiplying each of the first calibration signal, the second calibration signal, and the third calibration signal with one of the first calibration signal, the second calibration signal, or the third calibration signal to produce a second-order set of the plurality of ordered sets. Similarly, for a third-order set calculation, as described with respect to Table 2, calculating the plurality of ordered sets includes multiplying each of the first calibration signal, the second calibration signal, and the third calibration signal with two signals of a set including the first calibration signal, the second calibration signal, or the third calibration signal to produce a third-order set. For example, with respect to the second-order set, multiplying each of the first calibration signal, the second calibration signal, and the third calibration signal with one of the first calibration signal, the second calibration signal, or the third calibration signal includes multiplying the first calibration signal with the first calibration signal to produce a first multiplication processing result of the second-order set; multiplying the first calibration signal with the second calibration signal to produce a second multiplication processing result of the second-order set; multiplying the first calibration signal with the third calibration signal to produce a third multiplication processing result of the second-order set; multiplying the second calibration signal with the first calibration signal to produce a fourth multiplication processing result of the second-order set; multiplying the second calibration signal with the second calibration signal to produce a fifth multiplication processing result of the second-order set; multiplying the second calibration signal with the third calibration signal to produce a sixth multiplication processing result of the second-order set; multiplying the third calibration signal with the first calibration signal to produce a seventh multiplication processing result of the second-order set; multiplying the third calibration signal with the second calibration signal to produce an eighth multiplication processing result of the second-order set; and multiplying the third calibration signal with the third calibration signal to produce a ninth multiplication processing result of the second-order set.

[0112] At block 616, method 600 includes assigning each ordered set of the plurality of ordered sets to a corresponding ordered neuron of a neuron calculator. Figure 1A and 1B As described, the neuron calculator 18 includes a plurality of processing units configured to process signals according to corresponding ordered neurons. Each ordered neuron 30, 32, and 38 may be implemented at a corresponding processing unit 58. Or in some examples, all ordered neurons 30, 32, and 38 may be implemented at a single processing unit 58. When assigning ordered sets to ordered neurons, the neuron calculator or neuron calculators 18 in the neural network 10 determine that the calculated ordered sets are assigned to one or more processing units to the corresponding ordered neurons for further calculating the input signals with connection weights to generate output signals.

[0113] At block 620, method 600 includes generating connection weights for a neuron calculator. The neuron calculator may utilize an algorithm to implement equations 1 to 5 to generate the connection weights. For example, using a gradient descent method, the connection weights may be randomly selected and iterated with a learning rate factor until a convergence point is reached. The connection weights may be determined for a corresponding connection between each corresponding ordered neuron of the neuron calculator and a corresponding output of a plurality of outputs of the neuron calculator. At the output, at least a portion of the plurality of ordered sets may be combined / mixed with at least a portion of the connection weights to generate a compensated calibration signal. In the iteration, the error of the compensated calibration signal based on the sum of the plurality of connection weights and at least a portion of the plurality of ordered sets may be reduced. At block 628, method 600 ends.

[0114] The frames included in the described example method 600 are for illustrative purposes. In some examples, the frames may be performed in different orders. In some other examples, various frames may be eliminated. In other examples, various frames may be divided into additional frames, supplemented with other frames, or combined into fewer frames together. Other variations of these specific frames are contemplated, including changes in the order of the frames, changes in the division or combination of the contents of the frames into other frames, etc.

[0115] Figure 7 An example of a wireless communication system 700 according to aspects of the present disclosure is shown. The wireless communication system 700 includes a base station 710, a mobile device 715, a drone 717, a small cell 730, and vehicles 740, 745. The base station 710 and the small cell 730 can be connected to a network that provides access to the Internet and traditional communication links. The system 700 can facilitate a wide range of wireless communication connections in a 5G wireless system that can include various frequency bands, including but not limited to: sub-6 GHz frequency bands (e.g., 700 MHz communication frequency), mid-range communication frequency bands (e.g., 2.4 GHz), and millimeter wave frequency bands (e.g., 24 GHz).

[0116] Additionally or alternatively, the wireless communication connection may support various modulation schemes, including but not limited to: filter bank multi-carrier (FBMC), generalized frequency division multiplexing (GFDM), universal filtered multi-carrier (UFMC) transmission, dual orthogonal frequency division multiplexing (BFDM), sparse code multiple access (SCMA), non-orthogonal multiple access (NOMA), multi-user shared access (MUSA), and ultra-Nyquist rate (FTN) signaling with time-frequency packing. Such frequency bands and modulation techniques may be part of a standard framework such as Long Term Evolution (LTE) or other technical specifications published by organizations such as 3GPP or IEEE, which may include various specifications for subcarrier frequency ranges, number of subcarriers, sidelink / uplink / downlink transmission speeds, TDD / FDD, and / or other aspects of wireless communication protocols.

[0117] System 700 may depict aspects of a radio access network (RAN), and system 700 may communicate with or include a core network (not shown). The core network may include one or more serving gateways, a mobility management entity, a home subscriber server, and a packet data gateway. The core network may facilitate user and control plane links to mobile devices via the RAN, and it may be an interface to external networks (e.g., the Internet). Base stations 710, communication devices 720, and small cells 730 may be coupled to the core network or to each other via wired or wireless backhaul links (e.g., S1 interfaces, X2 interfaces, etc.), or both.

[0118] The system 700 can provide a communication link to a device or "thing" such as a sensor device such as a solar cell 737 to provide an Internet of Things ("IoT") framework. Things connected within the IoT can operate within a frequency band licensed to and controlled by a cellular network service provider, or such devices or things can do so. Such frequency bands and operations can be referred to as narrowband IoT (NB-IoT) because the frequency bands allocated for IoT operations can be small or narrow relative to the overall system bandwidth. The frequency bands allocated for NB-IoT can have a bandwidth of, for example, 50, 100, or 200 KHz.

[0119] Additionally or alternatively, IoT may include devices or things that operate at frequencies different from traditional cellular technologies to facilitate the use of wireless spectrum. For example, the IoT framework may allow multiple devices in the system 700 to operate at other industrial, scientific and medical (ISM) radio bands below the 6 GHz band or devices that can operate on unlicensed shared spectrum. The 6 GHz band may also be characterized as and may also be characterized as the NB-IoT band. For example, when operating at a low frequency range, a device that provides sensor data for "things" such as solar cells 737 may use less energy, thereby obtaining power efficiency and may use a less complex signaling framework so that the device can be asynchronously transmitted on the 6 GHz band. The 6 GHz band may support a wide variety of use cases, including communication of sensor data from various sensor devices. Examples of sensor devices include sensors for detecting energy, heat, light, vibration, biosignals (e.g., pulse, EEG, EKG, heart rate, respiratory rate, blood pressure), distance, speed, acceleration, or a combination thereof. Sensor devices may be deployed in buildings, on individuals, and / or other locations in the environment. The sensor devices may communicate with each other and with a computing system that may aggregate and / or analyze data provided from one or more sensor devices in the environment. Such data may be used to indicate characteristics of the environment of the sensor.

[0120] In this 5G framework, the device may perform functionality performed by base stations in other mobile networks (e.g., UMTS or LTE), such as forming connections between nodes or managing mobility operations (e.g., handoff or reselection). For example, the mobile device 715 may utilize the mobile device 715 to receive sensor data, such as blood pressure data, from a user and may transmit the sensor data to the base station 710 on the narrowband IoT band. In this example, some parameters for the determination of the mobile device 715 may include the availability of licensed spectrum, the availability of unlicensed spectrum, and / or the time-sensitive nature of the sensor data. Continuing in the example, the mobile device 715 may transmit the blood pressure data because the narrowband IoT band is available and may transmit the sensor data quickly, thereby identifying a time-sensitive component to the blood pressure (e.g., where the blood pressure measurement is dangerously high or low, such as where the systolic blood pressure is three standard deviations away from the norm).

[0121] Additionally or alternatively, the mobile device 715 may form a device-to-device (D2D) connection with other mobile devices or other elements of the system 700. For example, the mobile device 715 may form an RFID, WiFi, MultiFire, Bluetooth, or ZigBee connection with other devices including the communication device 720 or the vehicle 745. In some examples, a licensed spectrum band may be used for D2D connections, and such connections may be managed by a cellular network or service provider. Therefore, although the above examples are described in the context of narrowband IoT, it can be understood that the mobile device 715 may utilize other device-to-device connections to provide information (e.g., sensor data) collected on a frequency band different from the frequency band determined by the mobile device 715 for transmission of the information.

[0122] In addition, some communication devices may facilitate ad hoc networks, for example, networks formed with communication devices 720 attached to stationary objects) and vehicles 740, 745, without necessarily forming a traditional connection to base stations 710 and / or core networks. Other stationary objects may be used to support communication devices 720, such as, but not limited to, trees, plants, poles, buildings, airships, dirigibles, balloons, street signs, mailboxes, or combinations thereof. In this system 700, communication devices 720 and small cells 730 (e.g., small cells, femtocells, WLAN access points, cellular hotspots, etc.) may be mounted on or attached to another structure, such as lamp posts and buildings, to facilitate the formation of ad hoc networks and other IoT-based networks. Such networks may operate at frequency bands different from prior art, such as mobile devices 715 communicating with base stations 710 on cellular communication frequency bands.

[0123] The communication device 720 may form a wireless network that operates in a hierarchical or ad hoc manner, depending in part on a connection to another element of the system 700. For example, the communication device 720 may utilize a 700 MHz communication frequency in an unlicensed spectrum to form a connection with the mobile device 715 while utilizing a licensed spectrum communication frequency to form another connection with the vehicle 745. The communication device 720 may communicate with the vehicle 745 on the 5.9 GHz band of dedicated short range communications (DSRC) on the licensed spectrum to provide direct access to time-sensitive data, for example, data for the autonomous driving capabilities of the vehicle 745.

[0124] Vehicles 740 and 745 may form an ad hoc network at a frequency band different from the connection between the communication device 720 and vehicle 745. For example, for a high bandwidth connection that provides time-sensitive data between vehicles 740, 745, the 24 GHz millimeter wave band may be used for data transmission between vehicles 740, 745. For example, while vehicles 740, 745 are crossing a narrow intersection with each other, vehicles 740, 745 may share real-time direction and navigation data with each other over the connection. Each vehicle 740, 745 may track the intersection and provide image data to an image processing algorithm to facilitate autonomous navigation of each vehicle while each is traveling along the intersection. In some instances, this real-time data may also be shared substantially simultaneously over a dedicated licensed spectrum connection between the communication device 720 and vehicle 745, such as for processing image data received at vehicle 745 and vehicle 740, such as image data transmitted by vehicle 740 to vehicle 745 over the 24 GHz millimeter wave band. Although Figure 7 An automobile is shown in FIG. 1 , but other vehicles may be used, including but not limited to an aircraft, a spacecraft, a hot air balloon, an airship, a dirigible, a train, a submarine, a ship, a ferry, a cruise ship, a helicopter, a motorcycle, a bicycle, a drone, or a combination thereof.

[0125] Although described in the context of the 24 GHz millimeter wave band, it can be appreciated that connections can be formed in the system 700 in other millimeter wave bands or other frequency bands that can be licensed or unlicensed bands, such as 28 GHz, 37 GHz, 38 GHz, 39 GHz. In some cases, the vehicles 740, 745 can share the frequency bands in which they communicate with other vehicles in different networks. For example, a convoy can pass by the vehicle 740 and temporarily share the 24 GHz millimeter wave band to form a connection between the convoys in addition to the 24 GHz millimeter wave connection between the vehicles 740, 745. As another example, the communication device 720 can substantially simultaneously maintain a 700 MHz connection with a mobile device 715 operated by a user (e.g., a pedestrian walking along a street) to provide information about the user's location to the vehicle 745 on the 5.9 GHz band. In providing such information, the communication device 720 may utilize antenna diversity schemes as part of a massive MIMO framework to facilitate time-sensitive separate connections with both the mobile device 715 and the vehicle 745. A massive MIMO framework may involve transmitting and / or receiving devices having a large number of antennas (e.g., 12, 20, 64, 128, etc.), which may facilitate precise beamforming or spatial diversity that is unattainable with devices operating with fewer antennas according to traditional protocols (e.g., WiFi or LTE).

[0126] Base station 710 and small cell 730 may wirelessly communicate with devices in system 700 or other communication-capable devices in system 700 that have at least a sensor wireless network, such as solar cell 737 that may operate on an active / sleep cycle, and / or one or more other sensor devices. Base station 710 may provide wireless communication coverage for devices that enter its coverage area, such as mobile devices 715 and drones 717. Small cell 730 may provide wireless communication coverage for devices that enter its coverage area, such as vehicles 745 and drones 717, for example, near a building where small cell 730 is installed.

[0127] In general, small cells 730 may be referred to as small cells and provide coverage for a local geographic area, for example, 200 meters or less in some instances. This can be contrasted with macro cells, which can provide coverage over a wide or large area of ​​about several square miles or kilometers. In some instances, small cells 730 may be deployed (e.g., mounted on a building) within some coverage areas of base stations 710 (e.g., macro cells), where wireless communication traffic may be dense based on traffic analysis of the coverage areas. For example, small cells 730 may be deployed (e.g., mounted on a building) within some coverage areas of base stations 710 (e.g., macro cells). Figure 7The base stations 710 may be deployed on buildings in a coverage area of ​​the base station 710, provided that the base station 710 generally receives and / or transmits a higher volume of wireless communication transmissions than other coverage areas of the base station 710. The base station 710 may be deployed in a geographic area to provide wireless coverage for portions of the geographic area. As wireless communication traffic becomes more intensive, additional base stations 710 may be deployed in certain areas, which may change the coverage area of ​​existing base stations 710, or other supporting stations, such as small cells 730, may be deployed. The small cell 730 may be a femtocell, which may provide coverage for an area smaller than a small cell, for example, 100 meters or less (e.g., one floor of a building) in some instances.

[0128] Although base station 710 and small cell 730 can provide communication coverage for a portion of the geographic area surrounding their respective areas, both can change aspects of their coverage to facilitate faster wireless connections for certain devices. For example, small cell 730 can provide coverage primarily for devices around or in a building where small cell 730 is installed. However, small cell 730 can also detect devices that have entered the coverage area and adjust its coverage area to facilitate faster connections to such devices.

[0129] For example, the small cell 730 may support a massive MIMO connection with a drone 717, which may also be referred to as an unmanned aerial vehicle (UAV), and when a mobile device 715 enters its coverage area, the small cell 730 adjusts some antennas to point directionally in the direction of the device 715 instead of the drone 717 to facilitate a massive MIMO connection with the vehicle in addition to the drone 717. When some antennas are adjusted, the small cell 730 may not support a connection to the drone 717 as fast as before the adjustment. However, the drone 717 may also request a connection with another device (e.g., the base station 710) in its coverage area, which may facilitate a similar connection as described with reference to the small cell 730, or a different (e.g., faster, more reliable) connection with the base station 710. Thus, the small cell 730 may enhance existing communication links to provide additional connections to devices that may utilize or require such links. For example, small cell 730 may include a massive MIMO system that directionally enhances the link to vehicle 745, where the antenna of the small cell is pointed toward vehicle 745 during certain time periods, rather than facilitating other connections (e.g., connection of small cell 730 to base station 710, drone 717, or solar cell 737). In some examples, drone 717 may act as a mobile or aerial base station.

[0130] The wireless communication system 700 may include devices such as a base station 710, a communication device 720, and a small cell 730 that may support a number of connections to the devices in the system 700. Such devices may operate in a hierarchical mode or an ad hoc mode with other devices in the network of the system 700. Although described in the context of a base station 710, a communication device 720, and a small cell 730, it may be appreciated that other devices may be included in the system 700 that may support a number of connections to the devices in the network, including but not limited to: macro cells, femto cells, routers, satellites, and RFID detectors.

[0131] In various examples, elements of the wireless communication system 700, such as the drone 717, may be implemented using the systems, apparatuses, and methods described herein. For example, the drone 717 implemented as the electronic device 110 may receive wireless communication signals from the base station 710. The drone 717 may also implement the neuron calculator 18 to calculate output signals for one or more processing stages of the wireless receiver path when demodulating and decoding the received wireless communication signals. For example, the drone 717 may implement the neuron calculator 18 for channel estimation to determine the error introduced by the wireless channel between the base station 710 and the drone 717. When calculating the output signals for channel estimation as part of the neuron calculator 18, the drone 717 may utilize less power and less memory because the ordered set of neuron calculators 18 is calculated based on the wireless communication signals received from the base station 710. Therefore, the drone 717 may utilize less die space on a silicon chip than conventional signal processing systems and techniques that may include additional hardware or specially designed hardware, thereby allowing the drone 717 to be smaller in size compared to drones with such conventional signal processing systems and techniques.

[0132] Additionally or alternatively, while described in the context of drone 717 in the above examples, elements of communication system 700 may be implemented as part of any of the examples described herein, e.g. Figure 2 The electronic devices 102, 110, Figure 5 The electronic device 110 may include any system or combination of systems depicted in the figures described herein.

[0133] Figure 8An example of a wireless communication system 800 according to aspects of the present disclosure is shown. The wireless communication system 800 includes a mobile device 815, a drone 817, a communication device 820, and a small cell 830. The building 810 also includes devices of the wireless communication system 800, which can be configured to communicate with other elements in the building 810 or the small cell 830. The building 810 includes networked workstations 840, 845, a virtual reality device 850, IoT devices 855, 860, and a networked entertainment device 865. In the depicted wireless communication system 800, the IoT devices 855, 860 can be washing machines and dryers for residential use, respectively, controlled by the virtual reality device 850. Thus, while the user of the virtual reality device 850 can be in different rooms of the building 810, the user can control the operation of the IoT device 855, such as configuring the washing machine settings. The virtual reality device 850 can also control the networked entertainment device 865. For example, the virtual reality device 850 can broadcast a virtual game that the user of the virtual reality device 850 is playing to the display of the networked entertainment device 865.

[0134] Any of the devices of the small cell 830 or the building 810 may be connected to a network that provides access to the Internet and traditional communication links. Similar to the system 700, the wireless communication system 800 may facilitate a wide range of wireless communication connections in a 5G system that may include various frequency bands, including but not limited to: sub-6 GHz frequency bands (e.g., 700 MHz communication frequency), mid-range communication frequency bands (e.g., 2.4 GHz), and millimeter wave frequency bands (e.g., 24 GHz). Additionally or alternatively, the wireless communication connection may support various modulation schemes as described above with reference to the system 700. The wireless communication system 800 is operable and configured to communicate similarly to the system 700. Therefore, the wireless communication system 800 and similarly numbered elements of the system 700 may be configured in a similar manner, such as the communication device 720 with the communication device 820, the small cell 730 with the small cell 830, and the like.

[0135] Similar to system 700, in which the elements of system 700 are configured to form independent hierarchical or ad hoc networks, the communication device 820 can form a hierarchical network with the small cell 830 and the mobile device 815, while additional ad hoc networks can be formed within the small cell 830 network of some of the devices including the drone 817 and the building 810, such as networked workstations 840, 845 and IoT devices 855, 860.

[0136] Devices in the wireless communication system 800 may also form (D2D) connections with other mobile devices or other elements of the wireless communication system 800. For example, the virtual reality device 850 may form narrowband IoT connections with other devices including the IoT device 855 and the networked entertainment device 865. As described above, in some examples, D2D connections may be made using licensed spectrum bands, and such connections may be managed by the cellular network or service provider. Thus, while the above examples are described in the context of narrowband IoT, it may be appreciated that the virtual reality device 850 may utilize other device-to-device connections.

[0137] In various examples, elements of the wireless communication system 800, such as the mobile device 815, the drone 817, the communication device 820, the small cell 830, the networked workstations 840, 845, the virtual reality device 850, the IoT devices 855, 860, and the networked entertainment device 865, may be implemented as part of any of the examples described herein, e.g. Figure 2 The electronic devices 102, 110, Figure 5 The electronic device 110 may include any system or combination of systems depicted in the figures described herein.

[0138] Fig. 9 is a block diagram of an electronic device 900 arranged according to the examples described herein. The electronic device 900 may operate according to any of the examples described herein, for example Figure 2 The electronic devices 102, 110, Figure 5 900 can be implemented in a smart phone, a wearable electronic device, a server, a computer, an appliance, a vehicle, or any type of electronic device. The electronic device 900 includes a computing system 902, a neuron calculator 940, an I / O interface 970, and a network interface 990 coupled to a network 995. The computing system 902 includes a wireless transceiver 910. The wireless transceiver can include a wireless transmitter and / or a wireless receiver, such as a wireless transmitter 300 and a wireless receiver 400. The neuron calculator 940 can include any type of microprocessor, a central processing unit (CPU), an application specific integrated circuit (ASIC), a digital signal processor (DSP) implemented as part of a field programmable gate array (FPGA), a system on a chip (SoC), or other hardware that provides processing for the device 900.

[0139] The computing system 902 includes a memory 950 (e.g., a memory lookup unit), which may be a non-transitory hardware-readable medium containing instructions for computing neurons or for retrieving, computing, or storing data signals to be compensated or adjusted based on the computed neurons, respectively. The neuron calculator 940 may control the computing system 902 with control instructions indicating when to execute such stored instructions for computing neurons or for retrieving or storing data signals to be compensated or adjusted based on the computed neurons. Upon receiving such control instructions, the wireless transceiver 910 may execute such instructions immediately. For example, such instructions may include a program to perform the method 600. Communication between the neuron calculator 940, the I / O interface 970, and the network interface 990 is provided via an internal bus 980. The neuron calculator 940 may receive control instructions from the I / O interface 970 or the network interface 990, such as instructions to calculate an ordered set or connection weights for an ordered neuron.

[0140] The bus 980 may include one or more physical buses, communication lines / interfaces, and / or point-to-point connections, such as a peripheral component interconnect (PCI) bus, a Gen-Z switch, a CCIX interface, or the like. The I / O interface 970 may include various user interfaces, including video and / or audio interfaces for a user, such as a flat panel display with a microphone. The network interface 990 communicates with other electronic devices, such as the electronic device 900 or a cloud electronic server, over a network 995. For example, the network interface 990 may be a USB interface.

[0141] Certain details are set forth above to provide a full understanding of the described examples. However, it will be understood by those skilled in the art that the examples may be practiced without these specific details. This article describes example configurations in conjunction with the description of the accompanying drawings, and does not represent all examples that may be implemented or within the scope of the claims. The terms "exemplary" and "example" as used herein refer to "serving as an example, instance or illustration" and are not "preferred" or "more advantageous than other examples". For the purpose of providing an understanding of the described techniques, the specific embodiments include specific details. However, these techniques may be practiced without these specific details. In some cases, well-known structures and devices are shown in the form of block diagrams in order to avoid confusing the concepts of the described examples.

[0142] The information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltage, current, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0143] The techniques described herein may be used in various wireless communication systems, which may include multiple access cellular communication systems, and which may employ code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), or single carrier frequency division multiple access (SC-FDMA), or any combination of such techniques. Some of these techniques have been used in or are related to standardized wireless communication protocols of organizations such as the 3rd Generation Partnership Project (3GPP), the 3rd Generation Partnership Project 2 (3GPP2), and the IEEE. These wireless standards include Ultra Mobile Broadband (UMB), Universal Mobile Telecommunications System (UMTS), Long Term Evolution (LTE), LTE-Advanced (LTE-A), LTE-A Pro, New Radio (NR), IEEE802.11 (WiFi), and IEEE 802.16 (WiMAX), among others.

[0144] The term "5G" or "5G communication system" may refer to a system operating according to standardized protocols developed or discussed after, for example, LTE Release 13 or 14 or WiMAX 802.16e-2005 by their respective sponsoring organizations. The features described herein may be employed in systems configured according to other generations of wireless communication systems, including those configured according to the standards described above.

[0145] The various illustrative blocks and modules described in conjunction with the present disclosure may be implemented or performed using a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).

[0146] The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include both non-transitory computer storage media and communication media including any medium that facilitates the transfer of computer programs from one place to another. Non-transitory storage media may be any available medium that can be accessed by a general or special-purpose computer. By way of example and not limitation, non-transitory computer-readable media may include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), or optical disk storage, magnetic disk storage, or other magnetic storage, or any other non-transitory medium that can be used to carry or store desired program code devices in the form of instructions or data structures and can be accessed by a general or special-purpose computer or a general or special-purpose processor.

[0147] Also, any connection is properly referred to as a computer-readable medium. For example, if the software is transmitted from a website, server or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio and microwaves, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio and microwaves are included in the definition of medium. Combinations of the above are also included within the scope of computer-readable media.

[0148] Other examples and implementations are within the scope of the present disclosure and the appended claims. For example, due to the nature of software, the functions described above may be implemented using software executed by a processor, hardware, firmware, hardwiring, or a combination of any of these. Features that implement the functions may also be physically located at various locations, including being distributed so that parts of the functions are implemented at different physical locations.

[0149] Certain details are set forth below to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the embodiments of the present disclosure may be practiced without these specific details. In some instances, well-known wireless communication components, circuits, control signals, timing protocols, computing system components, telecommunication components, and software operations are not shown in detail to avoid unnecessarily obscuring the described embodiments of the present disclosure.

[0150] Furthermore, as used herein (including in the claims), "or" as used in a list of items (e.g., a list of items preceded by a phrase such as "at least one of" or "one or more of") indicates an inclusive list, such that a list such as at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C). Additionally, as used herein, the phrase "based on" should not be construed as referring to a closed set of conditions. For example, an exemplary step described as "based on condition A" may be based on both condition A and condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase "based on" should be interpreted similarly to the phrase "based at least in part on."

[0151] It will be appreciated from the foregoing that, although specific examples have been described herein for illustrative purposes, various modifications may be made while still maintaining the scope of the desired technology. The description herein is provided to enable those skilled in the art to make or use the present disclosure. It will be readily apparent to those skilled in the art that various modifications to the present disclosure are present, and the general principles defined herein may be applied to other variants without departing from the scope of the present disclosure. Therefore, the present disclosure is not limited to the examples and designs described herein, but is given the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method comprising: receiving a plurality of calibration signals; generating a second order set of the plurality of ordered sets based at least in part on multiplying each calibration signal of the plurality by another calibration signal of the plurality of calibration signals; as well as assigning the second-order set to second-order neurons of a neuron calculator; and The signal is processed at the neuron calculator using the second order neuron.

2. The method of claim 1 , wherein generating the second-order set comprises: multiplying a first calibration signal of the plurality by the first calibration signal to produce a first multiplication result of the second order set; multiplying the first calibration signal by the other calibration signal of the plurality to produce a second multiplication result of the second order set; multiplying the other calibration signal with the first calibration signal to produce a third multiplication result of the second order set; as well as The further calibration signal is multiplied by the further calibration signal to produce a fourth multiplication result of the second order set.

3. The method according to claim 1, further comprising: A plurality of connection weights for corresponding connections between each of the first-order neurons of the neuron calculator and the second-order neurons and a respective one of a plurality of outputs of the neuron calculator are generated. 4 . The method of claim 3 , wherein the first-order neuron comprises each calibration signal of the plurality of calibration signals as the first-order set.

5. The method according to claim 4, further comprising: The first order set and the second order set are combined with at least a portion of the connection weights at each output of the neuron calculator to produce a compensated calibration signal.

6. The method of claim 4, wherein generating the plurality of connection weights for the corresponding connections comprises: randomly selecting the plurality of connection weights; An error of a compensated calibration signal is reduced based on a summation of the plurality of connection weights with the first order set and the second order set.

7. The method according to claim 4, further comprising providing a first radio frequency (RF) signal associated with a first frequency and a second RF signal associated with a second frequency to the neuron computer, wherein the first RF signal is received at a first antenna among a plurality of antennas and the second RF signal is received at a second antenna among the plurality of antennas; The first and second RF signals are mixed according to the first-order set or the second-order set and the plurality of connection weights to generate a plurality of output signals having reduced errors with respect to the first and second RF signals. The method according to claim 7 , wherein the number of the plurality of antennas corresponds to the number of antennas of a MIMO antenna array.

9. The method of claim 7, wherein a first antenna of the plurality of antennas is configured to receive at a radio frequency associated with a 5G wireless protocol.

10. A method comprising: generating a k-th order set of a plurality of ordered sets based at least in part on multiplying each calibration signal of a plurality of calibration signals by at least one other calibration signal of the plurality of calibration signals, wherein k represents a number of the plurality of calibration signals to be selected; Assigning the k-th order set to the k-th order neuron of the neural network; as well as The signal is processed at the neural network using the k-th order neuron.

11. The method of claim 10, wherein the k-th order set comprises product values ​​based on a combination of at least one calibration signal and another calibration signal multiplied by itself k-1 times.

12. The method of claim 10, wherein generating the k-th order set of a plurality of ordered sets comprises selecting a set of k combinations containing repetitions from the plurality of calibration signals.

13. The method of claim 10, wherein processing a signal at the neural network with the k-th order neuron comprises: obtaining a plurality of radio frequency (RF) signals from corresponding antennas of a plurality of antennas; as well as The k-th order set and connection weights are mixed with the signal at the k-th order neuron to generate an output signal.

14. The method of claim 10, wherein assigning the k-th order set to a k-th order neuron of a neural network comprises determining, at the k-th order neuron, that the k-th order set is assigned to one or more processing units.

15. The method of claim 10, wherein at least one of the one or more processing units comprises a plurality of multiplication / accumulation processing units configured to multiply and accumulate signals with a plurality of memory lookup units configured to store the k-th order set.

16. An apparatus comprising: A first receiver configured to process a first radio frequency (RF) signal; a second receiver configured to process a second RF signal; as well as A processing unit coupled to the first receiver and the second receiver and configured to receive a first input signal based on the first RF signal and a second input signal based on the second RF signal, the processing unit being configured to calculate a plurality of ordered sets and a plurality of connection weights to generate a plurality of output signals.

17. The apparatus of claim 16, wherein the processing unit is configured to perform channel estimation of the first input signal and the second input signal and provide the plurality of output signals as compensated symbols.

18. The apparatus of claim 16, wherein the processing unit comprises a plurality of multiplication / accumulation processing units and a plurality of memory lookup units.

19. The apparatus of claim 18, wherein the processing unit further comprises a non-transitory computer-readable medium encoded with executable instructions that, when executed by the at least one processing unit, are configured to cause the apparatus to perform operations comprising: At at least a portion of the plurality of multiplication / accumulation processing units, the first input signal and the second input signal are calculated using the plurality of ordered sets to generate a plurality of output signals.

20. The apparatus of claim 19, wherein the operations further comprise: The plurality of ordered sets are obtained from at least a portion of the plurality of memory lookup units.

21. An apparatus comprising: a plurality of transmitting devices coupled to the sensor, the plurality of transmitting devices configured to transmit sensor data according to a wireless communication protocol; as well as A receiver configured to receive narrowband Internet of Things (IoT) transmissions from the plurality of transmitting devices, and the receiver is coupled to a neuron processor, the neuron processor comprising a plurality of multiplication / accumulation MAC units, and wherein the neuron processor is configured to process the narrowband IoT transmissions using the plurality of MAC units based on a combination of an ordered set and the narrowband IoT transmissions to produce output data.

22. The apparatus of claim 21, wherein the receiver is configured to receive the narrowband IoT transmission over a narrowband IoT frequency band at one or more antennas coupled to the receiver.

23. The apparatus of claim 22, wherein the narrowband IoT frequency band corresponds to a sub-6 GHz frequency band.

24. The apparatus of claim 21, wherein the transmitting means is configured to operate in a sub-6 GHz frequency band or on a shared spectrum of unlicensed wireless spectrum usage.

25. The apparatus of claim 21, wherein the neuron processor further comprises a non-transitory computer-readable medium encoded with executable instructions that, when executed by the neuron processor, are configured to cause the apparatus to process the narrowband IoT transmission using the plurality of MAC units, wherein the processing comprises: At at least a portion of the plurality of MAC units, combining the narrowband IoT transmission with the ordered set to generate a plurality of intermediate signals; as well as At at least another part of the plurality of MAC units, the plurality of intermediate signals are combined with the ordered combination to generate the output data as a plurality of output signals.

26. The apparatus of claim 25, wherein the neuron processor further comprises a plurality of memory lookup units, and wherein the processing further comprises: The ordered set is received from at least a portion of the plurality of memory lookup units.

27. The apparatus of claim 21, wherein the transmitting device comprises one or more of an IoT device, a virtual reality device, a mobile device, a drone, a communication device, or a vehicle device.

28. The apparatus of claim 21, wherein the wireless communication protocol comprises use of an inter-device (D2D) connection between the receiver and each respective one of the plurality of transmitting devices.

29. The apparatus of claim 28, wherein the D2D connection is implemented by using at least one of an RFID connection, a WiFi connection, a MultiFire connection, a Bluetooth connection, or a ZigBee connection.

30. An apparatus comprising: A processor coupled to a first receiver and a second receiver, the first receiver configured to process a first radio frequency (RF) signal from a first vehicle, the second receiver configured to process a second RF signal from a second vehicle, the processor further configured to receive a first input signal based on the first RF signal and a second input signal based on the second RF signal, the processor configured to calculate a plurality of ordered sets and a plurality of connection weights to generate a plurality of output signals, wherein the processor comprises: multiple multiply / accumulate processing units; and A non-transitory computer-readable medium encoded with executable instructions that, when executed by the processor, are configured to cause the apparatus to perform operations comprising: At at least a portion of the plurality of multiply / accumulate MAC units, a first input signal and a second input signal of the plurality of signals are combined with a second-order set of the plurality of first-order sets to generate the plurality of output signals.

31. The apparatus of claim 30, wherein the first input signal comprises data indicative of direction and navigation data of the first vehicle.

32. The apparatus of claim 30, wherein the plurality of output signals include data for facilitating autonomous navigation of the first vehicle and the second vehicle while each is traveling along an intersecting line.

33. The apparatus of claim 30, wherein frequency bands of the first RF signal and the second RF signal correspond to at least one of 1 MHz, 5 MHz, 10 MHz, 20 MHz, 700 MHz, 2.4 GHz, or 24 GHz.

34. The apparatus of claim 30, wherein combining the first input signal and the second input signal of the plurality of signals with the plurality of ordered sets to generate the plurality of output signals comprises: At the at least a portion of the plurality of MAC units of the second-order neuron, combining the first signal and the second signal of the plurality of signals with the second-order set to generate a plurality of intermediate signals; as well as At at least another portion of the plurality of MAC units of the second-order neuron, the plurality of intermediate signals are combined with the second-order set to generate a plurality of output signals.

35. The apparatus of claim 34, wherein the operations further comprise: receiving a plurality of calibration signals; generating the second-order set of the plurality of first-order sets based at least in part on multiplying each calibration signal of the plurality of calibration signals by another calibration signal of the plurality of calibration signals; as well as The second order set is distributed to the second order neurons of a neuron calculator implemented by the processor.

36. The apparatus of claim 30, wherein the processor is implemented as part of at least one of a base station, a small cell, a mobile device, a drone, a communication device, or a device configured to operate on a narrowband Internet of Things (IoT) band.

37. A method comprising: Calculating a plurality of signals at a neural network using a k-th order neuron, wherein k represents the number of a plurality of calibration signals selected to generate the k-th order neuron, wherein calculating the plurality of signals at the neural network using the k-th order neuron comprises: combining a plurality of signals with a k-th order set at at least a portion of a plurality of multiplication / accumulation MAC units of the k-th order neuron to generate a plurality of intermediate signals; and At at least another portion of the plurality of MAC units of the k-th order neuron, the plurality of intermediate signals are combined with the k-th order set to generate a plurality of output signals.

38. The method of claim 37, further comprising: receiving a plurality of radio frequency (RF) signals at respective ones of the plurality of antennas, the plurality of RF signals being from respective ones of the plurality of vehicles; as well as The plurality of RF signals are provided to the k-th order neurons as the plurality of signals.

39. The method of claim 37, wherein the k-th order set comprises product values ​​based on a combination of at least one calibration signal of the plurality of calibration signals and another calibration signal of the plurality of calibration signals multiplied by itself k-1 times.

40. The method of claim 39, further comprising: selecting a set of k combinations comprising repetitions from the plurality of calibration signals; as well as Based on the selection, the k-th order set of a plurality of ordered sets is generated based at least in part on multiplying each calibration signal of a plurality of calibration signals with at least another calibration signal of the plurality of calibration signals.