I am learning resampling theory, and for the time being I am specifically interested in downsampling. I have a textbook that is not a dsp textbook but has a section on resampling. The way they put it, resampling has three steps: Rebuild the analog signal, LPF it, then resample at the new rate. So the equivalent of: DAC, LPF, ADC. All of this happens in a single calculation. To reconstruct the signal, we multiply the sampled signal by a LPF with frequency response H(w), with the cutoff at ws/2. The filter h(t) is called the "interpolation filter."
$$ x(t)=x_s(t) \ast h(t)=\sum_{n=-\infty}^{\infty}x_nh(t-t_n) $$
We can obtain new samples with:
$$ \DeclareMathOperator{\sinc}{sinc} x_m=\sum_{n=-\infty}^{\infty}x_nh(t_m-t_n) $$
If we are downsampling, we want to filter at the bandwidth of our new sampling rate. $\omega_s$ is the new sampling rate.
For an ideal LPF, $h(t)=\sinc(\frac{\omega_st}{2})$ and $x_m=\sum_{n=-\infty}^{\infty}x_n\sinc(\frac{\omega_s(t_m-t_n)}{2})$ therefore we are doing sinc interpolation. My book points out that this is impractical for two reasons:
- All of the above assumes we have an infinite number of samples.
- It is based on an ideal LPF which is not realizable.
The book then goes on to analyze truncated sinc filters with a hann window applied. Now I have a few questions:
- The FT of a pulse train is itself a pulse train. Therefore our sampled signal we treat as an infinite number of copies of the original frequency spectrum. However, if we have a limited number of samples, $h(t)=\sum_{n=0}^{N-1}\delta(t-nT_s)$ and $H(\omega)=\sum_{n=0}^{N-1}e^{-j\omega(t-nT_s)}$. If the limits of summation were infinite, this would be an infinite pulse train. When they are finite, I'm not so sure. I'm having trouble visualizing what this would look like. Is this just a pulse train from n=0 to n=N-1? If not, what does it look like and how does it affect $X_s(\omega)$? Is it a reasonable approximation for a large number of samples to estimate $X_s(\omega)$ as an infinite number of copies of $X(\omega)$? And if so, why does my book list this as being an issue with the above resampling theory?
- For digital filters in general (such as a FIR low pass filter used as an interpolation filter), do they only operate in the range of $\frac{-\omega_s}{2}$ to $\frac{\omega_s}{2}$? Surely a "true" LPF (analog) would cut out the copies of the spectrum and leave us with a scaled version of $X(\omega)$. I'm imagining digital filters as operating in the above range, and therefore affecting all copies of the original spectrum as well.
- Very similar to the question above, couldn't an analog LPF be used as a DAC? Simply output the samples as high voltage impulse "spikes" through an analog LPF to filter out the copies and you are left with the original spectrum.
- The main reason I understand LPFs to be nonrealizable is that they are noncausal. I don't really understand why noncausal filters are not possible. For a real-time filter such as an RC low-pass this makes sense, but when the filter is applied in software after collecting all the samples, I see no reason a "previous" sample cannot be used to determine the weighting for a "future" sample. Isn't this a noncausal filter?