Multiply FS Coefficients by 0 or 1 to get Low Pass Filter?
This is generally better visualized graphically. When you upsample a signal by inserting zeros between samples you get replicas of the original.

Let's take a simple bandpass signal and plot it. All I'm doing is taking noise and lowpass filtering it.

y = filter(fir1(255, 0.2), 1, randn(1, 1024));
plot(20*log10(abs(fft(y))))




Now let's plot an upsampled version. Usually L is used to denote the integer amount of upsampling in some texts, let's go with L = 2 &amp; 4.

subplot(211)
plot(20*log10(abs(fft(upsample(y, 2)))))
subplot(212)                            
plot(20*log10(abs(fft(upsample(y, 4)))))




Notice how we now have 2 &amp; 4 replicas of the original spectrum. This is effectively what happens when you upsample a signal.

Now the problem is I have spectral content in places that it shouldn't be. This is where lowpass filtering is used. In the time domain I'm filling in the zeros with interpolated data and in the frequency domain I'm trying to reduce that unwanted spectral content to finally arrive at these plots. Notice how the new filter cutoff frequencies are at fc/L since I've effectively increased the sample rate by fs*L. The original bandpass signal went up to 0.2*fs.

subplot(211)
plot(20*log10(abs(fft(filter(fir1(255, 0.10), 1, upsample(y, 2))))))
subplot(212)                                                       
plot(20*log10(abs(fft(filter(fir1(255, 0.05), 1, upsample(y, 4))))))