Facilitating automatic non-linearity correction for analog hardware
AssigneeInternational Business Machines Corporation
InventorTayfun Gokmen
Life of this patent
Estimating the term…
Abstract
Techniques facilitating automatic non-linearity correction for analog hardware are provided. A system can comprise a memory that stores computer executable components and a processor that executes the computer executable components stored in the memory. The computer executable components can comprise an adjustment component that determines a non-linear correction term for an output of an array of analog memories based on a result of a matrix vector multiplication performed on the array of analog memories. The computer executable components can also comprise a rectification component that applies the non-linear correction term to additional outputs of the array of analog memories.
Claims20
A system, comprising:
- an array of analog memories;
- a memory that stores computer executable components;
- and
- a processor that executes at least one of the computer executable components that:
- determines, during a calibration phase, based on an output resulting from a matrix vector multiplication performed on the array of analog memories, a non-linear correction term that is applicable to additional outputs of the array of analog memories, wherein the array of analog memories represents analog memories of an analog device, wherein the output and the additional outputs represent current signals, and wherein determining the non-linear correction term comprises:
- selecting a quantity of random input vectors based on a granularity level desired for the non-linear correction term;
- receiving the quantity of random input vectors;
- applying the random input vectors at input lines of the array of
- analog memories;
- performing linear regression on the random input vectors and corresponding calibration outputs of output lines of the array of analog memories to estimate a linear transfer matrix that represents an intended linear response of the array of analog memories;
- and
- for each output line of the array of analog memories:
- determining a residual non-linear response as a function of an output signal at the output line based on a difference between the calibration outputs and outputs predicted by the linear transfer matrix, and
- fitting a stored non-linear inverse transfer function that maps an observed output signal at the output line to a corrected output signal that compensates for the residual non-linear response;
- and
- applies the non-linear correction term to the additional outputs of the array of analog memories, wherein the applying comprises:
- for each additional output of each output line of the output lines, digitally evaluating the stored non-linear inverse transfer function for that output line on a digital representation of the additional output, to generate a corrected output that is substantially linear with respect to an input applied to the array of analog memories.
A computer-implemented method comprising:
- determining, by a system comprising a processor, during a calibration phase, based on an output resulting from a matrix vector multiplication performed on an array of analog memories, a non-linear correction term that is applicable to additional outputs of the array of analog memories, wherein the array of analog memories represents analog memories of an analog device, wherein the output and the additional outputs represent current signals, and wherein the determining the non-linear correction term comprises:
- selecting a quantity of random input vectors based on a granularity level desired for the non-linear correction term;
- receiving the quantity of random input vectors;
- applying the random input vectors at input lines of the array of analog memories;
- performing linear regression on the random input vectors and corresponding calibration outputs of output lines of the array of analog memories to estimate a linear transfer matrix that represents an intended linear response of the array of analog memories;
- and
- for each output line of the array of analog memories:
- determining a residual non-linear response as a function of an output signal at the output line based on a difference between the calibration outputs and outputs predicted by the linear transfer matrix, and
- fitting a stored non-linear inverse transfer function that maps an observed output signal at the output line to a corrected output signal that compensates for the residual non-linear response;
- and
- applying, by the system, the non-linear correction term to the additional outputs of the array of analog memories, wherein the applying comprises:
- for each additional output of each output line of the output lines, digitally evaluating the stored non-linear inverse transfer function for that output line on a digital representation of the additional output, to generate a corrected output that is substantially linear with respect to an input applied to the array of analog memories.
A computer program product that facilitates non-linearity correction for analog hardware, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions are executable by a processor to cause the processor to:
- determine, by the processor, during a calibration phase, based on an output resulting from a matrix vector multiplication performed on an array of analog memories, a non-linear correction term that is applicable to additional outputs of the array of analog memories, wherein the array of analog memories represents analog memories of an analog device, wherein the output and the additional outputs represent current signals, and wherein determining the non-linear correction term comprises:
- selecting a quantity of random input vectors based on a granularity level desired for the non-linear correction term;
- receiving the quantity of random input vectors;
- applying the random input vectors at input lines of the array of analog memories;
- performing linear regression on the random input vectors and corresponding calibration outputs of output lines of the array of analog memories to estimate a linear transfer matrix that represents an intended linear response of the array of analog memories;
- and
- for each output line of the array of analog memories:
- determining a residual non-linear response as a function of an output signal at the output line based on a difference between the calibration outputs and outputs predicted by the linear transfer matrix, and fitting a stored non-linear inverse transfer function that maps an observed output signal at the output line to a corrected output signal that compensates for the residual non-linear response;
- and
- apply, by the processor, the non-linear correction term to the additional outputs of the array of analog memories, wherein the applying comprises:
- for each additional output of each output line of the output lines, digitally evaluating the stored non-linear inverse transfer function for that output line on a digital representation of the additional output, to generate a corrected output that is substantially linear with respect to an input applied to the array of analog memories.
Dependencies are inferred from the claim text.