From: Gerhard E. <ger...@im...> - 2004-08-27 09:36:29
|
dear martin, On Aug 27, 2004, at 7:49 AM, martin rumori wrote: > this means that you are looking tap/2 samples back, but only tap/2-1 > samples in advance. i think, the latter should read > > for (si = 1; si <= tot; si++, ti2 += tinc) Yes, I think you are right. > double xMax = _taps / 2 - .5; > > if (x > xMax) > { > return 0; > } > > that would mean applying a rectangular window in addition to the hann > window by zeroing the second half of the last tap region. again, with > many taps the difference is almost zero, but for small tapsizes it > could make a difference. Yes, I understand. I didn't realize when I wrote that. > i encountered that when debugging the kaiser window (still a bug in > the bessel approximation in CVS, but fixed locally). i used a sweep > 20-20000 Hz @ 48k, transposed down by 6 octaves. tested with both the > windows and different tapsizes, had a look at the sprectrum and got > somehow strange results. It is great that you are introducing a Kaiser window. I was not aware that this can improve performance with small number of taps. Your stay in Banff is very successful in any sense! > when fixing the abovementioned issues, i got more meaningful results. > now the kaiser window gives much better results than the hann when > using smaller tapsizes, i. e. the aliasing reaches the -60dB later > when getting towards nyquist. for large tapsizes, however, the > difference doesn't really matter. That sounds like a great result! > with the hann, when fixing either one of the bugs, i got distortion > immediately, since 1) we are doing a symmetric lookup, but get a zero > for one of the last taps, or 2) we are getting the correct value for > the last tap in looking back, but zero for the corresponding one by > ommiting the lookup for the other side. you mean if you fix only one of the issues at a time, this is what you get? > does this make sense anyhow or am i missing something? Makes perfectly sense to me. Looking forward to using the Kaiser window and propagating the changes to the MSP-verion of the resampling code. Does the Kaiser window also have a down side? Best regards from Krems, Gerhard |