In implementing or calculating a digital function in an electronic device or system, a predetermined number of bits may be used as the input for the function calculation. The greater the number of bits used as the input, the more accurate may be the output signal and the smaller the output error E; however, the complexity of the function calculation also increases with a greater number of input bits. If the number of input bits is reduced to reduce the complexity of the function calculation, the output error E will increase.
Implementing a digital function with a large number of input bits, such as a matrix inversion function or the like, requires complex calculation hardware and large memory capacity to deal with the large number of bits and can result in substantial consumption of current or power every time the function is performed or calculated. A software implementation of the digital function may also consume significant amounts of current or power in performing numerous instructions per second. Consumption of power may be critical in a battery operated digital device or system.
Accordingly, for the reason stated above, and for other reasons that will become apparent upon reading and understanding the present specification, there is a need for an apparatus and method that may use a reduced number of input bits without increasing the output error or quantization error, consume less power and permit the calculation hardware to be simpler and the memory capacity required to be smaller.
The following detailed description of embodiments refers to the accompanying drawings which illustrate specific embodiments of the invention. Other embodiments having different structures and operations do not depart from the scope of the present invention.
Quantizer 102 may be coupled to a function unit 106. Function unit 106 may be adapted to generate an output signal by applying a predetermined function f(x) to the quantized signal. Function unit 106 may be any device or element to map an input signal to an output signal according to the predetermined function. Function unit 106 and error calculator 104 may be coupled to a correction unit 108. The quantized signal may also be coupled to the correction unit 108. Correction unit 108 may compensate for distortion in the output signal from function unit 106 in response to the error signal Δ to increase the accuracy of the output signal. Correction unit 108 may generate a distortion compensated output signal by calculating a Taylor series approximation of the output signal. The arbitrary or selected function f(x) may be represented by a Taylor series expansion around x=a:
f(a+Δ)−f(a)=f′(a)·Δ/1!+f″(a)·Δ2/2!+ . . . +f(N)(a)·ΔN/N!+ . . . (1)
where Δ=x−a, and f(N)(a) is the N'th order derivative of f(x) at x=a. Solving equation 1 for f(a), the output of the correction unit 108 is the output signal compensated for distortion Δ and may be a first order Taylor series approximation of the function f(x) at x=a:
f(a)≅f(a+Δ)−f′(a)·Δ. (2)
Function unit 106 or correction unit 108 may generate a first derivative signal or term corresponding to f′(a) in equation 2 by applying a first derivative f′(x) of the predetermined function f(x) to the quantized signal for x=a. For increased accuracy, additional terms of the Taylor series may be included in equation 2:
f(a)≅f(a+Δ)−f′(a)·Δ−f″(a)·Δ2/2!−(ΣN=2f(N)(a)·(Δ)N/N!). (3)
Function unit 106 or correction unit 108 may also be adapted to generate additional derivative signals or terms for the additional terms of the Taylor series. An additional derivative signal or term corresponds to a respective higher order derivative f(N)(a) of the predetermined function f(x) being applied to the quantized signal for x=a. While the additional terms increase the accuracy of the Taylor series approximation of the function f(x), the additional terms of the Taylor series also increase the complexity of apparatus 100.
As an example of operation of apparatus 100, an input signal represented by a matrix X may be applied to quantizer 102. The quantized signal may be represented by X+Δ where Δ is the distortion or quantization error introduced by the quantization process. Function unit 106 may apply a predetermined function that is an inverse of the matrix, f(x)=X−1. Accordingly, function unit 106 may generate an output signal that is an inverse of the quantization signal, (X+Δ)−1. The Taylor series approximation for a distortion compensated output of the function f(x)=X−1 generated by correction unit 108 may become:
X−1≅(X+Δ)−1−(X+Δ)−1·Δ·(X+Δ)−1. (4)
Apparatus 100 may simplify the function calculation by quantizing the input signal to reduce the number bits used in the predetermined function calculation in the function unit 106 and compensates for the quantization error by determining a Taylor series approximation of the predetermined function in correction unit 108. Apparatus 100 may be implemented in hardware or software.
The quantized signal X+Δ may be applied to a function unit 206. The function unit 206 may be adapted to generate an output signal by applying a predetermined function f(X) to the quantized signal. In the embodiment shown in
A quantized signal that is phase shifted by 90° may be generated from the quantized signal, X+Δ+Π/2 and may be applied to function unit 206 to provide the first derivative of the predetermined function sin (X) which is the cos (X). Thus, function unit 206 may generate a first derivative signal that is the first derivative of the predetermined function applied to the quantized signal or cos (X+Δ). The cos (X+Δ) may also be determined from the sine table.
The output signal sin (X+Δ) and the first derivative signal cos (X+Δ) from function unit 206 may be applied to a correction unit 208 along with the error signal Δ to generate a distortion compensated output signal that may be an approximation for the sin (X). Correction unit 208 may generate the distortion compensated output signal by calculating a Taylor series approximation of the output signal pursuant to equation 2 above and shown by equation 5:
sin(X)≅sin(X+Δ)−cos(X+Δ)·Δ. (5)
DSP 306 may be connected to a memory 308 to store information that may be retrieved and used or processed by DSP 306. DSP 306 may also be connected to an input/output interface 310 to facilitate the transfer of information to and from DSP 306. Electronic system 300 may be a subsystem of a larger device or system such as a communications device or system, computer system, industrial control system or the like.
The method 400 may be embodied in a computer-readable medium having computer-executable instructions for performing the method 400. The computer-readable medium may include any kind of computer memory, such as floppy disks, conventional hard disks, compact disc-read only memory (CD-ROM), flash ROMS, nonvolatile ROM, random access memory (RAM) or the like.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art appreciate that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, this invention is limited only by the claims and the equivalents thereof.
Number | Name | Date | Kind |
---|---|---|---|
3732502 | Seidel | May 1973 | A |
4649421 | Kodama et al. | Mar 1987 | A |
4746902 | Tol et al. | May 1988 | A |
4905177 | Weaver et al. | Feb 1990 | A |
5070515 | Iwahashi et al. | Dec 1991 | A |
5321642 | Goldberg | Jun 1994 | A |
5543844 | Mita et al. | Aug 1996 | A |
5548286 | Craven | Aug 1996 | A |
5644229 | Dossel et al. | Jul 1997 | A |
5815334 | Chang | Sep 1998 | A |
6269166 | Matsuo et al. | Jul 2001 | B1 |
6323792 | Regier | Nov 2001 | B1 |
6333649 | Dick et al. | Dec 2001 | B1 |
6501405 | Zhang et al. | Dec 2002 | B1 |
6538588 | Bazarjani | Mar 2003 | B1 |
6567831 | Loginov | May 2003 | B1 |
20020025004 | Aarts | Feb 2002 | A1 |
20020054354 | Fukao | May 2002 | A1 |
20030091090 | Schieferdecker et al. | May 2003 | A1 |
Number | Date | Country |
---|---|---|
0580101 | Jan 1994 | EP |
04-079419 | Mar 1992 | JP |
06-113276 | Apr 1994 | JP |
01-036406 | Feb 2001 | JP |
Number | Date | Country | |
---|---|---|---|
20040008791 A1 | Jan 2004 | US |