# How to filter signals with non-uniform sampling rate?

I have a digital signal that was made from analog one by staggering sampling rate:

$\tau_i = \begin{cases}\tau_{even}& \text{if } i = 2n\\ \tau_{odd} & \text{if } i = 2n+1\end{cases}$

And I have a simple correlative filter, for example, smoothing filter

[1, -2, 1]


How should I calculate frequency response of such a filter?

• Has the analog signal been bandlimited before sampling? Jul 14, 2015 at 17:56

I know this is an old question, but @Jdip answers it directly in this answer to my related question. I'll quote directly from his answer:

Digital Spectra Of Non-Uniformly Sampled Signals : Theories and Applications is a somewhat obscure reference (from 1988! can't go wrong!) that gives a general representation of the spectrum of a special case of non-uniformly sampled digital signals: periodically non-uniform sampled signal.

He continues with details from the paper:

The paper deals with a special case of non-uniform sampling, Periodically nonuniform sampling, expanding on @Fats32’s answer regarding

sampling instants periodically repeated by blocks of $$N$$ It starts with a signal $$g(t)$$, band-limited to ($$-1/2T, 1/2T$$), with Fourier transform $$G^a(\omega)$$:

The signal $$g(t)$$ is sampled in such a structured way that the sampling time instances [...] have an overall period $$MT$$.

It then defines another band-limited sequence, $$\bar{g}(t)$$:

The sampled data sequence is then treated as if it were obtained by sampling another function $$\bar{g}(t)$$, [...] at uniform rate $$1/T$$.

and states the aim of the paper (which answers your question, at least for these types of non-uniformly sampled signals):

We are interested in finding the representation of the digital spectrum of $$\bar{g}(t)$$ in terms of the Fourier transform $$G^a(\omega)$$ of $$g(t)$$.

Using the framework described above, it then goes through a really nice derivation of $$G(\omega)$$ to arrive at two representations, from which you can see the effect of the non-uniform sampling on the spectrum:

$$G(\omega) = \frac{1}{MT} \sum_{m=0}^{M-1}\left[\sum_{k=-\infty}^{\infty}G^a\left[\omega-k(\frac{2\pi}{MT})\right]e^{j[\omega-k(\frac{2\pi}{MT})]t_m}\right]e^{-jm\omega T} \tag{2}$$

And re-writing (2) with $$t_m = mT - r_mT$$, $$r_m$$ being the ratio of $$mT - t_m$$ to the average sampling period $$T$$ gives (4):

$$G(\omega) = \frac{1}{T}\sum_{k=-\infty}^{\infty}\left( \frac{1}{M}\sum_{m=0}^{M-1}e^{-j\left[\omega-k(\frac{2\pi}{MT})\right]r_mT}e^{-jkm(\frac{2\pi}{M})}\right)G^a\left[\omega-k(\frac{2\pi}{MT})\right] \tag{4}$$

Relevant, Synchrosqueezing-based Recovery of Instantaneous Frequency from Nonuniform Samples. The main result is that SSQ beats traditional bandlimited reconstruction approaches for a certain class of random sampling instant perturbations.

Filtering is achieved by manipulating the transform, followed by inversion. SSQ is implemented in Python at ssqueezepy.

• Out of curiosity, what is the class of random sampling perturbations that SSQ is better for? Aug 27, 2022 at 20:43
• @Gillespie WGN?. Not too familiar with the paper. Aug 28, 2022 at 14:56