Dear all, Currently, I am working on implementing recursive low pass filter with design equation extracted from manual y(n) = 2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6) The frequency response of the filter is good. However, the manual also mention, in actual implementation, there is a normalization factor of 1/8 based upon the gain of the filter. That is, the equation become: y(n) = 1/8 * (2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6)) But the frequency response of this filter is bad. Is it some common practice to design a filter with desired good frequency response but later add some normalization factor to normalize the signal? What is the advantage to do so? Thank you for your help. Henry |
|
problem in normalization factor in low pass filter implementation
Started by ●July 14, 2002
Reply by ●July 15, 20022002-07-15
Henry- Are you sure the gain factor (1/8) is not supposed to be applied to the x[n] components only? What happens if you try that? Typically the gain/normalization factor is intended to insure unity gain (or desired gain) in the passband, but the frequency response of the filter (shape) should remain unchanged. Jeff Brower DSP sw/hw engineer Signalogic i_am_henry wrote: > > Dear all, > > Currently, I am working on implementing recursive low pass filter > with design equation extracted from manual > y(n) = 2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6) > > The frequency response of the filter is good. > > However, the manual also mention, in actual implementation, there > is a normalization factor of 1/8 based upon the gain of the filter. > That is, the equation become: > y(n) = 1/8 * (2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6)) > > But the frequency response of this filter is bad. > > Is it some common practice to design a filter with desired good > frequency response but later add some normalization factor to > normalize the signal? What is the advantage to do so? > > Thank you for your help. > > Henry |
Reply by ●July 16, 20022002-07-16
henry, the correct equation after scaling should be: y(n) = 2*y(n-1) - y(n-2) + 1/8 *( x(n) - 2*x(n-3) + x(n-6) ). This scaling is required to keep the signal level same after filtering. It is required mostly when we are working with finite resolution systems with a fixed dynamic range, as the signal may saturate/overflow otherwise or we'll loose precision. -priyank --- i_am_henry <> wrote: > Dear all, > > Currently, I am working on implementing recursive low pass filter > with design equation extracted from manual > y(n) = 2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6) > > The frequency response of the filter is good. > > However, the manual also mention, in actual implementation, there > is a normalization factor of 1/8 based upon the gain of the filter. > That is, the equation become: > y(n) = 1/8 * (2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6)) > > But the frequency response of this filter is bad. > > Is it some common practice to design a filter with desired good > frequency response but later add some normalization factor to > normalize the signal? What is the advantage to do so? > > Thank you for your help. > > Henry > __________________________________________________ |
Reply by ●July 16, 20022002-07-16
Henry- You're not reading carefully. I said all of the "x[n]" components, like this: y(n) = 2*y(n-1) - y(n-2) + x(n)/8 - x(n-3)/4 + x(n-6)/8 Jeff Brower DSP sw/hw engineer Signalogic i_am_henry wrote: > > Hi Jeff, > > Thank you for you help first. > > Yes, I have applied the gain/normalization factor (1/8) to all the > input components according to the equation. > > However, for > y(n) = 2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6) > the filter response tranfer function is > Yn 1 - 2*z^-3 + z^-6 > ---- = -------------------- .............. (1) > Xn 1 - 2*z^-1 + z^-2 > For > y(n) = 1/8 * (2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6)) > the filter response tranfer function is > Yn 1 - 2*z^-3 + z^-6 > ---- = -------------------- .............. (2) > Xn 8 - 2*z^-1 + z^-2 > > The filter frequency respose of Equ. (2) is different from (1). > > Regards > Henry Chang > Assistant Computer Officer > Chinese Univerisity of HK > > --- In matlab@y..., Jeff Brower <jbrower@s...> wrote: > > Henry- > > > > Are you sure the gain factor (1/8) is not supposed to be applied to > the x[n] > > components only? What happens if you try that? > > > > Typically the gain/normalization factor is intended to insure unity > gain (or desired > > gain) in the passband, but the frequency response of the filter > (shape) should remain > > unchanged. > > > > Jeff Brower > > DSP sw/hw engineer > > Signalogic > > > > > > i_am_henry wrote: > > > > > > Dear all, > > > > > > Currently, I am working on implementing recursive low pass > filter > > > with design equation extracted from manual > > > y(n) = 2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6) > > > > > > The frequency response of the filter is good. > > > > > > However, the manual also mention, in actual implementation, > there > > > is a normalization factor of 1/8 based upon the gain of the > filter. > > > That is, the equation become: > > > y(n) = 1/8 * (2*y(n-1) - y(n-2) + x(n) - 2*x(n-3) + x(n-6)) > > > > > > But the frequency response of this filter is bad. > > > > > > Is it some common practice to design a filter with desired good > > > frequency response but later add some normalization factor to > > > normalize the signal? What is the advantage to do so? > > > > > > Thank you for your help. > > > > > > Henry |