So as Nigel and Robert have already explained, in general you need to separately handle the spectral shaping and pdf shaping. This dither algorithm works by limiting to the particular case of triangular pdf with a single pole at z=+/-1. For that case, the state of the spectral shaping filter can be combined with the state of the pdf shaper, and so a single process (with no multiplies!) handles both pdf shaping and spectral shaping.
For arbitrary order M, you would roll one die at each step and then sum it with M previous rolls (possibly with some set of signs inverted). So the OP example is M=1. You have your choice of 2^M spectral shapes, depending on which (if any) of the previous rolls you invert. For the "highness" output, you will want to invert every other previous roll. As M increases, the output gets more Gaussian. However for higher orders this multiplier-free algorithm does not produce attractive spectral shapes. For even orders, the highpass does not have a zero at z=1. For odd orders, the frequency response has large notches in the middle of the bandwidth. For most applications, a triangular pdf with single zero at z=1 is a perfectly good dither configuration, and there is no need to go any further. If you are looking for a higher-order dither algorithm without multiplies, I think the way to extend this would be to include bit shifts in the summation. Then you can get some reasonable spectral shapes. The simple summation approach is too constrained for orders>1. Ethan On Thu, Jun 27, 2019 at 7:43 AM Alan Wolfe <alan.wo...@gmail.com> wrote: > I read a pretty cool article the other day: > https://www.digido.com/ufaqs/dither-noise-probability-density-explained/ > > It says that if you have two dice (A and B) that you can roll both dice > and then... > 1) Re-roll die A and sum A and B > 2) Re-roll die B and sum A and B > 3) Re-roll die A and sum A and B > 4) repeat to get a low pass filtered triangular noise distribution. > > It says that you can modify it for high pass filtered triangle noise by > rolling both dice and then... > 1) Re-roll die A and take A - B > 2) Re-roll die B and take B - A > 3) Re-roll die A and take A - B > 4) repeat to get a high pass filtered triangular noise distribution. > > What i'm wondering is, what is the right thing to do if you want to do > this with more than 2 dice? (going higher order) > > For low pass filtered noise with 3+ more dice (which would be more > gaussian distributed than triangle), would you only re-roll one die each > time, or would you reroll all BUT one die each time. > > I have the same question about the high pass filtered noise with 3+ more > dice, but in that case I think i know what to do about the subtraction > order... I think the right thing to do if you have N dice is to sum them > all up, but after each "roll" you flip the sign of every die. > > What do you guys think? > _______________________________________________ > dupswapdrop: music-dsp mailing list > music-dsp@music.columbia.edu > https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp