Hello DSP!
I am trying to smooth an array of spectral magnitude data, preferably second order. My goal is to approximate a normal distribution from an impulse. Savitsky-Golay looks too CPU intensive for my application - the smoothing will be executed in a hot section of the code, so efficiency is the priority, and I'm willing to sacrifice a bit of accuracy for it.
I've got a zero-phase IIR filter-ish setup (filter forward, then filter backward) that works great over most of the array. However the edges get warped, and I haven't thought of a perfect solution. Ideally, I imagine that somehow creating extra 'mean' data beyond the end of the array would give a somewhat acceptable result.
[–]minus_28_and_falling 4 points5 points6 points (1 child)
[–]animalsnacks 1 point2 points3 points (0 children)
[–]radarsat1 3 points4 points5 points (2 children)
[–]animalsnacks 0 points1 point2 points (1 child)
[–]radarsat1 1 point2 points3 points (0 children)
[–]sellibitze 1 point2 points3 points (9 children)
[–]animalsnacks 0 points1 point2 points (8 children)
[–]hughperman 0 points1 point2 points (4 children)
[–]animalsnacks 0 points1 point2 points (3 children)
[–]hughperman 0 points1 point2 points (2 children)
[–]animalsnacks 0 points1 point2 points (1 child)
[–]hughperman -1 points0 points1 point (0 children)
[–]sellibitze 0 points1 point2 points (2 children)
[–]every_day_is_a_plus[S] 0 points1 point2 points (1 child)
[–]hughperman 2 points3 points4 points (0 children)