Where to go from here :S

I didn't really mean doing all your measurements in a single sketch. You have no way of knowing how much of the memory cost of using the SD library occurs when you create an instance.

What I meant was create a sketch that does nothing, and measure the free memory. Now add in (say) the GPS library and code to use it in some representative way. What's the free memory now? Then add in your filter library and code that does whatever you need with it. How much did the free memory change? Then do the same with the SD library. How much memory is that costing you?