Well, you're looking for a filter that can produce steep flanks, and suppresses power well over all the stopband. Sounds like a job for a DFT approx/window filter design with a Dolph-Chebychev window.
In matlab, you'd use the
fir1 function to design your bandpasses with the
chebwin giving you an appropriate windowing function.
You'll need to specify an order as first argument to
Since we're not really computationally constrained, let's use the same order for all band passes, as that will lead to constant group delay.
What you forgot to specify is how much overlap you can tolerate: no real filter in this world can cut off at e.g. 3 Hz sharply! You need to allow for some transition width. That transition width defines the order you need (the sharper, the higher the order.
Following this answer, assuming 0.1 passband ripple and 60 dB stopband attenuation, we'd get for a transition width of 0.1 Hz for the first filter an order of about 1000.
That's a large filter, and it will probably take a while for the
fir1 method to complete, but because you have so little data to work with (in terms of computer speeds), that's going to be alright when applying the filter using the