Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jul 2009 18:15:06 +0000 (UTC)
From:      Ariff Abdullah <ariff@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/dev/sound/pcm feeder_rate.c src/sys/tools/sound feeder_rate_mkfilter.awk
Message-ID:  <200907051815.n65IFJ4Z004842@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
ariff       2009-07-05 18:15:06 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/sound/pcm    feeder_rate.c 
    sys/tools/sound      feeder_rate_mkfilter.awk 
  Log:
  SVN rev 195378 on 2009-07-05 18:15:06Z by ariff
  
  - Increase dynamic range of filter coefficients from 28bit to 30bit.
    This cause dramatic effect in overall precision and conversion quality
    by pushing down most aliasing artifacts around -180 dB.
  
    Spectrogram analysis/comparison:
  
          http://people.freebsd.org/~ariff/z_comparison/z_28vs30/
  
  - Guard against possible 64bit overflow during accumulation process by
    slightly normalize and saturate sample and coefficient multiplication,
    possible during extreme 32bit downsampling (eg. 380KHz -> 8KHz) with
    custom preset that require more than ~7000 taps filter (which is
    overkill).
  
  - Add knobs through FEEDER_RATE_PRESETS to set dynamic range of filter
    coefficients/accumulator and prefered polynomial interpolator:
  
          COEFFICIENT_BIT:X
          (where 1 <= X <= 30, default: 30)
  
          ACCUMULATOR_BIT:X
          (where 32 <= X <=64, default: 58)
  
          INTERPOLATOR:I
          (where I = ZOH, LINEAR, QUADRATIC, HERMITE, BSPLINE,
                     OPT32X, OPT16X, OPT8X, OPT4X, OPT2X)
  
  Approved by:    re (kib)
  
  Revision  Changes    Path
  1.27      +10 -10    src/sys/dev/sound/pcm/feeder_rate.c
  1.4       +110 -3    src/sys/tools/sound/feeder_rate_mkfilter.awk



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907051815.n65IFJ4Z004842>