Saturday, February 1, 2020

3dB and 6dB Per Octave Rolloff Digital Filters / Generating Pink and Brown Noise


So I would like to have a design method for filters with 3dB and 6dB per octave roll off -- for generating pink and brown noise respectively.


I know the following 'pinking' filters exist: Filter to add 3dB per octave?


But the poster says he doesn't remember the value for A, nor does he give any idea of how he did it in the first place.


So my main question is:


How do we pick the poles and zeros of such a filter?



Answer




So I have figured out the answer, thanks to a little prodding by RBJ.


Creating -6dB/octave Filters and Brown Noise:



  1. Generate a White Noise Sequence.

  2. Design a 1st Order Butterworth Filter

  3. Apply 1st Order Buttworth to the White Noise Sequence [Use the Bilinear Transform to convert the analog coefficients to digital, and apply the digital filter to the white noise sequence].


Creating -3dB/octave Filters and Pink Noise:



  1. Generate a White Noise Sequence


  2. Generate arbitrary interleaved poles and zeros on the positive real line within the unit circle. Such that $|p_{i}| > |z_{i}|$ and $|z_{i}| > |p_{i+1}|$. Set the first pole close to the unit circle.

  3. Convert these roots to coefficients, and use these coefficients as the coefficients of a digital filter.

  4. Apply said digital filter to the White Noise Sequence.


What I am still not sure of is why we need to interleave the poles and zeros, but that isn't exactly what the question asked. Can anybody elaborate?


No comments:

Post a Comment

digital communications - Understanding the Matched Filter

I have a question about matched filtering. Does the matched filter maximise the SNR at the moment of decision only? As far as I understand, ...