I have a continuous-time signal $x(t)$ that has the following properties:

  1. It is periodic, with a periodicity of 1 (sec).
  2. It has no discontinuities or infinite values at any time.

I want to come up with an LPF to pass $x(t)$ through, but with the following requirements:

  1. The filter is ideal (see point #3), continuous-time, with an impulse response $h(t)$ (and frequency response $H(f)$).
  2. The filter need not be a simple looking one like a brick-wall LPF. But $h(t)$ should be describable in closed form (piece-wise definition ok too). I am not looking for anything that involves stuff like dirac-delta function or infinite sums or something that can only be defined as an integral, etc.
  3. Any cutoff frequency is ok, but should be a finite number. Beyond that cutoff frequency, $H(f)$ should be 0 (not slowly reaching 0 asymptotically).
  4. The main requirement is that the output $y(t) = x(t)\star h(t)$, should have the same values as $x(t)$ at times $0, 1, 2, 3, \ldots$ i.e. $y(t) = x(t)$ for all integers. At other times, there is no restriction on how $y(t)$ should look like, except that it should be finite at all times.
  5. The filter need not be physically realizable. Just a mathematical definition is good enough for my purpose.

Of course, since I have given very few specifics, I am not expecting an exact $h(t)$ or $H(f)$ as an answer, but looking for what generic shape such a filter will have.


It looks like you want a filter that is linear time invariant. I don't think it is possible to meet all your criteria with an LTI filter, but I think it you can get close with the filter $$ H(s) = \frac{1}{2} \frac{1 + \text{e}^{-L s}}{1 + \alpha ( 1 - \text{e}^{-L s})} $$ where $\alpha > 0$ and $L$ is the period of $x(t)$. There is unity gain at the harmonics, and a zero between each harmonic. It should follow the input signal due to the internal model principle.

Going through your checklist:

  1. It is continuous time, and it has an impulse and frequency response.
  2. The impulse response is describable in closed form, as a Fourier series, but it will be an infinite sum. The stationary response, however, is $y(t) = x(t)$.
  3. This is the criterion that can not be fulfilled, as the filter magnitude alternates between 0 and 1. If $x(t)$ is not bandwidth limited, I guess a cut-off frequency can not really be defined, and you just want to attenuate frequency content that are not at the harmonics, in which case the above filter will work.
  4. This was your main requirement, and the above filter will respond exactly like that using a suitable initialization function. The filter response is bounded theoretically, but it is not structurally stable, hence it will not work well in practice. Limiting the bandwidth of the zero generating functions with a unity-gain low-pass filter $Q(s)$ should help: $$ H(s) = \frac{1}{2} \frac{1 + Q(s) \text{e}^{-L s}}{1 + \alpha ( 1 - Q(s) \text{e}^{-L s})} $$
  5. The filter is physically realizable if $Q(s)$ is stable and causal (e.g. not zero-phase), but it will then lose precision in the zero locations for the numerator and denominator.
  • $\begingroup$ I am not familiar with the definition of the term "stationary response". I do understand a bit of random variables and stationary processes. A google search for this term is not yielding any introductory material. Any basic references is appreciated. $\endgroup$ – Srini May 24 '16 at 20:45
  • $\begingroup$ A stationary signal or process [en.wikipedia.org/wiki/Stationary_process] is one that does not change statistical properties over time, e.g. the mean and variance. I guess the term steady-state is more common for sinusoidal signals. The steady-state or stationary response is the forced response of the filter -- what the response converges to after the transient response has died out. There used to be a good article on Wikipedia about LTI systems, but I can't find it, but the forced response is the last term in eq. (19) in [web.mit.edu/2.14/www/Handouts/StateSpaceResponse.pdf] $\endgroup$ – Arnfinn May 24 '16 at 23:41
  • $\begingroup$ Sorry for the brackets, I didn't know they end up in the link... Try: en.wikipedia.org/wiki/Stationary_process and web.mit.edu/2.14/www/Handouts/StateSpaceResponse.pdf $\endgroup$ – Arnfinn May 24 '16 at 23:49

If $x(t)$ has period $T=1$, then $y'(t)=x(t)\star g(t)$ also has period $T=1$ for any filter $g(t)$.

Assume that $y'(t)$ is not the zero signal (in other words, assume the filter $g(t)$ is such that its cutoff frequency is larger than 1 Hz).

Now, let $$h(t)=\frac{x(1)}{y'(1)}g(t).$$ Then, if $y(t)=x(t)\star h(t)$, it follows that $y(n)=x(n)$ for $n$ integer.

Note that the definition of the filter $h(t)$ depends on the values $x(1)$ and $y'(1)$. There is no low-pass filter that will meet your condition #4 for general $x(t)$.

[Thanks to RBJ for helping me see an error in my previous answer]

  • 1
    $\begingroup$ he was saying that $T=1$, but anyway, #4 should be generally possible. $x(nT)$ is a constant (independent of $n$) and so is $y(nT)$. as long as $x(nT) \ne 0$ and $y(nT) \ne 0$, then $y(nT) = A \cdot x(nT)$. where $A$ is whatever scaler needed to turn $x(nT)$ into $y(nT)$. then divide $h(t)$ by $A$ and then $y(nT) = x(nT)$. $\endgroup$ – robert bristow-johnson Apr 22 '16 at 4:59
  • $\begingroup$ @robertbristow-johnson Thanks for pointing that out; I may have been overthinking the problem. I'll review my answer. $\endgroup$ – MBaz Apr 22 '16 at 13:43
  • $\begingroup$ @robertbristow-johnson I've improved my answer, but I think the conclusion doesn't change, if we insist on a filter that works as specified for general input $x(t)$. $\endgroup$ – MBaz Apr 23 '16 at 1:33
  • $\begingroup$ MB, maybe i will have to make a stab at this one. it just seems to me that, given the same initial assumptions and initial results: 1. that if $x(t)$ is periodic with period $T$, then also must be $y(t)$ with the same period and 2. then $x(nT)$ must be constant for any integer $n$ and so also must $y(nT)$ be constant, albeit not necessarily the same constant. now, if all that is true and if we can come up with the condition necessary to make sure that the constants that $x(nT)$ and $y(nT)$ are, are not zero, the all we need to do is scale $h(t)$ by something to make the constants the same. $\endgroup$ – robert bristow-johnson Apr 23 '16 at 3:28
  • $\begingroup$ @robertbristow-johnson I think we are in agreement. If there is something in my answer that contradicts what you said, then I'm being unclear. Note that my conclusion is that the scale factor depends on $x(t)$, and that is why I thinkg there is no general solution that works for all $x(t)$. $\endgroup$ – MBaz Apr 23 '16 at 15:25

You can't make the filter general, that is, independent of $x(t)$.

For a general filter not dependent on $x(t)$ your requirement #4 means that $y(t) = x(t)$, because if the filter is general, it must work just as well for a time-shifted $x(t)$. So due to the time-invariance property of filters, in requirement #4, $y(t) = x(t)$ for all integer $t$ becomes $y(t+u) = x(t+u)$ for all integer $t$ and all real $u$, which can be written simply as $y(t) = x(t)$ for all real $t$. So the filter must pass the signal unchanged. That requires $x(t)$ to be band-limited and the filter can no longer be general: the band-limit of $x(t)$ must be known in order to decide on the filter, which must have in its magnitude frequency response a flat passband of at least the bandwidth of $x(t)$. Without knowing the band-limit of $x(t)$ we would need the filter to have infinite bandwidth which is ruled out by your #2 that prohibits using the Dirac delta function and related abominations.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.