The present invention relates to signal filtering, and more particularly to a method of up-sampling half-band reconstruction filtering that has greater computational efficiency in order to have realtime performance in a video waveform monitor.
Reconstruction filters amount to specialized lowpass filters with sin(x)/x impulse responses, and are used for many applications, from digital to analog conversion to interpolation for waveform displays. The most common method of reconstruction is through the used of two-times up-sampling with half-band finite impulse response (FIR) filtering—typically a time windowed sin(x)/x impulse response with the following for improved efficiency:
Accordingly the present invention provides a method of up-sampling half-band reconstruction filtering that is computationally more efficient than previously. An up-sampled half-band reconstruction filter has a seagull architecture in the form of a pair of parallel IIR filters, one receiving as an input an input signal, such as a video line of data, delayed by one sample time and the other receiving as an input a reverse version of the input signal delayed by one sample time. The outputs from the pair of parallel IIR filters are combined with the input signal to produce a reconstruction filter output in response to the input signal.
The objects, advantages and other novel features of the present invention are apparent from the following detailed description when read in conjunction with the appended claims and attached drawing.
a,
3
b and 3c are graphic views showing the impulse responses of portions of the filter shown in
a and 5b are graphic views showing plots of frequency response of the filter of
Referring now to
The signal input to each IIR filter 20, 30 travels two separate paths—a “high” frequency path 21, 31 and a “low” frequency path 22, 32. Each path includes a multiplier 23, 23′; 33, 33′, adder 24, 24′; 34, 34′ and delay 25, 25′; 35, 35′ in series, the delay being one input sample delay. The outputs from the delays 25, 25′; 35, 35′ are input to the output summer 40 as well as to respective second multipliers 26, 26′; 36, 36′, the outputs of which are input to the respective adders 24, 24′; 34, 34′. The input multipliers 23, 23′; 33, 33′ have one of two coefficients, b0hi, b0lo, as the multiplicand depending upon the signal path, and the second multipliers 26, 26′; 36, 36′ have one of two different coefficients, a1hi, a1lo, as the multiplicand.
As shown each IIR filter 20, 30 is used to approximate only one side of the main lobe of the sin(x)/x. Thus the IIR filters 20, 30 are identical except for the direction in which they process. This takes advantage of the fact that for a half-band filter, the frequency of the sin(x) function is at π in the z-plane (Nyquist). In order to approximate sin(x)/x only the 1/x factor need be approximated. This corresponds to controlling the damping factor in a filter with a pole at Nyquist frequency. Therefore the design of the reconstruction filter of the present invention is reduced to approximating 1/x as a sum of decaying exponentials (damped sin(x) responses). The specific design used to approximate 1/x as a sum of decaying exponentials depends on the filter design specifications which in turn determine the areas of performance to be optimized. For the Recommendation ITU-R BT.601-5 filter mentioned above, two IIR filters 20, 30 are used, one which primarily contributes to short time 1/x approximation and the other to longer term 1/x approximation.
The design methodology used is simple relative to other IIR filter design methods since only the 1/x envelope of the sin(x)/x response is approximated using only the damping factors (controlled by moving each z-plane pole radius between zero and one) and relative filer weightings need be determined (since all poles are at an angle of π-Nyquist frequency). For the ITU-R BT.601-5 filter example only two unique poles need to be selected, corresponding to the a1hi and a1lo values, and the corresponding gain of each, reflected in the b0hi and b0lo values. For other design specifications having more or less poles, corresponding more or less parallel IIR filters are used.
An illustration for designing “seagull” filters includes determining approximately how may poles will suffice and the initial coefficient values. The 1/x response is approximated by a sum of decaying exponentials:
synResponsex=b01*e−d1*x+b02*e−d2*x
To simulate a reference response of 1/(1+x) the respective coefficients become:
d1=0.05 d2=0.6 b01=0.15 b02=1−b01,
d1 and d2 being the damping factors and b01 and b02 being the respective weights. The values of the reference response and the synthesized response are approximately the same.
The first IIR filter may be approximated by:
iir1x=if(x>0, iir1x−1*a11, b01)
where a11=1/(1+d1)=0.952. The response curve of iir1x is approximately the same as b01*e−d1*x.
Likewise the second IIR filter may be approximated by:
iir2x=if(x>0, iir2n−1*a12, b02)
where a12=1/(1+d2)=0.625. Again the response curve of iir2x is approximately the same as b02*e−d2*x. The sum of iir1x and iir2x therefore approximates the reference response of 1/(1+x).
a shows a plot of the impulse response of the forward filter 20, while
a is a plot of the frequency response of the reconstruction filter 10 with the ITU-R BR.601-5 luminance filter template shown.
b0lo=0.384525, a1lo=−0.09765, b0hi=0.253656, a1hi=−0.6545
Since the IIR z-plane poles are at an angle of π (Nyquist frequency), the sinusoidal response of the reconstruction filter 10 is created using one real pole instead of two complex poles required for every other possible sinusoidal frequency. Thus the number of filter poles is cut in half relative to the damped sinusoidal response at any other frequency. This results in a reduction from 16 to 8 multiplications and 32 to 8 additions so the design is faster and less expensive to implement.
Thus the present invention provides a reconstruction filter having a pair of IIR filters, one for the forward direction and the other for the reverse direction, the outputs of which are combined with an “all pass” filter to produce a desired filter sin(x)/x response.
Number | Name | Date | Kind |
---|---|---|---|
3370292 | Deerfield | Feb 1968 | A |
4791390 | Harris et al. | Dec 1988 | A |
5014232 | Andre | May 1991 | A |
5557560 | Dix et al. | Sep 1996 | A |
Number | Date | Country | |
---|---|---|---|
20050210091 A1 | Sep 2005 | US |