The technology described in this patent document relates generally to data processing, and more particularly to finite impulse response adaptation for data processing.
Finite impulse response (FIR) filters are widely used in various signal processing devices/circuits, such as read circuits for disk drives, Ethernet transceivers, communication devices, speech processing devices, adaptive noise cancellation devices, to filter an input signal to obtain an output signal with desired characteristics.
In accordance with the teachings described herein, systems and methods are provided for signal processing. In one embodiment, a method is provided for signal processing using a finite impulse response filter circuit. An input signal is received at a finite impulse response filter circuit including a plurality of stages, where each stage of the plurality of stages is associated with a sample value of the input signal and a stage weight. An output signal is generated using the finite impulse response filter circuit, the output signal being equal to a weighted sum of the sample values of the input signal. An error signal is generated to indicate a difference between the output signal and a target. A constraint is applied to one or more of the stage weights. The plurality of stage weights are changed within the constraint to reduce a magnitude of the error signal.
In another embodiment, a system for signal processing includes a finite impulse response filter circuit and an adaptation component. The finite impulse response filter circuit includes a plurality of stages for filtering an input signal to generate an output signal, where each stage of the plurality of stages is associated with a sample value of the input signal and a stage weight, the output signal being equal to a weighted sum of the sample values of the input signal. The adaptation component configured to receive the error signal indicating a difference between the output signal and the target, apply a constraint to one or more of the stage weights, and change the stage weights within the constraint to reduce a magnitude of the error signal.
In yet another embodiment, an integrated circuit for signal processing includes a finite impulse response filter circuit and an adaptation circuit. The finite impulse response filter includes a plurality of stages for filtering an input signal to generate an output signal, where each stage of the plurality of stages is associated with a sample value of the input signal and a stage weight, the output signal being equal to a weighted sum of the sample values of the input signal. The adaptation circuit is configured to receive an error signal indicating a difference between the output signal and a target, apply a constraint to one or more of the plurality of stage weights, and change the stage weights within the constraint to reduce a magnitude of the error signal.
In signal processing systems, a FIR filter is often included in an adaptive equalizer. Usually, a feedback loop provides an error signal to the adaptive equalizer to indicate a difference between the equalizer output and a desired output. The parameters of the equalizer (e.g., stage weights of the FIR filter) may be adjusted to minimize the difference between the equalizer output and a desired output so as to achieve an optimal frequency response. However, a signal processing system often includes a gain control loop and/or a phase control loop which can interfere with the feedback loop of the equalizer, and thus prevent the equalizer from converging to an optimal frequency response. For example, an equalizer may have a global optimal frequency response. When the parameters of the equalizer are changed to increase the gain of the output in order to reach the global optimal frequency response, the gain control loop may actually operate to decrease the gain of the output. Such conflicts may lead to loss of resolution and failure of components. In addition, if the parameters of the equalizer have been changed too far to compete with the gain control loop/the phase control loop, the equalizer may drift into a local optimal frequency response which is less desirable than the global optimal frequency response. Proper constraints are to be imposed on the equalizer (e.g., the FIR filter) so that the equalizer will not drift into undesirable states as a result of competing with the gain control loop and/or the phase control loop. One possible approach is to make certain stage weights of the FIR filter that affect the gain/phase of the equalizer output most significantly unadaptable while other stage weights can be adapted. However, such a constraint encounters problems when the stages with unadaptable stage weights become less dominant than some stages with adaptable stage weights over time.
In operation, the equalizer 204 that includes a FIR filter processes an input signal 210 and generates the output signal 212 to the detector 206 and the error generator 208. The detector 206 detects the output signal 212 and outputs the reconstructed signal 214 to the error generator 208 which provides the error signal 216 to the adaptation engine 202 for adjusting the equalizer 204.
In one embodiment, the adaptation engine 202 adjusts the parameters of the equalizer 204 using a fixed-stage-weight approach. The adaptation engine 202 initially sets the stage weights of one or more stages in the FIR filter as unadaptable, and sets stage weights of other stages in the FIR filter as adaptable. For example, the adaptation engine 202 selects the stages that affect the gain/phase of the FIR filter most significantly and fixes the stage weights of the selected stages. If one or more predetermined conditions are satisfied, the adaptation engine 202 keeps the same stage weights fixed. If the one or more predetermined conditions are not satisfied during operation, the adaptation engine 202 selects a different set of stages and fixes the stage weights of the different set of stages instead, while adapting the rest of the stage weights in the FIR filter. For example, the one or more predetermined conditions are satisfied when changes of the adaptable stage weights are within a predetermined range. In another example, the one or more predetermined conditions are satisfied when the phase change of the FIR filter calculated based on the stage weights of the FIR filter is within a predetermined range.
In another embodiment, the adaptation engine 202 adjusts the parameters of the equalizer 204 using a fixed-frequency-response approach. The adaptation engine 202 applies a constraint to the stage weights of the FIR filter in order to fix the frequency response of the FIR filter at a particular frequency. The adaptation engine 202 then changes the stage weights of the FIR filter within the constraint. For example, the constraint may be applied using a constraint matrix. In another example, the particular frequency may be a preamble frequency or a normalized frequency of 0.25. The normalized frequency is determined by dividing a frequency to be normalized by a sample frequency of the signal processing system 200. The preamble frequency is related to a preamble field of a sector format overhead in a hard drive sector format design. The preamble field may include a known, periodic data pattern such as {1, 1, 0, 0}. A read circuit may rely on the known, periodic preamble pattern to establish a proper phase and gain for further data processing. The FIR frequency response of the known preamble pattern {1, 1, 0, 0} can be easily calculated. For example, the frequency response can be represented with two coefficients, such as C_cos and C_sin, where C_cos=(C0-C2+C4-C6+ . . . ) and C_sin=(C1-C3+C5-C7+ . . . ) Fixing the frequency response of the FIR filter at the preamble frequency may help stabilize the signal processing system 200.
The signal processing system 200 or one or more components of the signal processing system 200 (e.g., the adaptation engine 202) may be implemented or fabricated in any hardware device, such as a data processor, central processing unit, an integrated circuit or other chip, an application-specific integrated circuit, a field programmable gate array, hard-wired circuit components, or other devices for data processing.
In operation, the variable gain amplifier 310 receives an input signal 326, and outputs an amplified signal 328 to the low pass filter 312 which generates a filtered signal 330. The analog-to-digital converter (ADC) samples the filtered signal 330 and outputs a digital signal 332 to the equalizer 304 that includes a FIR filter. The detector 306 detects the output signal 322 of the equalizer 304 and generates the reconstructed signal 324 to the error generator 308 which compares the output signal 322 and the reconstructed signal 324. The error signal 320 is used by the adaptation engine 302 to optimize the equalizer 304. In addition, the adaptation engine 302 may adjust the gain of the variable gain amplifier 310 through the gain controller 316 so that the variable gain amplifier 310 does not compete with the equalizer 304. Furthermore, the adaptation engine 302 may change the phase of the ADC 314 through the phase controller 318 so that the ADC 314 does not compete with the equalizer 304.
Specifically, for adapting the equalizer 304, the adaptation engine 302 may implement a least mean squares (LMS) algorithm which can be derived as follows. For example, a vector of the stage weights of a FIR filter that is included in the equalizer 304 can be represented as:
C(k)=[c0 c1 . . . cN-1]T (2)
where C(k) represents a vector of stage weights at time k, and c0, c1, . . . , cN-1 represent stage weights. An error term at time k can be determined as follows:
ek=yk−ŷk (3)
where ek represents the error term at time k, yk represents the output signal 322 at time k, and ŷk represents the reconstructed signal 324 at time k. An input vector of the FIR filter can be represented as follows:
X(k)=[xk xk-1 . . . xk-N]T (4)
where X(k) represents the input vector at time k, and xk represents an input signal of the FIR filter at time k.
A cost function can be determined as follows:
E{|ek|2}=E{|C(k)T X(k)−ŷk|2} (5)
where, E{|ek|2} represents the cost function, and X(k) represents an input vector of the FIR filter at time k. For example, ek and xk align in terms of user data.
The least mean squares (LMS) algorithm that may be used to update the stage weights of the FIR filter in the equalizer 304 is as follows:
where μ represents a programmable gain.
A simplified unconstrained LMS adaptation can be determined as:
C(k+1)=C(k)−u·ekX(k) (7)
For simplification, ek=1 if (yk−ŷk)>=0. otherwise ek=−1.
When a linear constraint is applied to the stage weights of the FIR filter as follows:
BC(k)=BC(0)=ω (8)
where B is a constraint matrix and ω is a constant, the LMS can be modified as follows:
(k+1)=C(k)−μ·ekX(k) (9)
C(k+1)={tilde over (C)}(k+1)+θ(K+1) (10)
where a N×1 vector θ(k+1) is chosen such that BC(k+1)=BC(k)=ω and θT (K+1)θ(k+1) is minimized.
The optimal solution of θ(K+1) can be determined using a method of Lagrange multiplier by minimizing the cost function:
where λ is a N×1 vector of Lagrange multiplier.
Assuming
then θ(k+1)opt=BTλ. Consequently, the Lagrange cost function can be expressed as:
Jθ(k+1)
Assuming
then λ=μek(BBT)−1BX(k). Thus,
θ(k+1)opt=μekBT(BBT)−1BX(k) (13)
A generic equation for the linear constrained LMS is given as follows:
where B#=BT(BBT)−1.
Any constrained LMS can be implemented by designing a proper transform matrix
M=(−I+B#B) (15)
As an example, the FIR filter included in the equalizer 304 has ten stages where each stage has a stage weight. In one embodiment, the adaptation engine 302 may adapt the stage weights of the FIR filter in the equalizer 304 using a fixed-stage-weight approach. The adaptation engine 302 may initially select two stages, e.g., a fourth stage and a fifth stage, and set the stage weights of these two stages as unadaptable. During operation, the adaptation engine 302 may keep the same stage weights fixed if one or more predetermined conditions are satisfied. If the predetermined conditions are not satisfied, the adaptation engine 302 selects a different set of stages, e.g., the fifth stage and a sixth stage, and sets the corresponding stage weights as unadaptable. For example, an LMS algorithm for keeping the fourth stage and the fifth stage unadaptable is as follows:
It corresponds to a constraint matrix
Further, the LMS algorithm for keeping the fifth stage and the sixth stage unadaptable is as follows:
It corresponds to a constraint matrix
For example, when the adaptation engine 302 changes the adaptable stage weights during operation in order to achieve optimal frequency response, the predetermined conditions are satisfied if changes of stage weights are within a predetermined range or if the phase change of the equalizer 304 is within a predetermined range. When the number of stage weights of which the changes exceed the predetermined range is below a threshold, the adaptation engine 302 may simply discard such changes and continue to operate without selecting a different set of stages to be fixed. When the number of stage weights of which the changes exceed the predetermined range is above the threshold, the adaptation engine 302 may select a different set of stages and sets the stage weights of the newly selected stages as unadaptable.
The adaptation engine 302 may monitor the phase change of the equalizer 304 and switch to a different set of unadaptable stage weights when the phase change of the equalizer 304 exceeds a threshold. As an example, at a time k,
P4T(k)=arctan(Co(k)/Ce(k))
P4T(k)−P4T_ref|<Phase4TDrift_Bound (18)
where P4T(k) represents a phase change at the 4T frequency, Co(k) represents a sine component of the FIR filter at the 2T frequency, and Ce(k) represents a cosine component of the FIR filter at the 2T frequency. In addition, P4T_ref represents a reference phase at a frequency 1/(4T), and Phase4TDrift_Bound represents the bound for phase change at the 4T frequency. For example, if the adaptation engine 302 switches to a different set of unadaptable stage weights, P4T_ref may be set to P4T(k). Further, the adaptation engine 302 may not switch to a different set of unadaptable stage weights, even though the predetermined conditions are violated, until a predetermined time period has passed since the last switching.
In another embodiment, the adaptation engine 302 may adapt the FIR filter in the equalizer 304 using a fixed-frequency-response approach. For example, the adaptation engine 302 selects a constraint matrix
to prevent changes in a cosine component and a sine component of the FIR filter at the 2T frequency during the adaptation of stage weights of the FIR filter. The cosine component and the sine component of the FIR filter at the 2T frequency can be determined as follows:
ce(k)=c0−c2+c4−c6+c8=ce(0)
co(k)=c1−c3+c5−c7+c9=co(0) (19)
Where co(k) represents a sine component of the FIR filter at the 2T frequency, and co(k) represents a cosine component of the FIR filter at the 2T frequency. Thus, the magnitude and phase of the FIR filter at the 2T frequency do not change during the adaptation of stage weights. Based on the constraint matrix, the following equation can be obtained:
If a function Φ(k) is defined as follows:
then, the LMS algorithm for the fixed-frequency-response approach is determined as:
A simplified form of the LMS algorithm for the fixed-frequency-response approach is as follows:
where
In operation, the variable gain amplifier 410 receives an input signal 440, and outputs an amplified signal 442 to a low pass filter 412 which generates a filtered signal 446. The ADC 414 samples the filtered signal 446 and outputs a digital signal 448 to the equalizer 404 that includes a primary FIR filter. The equalizer 404 outputs an equalized signal 432 which is corrected by a baseline corrector 422 and detected by a detector 428. A reconstruction filter 420 provides a reconstructed signal 434 to an error generator 408 which compares a corrected signal 436 from the baseline corrector 422 and the reconstructed signal 434 and generates an error signal 430. The adaptation engine 402 adjusts the equalizer 404 to reduce the magnitude of the error signal 430. In addition, the adaptation engine 402 outputs a signal 450 to the supplemental FIR filter 426 which affects a gain controller 416 and a phase controller 418 so that the variable gain amplifier 410 and the ADC 414 do not compete with the equalizer 404.
In one embodiment, the primary FIR filter in the equalizer 404 dictates the gain and the phase of the output of the system 400, while the supplemental FIR filter affects the variable gain amplifier 410 and the ADC 414 so that the gain and/or the phase of the output 432 converge to the gain and phase dictated by the primary FIR filter. For example, the supplemental FIR filter 426 includes three stages which have adaptable stage weights (−a, 1+b, a) respectively, where “l+b” mainly affects the gain of the output 452 and “−a” and “a” mainly affect the phase of an output 452. The output 452 is received by an error generator 424. When the primary FIR filter in the equalizer 404 cannot operate to decrease the gain of the output 432 of the equalizer 404 because of certain imposed constraints, the adaptation engine 402 adjusts the supplemental FIR filter 426 so that the variable gain amplifier 410 can operate to decrease the gain of the output 432. For example, the second stage weight, 1+b, of the supplemental FIR filter 426 may become larger than 1 (i.e., b>0), and thus the amplitude of the output signal 452 is increased (e.g., to 1+b times of the original output signal 452). In response, the gain controller 416 detects a gain larger than needed and thus may affect the variable gain amplifier 410 to decrease the gain. Similarly, if the primary FIR filter cannot operate to change the phase of the output of the equalizer 404 because of certain imposed constraints, the adaptation engine 402 may adjust the stage weights of the supplemental FIR filter 426 so that the phase controller 418 can operate to change the phase.
For example, the amplitude and the phase of the output 432 of the equalizer 404 at the preamble frequency can be determined as follows:
A2T=√{square root over (ce2+co2)} (24)
θ2T=tan−1(co/ce) (25)
where A2T represents the amplitude of the output signal 432 at the preamble frequency, θ2T represents the phase of the output signal 432 at the preamble frequency, co represents a sine component of the primary FIR filter in the equalizer 404 at the preamble frequency, and ce represents a cosine component of the primary FIR filter at the preamble frequency.
When ce and co change, the amplitude and the phase of the output signal 432 change as follows:
In summary,
∂A2T∝ce∂ce+co∂co
∂θ2T∝−co∂ce+ce∂co (28)
As an example, the supplemental FIR filter 426 is a three-stage FIR filter which has stage weights as follows:
F3t=(−a,1+b,a)
b(k+1)=b(k)−∂A2T
a(k+1)=a(k)−∂θ2T (29)
∂A2T=A2T_LMS−A2T_constrained_LMS≈ce∂ce+co∂co
∂θ2T_LMS−θ2T_constrained_LMS≈−co∂ce+ce∂co.
where
∂ce=ce_LMS−ce_constrained_LMS
∂co=co_LMS−co_constrained_LMS
The variable gain amplifier 410 and the ADC 414 may be affected by an error term e=ŷ−F3tapy. Then, if the primary FIR filter in the equalizer 404 cannot operate to change the gain or the phase of the output 432 because of the imposed constraints, the supplemental FIR filter 426 would change its output 452 so that the variable gain amplifier 410 or the ADC 414 can be adjusted to change the gain or the phase of the output respectively.
It is noted that CLMS(k+1)−CConstrained LMS(k+1)=Δ, where Δ=−μekB#BX(k). Thus, if the primary FIR filter in the equalizer 404 is adjusted using a fixed-stage-weight approach, then
where FIR_COEFF_MASK is 1 for unadaptable stages and 0 for adaptable stages.
If the primary FIR filter in the equalizer 404 is adapted using a fixed-frequency-response approach, then
∂ce(k)=−μekφk
∂co(k)=−μekφk-1 (31)
As such, the supplemental FIR filter 426 may implement an algorithm as follows:
where rcos 4T(k) and rsin 4T(k) are parameters related to particular constraints. If the primary FIR filter is adjusted using the fixed-stage-weight approach, then
On the other hand, if the primary FIR filter is adapted using the fixed-frequency-response approach, then
rcos 4T(k)=φk
rsin 4T(k)=φk-1 (34)
This written description uses examples to disclose the invention, include the best mode, and also to enable a person skilled in the art to make and use the invention. The patentable scope of the invention may include other examples that occur to those skilled in the art.
For example, the systems and methods described herein may be implemented on many different types of processing devices by program code comprising program instructions that are executable by the device processing subsystem. Other implementations may also be used, however, such as firmware or even appropriately designed hardware configured to carry out the methods and systems described herein. In another example, the systems and methods described herein may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions (e.g., software) for use in execution by a processor to perform the methods' operations and implement the systems described herein.
This application is a continuation of U.S. patent application Ser. No. 13/525,862, filed on Jun. 18, 2012, which claims priority to and benefit from U.S. Provisional Patent Application No. 61/507,524, filed on Jul. 13, 2011, entitled “FIR Adaptation for Gain and Timing Phase Control,” the entirety of which is incorporated herein by reference. Additionally, this application is related to U.S. patent application Ser. No. 10/788,998, filed Feb. 27, 2004, now U.S. Pat. No. 7,505,537, the entirety of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4757519 | Collison et al. | Jul 1988 | A |
5243624 | Paik et al. | Sep 1993 | A |
5512959 | D'Alto et al. | Apr 1996 | A |
5825318 | Patapoutian et al. | Oct 1998 | A |
5995545 | Ueno | Nov 1999 | A |
5999355 | Behrens et al. | Dec 1999 | A |
6208481 | Spurbeck et al. | Mar 2001 | B1 |
6249398 | Fisher et al. | Jun 2001 | B1 |
6272173 | Hatamian | Aug 2001 | B1 |
6381085 | Du et al. | Apr 2002 | B1 |
6389069 | Mathe | May 2002 | B1 |
6449110 | DeGroat et al. | Sep 2002 | B1 |
6477200 | Agazzi et al. | Nov 2002 | B1 |
6513141 | Livingston | Jan 2003 | B1 |
6526105 | Harikumar et al. | Feb 2003 | B1 |
6804695 | Hsu | Oct 2004 | B1 |
6819514 | Behrens et al. | Nov 2004 | B1 |
6829296 | Troulis et al. | Dec 2004 | B1 |
6980592 | Rambaud et al. | Dec 2005 | B1 |
7012772 | Vis | Mar 2006 | B1 |
20030052805 | Troy et al. | Mar 2003 | A1 |
20030112861 | Erdogan et al. | Jun 2003 | A1 |
20030174783 | Rahman et al. | Sep 2003 | A1 |
20040013190 | Jayaraman et al. | Jan 2004 | A1 |
20050041760 | Yousef | Feb 2005 | A1 |
Number | Date | Country |
---|---|---|
0178339 | Mar 2001 | WO |
Number | Date | Country | |
---|---|---|---|
61507524 | Jul 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13525862 | Jun 2012 | US |
Child | 14301457 | US |