Reconstruction of bandpass filtered signal from decimated version of itself I know how to up-sample a discrete, real signal (by an integer factor n) that is band-limited to frequencies between $f_1 = 0 \mathrm{Hz}$ and and $f_2$: Just insert $n-1$ zeros between every original sample (thereby multiplying the sampling rate by $n$) and send the result through a brick wall (sinc) filter to get the interpolated values.

In my DSP book I've read about a generalization of the sampling theorem:
If I have a discrete, real signal that is band-limited to frequencies between $f_1 = f_0  k$ and and $f_2 = f_0  (k + 1)$, with $k$ even, I can just subsample it with a frequency of $2 f_0$ (i.e. decimate) it, and I will retain the complete information (basically the frequencies get shifted down to the baseband between $0 \mathrm{Hz}$ and $f_0$).

My question to you: does the following method let me correctly reconstruct the original signal (in the frequency range between $f_1$ and $f_2$ as given in the previous paragraph) from the decimated signal?

Just insert $k-1$ zeros between every original sample (thereby multiplying the sampling rate by $k$) and send the result through a brick wall filter (bandpass filter with passband $f_1$ … $f_2$) to get the interpolated values.

If this method is not correct, what needs to be changed to get the correct results?

I assume the problem could also be solved by converting to an analytic signal, upsampling in the baseband and then shifting the frequencies up by $f_1$. I want to avoid this because of the additional cpu load this would cause. Please let me know whether you think the method above would work as well, or some other ways to save some processing costs.

Looking forward to your tips,

Flo
Zero stuffing (which is what you propose) will cause a lot of harmonics in the upsampled signal.  They will be proportional to the strength of the original signal.  Your brick wall filter (a low pass will do, no need for a bandpass) will greatly reduce them, but won't get rid of them entirely.

Depending on your application, the result of zero stuffing and filtering may be fine.  If not, you could minimize the harmonics with a couple of methods.

You could duplicate samples (original sample+ (n-1) copies.)

You could interpolate (calculate values along the line between sample und sample+1.)

Duplicating is easy and will cost about as much processor time as zero stuffing.
Interpolating would be smoother but would cost more time as you must calculate individual values.