Abstract:
A coefficient updating system for a time sampled filter, such as a finite impulse response filter, includes a new coefficient register for updating the coefficients stored in the filter register. In order to preclude the generation of partial products in the filter from including a combination of old and new coefficients, the old coefficients are replaced by corresponding new coefficients in a time sequential manner at the rate at which the filter is clocked.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to time sampled filters such as finite impulse response (FIR) filters and particularly concerns techniques for updating the coefficients used to control the response of the filters. 
     FIR filters are used in many applications which require adaptation of the filter response to different conditions. For example, the frequency response of FIR filters used in channel equalizers must be updated from time to time to accommodate different channel impairments which may arise. The frequency response of a FIR filter is typically altered by changing the coefficients used to control the filter. Prior art systems for effecting changes in the values of FIR filter coefficients, however, normally produce an undesired glitch in the output signal resulting from the production of partial products based upon a combination of new and old coefficients. These glitches may be more or less extensive depending on the particular coefficient updating system employed. 
     For example, in one prior art system, the coefficients used to control the filter are stored in a resister which is updated to reflect a change in one or more of the coefficients by serially shifting an entire new set of coefficients into the register. This produces a condition wherein the filter output is incorrect for the time period required for the new set of coefficients to assume their proper relative positions in the register and for a further time period equal to the total serial delay characterizing the filter. In another prior art system, a second register is initially loaded with the new set of coefficients, which are then simultaneously supplied in parallel to update the coefficient register. This approach still results in an incorrect output signal for a time equivalent to the serial delay characterizing the filter. Finally, it is also known to individually update the coefficients stored in the coefficient register to reduce the extent of the glitch produced at the output of the filter, when only a relatively small number of the coefficients need to be changed. This is, however, not an adequate solution when a large number of the coefficients need to be changed. 
     One way to lessen the foregoing problems is to hide the glitches produced at the filter output during coefficient updating. This may be done, for example, in a video signal by restricting the time period during which coefficients may be updated to the vertical blanking interval of the signal. This approach reduces the flexibility of the system and may not be applicable to different types of signals and is therefore not particularly desirable. 
     It is therefore a basic object of the present invention to provide an improved system for updating the coefficients controlling a time sampled filter such as a FIR filter. 
     It is a more specific object of the invention to provide a filter coefficient updating system which eliminates glitches from the filter output resulting from the production of partial products in the filter based upon a combination of new and old coefficients. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other objects and advantages of the invention will be apparent upon reading the following description in conjunction with the drawing, in which: 
     FIG. 1 is a simplified block diagram of a FIR filter and the filter coefficient updating system of the invention; and 
     FIG. 2 is a chart illustrating the operation of the filter coefficient updating system of FIG. 1. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, there is shown a FIR filter, generally indicated by reference numeral 10, and a filter coefficient updating system 12 according to the invention. For purposes of simplicity and clarity, FIR filter 10 is shown as having only four stages or taps, but it will be appreciated that in a practical filter embodiment many more stages will normally be provided (64 being typical). The present invention is applicable to a filter having any number of stages. 
     In FIG. 1, FIR filter 10 comprises four multipliers 20, 22, 24 and 26, each having an input terminal connected to an input data source 28. Input data source 28 may provide a sequence of 8-bit data words to each of the multipliers at the rate of a clock signal CLK. A coefficient register 14 supplies a coefficient C 3  to multiplier 20, a coefficient C 2  to multiplier 22, a coefficient C 1 , to multiplier 24 and a coefficient C 0  to multiplier 26. Each multiplier 20, 22, 24 and 26 multiplies a current input data word with its respective coefficient C 3 , C 2 , C 1  and C 0  and supplies the product to a respective delay circuit 30, 32, 34 and 36. Each of the delay circuits 30, 32, 34, and 36, together with the other delay circuits depicted in FIG. 1 and to be described hereinafter, have a delay corresponding to the period of clock signal CLK. The output of delay circuit 30 is applied to a further delay circuit 38 whose output is summed with the output of delay circuit 32 in a summer 40. The output of summer 40 is delayed in a delay circuit 42 and summed with the output of delay circuit 34 in a summer 44. Finally, the output of summer 44 is delayed by a delay circuit 46 and summed with the output of delay circuit 36 in a summer 48 to provide the filter output signal. It will be appreciated that the response of filter 10 will be dependent upon the particular values selected for coefficients C 3 , C 2 , C 1 , and C 0 . Also, as previously mentioned, it will be appreciated that filter 10 will typically comprise additional stages of a construction similar to that shown in FIG. 1. 
     From the foregoing description, it will be apparent that the output E of delay circuit 30 corresponds to the output A of multiplier 20 delayed by one period of clock signal CLK, the output F of delay circuit 38 to the output A of multiplier 20 delayed by two periods of clock signal CLK, the output G of summer 40 to the output F of delay circuit 38 plus the output B of multiplier 22 delayed by one period of clock signal CLK, the output H of delay circuit 42 to the output G of summer 40 delayed by one period of clock signal CLK, the output I of summer 44 to the output H of delay circuit 42 plus the output C of multiplier 24 delayed by one period of clock signal CLK, the output J of delay circuit 46 to the output I of summer 44 delayed by one period of clock signal CLK and the output K of summer 48 to the output J of delay circuit 46 plus the output D of multiplier 26 delayed by one period of clock signal CLK. These relationships can be conveniently summarized as follows, wherein the use of an exponential corresponds to a delay of one period of clock signal CLK,: 
     (1) E=A -1   
     (2) F=A -2   
     (3) G=A -2  +B -1   
     (4) H=A -3  +B -2   
     (5) I=A -3  +B -2  +C -1   
     (6) J=A -4  +B -3  +C -2   
     (7) K=A -4  +B -3  +C -2  +D -1   
     Referring to the first six columns of FIG. 2, the operation of filter 10 is illustrated for six consecutive data words W 1  -W 6   supplied by data source 28. It will be seen that the filter output K is C 0  W 1  after one clock period, C 1  W 1  +C 0  W 2  after two clock periods, and so on until the output C 3  W 2  +C 2  W 3  +C 1  W 4  +C 0  W 5  is achieved after five clock periods. At this point a coefficient updating step is initiated as described below. 
     Returning to FIG. 1, the coefficient updating system 12 includes a second register 50 in which a series of new coefficients C* 3 , C* 2 , C* 1 , and C* 0  are loaded from a processor 52. It will be understood that all of the new coefficients C* 3  -C* 0  may be different from the corresponding old coefficients C 3  -C 0  or only some of them may differ. In any case, each of the new coefficients C* 3  -C* 0  is applied through a respective transmission gate 54-60 to a corresponding storage location in register 14. Processor 52 develops a one-bit latch enable signal which is applied to transmission gate 54, to transmission gate 56 through a delay circuit 62, to transmission gate 58 through delay circuit 62 and a further delay circuit 64 and to transmission gate 60 through delay circuits 62 and 64 and a further delay circuit 66. Therefore, coefficient C 3  will initially be updated to new coefficient C* 3 , followed one clock period later by coefficient C 2  being updated to new coefficient C* 2  and so on. In other words, the filter coefficients stored in register 14 are sequentially updated at the clock rate of the filter. 
     The coefficient updating process is illustrated in FIG. 2 beginning with the seventh column at which time multiplier 20 forms the product C* 3  W 7 , while the remaining multipliers 22-26 continue to form products based on the old coefficients. During the next clock period coefficient C 2  is updated so that the outputs of multipliers 20 and 22 are C* 3  W 8  and C 2  *W 8  respectively, while multipliers 24 and 26 continue to generate products based on the old coefficients. This process continues until all of the coefficients have been updated during the clock period corresponding to data word W 11 . From an inspection of the chart of FIG. 2, and according to an important aspect of the invention, it will be noted that there are no partial products (i.e. outputs G-K) generated by filter 10 which comprise a combination of old and new coefficients. This results from the sequential updating of the coefficients of register 14 at the clock rate of the filter. Perhaps of most significance is the fact that the filter output K has no terms which comprise a mixture of old and new coefficients. That is, four clock periods after initiating the coefficient updating process, a filter output is generated comprising only of new coefficient terms, while all outputs prior thereto are comprised of only old coefficient terms. 
     What has been described is a novel system for updating the coefficients of a time sampled filter such as a FIR filter. It is recognized that numerous changes in the described embodiment of the invention will be apparent to those skilled in the art without departing from its true spirit and scope. The invention is to be limited only as defined in the claims.