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/ )

Reply via email to