Welcome Guest ( Log In | Register )

Dither after adding four PCM 16 bit signals?
post Oct 16 2012, 21:59
Post #1

Group: Members
Posts: 2
Joined: 16-October 12
Member No.: 103896

Hello all!

My DSP application is implemented on a FPGA using VHDL. Basically there are four 16-Bit PCM audio signals with 48k sample rate.
After processing each audio signal separately (one multiplication with a factor that depends on a sensor) i add those four audio signals to get a unified signal.
So the question is now, when i add those four audio signals i get a 18 bit result, but i must reduce the bit depth back to 16 bit to hand it to the audio codec chip (DAC).
Should i dither in this case? Or what is the typical approach when adding PCM audio signals and then want to go back to the original bit depth?
All calculation is done in fixed point.


This post has been edited by Zopfi: Oct 16 2012, 22:00
Go to the top of the page
+Quote Post
Start new topic
post Oct 17 2012, 10:18
Post #2

Group: Members
Posts: 835
Joined: 17-September 06
Member No.: 35307

The other option is that if the DAC permits 24-bit audio input and you're not restricted by something like a serial link's data rate, just send that.

Technically, dither is required as Arnold says, and with certain test tones, lack of dither may become audible. The digital multiplication of one signal may also increase the bit depth beyond 18 bits. It would be best practice always to dither.

With real music at normal volumes, in practice, I'm not aware of any sources demonstrating that lack of dither has been shown to be audible in double-blind tests, but it might show up in deep fade outs turned up way beyond normal listening levels, so there can be practical scope to make engineering compromises if resources are tight.

I'm not that familiar with current FPGAs and programming in VHDL, but you can probably get away with a fairly short sequence pseudorandom number generator to sufficiently decorrelate the truncation error from the signal, thereby not requiring huge numbers of gates to be spent on dither architecture if your resources are limited, though I suspect modern FPGAs have so many gates that it's not an issue for most designs, so why not use the best available.

If resources become tight, the engineering choice depends a lot on what you can know about your signals and their noise content. I guess with audio signals, noise is sometimes going to be at or below the 16th bit level, so dither is preferable.

There can also be potential issues with quantization error if there's not sufficient noise on the analogue side in certain types of ADC (not delta-sigma, but potentially SAR), so that's potentially just as important (or just an unimportant!) as DSP dither, depending on your architecture.
Go to the top of the page
+Quote Post

Posts in this topic

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:


RSS Lo-Fi Version Time is now: 26th November 2015 - 12:13