This is not a homework question (I'm out of school now 2 years). I'm thinking, let's say you have 2 systems, one at 32khz and the other at 48khz and you want to go between the two. Is there a way to accomplish this with a single filter? I have a feeling that if you make an FIR where every other coefficient is zero and exploit the fact that if fs = 32khz and 48-32=16=fs/2, then zeroing out every other coefficient of an FIR (but how many taps) would do both the zero-padding and the anti-aliasing simultaneously. Am I on the right track or is there some other trickery involved?
EDIT:
Now that I think about it, to go from 32khz to 48khz you interpolate 3x and decimate 2x (32*3=96khz...96/2=48). So in effect you would pad two zeros first but then take out one in the decimation, but just inserting one zero would yield 64khz decimation (with a 32khz lowpass decimation).
EDIT 2:
Furthermore, wikipedia interpolation: "Upsampling requires a lowpass filter after increasing the data rate, and downsampling requires a lowpass filter before decimation. Therefore, both operations can be accomplished by a single filter with the lower of the two cutoff frequencies. For the L > M case, the interpolation filter cutoff, \tfrac{0.5}{L} cycles per intermediate sample, is the lower frequency."