Hello, this is my first post here, please bear with me if I unknowingly break any netiqutte.
For days I have been googling, reading many threads, the Audio and OpenAudio documentation, and I am stuck. I may have missed some relevant links, but, believe me, I have tried.
This is my project:
I want to apply a real time FIR band pass filter to an analog signal with teensy 3.6, Audioshield and Arduino IDE.
I would like to use 96 kHz sampling frequency, have a 1 kHz bandpass and a stopband attenuation of -40dB. These conditions can be relaxed slightly.
I would like to use a FIR filter, and that would need something between 500-800 taps (approximately) to get those requirements.
Initially, the passband frequency could be fixed (say 25 kHz), but in future implementations, I would like to tune it from 10 to 48 kHz.
With the Audio library for Teensy (AudioFilterFIR class) I am limited to 200 taps and the default 44117 samples/s rate. I can get that working without issues.
With the OpenAudio_f32 library, the AudioFilterFIR_F32 class is also limited to 200 taps, but could be used at higher sample rate, if I am not mistaken. And the AudioFilterFIRGeneral_F32 class can handle more taps, but it is not ready to accept a 96 kHz sampling rate, again, if I am not mistaken.
So, my question is: is there an 'easy' way to get the higher number of coefficients and the higher sample rate at the same time? I think I do not really need float precision. By 'easy' I mean that I am not a programmer, and I would rather use something similar that is already working and I would only tweak it with my whims.
If you could give me some hint or point me to an example, post, web page ... from which I could build upon, it would be most greatly appreciated.
And I also would like to thank all the developers and contributors for the Tennsy and audio libraries. You are awesome!
Cheers,
Pepe
For days I have been googling, reading many threads, the Audio and OpenAudio documentation, and I am stuck. I may have missed some relevant links, but, believe me, I have tried.
This is my project:
I want to apply a real time FIR band pass filter to an analog signal with teensy 3.6, Audioshield and Arduino IDE.
I would like to use 96 kHz sampling frequency, have a 1 kHz bandpass and a stopband attenuation of -40dB. These conditions can be relaxed slightly.
I would like to use a FIR filter, and that would need something between 500-800 taps (approximately) to get those requirements.
Initially, the passband frequency could be fixed (say 25 kHz), but in future implementations, I would like to tune it from 10 to 48 kHz.
With the Audio library for Teensy (AudioFilterFIR class) I am limited to 200 taps and the default 44117 samples/s rate. I can get that working without issues.
With the OpenAudio_f32 library, the AudioFilterFIR_F32 class is also limited to 200 taps, but could be used at higher sample rate, if I am not mistaken. And the AudioFilterFIRGeneral_F32 class can handle more taps, but it is not ready to accept a 96 kHz sampling rate, again, if I am not mistaken.
So, my question is: is there an 'easy' way to get the higher number of coefficients and the higher sample rate at the same time? I think I do not really need float precision. By 'easy' I mean that I am not a programmer, and I would rather use something similar that is already working and I would only tweak it with my whims.
If you could give me some hint or point me to an example, post, web page ... from which I could build upon, it would be most greatly appreciated.
And I also would like to thank all the developers and contributors for the Tennsy and audio libraries. You are awesome!
Cheers,
Pepe
Last edited: