Hi,
I am trying to design Half Band Interpolating by 2 FIR, something that should be
straight forward, however, I came across the problem that raises suspicion.
Since the filter I am going to use is half-band, every second coefficient is 0,
and in order to perform interpolation by 2, I am adding 0's on every second
place. For number of coefficients of 9, coefficients 0, 2, 4, 6 and 8 are
non-zero (and symmetrical around coef 4), while 1, 3, 5 and 7 are 0. Since I
need to pad in 0’s for every other sample it seems that my output samples
are still padded with zeroes??? For example:
out(0) = c0 x in(0) + c1 x 0 + c2 x in(1) + c3 x 0 + c4 x in(2) + c5 x 0 + c6 x
in(3) + c7 x 0 + c8 x in(4) = c0 x (in(0) + in(4)) + c2 x (in(1) + in(3)) + c4 x
in(2)
out(1) = c0 x 0 + c1 x in(1) + c2 x 0 + c3 x in(2) + c4 x 0 + c5 x in(3) + c6 x
0 + c7 x in(4) + c8 x 0 = 0
out(2) = c0 x in(1) + c1 x 0 + c2 x in(2) + c3 x 0 + c4 x in(3) + c5 x 0 + c6 x
in(4) + c7 x 0 + c8 x in(5) = c0 x (in(1) + in(5)) + c2 x (in(2) + in(4)) + c4 x
in(3)
etc...
I don’t understand why is this the case? It seems like half-band filter is
not capable of attenuating spectral component produced by zero padding, yet I do
not see why? That component is located at initial Fs which is becoming Fsnew/2,
so there is plenty attenuation between Fsnew/4 and Fsnew/2 that this filter
would provide. I could not find the answer to this problem so I can assume that
one of the following is correct:
1. Half band filter cannot be used for interpolation by 2
2. There is something wrong with my approach and my calculations are
incorrect
3. I am just being paranoid – it is totally ok to have every second sample
as 0, the rest of the samples are filtered so that spectrum is corrected for
initial zero padding (phantom component is attenuated with half band FIR)...
Regards,
Aleksandar
Yahoo! Groups Links
Half band interpolating by 2 FIR not appropriate?
Started by ●January 5, 2010