Electronic – Is Kalman filter suitable for smoothing sound spectrum

digital filtersignal

I'm implementing a software similar to a real-time spectrograph with a modified FFT. The output vector summarizes the intensities of various musical tones present in the input signal. Its size is a small constant (compared to the FFT window size) and the values can be continuous. The problem is there is a lot of noise both from the signal itself and from the transformation process. I think that some kind of smoothing could help since the tones that should be emphasized are typically of longer duration and the noisy values vary much from one frame to another.

I've came across the Kalman filter which is used mainly in real-time control systems. It seems to be very powerful. As I've dug into the literature I've gotten unsure if this kind of filter is really suitable for my problem. It seems that the Kalman filter requires modelling the underlying linear process. On the other hand I don't assume any particular process behind the signal. Should I just model a trivial steady-state process or this kind of filter is not suitable?

Best Answer

You can certainly use an adaptive Kalman Filter to identify or remove noise, and there are hundreds of articles on this in the signal processing literature. Whether you need to or not depends on the nature of your task and the noise -- whether the noise is in the frequency range of the signal, whether the noise is signal dependent, etc.

If it were me, unless there were reason to do otherwise, I'd try (in the following order)

1) make sure the signal is good -- i.e., make sure you're doing everything you can to quash the noise before its acquired, and make sure you're not doing something silly, like aliasing your noise into the signal by not acquiring fast enough or prefiltering (which will make your task very difficult

2) Try standard filtering techniques, like FIR and IIR filters to do what you need to do

3) Move on to non-linear, but easy, techniques, like median filtering, Sovitsky-Golay filtering, ..., which might be more tolerant to your noise.

4) Pull out the big guns-- the adaptive filters.

Finding the right filter in tough situations can be a matter of rolling up your sleeves and trying different things.

Related Topic