Does there has "Half-Order Filter" (3dB/oct) ?
Hello,
I am trying to make a 3dB/oct High-Pass Filter, maybe it can call "half-order"?
Because as I know the basic order for the first-order filter is 6dB/oct, but how can I make a 3dB/oct filter?
here is the 200Hz 6dB/oct High pass filter:
but how to make 200Hz 3dB/oct High pass filter, which slope is more gentle than the 6dB/oct.
Thanks!
BR.
Alvis
Audio Signal Processors
adau1452
filter_design
6dB/oct
filter
3dB/oct
Half-Order
adau1452 sigmastudio
SigmaDSP Audio Processors
First-Order
Show More
The first obvious thing I can think of is to take the square root of the transfer function as power series, truncated to a sufficiently large number of terms, and implement that as a FIR filter. The problem is that the number of terms required to get a good approximation may be prohibitively expensive, especially for a low cut-off frequency. I've computed the first 10240 terms of the filter you requested using this method, but I haven't analyzed it to check if it's a decent approximation (let alone after truncating it to a more reasonable length).
Hello Alvis,
You can trick a low-shelf filter into approximating your desired response. By setting its fo = 26 Hz, slope factor = 0.21, and boost = -25 dB, you get the result shown below -- a highpass whose -3 dB point is near 200 Hz, with a 3 dB / octave (10 dB / decade) slope down to below 3 Hz:
Note that the stock shelf filter only allows for a -10 -- +10 dB boost, so I calculated the needed coefficients with the attached spreadsheet, then typed them manually into the filter as shown above. Small coefficient changes result in large response swings, suggesting that double-precision arithmetic should be used.
Best regards,
Bob
5706.1st-2nd-Order_IIR_Coefficient_Calculator.zip
Hello matthijs and Bob,
Thanks you guys for replying me!
I will do some testing with this method!
very appreciate!
BR,
Alvis
Hello Matthis & KJBob,
I have lots of experience with 1452, and have implemented the pinking filter in Sigma Studio many times. However, I am now in SHARC world and would like a way to obtain a half-order response so I can generate pink noise noise within SHARC. Can you direct me to some resources on this topic? I cannot seem to find any canned resources for white or pink noise within the SAM BareMetal Framework.
Also, I have the analog transfer function for the half order filter, and it simulates a 3dB response very nicely in a spreadsheet (after some algebraic manipulation to obtain the magnitude function):
However, not sure if I can apply a bilinear transform to generate a z-domain diff equation from which I can derive coefficients for a first-order pole/zero function.
Are there resources within the SHARC domain that are available to be able to do this? If so, I cannot seem to find them. Any help would be greatly appreciated.
cheers,
chuck
Hello Matthis & KJBob,
I have lots of experience with 1452, and have implemented the pinking filter in Sigma Studio many times. However, I am now in SHARC world and would like a way to obtain a half-order response so I can generate pink noise noise within SHARC. Can you direct me to some resources on this topic? I cannot seem to find any canned resources for white or pink noise within the SAM BareMetal Framework.
Also, I have the analog transfer function for the half order filter, and it simulates a 3dB response very nicely in a spreadsheet (after some algebraic manipulation to obtain the magnitude function):
However, not sure if I can apply a bilinear transform to generate a z-domain diff equation from which I can derive coefficients for a first-order pole/zero function.
Are there resources within the SHARC domain that are available to be able to do this? If so, I cannot seem to find them. Any help would be greatly appreciated.
cheers,
chuck
No, you can't, no actual (analog or digital) filter has this magnitude response, it's not even mathematically possible (there's no differentiable complex function whose absolute value matches that formula, you can't have a "half order" pole or zero, only integer order).
In practice, pinking filters are implemented as stack of second-order (biquad) filters whose coefficients have been numerically optimized to match the desired magnitude response over the frequency range of interest (which needs to keep some distance from DC and Nyquist). This beautiful Web 1.0 page has some examples: https://www.firstpr.com.au/dsp/pink-noise/
Hello Chuck,
It seems like the approximation that KJBob has done would work fine in the SHARC world. You would just apply the coefficients to the filters in the SHARC.
Have you tried that?
Dave T
Please log in to reply.



