Skip to main content

Timeline for Inter-filter bit width

Current License: CC BY-SA 3.0

11 events
when toggle format what by license comment
Jul 18, 2016 at 22:01 history bumped CommunityBot This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
Jun 18, 2016 at 14:44 answer added John McGrath timeline score: 0
Jun 17, 2016 at 20:00 history edited robert bristow-johnson CC BY-SA 3.0
deleted 98 characters in body
Jun 17, 2016 at 19:46 comment added Dan Boschen In general as a rule of thumb, to maintain a 90 dB signal path SNR, the number of bits in the signal path must be 15 bits ((90-1.76)/6 if a sine wave, more if the peak-avg ratio in your signal is higher), so 16 bits sounds right. The coefficients should be 2 bits larger to ensure the filter rejection will exceed the 90dB (so 18 bits), and then all taps are accumulated with extended precision (at least $log_2(K)$ for a K-tap FIR. The final accumulated result can be scaled back to 16 bits, and you should have no problem with achieving your rejection and SNR requirements.
Jun 17, 2016 at 18:24 answer added Dan Boschen timeline score: 1
Jun 17, 2016 at 3:23 history edited Gilles CC BY-SA 3.0
improved formatting
Jun 17, 2016 at 0:04 comment added Arnfinn Does the output from the first stage look alright after re-quantizing to 16-bit? It could be a quantization artifact, so depending on how you measure, it could include non-linear effects. Have you tried dithering when re-quantizing?
Jun 16, 2016 at 22:25 comment added Fat32 ok. I suspect if it's $20 \log_{10}(2^{15}) = 90.30$, very roughly, is the reason why you'll have difficulty in representing a 90 dB dynamic range under 16-Bit uniform quantization. For nonuniform quantization (FPU) things can change.
Jun 16, 2016 at 22:03 comment added John McGrath This is a fixed-point implementation. I used floating point only to check the delta between the ideal case and the fixed-point case.
Jun 16, 2016 at 21:37 comment added Fat32 Looking at the question I cannot see if it's a floating point or fixed point or an integer implementation. I think it matters in defining the dynamic range...
Jun 16, 2016 at 21:17 history asked John McGrath CC BY-SA 3.0