On Sat, Sep 30, 2000 at 10:25:42AM -0600, Mark Taylor wrote:
>
> Which filters have artifacts?
>
> low pass code is implemented with a very high quality polyphase
> filterbank. It is a near-lossless filterbank with a 256 point
> window and is claimed to have very good frequency resolution.
>
> high pass filtering: At frequencies above a few hundred Hz,
> this can also be implemented with the polyphase filterbank.
> Below that, any such filter would require a large window size
> and lots more buffering.
>
Filters: LTI filters
non LTI filters
LTI filters:
frequency filters
polynomial filters
...
frequency filters:
AR filters <= 2
MA filters
ARMA filters
non LTI filters:
FFT filtering (convolution or circular filter)
Windowed FFT filtering (to reduce time variant effects)
phase discrimator
amplitude discriminator
...
MA filters can generated with:
FT + Windowing method (fast and bad results) <= 1
Remez Exchange (very slow, but nice results)
...
AR filters can be generated with:
Z Transform (discrete Laplace Transform)
...
ARMA filters can be generated with:
This is really Black Magic (elliptic integrals)
Or for some examples use ready calcualted tables
"AR filters" and "windowed filter" are fully different things.
You can't windows AR filters.
> I think this should be a seperate utility outside of lame? Most people
> encode from CDs, which usually are already correctly filtered for stuff
> below 20 Hz.
>
For pop music this is (mostly) true. I will test several CDs. Next week.
The psycho part I would nevertheless filter with a 8rd order Chebychew
high pass @80 Hz. Remember active controlled boxes by B&O. But also
normal vented tubes have a relatively sharp cut off at low frequencies,
so don't rely on masking.
> Resampling: The resampling code does had some minor problems
> due to a hack I put in to save CPU time, but this has now
> been fixed. There are no more artifacts, but it is unclear
> what type of low pass filtering should be done for the
> resampling routine: sharp cut-off or smooth transition band?
>
My experiences:
fs > 36 kHz: uncritical, transition band should not start before 15 kHz
f(-6dB) = 0.5 * fs
24 kHz < fs < 36 kHz: sharp cut-off to reduce loss of spectral components below fs/2
add little aliasing artefacts also increases quality
f(-6dB) = 12.0 kHz for fs=24 kHz
f(-6dB) = 14.0 kHz for fs=28 kHz
f(-6dB) = 15.4 kHz for fs=30 kHz
f(-6dB) = 15.8 kHz for fs=31 kHz
f(-6dB) = 16.2 kHz for fs=32 kHz
f(-6dB) = 18.2 kHz for fs=36 kHz
fs < 24 kHz: more smooth, otherwise pre-ringing becomes audible
f(-6dB) = 0.5 * fs
>
> Can you explain what you mean by LTI? All the filters in lame are
> of course translation (in time) invariant.
>
Tests later. Cooledit doesn't run under Linux.
... back from Cooledit. PP filters are non LTI.
But I don't understand how they are working and why they are non LTI.
But the transition is really sharp and I also like the small raise
in the frequency response before the transition band.
But there should be no signal with medium or high tonality in the
transition band. For f>12 kHz no problem, for f>8 kHz acceptable,
for f<1 kHz unusable.
--
Frank Klemm
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )