Polyphase decomposition to channelize audio input. Anyone done this on a Teensy?

Status
Not open for further replies.

kdharbert

Well-known member
I have an acoustic ranging projected and I need to channelize the audio input to differentiate between targets. Channelizing filters must be linear phase which means FIR. I was able to get a single high order bandpass filter to work within the compute budget of a Teensy4.0. I reached out about possibly needing an FPGA to be able to support the rest of the bandpass filters needed for channelization, and polyphase quadrature filters were recommended to me. After reading, it seems yes, this is a better solution. It was recommended that I use ARM libraries that implement these filters, but documentation seems scarce. However, according to the docs I've read, the code should be simple, and it seems there's little opportunity for inefficiency if I do it right.

Anybody with experience on this?
 
If you're not an expert, you're going to want to switch to away from the fixed-point filters (and other math) used in the audio library. You'll want to use floating point.

My Tympan library is based on the audio library but is floating point. It is nominally aimed at hearing aids, but it is general purpose. It also has a hardware portion of the project, but (I think) it works fine with any I2S audio source, such as the teensy audio shield.

You might be interested because it includes fft-based design of FIR filters, which you might find helpful. It's designed for Teensy 3.5/3.6. I'm working on extending it to Teensy 4.

https://github.com/Tympan/Tympan_Library/tree/master/src

Like with the normal audio library, this one comes with all sorts of examples to show you how to get started with the library.
 
Status
Not open for further replies.
Back
Top