The subject matter disclosed herein generally relates to techniques to filter signals.
Digital domain signal processing is common. Digital signals need to be converted to analog signal format for real world use. Digital-to-analog converters (DAC) convert digital signals to analog format. DACs utilize low-pass filtering before a digital signal is converted to analog format. A finite impulse response (FIR) filter is one efficient approach to implement low-pass filtering. An N-tap FIR filter with coefficients a(k) and input x(n) can have an output y(n) can described by:
y(n)=a(0)x(n)+a(1)x(n−1)+a(2)x(n−2)+ . . . a(N−1)x(n−N+1),
For example, analog coefficients (a(0) . . . a(N−1)) can be implemented by providing currents having magnitudes proportional to the coefficient value.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
Note that use of the same reference numbers in different figures indicates the same or like elements.
In accordance with an embodiment of the present invention,
Filter 100 may receive a digital input signal labeled INPUT and provide an analog voltage representation of such digital input signal. For example, filter 100 may be used as an N-tap FIR filter having programmable coefficients, a(i), where i=0 to N−1, as in the relationship described earlier. The magnitude and quantum tunability of each coefficient, a(i), may be independently programmed. Magnitudes of coefficients, a(i), may be based on a filter program (e.g., a rectangular window, hamming window, or hanning window).
Shift register 102 may receive digital input signal INPUT. Shift register 102 may output multiple bits, C0 . . . CN−1. The output of shift register 102 may be initialized to zero. At each increment of a clock signal, shift register 102 may step bits of signal INPUT among output bits. The output bits of shift register 102, C0 . . . CN−1, may control which of current mirror sets 106-0 to 106-(N−1) provide current to current-to-voltage converter 108. In one implementation, each output bit, Ci, may control whether an associated current conducting switch that couples a current mirror set 106-i to current-to-voltage converter 108 allows current to flow from such current mirror set 106-i to current-to-voltage converter 108. The current provided by all of the current mirror sets 106-0 to 106-(N−1) at any time, t, may be represented in time by the following relationship:
Isum(t)=I0*(C0(t))+I1*(C1(t))+ . . . IN−1*(CN−1(t))
Each current mirror set 106-i may provide current Ii that represents a coefficient, a(i). The amount of current, Ii, output by each current mirror set 106-i can be independently programmed to be any level and any incremental tunability.
Control logic and register block 206 may decode a command (labeled “PROGRAM COMMAND”) and provide an “m” bit control signal to control the level of current output by each current mirror set 106-i. In the implementation of
In one implementation, each current mirror set 106-i may include an integer “m” switches (b0 . . . bm−1) that control whether an individual current source within current mirror set 106-i provides current contribution output from the current mirror set 106-i. In one implementation, first current source 202 may provide a current that is approximately equal to:
{fraction (1/16)}*[b0/16+b1/8+b2/4+b3/2]*Iref,
Currents from current mirror sets 106-0 to 106-(N−1) may be summed and the sum converted to a voltage to provide an FIR filter response to an input signal. The output voltage, Vout, may be represented by:
Vout=Isum*R
D/A converter 304 may utilize some embodiments of the present invention to convert digital signals to analog format. D/A converter 304 may provide an analog version of the digital signal from digital signal source 302 to analog signal receiver 306. Analog signal receiver 306 may filter, amplify analog signals, and/or provide sufficient power to drive analog devices (such as speaker or a transmission medium).
Modifications
The drawings and the forgoing description gave examples of the present invention. The scope of the present invention, however, is by no means limited by these specific examples. Numerous variations, whether explicitly given in the specification or not, such as differences in structure, dimension, and use of material, are possible. The scope of the invention is at least as broad as given by the following claims.