OK, so you're just processing samples as they come in over Serial and you can control that rate so the Arduino doesn't get overloaded. Then you don't have any problem with limited storage. A typical FIR or IIR filter might use 20-50 storage locations, which would probably be 16-bit integers or 32-bit floats. That's not a very large amount of storage at all.
Well, an FIR filter would be implemented by storing the last M samples of the input and then running the filter over those samples when required. (See the t-filter example.) An IIR would run the filter on each incoming value and store M result values. The IIR would usually also store M input values so it would seem that it needs twice as much memory but usually M is much smaller for an IIR of equivalent performance.
Where is the data supposed to go after it's processed? Back to Matlab on Serial? Save it on an SD card?