Hello all,
I am playing around with the ArduinoFHT library. I am sampling at 9.6kHz for a Nyquist frequency of 4.8KHz. The basic RC low-pass filter as outlined here
http://interface.khm.de/index.php/lab/experiments/arduino-realtime-audio-processing/ doesn't seem to be doing the trick: I'm still getting high frequencies aliasing down into the spectrum, and I think the RC high pass might be attenuating the upper end of the pass-band more than is necessary.
My problem is: I haven't the faintest clue where to begin for a hardware anti-aliasing filter design. My instinct is to go with something with a sharp cutoff at the expense of adding some pass-band ripple. I know Matlab uses Chebyshev at 80% of the nyquist for anti-aliasing, but it looks like maybe an Elliptic filter would give even sharper cutoff?
Once I've selected a filter, how do I go about building it? I haven't even been able to get a simple op-amp preamp to work, so I'm interested in a tutorial that is as detailed as possible, for absolute beginners in hardware filter implementation, but thorough enough to actually show me how to build a filter that meets my needs. Do I want an active or passive filter? How do I compute component values to achieve the desired pass-band? If the pass-band cutoff frequencies do not uniquely specify the component values, what sort of engineering trade-offs are captured by the additional degrees of freedom? If anyone has solved this problem before and has a circuit that I can just drop in and have work, that would be amazing.