Ariff Abdullah
96831ae59b
- 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)
2009-07-05 18:15:06 +00:00
..
2009-05-20 17:29:21 +00:00
2009-07-03 21:12:37 +00:00
2009-06-22 17:46:55 +00:00
2009-01-29 16:18:49 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-11 17:06:07 +00:00
2009-05-13 22:31:25 +00:00
2009-06-02 17:27:54 +00:00
2009-06-26 11:45:06 +00:00
2009-06-29 05:12:21 +00:00
2009-03-13 16:43:31 +00:00
2009-05-20 17:29:21 +00:00
2009-02-04 20:39:45 +00:00
2009-05-20 17:29:21 +00:00
2009-06-26 10:23:17 +00:00
2009-05-09 17:47:42 +00:00
2009-07-05 14:50:45 +00:00
2009-06-28 11:32:52 +00:00
2009-04-17 00:30:56 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-05-26 12:01:37 +00:00
2009-06-26 11:45:06 +00:00
2009-06-02 16:48:10 +00:00
2009-03-13 05:31:27 +00:00
2009-06-26 11:45:06 +00:00
2009-06-09 07:14:32 +00:00
2009-05-29 06:41:23 +00:00
2009-06-10 17:41:24 +00:00
2009-05-20 17:29:21 +00:00
2009-02-12 23:55:35 +00:00
2009-06-09 07:14:32 +00:00
2009-06-30 12:35:47 +00:00
2009-06-26 11:45:06 +00:00
2009-06-09 07:14:32 +00:00
2009-06-09 07:14:32 +00:00
2009-06-26 19:04:08 +00:00
2009-06-26 11:45:06 +00:00
2009-05-29 06:41:23 +00:00
2009-06-26 11:45:06 +00:00
2009-06-25 19:23:25 +00:00
2009-06-29 18:17:10 +00:00
2009-06-26 11:45:06 +00:00
2009-06-11 17:06:58 +00:00
2009-05-15 21:06:28 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-03-09 13:29:13 +00:00
2009-04-28 20:49:47 +00:00
2009-06-24 19:30:31 +00:00
2009-06-26 11:45:06 +00:00
2009-06-23 09:02:24 +00:00
2009-05-13 18:31:28 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-02-05 19:37:49 +00:00
2009-06-26 11:45:06 +00:00
2009-03-25 06:27:56 +00:00
2009-06-24 20:43:51 +00:00
2009-06-25 20:59:37 +00:00
2009-06-21 19:17:22 +00:00
2009-02-03 16:14:37 +00:00
2009-03-19 12:39:13 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-04-21 22:48:12 +00:00
2009-06-03 20:25:13 +00:00
2009-06-05 18:44:36 +00:00
2009-05-20 20:00:40 +00:00
2009-06-25 18:46:30 +00:00
2009-05-10 20:14:19 +00:00
2009-05-21 15:30:59 +00:00
2009-05-29 23:41:31 +00:00
2009-06-26 11:45:06 +00:00
2009-07-01 16:13:01 +00:00
2009-06-26 11:45:06 +00:00
2009-04-14 11:23:09 +00:00
2009-06-05 15:19:05 +00:00
2009-06-08 20:24:29 +00:00
2009-06-11 17:05:45 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-05-30 18:39:22 +00:00
2009-06-26 11:45:06 +00:00
2009-06-11 17:06:58 +00:00
2009-06-23 20:45:22 +00:00
2009-06-24 16:11:29 +00:00
2009-06-26 11:45:06 +00:00
2009-06-13 23:27:04 +00:00
2009-04-18 07:36:38 +00:00
2009-04-18 07:36:38 +00:00
2009-03-12 06:36:44 +00:00
2009-07-02 00:43:10 +00:00
2009-04-20 15:15:24 +00:00
2009-06-26 11:45:06 +00:00
2009-07-05 17:59:19 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-11 17:14:28 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-09 13:33:03 +00:00
2009-06-11 17:14:28 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-14 00:15:26 +00:00
2009-04-24 17:27:45 +00:00
2009-04-10 04:08:34 +00:00
2009-06-11 17:15:44 +00:00
2009-06-22 20:08:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-04-14 13:18:39 +00:00
2009-04-16 20:30:28 +00:00
2009-02-11 00:08:03 +00:00
2009-06-20 00:04:48 +00:00
2009-05-29 23:41:31 +00:00
2009-05-25 22:50:11 +00:00
2009-06-26 11:45:06 +00:00
2009-05-29 06:41:23 +00:00
2009-02-05 19:37:49 +00:00
2009-02-05 19:32:34 +00:00
2009-02-17 19:12:15 +00:00
2009-06-13 08:57:04 +00:00
2009-06-26 11:45:06 +00:00
2009-05-29 06:41:23 +00:00
2009-03-09 13:23:54 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-03-09 13:30:00 +00:00
2009-06-11 17:14:54 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-05-13 19:29:50 +00:00
2009-07-05 18:15:06 +00:00
2009-06-25 18:46:30 +00:00
2009-06-11 17:06:58 +00:00
2009-06-26 11:45:06 +00:00
2009-06-11 17:14:28 +00:00
2009-06-26 11:45:06 +00:00
2009-02-16 20:12:28 +00:00
2009-06-16 14:55:13 +00:00
2009-04-14 11:57:26 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-05-20 17:29:21 +00:00
2009-05-20 17:29:21 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-12 20:00:38 +00:00
2009-06-11 17:14:28 +00:00
2009-06-28 20:52:11 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-06-26 11:45:06 +00:00
2009-05-20 20:00:40 +00:00
2009-06-26 11:45:06 +00:00
2009-06-13 21:55:08 +00:00
2009-06-26 11:45:06 +00:00