Matrix computing has become increasingly important for artificial intelligence and deep learning applications. Traditional matrix computing architectures utilize multiply-accumulate (MAC) operations as the primary computational method for AI processing. While MAC operations serve general AI applications, specialized matrix computing architectures have emerged to handle the intensive matrix calculations required by deep learning neural networks.
Recent developments in matrix computing hardware have explored various implementation approaches. For example, tensor processing units (TPUs) have been developed specifically for matrix-based processing, and utilize integer-based computations to improve power efficiency. Additionally, photonic implementations have investigated the use of optical components for matrix operations, though these face challenges with CMOS process compatibility and thermal management, including susceptibility to thermal crosstalk. Thus, conventional techniques and architectures for performing matrix computations have been inadequate.
The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate the aspects of the present disclosure and, together with the description, and further serve to explain the principles of the aspects and to enable a person skilled in the pertinent art to make and use the aspects.
The exemplary aspects of the present disclosure will be described with reference to the accompanying drawings. The drawing in which an element first appears is typically indicated by the leftmost digit(s) in the corresponding reference number.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the aspects of the present disclosure. However, it will be apparent to those skilled in the art that the aspects, including structures, systems, and methods, may be practiced without these specific details. The description and representation herein are the common means used by those experienced or skilled in the art to most effectively convey the substance of their work to others skilled in the art. In other instances, well-known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the disclosure.
This disclosure generally relates to a matrix computing architecture and, in particular, to a complementary metal oxide semiconductor (CMOS)-compatible millimeter wave matrix computing network that can be configured as a feedforward neural network for performing matrix computations, such as ultra-high-speed matrix computations.
As noted above, various computing architectures, such as photonic computing, are being increasingly implemented for AI hardware development due to its low latency and high throughput features. However, photonic computing presents several challenges. First, photonic devices are not fully compatible with CMOS fabrication processes, and thus their fabrication cost is significantly higher. Second, photonic computing devices require significant overhead to perform optical-to-electrical signal conversion.
Thus, photonic computing devices may suffer from thermal control issues, as noted above. The matrix computing architecture as discussed in further detail in this disclosure addresses such issues, and may be implemented as a feed forward neural network (FNN) mm-wave network solution that provides similar latency and throughput compared to photonic computing architectures, but at a much lower cost and without the thermal issues. Additionally, because of its compatibility with CMOS technology, the matrix computing architecture as discussed herein may achieve higher computation efficiency.
To this end, it is noted that mm-wave technology represents another approach for implementing matrix computations. As used herein, the term “mm-wave” with respect to particular frequencies or frequency bands may comprise any suitable frequency or range of frequencies that are generally at least 20 GHz. For instance, mm-wave frequencies may comprise frequencies of at least 20 GHz, frequencies of at least 30 GHz, frequencies of at least 60 GHz, frequencies between 50-70 GHz, frequencies between 110-170 GHz (D band), or any suitable higher frequencies and/or frequency ranges that may be identified as or otherwise understood to be within a set of the electromagnetic spectrum associated with mm-wave frequencies.
Additionally, mm-wave frequencies and frequency bands may include those above 20 GHZ, 24 GHz, 28 GHz, etc., up to an upper frequency. For instance, mm wave frequency bands may include frequencies ranging from 20 GHz to 300 GHz, from 24 GHz to 300 GHz, etc. This may include, for instance, the various bands known to be associated with or otherwise referred to as mm-Wave frequency bands such as 24 GHz, 28 GHZ, 37 GHz, 39 GHz, 40 GHz, 47 GHZ, 60 GHz, etc. Moreover, these bands are provided as non-limiting and illustrative, and the matrix computing architecture as described herein may encompass any suitable range of frequencies outside of the mm wave frequency bands. The aforementioned mm-wave frequency bands may include additional, fewer, or alternate frequency bands than the examples described.
In any event, by operating within these mm-wave frequency ranges, the matrix computing architecture as discussed in further detail herein may advantageously leverage standard CMOS manufacturing processes while enabling high-bandwidth operation. As is discussed in further detail below, the matrix computing architecture, which may alternatively be referred to herein as an FNN architecture, may implement components that may be realized via CMOS fabrication processes, such as hybrid couplers, phase shifters, and other passive components that may be implemented using either distributed or lumped element approaches. The fundamental operation of the FNN architecture relies on the interaction of electromagnetic waves through passive networks to perform mathematical operations. By properly controlling the various relationships between signals (such as amplitude and phase), matrix operations may be implemented directly in the millimeter wave domain without requiring conversion to a different frequency band or to the digital domain.
The FNN architecture as discussed herein may include CMOS-compatible hybrid couplers and phase shifters to be arranged in matrix computing meshes, thus enabling high-speed matrix operations with low power consumption. The FNN architecture may therefore be implemented using lumped element components by leveraging CMOS fabrication technology to achieve a compact size while maintaining high bandwidth operation in the millimeter wave frequency range. In this way, the disclosed FNN architecture enables direct matrix operations in the millimeter wave domain while maintaining CMOS process compatibility and high bandwidth operation.
The FNN architecture may be implemented for deep learning applications. In accordance with such applications, a training system may be implemented that utilizes pulse-modulated RF carrier signals operating at millimeter wave frequencies to drive multi-layer matrix computing networks formed by matrix computing meshes. These meshes may achieve matrix computing speeds exceeding 0.75 TOP/see at a power consumption of 5-5.7 fJ per FLOP. The FNN architecture may thus offer significant advantages over photonic computing solutions including lower cost, a simplified design without the need for optical-electrical conversion requirements, better reconfigurability and scalability through mature assembly technology, and improved power efficiency. The FNN architecture may be configured in various arrangements, such as 4×5, 8×6, 8×8 networks, etc., with the ability to control their weights through phase shifter programming.
The matrix computing network architecture 100 as shown in
As one non-limiting and illustrative scenario, some components of the input circuitry 102 used to generate and/or control the use of the training signals may be part of a device that is separate from the other components of the matrix computing network architecture 100. However, it may be particularly useful to incorporate all components of the matrix computing network architecture 100 as part of a common device so the training process may continue to be performed by the relevant device in which the matrix computing network architecture 100 is implemented after its initial deployment, as further discussed herein. In any event, and as further discussed herein, any of the components of the matrix computing network architecture 100 may be implemented as part of a CMOS integrated circuit (IC) or other architecture that may be formed via any suitable CMOS compatible fabrication processes, which allows for reduced cost and complexity compared to photonic computing systems, as noted above. CMOS fabrication may include any suitable process that implements any suitable number and/or type of processes understood to be part of known CMOS manufacturing processes, and as such may implement one or more substrates, layers, oxidation, coatings, masking, etching, deposition, etc.
The controller 150 may comprise any suitable type of processing circuitry and may include a memory 152. The controller 150 may be configured as any suitable number and/or type of computer processors, and which may function to control the function and operation of any of the components of the matrix computing network architecture 100 as discussed herein. The controller 150 may be identified with one or more processors (or suitable portions thereof) implemented by a suitable computing device of which the matrix computing network architecture 100 is implemented. The controller 150 may be identified with one or more processors such as a host processor, a microcontroller, a digital signal processor, one or more microprocessors, a central processing unit (CPU), graphics processors such as a graphics processing unit (GPU), baseband processors, microcontrollers, an application-specific integrated circuit (ASIC), part (or the entirety of) a field-programmable gate array (FPGA), part of (or the entirety of) a system on a chip (SoC), etc.
The controller 150 may be configured to carry out instructions to perform arithmetical, logical, and/or input/output (I/O) operations, and/or to control the operation of one or more components of matrix computing network architecture 100 to perform any of the various functions as described herein. The controller 150 may include one or more microprocessor cores, memory registers, buffers, clocks, etc., and may generate electronic control signals (such as digital control signals) to control and/or modify the operation of any components of the matrix computing network architecture 100.
The memory 152 may comprise any suitable type of memory that may form part of the controller 150 and/or the matrix computing network architecture 100. The memory may store computer-readable instructions that, when executed by the controller 105, enable the controller to control the various aspects of the matrix computing network architecture 100 as discussed herein. Additionally or alternatively, the memory 152 may store training data the controller 150 may reference for the control of any components of the matrix computing network architecture 100, and thus the memory 152 may be of any suitable size and store data in any suitable data structure for these purposes.
The input circuitry 102 may be configured to receive any suitable number of “initial” input signals, which are then provided to the interconnected computing matrices 104 as the input signals X1-XN, as shown in
The input circuitry 102 may include any suitable number of individually controllable input control blocks 108.1-108.N, with each input control block 108 being coupled to a respective input of the interconnected computing matrices 104. For instance, each input control block may include any suitable configuration of signal switching components to enable each “initial” input signal to be provided to a respective input of the interconnected computing matrices 104 as the input signals X1-XN. Thus, these “initial” input signals may comprise what is referred to herein as passband signals, training signals, or no signal (such as by coupling a particular of the interconnected computing matrices 104 to a predetermined reference voltage such as ground). The passband signals may be alternatively referred to herein as wireless signals or communication signals, and are further discussed below. The controller 150 may control or cause other components to independently control each of the input control blocks 108.1-108.N via the generation of control signals such that each input control block 108 selectively generates, as a respective input signal X1-XN, a passband signal, a training signal, or no signal, as further discussed herein. A non-limiting and illustrative implementation of such an input control block 108 is shown in
Again, the input circuitry 102 is configured to selectively couple either a passband signal, a training signal, or no signal, to each respectively coupled input of the interconnected computing matrices 104 as an input signal X1-XN. The type of signal that is coupled to the inputs of the interconnected computing matrices 104 in this manner is a function of the current operational phase of the matrix computing network architecture 100. For instance, during an operating mode (also referred to herein as an operating or operational phase) occurring after a training mode (also referred to herein as a training phase) has been completed, the input circuitry 102 may receive passband signals and pass these signals on to the interconnected computing matrices 104 as the input signals X1-XN. The input circuitry 102 may thus include any suitable number, type, and configuration of components to facilitate receiving, coupling, and optionally conditioning the passband signals to provide the input signals X1-XN in this manner. This conditioning process may include amplifying, filtering, etc., of the received signals in this manner via any suitable arrangement of terminals, pins, antenna couplings, transmission line couplings, etc. In this way, the training phase may ruction to train the matrix computing network architecture 100, which may then operate during the operational phase at inference to provide the output signals H1-HN, which are inferred from the input signals X1-XN.
The passband signals received in this manner may have any suitable number of signal parameters, such as frequency, amplitude, and/or phase, and be identified with any suitable type of signal, such as complex signals or single carrier wave signals. To provide some non-limiting and illustrative scenarios, complex passband signals may be represented mathematically using complex numbers, with the real part representing the in-phase component (amplitude at a certain phase) and the imaginary part representing the quadrature component (amplitude at a 90-degree phase shift. This may include, for instance, QAM modulated signals. To provide additional non-limiting and illustrative scenarios, a single carrier wave signal may comprise a signal with amplitude and/or frequency variations, which lack the detailed phase information provided by a complex signal. The passband signals may thus may any suitable representation depending upon the periocular application, the modulation and/or coding scheme, etc. Thus, the passband signals may be received in accordance with any suitable communication protocol and/or may have any suitable carrier frequency, such as one within the mm-wave frequency range as discussed herein. In any event, the input circuitry 102 is configured, during the operating mode, to couple the wirelessly received signals to the interconnected computing matrices 104 as the inputs X1-XN, as further discussed herein, which yields the output signals H1-HN via the output circuitry 106.
Although the passbands signals are primarily discussed herein in terms of wirelessly received signals, this is a non-limiting and illustrative scenario, and the passband signals may represent any suitable type of analog signals that are coupled to the interconnected computing matrices 104 as the inputs X1-XN during the operating mode. Thus, in other scenarios, the passband signals may comprise sensor signals or other suitable analog signals that may be received from any suitable source. In any event, the input signals received in this manner may constitute analog signals received directly or indirectly from sensors or antennas, which may include the receipt of such signals without digitization or aid from any data converters.
Again, and as shown in
To do so, it is first noted that the matrix computing network architecture 100 may be implemented in accordance with any suitable type of application, as further discussed herein. Thus, the controller 150 may operate the matrix computing network architecture 100 during a training phase, during which different combinations of the input signals are applied to the inputs of the interconnected computing matrices 104 as training signals. The training signals may be generated to simulate the particular type of passband signals and/or signal parameters thereof that the interconnected computing matrices 104 is expected to receive during the operating mode. The training mode may thus include the controller 150 controlling each input control block 108 (via the generation of control signals) to output each respective training signal at specific times, which may have any suitable signal parameters, or output no signal.
To generate the training signals, the input circuitry 102 may comprise one or more signal generators. Thus, as one illustrative and non-limiting scenario, each training signal may comprise a generated signal having a predetermined signal parameter, which may be constant for each input of the interconnected computing matrices 104 or be varied across the inputs. Thus, as part of a training phase, these signal generators may be configured to generate respective training signals, which are selectively coupled to a respective one of the input signals of the input circuitry 102 to form different input signal combinations as the input signals X1-XN. As a non-limiting and illustrative scenario, when the predetermined signal parameter is a frequency, the signal generators may comprise carrier frequency signal generators such that the output of each signal generator is a signal having a single, predetermined frequency. The input control block 108 thus facilitates the selective coupling of the training signals in this way such that, for each one of a set of different time periods, any combination of the inputs X1-XN may be provided to the interconnected computing matrices 104.
To provide an illustrative and non-limiting scenario, for one time period during the training phase, the input control block 108 may couple all training signals to each of the inputs X1-X8 of the interconnected computing matrices 104. Then, for a subsequent time period during the training phase, the input control block 108 may couple a subset of the training signals to a corresponding subset of the inputs X1-X8 of the interconnected computing matrices 104. Then, for another subsequent time period during the training phase, the input control block 108 may couple yet another, different subset of the training signals to a corresponding different subset of the inputs X1-X8 of the interconnected computing matrices 104, and so on.
As further discussed below, during each of these time periods, the controller 150 may also measure one or more predetermined signal parameters of the output signals H1-H8 as a function of the varying weights applied to the interconnected computing matrices 104. Thus, during the training phase, the controller 150 may generate a set of correlations over time between input signal combinations, any input signal parameters, weights, and predetermined signal parameters of the output signals H1-H8. In this way, the training data may contain a mapping of all (or a significant number) of anticipated input signal combinations of passband signals, which may be accessed during operation to output the desired predetermined signal parameters of the output signals H1-H8 for the same input signal combinations used during training.
Thus, the training signal may be generated having a frequency that corresponds to that of the passband signals expected to be received during the operating mode, as noted above. However, as each input control block 108.1-108.N may be individually controlled, the training signals may be generated such that different combinations of the training signals are provided to the different inputs of the interconnected computing matrices 104 at different times. Again, this may include providing each training signal with the same amplitude or different amplitudes as discussed above. Of course, the training phase may additionally or alternatively include adjusting different signal parameters of the training signals based upon the particular application, such as phase, frequency, etc.
Furthermore, the output circuitry 106 may include any suitable number and/or type of components to enable the controller 150 to sample any suitable signal parameters of the output signals H1-H8. This may include, for instance, envelope detectors to facilitate the measurement of an amplitude of the resulting output signals H1-H8 for a specific combination of input signals X1-X8 and their accompanying signal parameters. Thus, it is noted that based upon the particular application, the controller 150 “knows” which desired signal parameters and combination of output signals H1-HN are to be output for a specific combination of input signals X1-XN and their corresponding signal parameters.
However, the determination of how to generate these control signals as a function of the weights of the interconnected computing matrices 104 may be performed via the controller 150 leveraging training data, which may be stored in the memory 152 upon completion of the training phase. As will be discussed in further detail herein, the specific combination of output signals H1-H8 and their predetermined signal parameters may be known based upon knowledge of the underlying wireless architecture. However, the manner in which these output signals are actually generated having the desired properties conventionally requires significant processing in the digital domain. That is, the conventional control schemes used in wireless applications to provide the desired output signals for the next processing stage typically require performing a signal transformation using digital signal processing via downsampling and conversion to the digital domain, which requires significant processing power and may introduce latency.
Thus, the matrix computing network architecture 100 as discussed herein addresses these issues via the use of the training phase and its operation in the analog domain prior to down-conversion. For instance, by iteratively applying different combinations of the training signals as the input signals X1-XN, adjusting weights of the interconnected computing matrices 104, and measuring the resulting output signal parameters of the output signals H1-HN, a set of training data may be obtained and stored in the memory 152. The training data functions to map the different combinations of the input signals X1-XN and their accompanying signal parameters to a desired set of output signals H1-HN having predetermined output signal parameters. These input signal parameters and combinations may thus include labels that are typically used in accordance with the training process of various machine learning models. The mapping identified in the training data may therefore include the weights applied to the matrix computing network architecture 100 by the control signals generated via the controller 150, as further discussed herein, for various combinations of input signals, output signals, and their respective signal parameters. Then, during the operating mode, the controller 150 may access this training data to apply the desired weights to the matrix computing network architecture 100 such that the desired output signals H1-HN are generated for a specific set of wirelessly received signals coupled to the inputs of the matrix computing network architecture 104 as the input signals X1-XN.
Thus, the interconnected computing matrices 104 enable an analog and CMOS-compatible technique for providing an FNN for this purpose. To do so, the ability to perform signal parameter measurements is exploited as the signals propagate through the interconnected computing matrices 104 versus the conventional manner of computing these results. Additional details regarding the structure and operation of the interconnected computing matrices 104 is provided in further detail below.
Again, the FNN 200 as shown in
Thus, and with continued reference to
Again, and as shown in
Each adjustable phase shifter 104.1 is configured to be individually and independently controlled with respect to one another to provide an adjustable phase shift in response to a control signal generated by the controller 150. As will be further discussed herein, the controller 150 may thus control (such as via digital control schemes) the phase shift provided to the signals received via each of the various phase shifters 104.1 within the interconnected computing matrices 104. By controlling the phase of the phase-shifters 104.1 in each matrix computing mesh 104.3, the input to each matrix computing mesh 104.3 is appropriately weighted at its respective output.
In this way, the controller 150 may access the training data as noted above, and adjust the phase shift provided by each of the phase-shifters 104.1 within the interconnected computing matrices 104. Using the previous illustrative scenario in which the amplitude of the output signals H1-HN is to be determined based upon a specific combination of the input signals X1-XN, it is noted that the training data in this scenario may define an amplitude of the output signals H1-HN based upon predetermined combinations of the input signals. This predetermine combination of the of the input signals may include a specific subset (or all) of the input signals being actively received at the inputs of the interconnected computing matrices 104, each having the same signal parameters such as amplitude, phase, frequency, etc., or different signal parameters, as the case may be. Furthermore, the training data may correlate, for a particular predetermined combination of input signals X1-XN (such as a specific combination of passband signals expected to be received during operation), the amplitude of the output signals H1-HN to weights identified in the training data, which may comprise or otherwise be represented as a function of the phase shift values of each one of the set of adjustable phase shifters 104.1.
Again, and continuing the current scenario in which the predetermined output parameters of the output signals H1-HN comprise an amplitude, the output circuitry 106 may comprise a set of envelope detectors, each being configured to independently measure a respective amplitude of the output signals H1-HN. The controller 150 may measure an output of each of these envelope detectors during the training phase to ensure that the appropriate phase values, when applied to specific combinations of the input signals X1-XN, result in the desired amplitudes of the output signals H1-HN. Such a determination may be made, in one non-limiting and illustrative scenario, when the measured amplitude of each of the output signals H1-HN is within a predetermined threshold range of amplitudes. Additionally, during the operating mode the controller 150 may measure an output of each of these envelope detectors to determine whether the amplitude of each output signal H1-HN is within a threshold range of amplitudes. That is, the controller 150 may utilize such envelope detector measurements as feedback to determine whether to re-adjust the phase values as needed by once again determining whether the amplitude of each output signal H1-HN is within a threshold range of amplitudes. Once the output signals H1-HN have the appropriate amplitude values, the controller 150 may perform any suitable function, such as signaling a higher-level system component that the output signals H1-HN are ready for processing.
Again, the FNN 200 may include any suitable number of phase shifters 104.1 to implement this functionality, and these phase shifters 104.1 may be connected in a different arrangement than that shown in
As a non-limiting and illustrative scenario, the FNN 200 may be configured as a 4×5 network by driving input X1 to X4 and taking the output signal at H1 to H5. In this case, the weight from each input to each output may be fully controlled by programing the phase shifter φij (i=1,2 and j=1,2,3,4,5,6,7). Similarly, the inputs may be X5 to X8 and the output signals may be H8 to H5. Alternatively, the network presented in
To provide another illustrative and non-limiting scenario,
However, and referring back to
Again, it is noted that via weight control, any suitable combinations of inputs to outputs may be achieved. That is, the output signals H1-H8 may be combined to provide any suitable number of combined output signals Y1-YN, with
The hardware components for performing the combination and optional amplification of the combined output signal are not shown in
Turning now back to
However, to have a compact size and be CMOS compatible, it may be particularly useful to implement the hybrid couplers 104.2 as a lumped element network. Thus, the hybrid couplers 104.2 may be referred to as lumped element hybrid couplers, which may include any suitable number and/or type of lumped elements. These lumped elements may comprise discrete components and/or components that are formed via traces or other portions of a CMOS substrate, CMOS traces, or other portions of a suitable of a CMOS component such as an IC.
A schematic diagram of such a lumped element hybrid coupler is shown in
With continued reference to
With respect to Eqn. 1, Vj+ represents the incident wave (input wave) at the jth port, while Vj− is the reflected wave (output wave) at the jth port. Equation 2 below is derived from Equation 1 to relate the inputs at port 1 and port 4 to the outputs at port 2 and port 3.
To control the weight of the matrix given by Eqn. 2,
Thus, Eqn. 3 provides a relationship that may be evaluated by the controller 150 to control the phase of each phase shifter of each matrix computing mesh 104.3 to thereby control the weights of the underlying mm-wave FNN. In other words, the controller 150 may adjust the weights of the mm-wave FNN represented by the underlying computing network architecture by adjusting, for each one of the interconnected matrix computing meshes 104.3, phases of the adjustable phase shifters in each respective matrix computing meshes 104.3. And by evaluating Equation 3 above, the controller 150 may adjust the weights of the mm-wave FNN as a function of changes in S-parameters with respect to each respective set of hybrid couplers 104.2 and set of phase shifters 104.1.
To provide further clarity,
With this in mind, the aforementioned SINDR of the hybrid coupler may thus be defined in accordance with Equation 4 below as follows:
Thus, with reference to Eqn. 4 and considering a hybrid coupler to be a passive network with negligible noise, when the hybrid coupler is driven at the input port 1, its SINDR at the output port 2 can be calculated in accordance with Equation 5 below as follows:
Thus, assuming that the envelope detection via the output circuitry 106 requires 15 dB SNDR, this translates the requirement for the ratio of distortion versus transmission to be above 10 dB. Using this criterion, it is further assumed that the hybrid coupler 104.2 (implemented as a lumped element hybrid coupler) has a bandwidth of 6 GHz (from 56.7 GHz to 62.79 GHz). In this scenario, the hybrid coupler 104.2 may be implemented as part of an 8×8 mm-wave FNN, such as those shown in
To demonstrate the advantages of the mm-wave DLNN-FNN matrix computing architecture as shown in
As shown from the comparison of the metrics in Table 1, the proposed mm-wave DLNN-FNN architecture as discussed herein outperforms its conventional PDLNN counterpart.
To further reduce the silicon area,
The input control block 700 may include a signal generator, switching circuitry 702, and switching circuitry 704. The signal generator 701 may be identified with the signal generator as shown in
The configuration as shown in
Of course, the input control block 700 as shown in
Additionally, the input control block 700 may include the switching circuitry 704, which may be implemented as a single pole single throw (SPST) switch or any suitable components configured to perform signal switching at mm-wave frequencies, and is also controlled via a control signal provided by the controller 150. The switching component of the switching circuitry 704 may likewise be implemented as any suitable type of mm-wave compatible switching components, which should have a low insertion loss and good isolation between two switched paths. The switching circuitry 704 may enable the controller 150 to couple the wirelessly received signals to the inputs of the interconnected computing matrices 104 as the input signals X1-XN during the operating mode, such as after the training phase has been completed as discussed above. The switching circuitry 702 may couple the signal generator 701 to ground during this time or the signal generator 701 may otherwise be deactivated.
As noted above for the input control block 700 as shown in
With respect to
The process flow 900 may include receiving (block 904) input signals. This may include, in a non-limiting and illustrative scenario, receiving training signals or passband signals, as discussed herein.
The process flow 900 may include adjusting (block 906) weights of the set of interconnected computing matrices. This may include, in a non-limiting and illustrative scenario, providing an adjustable phase shift to phase shifters coupled to predetermined inputs and/or outputs of hybrid couplers of the matrix computing network architecture 100, as discussed herein. Again, the disclosure is not limited to the adjustment of phase in this manner, and thus this adjustment may include any suitable weight adjustment based upon the particular predetermined output signal parameters that are desired as a function of the input signals and their accompanying input signal parameters, as discussed herein.
The process flow 900 may include generating (block 908) output signals. This may include, in a non-limiting and illustrative scenario, generating the output signals via the output circuitry 106, as discussed herein with respect to the matrix computing network architecture 100 as shown in
Turning now to
The process flow 950 may include iteratively measuring (block 954) output parameters of output signals for different combinations of the training signals. This may include, in a non-limiting and illustrative scenario, adjusting the phase of various phase shifters in the interconnected computing matrices 104 to iterative adjust the weights thereof for different input signal combinations and/or input signal parameters, as discussed herein. Again, the weights may be adjusted in this manner via the adjustment of the phase shift provided by the phase shifters coupled to predetermined inputs and/or outputs of hybrid couplers of the matrix computing network architecture 100, as discussed herein. Again, the output parameters may comprise signal amplitude, phase, etc., as noted above.
This process may continue for any suitable combinations and/or iterations until a predetermined threshold number of iterations and/or combinations has been reached or the training data is otherwise identified as being complete. Once this is the case, process flow 950 may include storing (block 956) the training data in a suitable memory location, such as the memory 152. The training data may thus function to correlate the different training signal combinations and/or signal parameters of the training signals to different output parameters of the output signals as a function of the applied weights (such as phase shifts), as noted herein.
The blocks 952, 954, and 956 as shown in
The process flow 950 may include adjusting (block 960) weights of the interconnected computing matrices based on the training data to thereby generate the output signals having predetermined output parameters. This may include, in a non-limiting and illustrative scenario, adjusting weights of the set of interconnected computing matrices 104 by providing an adjustable phase shift to phase shifters coupled to predetermined inputs and/or outputs of hybrid couplers of the matrix computing network architecture 100, as discussed herein. Again, the disclosure is not limited to the adjustment of phase in this manner, and thus this adjustment may include any suitable weight adjustment based upon the particular predetermined output signal parameters that are desired as a function of the input signals and their accompanying input signal parameters, as discussed herein. The output signals may comprise the output signals provided via the output circuitry 106, as discussed herein with respect to the matrix computing network architecture 100 as shown in
The communication device 1000 may further comprise processing circuitry 1002, which may be configured as any suitable number and/or type of computer processors, and which may function to control the communication device 1000 and/or other components of the communication device 1000, such as the matrix computing network architecture 100. The processing circuitry 1002 may be identified with one or more processors (or suitable portions thereof) implemented by the communication device 1000. In a non-limiting and illustrative scenario, the processing circuitry 1002 may be identified with part of or the entirety of the controller 150, as shown and discussed above with respect to
The processing circuitry 1002 may be configured to carry out instructions to perform arithmetical, logical, and/or input/output (I/O) operations, and/or to control the operation of one or more components of communication device 1000 to perform various functions as described herein. The processing circuitry 1002 may include one or more microprocessor cores, memory registers, buffers, clocks, etc., and may generate electronic control signals associated with the components of the communication device 1000 to control and/or modify the operation of these components. The processing circuitry 1002 may communicate with and/or control functions associated with the memory 1008, as well as any other components of the communication device 1000. Thus, the processing circuitry 1002 may control or cause other components to control the operation of the matrix computing network architecture 100, as discussed herein.
The communication device 1000 comprises communication circuitry 1004, which may comprise any suitable number and/or type of components configured to receive, condition, generate, transmit, and/or process signals associated with any suitable type of wireless communications. The communication circuitry 1004 may be coupled to one or more portions of the processing circuitry 1002 and/or the communication device 1000. The communication device 1000 may include any suitable type of components that are known to be associated with such communication functions, such as front-end components, antennas, buffers, mixers, oscillators, receivers, transmitters, transceivers, etc., as well as other suitable hardware components that may function in conjunction with such communication components, such as port, terminals, etc., which may be implemented to couple the communication circuitry 1004 to other suitable components and/or portions of the communication device 1000. The communication circuitry 1004 may be identified with portions of the matrix computing network architecture 100, such as the input circuitry 102 and/or output circuitry 106. Additionally or alternatively, the communication circuitry 1004 may be identified with any suitable components of the communication device 1000 depending upon the particular application and implementation of the communication device 1000.
The communication device 1000 comprises a feed forward neural network (FNN) 1006. In a non-limiting and illustrative scenario, the FNN 1006 may be identified with the matrix computing network architecture 100, as shown and discussed herein with respect to
The memory 1008 is configured to store data and/or instructions such that, when executed by the processing circuitry 1002, cause the communication device 1000 to perform various functions such as controlling, monitoring, adjusting, and/or regulating the operation of the communication device 1000, which may include operation of the communication device 1000 during the training and operating modes as noted herein. In a non-limiting and illustrative scenario, the memory 1008 may be identified with part of or the entirety of the memory 152, as shown and discussed above with respect to
The memory 1008 may be non-removable, removable, or a combination of both. The memory 1008 may be implemented as a non-transitory computer readable medium storing one or more executable instructions such as logic, algorithms, code, etc. The instructions, logic, code, etc., stored in the memory 1008 are represented by the various modules as shown. The processing circuitry 1002 may execute the instructions stored in the memory 1008, which are represented as the various modules and further discussed below, to enable any of the techniques as described herein to be functionally realized.
The computing matrix control module 1009 may store computer-readable instructions that, when executed by the processing circuitry 1002, enable the processing circuitry 1002 and/or the communication device 1000 to perform any of the functions as described herein with respect to the operation of the FNN 1006. Thus, the processing circuitry 1002 may execute the instructions stored in the computing matrix control module 1009 to perform training and to store the resulting training data in the memory 1008. Additionally or alternatively, the processing circuitry 1002 may execute the instructions stored in the computing matrix control module 1009 to adjust the weights of the FNN 1006, during the training and operating modes, to generate output control signals having predetermined signal parameters in response to received input signal combinations, as noted herein.
Thus, the WMC DLNN 1152 may be implemented to carry out both the training (during the training phase) and matrix computing (during the operational phase) to reduce the number of ADCs, reduce the dynamic range requirement of the ADCs, and to also reduce the computing power. Additionally, compared to conventional compute-in-memory (CiM) solutions, the implementation of the WMC DLNN 1152 has several advantages, including lower loss, increased bandwidth, and the ability to operate directly on the carrier signals before down conversion.
In various non-limiting and illustrative scenarios, a WMC DLNN may be embedded as part of the RF front end in the receiver to facilitate intelligent waveform design by generating the desired output signals from signals received via the receive antenna. Additionally or alternatively, a WMC DLNN may be embedded as part of the transmitter to provide intelligent beamforming. Thus, in each case the WMC DLNN may operate in the analog domain and without down-conversion.
And for the cognitive radar system as shown in
Thus, and with respect to
Similarly, for the FNN 200 as shown in
An apparatus is provided. The apparatus comprises input circuitry configured to receive one or more input signals; output circuitry configured to output one or more output signals; and a complementary metal oxide semiconductor (CMOS) integrated circuit (IC) comprising a set of interconnected computing matrices configured to couple the input circuitry and the output circuitry to one another, the set of interconnected computing matrices comprises a set of hybrid couplers and a set of adjustable phase shifters, the set of adjustable phase shifters configured to provide an adjustable phase shift to generate the one or more output signals. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the one or more input signals and the one or more output signals further comprise millimeter wave carrier frequencies. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the set of interconnected computing matrices are configured to generate the one or more output signals based on predetermined combinations of the one or more input signals. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the set of adjustable phase shifters is configured to provide the adjustable phase shift based at least on predetermined combinations of the one or more input signals as a function of phase shift value weights. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the output circuitry comprises a set of envelope detectors configured to measure a respective amplitude of the one or more output signals, and the measured respective amplitude is used to determine whether an amplitude of the one or more output signals is within a threshold range. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, a computing matrix of the set of interconnected computing matrices comprises two hybrid couplers and two adjustable phase shifters, a first one of the two adjustable phase shifters is coupled to a first port of a first one of the two hybrid couplers, and a second one of the two adjustable phase shifters is coupled to a second port of the first one of the two hybrid couplers and to a first port of the second one of the two hybrid couplers. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the set of hybrid couplers comprises one or more CMOS IC lumped element hybrid couplers. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the set of interconnected computing matrices are interconnected via CMOS IC transmission lines. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the input circuitry comprises a set of carrier frequency signal generators configured to selectively couple a respective one of the one or more input signals to the input circuitry to generate different input signal combinations
A communication device is provided, the communication devices comprises communication circuitry configured to receive one or more signals; a complementary metal oxide semiconductor (CMOS) integrated circuit (IC) comprising a feedforward neural network (FNN) including a set of interconnected computing matrices configured to generate one or more output signals based upon the one or more received signals; and processing circuitry configured to control a phase shift of a set of adjustable phase shifters associated with the set of interconnected computing matrices to generate the one or more output signals based upon the one or more received signals. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the processing circuitry is configured to adjust the phase shift of the set of adjustable phase shifters based on an amplitude of the one or more received signals. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, further comprising: a set of carrier signal generators configured, as part of a training process that generates signal training data, to selectively couple a respective one of the one or more received signals to different signal inputs of the communication device to generate different predetermined combinations of the one or more received signals. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the one or more received signals and the one or more output signals further comprise millimeter wave carrier frequencies. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the processing circuitry is configured to generate the one or more output signals comprising predetermined output signal amplitudes based upon predetermined combinations of the one or more received signals. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, further comprising: a set of envelope detectors configured to measure a respective amplitude of the one or more output signals, the processing circuitry is configured to determine, based upon the measured amplitude of the one or more output signals, whether a respective amplitude of the one or more output signals is within a threshold range. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph: a computing matrix of the set of interconnected computing matrices comprises two hybrid couplers and two adjustable phase shifters, a first one of the two adjustable phase shifters is coupled to a first port of a first one of the two hybrid couplers, and a second one of the two adjustable phase shifters is coupled to a second port of the first one of the two hybrid couplers and to a first port of the second one of the two hybrid couplers. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the set of interconnected computing matrices comprise an interconnected set of lumped element hybrid couplers. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the CMOS IC further comprises transmission lines, and the set of interconnected computing matrices are interconnected via the transmission lines.
At least one non-transitory computer-readable medium is provided, The least one non-transitory computer-readable medium comprises instructions stored thereon, that if executed by one or more processors, cause the one or more processors to: receive one or more input signals via input circuitry; output one or more output signals via output circuitry, the input circuitry and the output circuitry are coupled to one another via a set of interconnected computing matrices included as part of a complementary metal oxide semiconductor (CMOS) integrated circuit (IC), and control a phase shift value of a set of adjustable phase shifters associated with the set of interconnected computing matrices to generate the one or more output signals based upon the one or more received signals. In addition or in alternative to and in any combination with the optional features previously explained in this paragraph, the instructions, if executed by one or more processors, further cause the one or more processors to control the phase shift of the set of adjustable phase shifters based on an amplitude of the one or more received signals.
The following examples pertain to further aspects.
An example (e.g. example 1) is directed to an apparatus comprising: input circuitry configured to receive one or more input signals; output circuitry configured to output one or more output signals; and a complementary metal oxide semiconductor (CMOS) integrated circuit (IC) comprising a set of interconnected computing matrices configured to couple the input circuitry and the output circuitry to one another, wherein the set of interconnected computing matrices comprises a set of hybrid couplers and a set of adjustable phase shifters, the set of adjustable phase shifters configured to provide an adjustable phase shift to generate the one or more output signals.
Another example (e.g. example 2), relates to a previously-described example (e.g. example 1), wherein the one or more input signals and the one or more output signals further comprise millimeter wave carrier frequencies.
Another example (e.g. example 3) relates to a previously-described example (e.g. one or more of examples 1-2), wherein the set of interconnected computing matrices are configured to generate the one or more output signals based on predetermined combinations of the one or more input signals.
Another example (e.g. example 4) relates to a previously-described example (e.g. one or more of examples 1-3), wherein the set of adjustable phase shifters is configured to provide the adjustable phase shift based at least on predetermined combinations of the one or more input signals as a function of phase shift value weights.
Another example (e.g. example 5) relates to a previously-described example (e.g. one or more of examples 1-4), wherein the output circuitry comprises a set of envelope detectors configured to measure a respective amplitude of the one or more output signals, and wherein the measured respective amplitude is used to determine whether an amplitude of the one or more output signals is within a threshold range.
Another example (e.g. example 6) relates to a previously-described example (e.g. one or more of examples 1-5), wherein: a computing matrix of the set of interconnected computing matrices comprises two hybrid couplers and two adjustable phase shifters, a first one of the two adjustable phase shifters is coupled to a first port of a first one of the two hybrid couplers, and a second one of the two adjustable phase shifters is coupled to a second port of the first one of the two hybrid couplers and to a first port of the second one of the two hybrid couplers.
Another example (e.g. example 7) relates to a previously-described example (e.g. one or more of examples 1-6), wherein the set of hybrid couplers comprises one or more CMOS IC lumped element hybrid couplers.
Another example (e.g. example 8) relates to a previously-described example (e.g. one or more of examples 1-7), wherein the set of interconnected computing matrices are interconnected via CMOS IC transmission lines.
Another example (e.g. example 9) relates to a previously-described example (e.g. one or more of examples 1-8), wherein the input circuitry comprises a set of carrier frequency signal generators configured to selectively couple a respective one of the one or more input signals to the input circuitry to generate different input signal combinations.
An example (e.g. example 10) is directed to communication device, comprising: communication circuitry configured to receive one or more signals; a complementary metal oxide semiconductor (CMOS) integrated circuit (IC) comprising a feedforward neural network (FNN) including a set of interconnected computing matrices configured to generate one or more output signals based upon the one or more received signals; and processing circuitry configured to control a phase shift of a set of adjustable phase shifters associated with the set of interconnected computing matrices to generate the one or more output signals based upon the one or more received signals.
Another example (e.g. example 11), relates to a previously-described example (e.g. example 10), wherein the processing circuitry is configured to adjust the phase shift of the set of adjustable phase shifters based on an amplitude of the one or more received signals.
Another example (e.g. example 12) relates to a previously-described example (e.g. one or more of examples 10-11), further comprising: a set of carrier signal generators configured, as part of a training process that generates signal training data, to selectively couple a respective one of the one or more received signals to different signal inputs of the communication device to generate different predetermined combinations of the one or more received signals.
Another example (e.g. example 13) relates to a previously-described example (e.g. one or more of examples 10-12), wherein the one or more received signals and the one or more output signals further comprise millimeter wave carrier frequencies.
Another example (e.g. example 14) relates to a previously-described example (e.g. one or more of examples 10-13), wherein the processing circuitry is configured to generate the one or more output signals comprising predetermined output signal amplitudes based upon predetermined combinations of the one or more received signals.
Another example (e.g. example 15) relates to a previously-described example (e.g. one or more of examples 10-14), further comprising: a set of envelope detectors configured to measure a respective amplitude of the one or more output signals, wherein the processing circuitry is configured to determine, based upon the measured amplitude of the one or more output signals, whether a respective amplitude of the one or more output signals is within a threshold range.
Another example (e.g. example 16) relates to a previously-described example (e.g. one or more of examples 10-15), wherein: a computing matrix of the set of interconnected computing matrices comprises two hybrid couplers and two adjustable phase shifters, a first one of the two adjustable phase shifters is coupled to a first port of a first one of the two hybrid couplers, and a second one of the two adjustable phase shifters is coupled to a second port of the first one of the two hybrid couplers and to a first port of the second one of the two hybrid couplers.
Another example (e.g. example 17) relates to a previously-described example (e.g. one or more of examples 10-16), wherein the set of interconnected computing matrices comprise an interconnected set of lumped element hybrid couplers.
Another example (e.g. example 18) relates to a previously-described example (e.g. one or more of examples 10-17), wherein the CMOS IC further comprises transmission lines, and wherein the set of interconnected computing matrices are interconnected via the transmission lines.
An example (e.g. example 19) is directed to at least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to: receive one or more input signals via input circuitry; output one or more output signals via output circuitry, wherein the input circuitry and the output circuitry are coupled to one another via a set of interconnected computing matrices included as part of a complementary metal oxide semiconductor (CMOS) integrated circuit (IC), and control a phase shift value of a set of adjustable phase shifters associated with the set of interconnected computing matrices to generate the one or more output signals based upon the one or more received signals.
Another example (e.g. example 20) relates to a previously-described example (e.g. example 19), wherein the instructions, if executed by one or more processors, further cause the one or more processors to control the phase shift of the set of adjustable phase shifters based on an amplitude of the one or more received signals.
An example (e.g. example 21) is directed to an apparatus comprising: input means for receiving one or more input signals; output circuitry means for outputting one or more output signals; and a complementary metal oxide semiconductor (CMOS) integrated circuit (IC) comprising a set of interconnected computing matrices configured to couple the input means and the output means to one another, wherein the set of interconnected computing matrices comprises a set of hybrid couplers and a set of adjustable phase shifters, the set of adjustable phase shifters configured to provide an adjustable phase shift to generate the one or more output signals.
Another example (e.g. example 22), relates to a previously-described example (e.g. example 11), wherein the one or more input signals and the one or more output signals further comprise millimeter wave carrier frequencies.
Another example (e.g. example 23) relates to a previously-described example (e.g. one or more of examples 21-22), wherein the set of interconnected computing matrices are configured to generate the one or more output signals based on predetermined combinations of the one or more input signals.
Another example (e.g. example 24) relates to a previously-described example (e.g. one or more of examples 21-23), wherein the set of adjustable phase shifters is configured to provide the adjustable phase shift based at least on predetermined combinations of the one or more input signals as a function of phase shift value weights.
Another example (e.g. example 25) relates to a previously-described example (e.g. one or more of examples 21-24), wherein the output means comprises a set of envelope detectors configured to measure a respective amplitude of the one or more output signals, and wherein the measured respective amplitude is used to determine whether an amplitude of the one or more output signals is within a threshold range.
Another example (e.g. example 26) relates to a previously-described example (e.g. one or more of examples 21-25), wherein: a computing matrix of the set of interconnected computing matrices comprises two hybrid couplers and two adjustable phase shifters, a first one of the two adjustable phase shifters is coupled to a first port of a first one of the two hybrid couplers, and a second one of the two adjustable phase shifters is coupled to a second port of the first one of the two hybrid couplers and to a first port of the second one of the two hybrid couplers.
Another example (e.g. example 27) relates to a previously-described example (e.g. one or more of examples 21-26), wherein the set of hybrid couplers comprises one or more CMOS IC lumped element hybrid couplers.
Another example (e.g. example 28) relates to a previously-described example (e.g. one or more of examples 21-27), wherein the set of interconnected computing matrices are interconnected via CMOS IC transmission lines.
Another example (e.g. example 29) relates to a previously-described example (e.g. one or more of examples 21-28), wherein the input means comprises a set of carrier frequency signal generators configured to selectively couple a respective one of the one or more input signals to the input means to generate different input signal combinations.
An example (e.g. example 30) is directed to communication device, comprising: communication means for receiving one or more signals; a complementary metal oxide semiconductor (CMOS) integrated circuit (IC) comprising a feedforward neural network (FNN) including a set of interconnected computing matrices configured to generate one or more output signals based upon the one or more received signals; and processing means for controlling a phase shift of a set of adjustable phase shifters associated with the set of interconnected computing matrices to generate the one or more output signals based upon the one or more received signals.
Another example (e.g. example 31), relates to a previously-described example (e.g. example 30), wherein the processing means adjusts the phase shift of the set of adjustable phase shifters based on an amplitude of the one or more received signals.
Another example (e.g. example 32) relates to a previously-described example (e.g. one or more of examples 30-31), further comprising: a set of carrier signal generators configured, as part of a training process that generates signal training data, to selectively couple a respective one of the one or more received signals to different signal inputs of the communication device to generate different predetermined combinations of the one or more received signals.
Another example (e.g. example 33) relates to a previously-described example (e.g. one or more of examples 30-32), wherein the one or more received signals and the one or more output signals further comprise millimeter wave carrier frequencies.
Another example (e.g. example 34) relates to a previously-described example (e.g. one or more of examples 30-33), wherein the processing means generates the one or more output signals comprising predetermined output signal amplitudes based upon predetermined combinations of the one or more received signals.
Another example (e.g. example 35) relates to a previously-described example (e.g. one or more of examples 30-34), further comprising: a set of envelope detector means for measuring a respective amplitude of the one or more output signals, wherein the processing means determines, based upon the measured amplitude of the one or more output signals, whether a respective amplitude of the one or more output signals is within a threshold range.
Another example (e.g. example 36) relates to a previously-described example (e.g. one or more of examples 30-35), wherein: a computing matrix of the set of interconnected computing matrices comprises two hybrid couplers and two adjustable phase shifters, a first one of the two adjustable phase shifters is coupled to a first port of a first one of the two hybrid couplers, and a second one of the two adjustable phase shifters is coupled to a second port of the first one of the two hybrid couplers and to a first port of the second one of the two hybrid couplers.
Another example (e.g. example 37) relates to a previously-described example (e.g. one or more of examples 30-36), wherein the set of interconnected computing matrices comprise an interconnected set of lumped element hybrid couplers.
Another example (e.g. example 38) relates to a previously-described example (e.g. one or more of examples 30-37), wherein the CMOS IC further comprises transmission lines, and wherein the set of interconnected computing matrices are interconnected via the transmission lines.
An example (e.g. example 39) is directed to at least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by processing means, cause the processing means to: receive one or more input signals via an input means; output one or more output signals via an output means, wherein the input means and the output means are coupled to one another via a set of interconnected computing matrices included as part of a complementary metal oxide semiconductor (CMOS) integrated circuit (IC), and control a phase shift value of a set of adjustable phase shifters associated with the set of interconnected computing matrices to generate the one or more output signals based upon the one or more received signals.
Another example (e.g. example 40) relates to a previously-described example (e.g. example 39), wherein the instructions, if executed by the processing means, further cause the processing means to control the phase shift of the set of adjustable phase shifters based on an amplitude of the one or more received signals.
An example (e.g. example 41) is directed to a method, comprising: receiving one or more input signals via input circuitry; outputting one or more output signals via output circuitry; and coupling the input circuitry and the output circuitry to one another via a set of interconnected computing matrices, wherein each one of the set of interconnected computing matrices comprises a set of hybrid couplers and a set of adjustable phase shifters, providing, via each one of the set of adjustable phase shifters, an adjustable phase shift to generate the one or more output signals based upon the one or more input signals.
Another example (e.g. example 42) relates to a previously-described example (e.g. example 41), wherein the one or more input signals and the one or more output signals further comprise millimeter wave carrier frequencies.
Another example (e.g. example 43) relates to a previously-described example (e.g. one or more of examples 41-42), further comprising generating, via the set of interconnected computing matrices, the one or more output signals based on predetermined combinations of the one or more input signals.
Another example (e.g. example 44) relates to a previously-described example (e.g. one or more of examples 41-43), further comprising providing, via the set of adjustable phase shifters, the adjustable phase shift based at least on predetermined combinations of the one or more input signals as a function of phase shift value weights.
Another example (e.g. example 44) relates to a previously-described example (e.g. one or more of examples 41-43), further comprising measuring, via a set of envelope detectors included in the output circuitry, a respective amplitude of the one or more output signals; and determining, based on the measured respective amplitude, whether an amplitude of the one or more output signals is within a threshold range.
Another example (e.g. example 45) relates to a previously-described example (e.g. one or more of examples 41-44), further comprising a computing matrix of the set of interconnected computing matrices comprises two hybrid couplers and two adjustable phase shifters, a first one of the two adjustable phase shifters is coupled to a first port of a first one of the two hybrid couplers, and a second one of the two adjustable phase shifters is coupled to a second port of the first one of the two hybrid couplers and to a first port of the second one of the two hybrid couplers.
Another example (e.g. example 46) relates to a previously-described example (e.g. one or more of examples 41-45), wherein the set of hybrid couplers comprises one or more CMOS IC lumped element hybrid couplers.
Another example (e.g. example 47) relates to a previously-described example (e.g. one or more of examples 41-46), wherein the set of interconnected computing matrices are interconnected via CMOS IC transmission lines.
Another example (e.g. example 48) relates to a previously-described example (e.g. one or more of examples 41-47), wherein the input circuitry comprises a set of carrier frequency signal generators, and further comprising selectively coupling, via the set of carrier frequency signal generators, a respective one of the one or more input signals to the input circuitry to generate different input signal combinations.
An apparatus as shown and described.
A method as shown and described.
The aforementioned description of the specific aspects will so fully reveal the general nature of the disclosure that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific aspects, without undue experimentation, and without departing from the general concept of the present disclosure. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed aspects, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.
References in the specification to “one aspect,” “an aspect,” “an exemplary aspect,” etc., indicate that the aspect described may include a particular feature, structure, or characteristic, but every aspect may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same aspect. Further, when a particular feature, structure, or characteristic is described in connection with an aspect, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other aspects whether or not explicitly described.
The exemplary aspects described herein are provided for illustrative purposes, and are not limiting. Other exemplary aspects are possible, and modifications may be made to the exemplary aspects. Therefore, the specification is not meant to limit the disclosure. Rather, the scope of the disclosure is defined only in accordance with the following claims and their equivalents.
Aspects may be implemented in hardware (e.g., circuits), firmware, software, or any combination thereof. Aspects may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), and others. Further, firmware, software, routines, instructions may be described herein as performing certain actions. However, it should be appreciated that such descriptions are merely for convenience and that such actions in fact results from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc. Further, any of the implementation variations may be carried out by a general purpose computer.
For the purposes of this discussion, the term “processing circuitry” or “processor circuitry” shall be understood to be circuit(s), processor(s), logic, or a combination thereof. For example, a circuit can include an analog circuit, a digital circuit, state machine logic, other structural electronic hardware, or a combination thereof. A processor can include a microprocessor, a digital signal processor (DSP), or other hardware processor. The processor can be “hard-coded” with instructions to perform corresponding function(s) according to aspects described herein. Alternatively, the processor can access an internal and/or external memory to retrieve instructions stored in the memory, which when executed by the processor, perform the corresponding function(s) associated with the processor, and/or one or more functions and/or operations related to the operation of a component having the processor included therein.
In one or more of the exemplary aspects described herein, processing circuitry can include memory that stores data and/or instructions. The memory can be any well-known volatile and/or non-volatile memory, including, for example, read-only memory (ROM), random access memory (RAM), flash memory, a magnetic storage media, an optical disc, erasable programmable read only memory (EPROM), and programmable read only memory (PROM). The memory can be non-removable, removable, or a combination of both.