1
$\begingroup$

The question is, how to attain the frequency domain representation of any signal (which is finite, non-unit length) convolved with an IIR filter.

The correct answer in my opinion is that there is in fact no answer, which might seem very strange at first. But if we work through the math and use the property of circular convolution we of course will still get an answer.

So let's say our signal is simple discrete step function of the length N-1, starting at t=0, the frequency domain representation is then:

$$F(\omega)=\large e^{j \omega\frac {N-1}{2}}$$

To make the point clearer let's say the IIR filter is of the form. $h(n) = \cos(\omega_0 n)$, which converter to frequency domain is equal to:

$$ H(\omega)= \begin{cases} 1, & \omega = \omega_0 \\ 0, & \text{otherwise} \end{cases} $$

Calculating the frequency representation of the convolution can be done using the formula $$Y(\omega)=F(\omega) H(\omega)$$

Where $Y(\omega)$ is the frequency domain representation of the convolution. However, there is a problem, convolving these functions necessarily results in time domain aliasing, as there is no possible way of having zeroes near the edges. And so, the aliasing occurs, thus the result is:

$$ F(\omega) G(\omega)= \begin{cases} \large e^{j \omega\frac {N-1}{2}}, & \omega = \omega_0 \\ 0, & \text{otherwise} \end{cases} $$

In time domain the result is either sinusoidal wave or nothingness, depending on the frequency of the sine wave and width of the pulse we started with.

So continuing this line of thought, sine waves in LTI systems have linear response because of circular convolution (as without the fold back the sine wave would distort). This means that LTI systems properties are a completely theoretical construct, which we of course already knew since infinite sine waves with no end or beginning don't exist in real world. Either way, my line of thought is that you can't convolve an infinite signal using the equation, as no amount of infinities makes a signal fold back onto itself, as using the math will do (admittedly, I may be completely wrong on this). I will be trying to solve the equation for a case where the sine wave is casual next...

A frequency representation of a particular interval can of course be attained (which conviniently cuts the impulse response to a FIR, removing the funny things caused by infinities). The problem also disappears if the filter settles to zero after infinite time, which probably satisfies the definition of IIR, but is of no interest for the purpose of the discussion.

Am I correct on this or does letting the aliasing occur lead to the correct answer for the convolution functions in cases of infinite time functions? If that is the case, what is the rationale behind it?

$\endgroup$
8
  • 1
    $\begingroup$ Your question is quite confused/confusing. A few examples: in your question $F(\omega)$ is not a function of $\omega$, but of $x$; if $g(t)=\sin(t)$ then $G(\omega)$ is not what you wrote it is. What is $t$? Normally $t$ denotes continuous time, but since you're talking about aliasing, circular convolution, etc., it looks like you're thinking about discrete-time signals. Please clarify. $\endgroup$
    – Matt L.
    Commented Dec 29, 2015 at 11:51
  • $\begingroup$ @MattL.Hopefully the notation is more clear and more corresponding to a discrete-time signal now. However, I think similar question concerns the continuous domain as well. $\endgroup$
    – Dole
    Commented Dec 29, 2015 at 12:02
  • $\begingroup$ Your IIR filter is also non-causal. Any implementable filter needs to be $h[n] = 0$ for $n < 0$. It also has infinite energy. While it is still possible to analyze the properties of non-causal infinite energy filters it may be a lot simpler to start with something more "normal" that would actual occur in practice $\endgroup$
    – Hilmar
    Commented Dec 29, 2015 at 18:26
  • $\begingroup$ @Hilmar This is more of a theoretical question, but the same problem arises with casual and stable systems (in theory at least, when noise floor is of no consideration). For such systems, I think using the formula $Y(\omega) = X(\omega)H(\omega)$ is clearly wrong, as fold back just should not be allowed to happen. So only an approximation of the frequency representation can be had then, by cutting the tails at some point and proceeding as if it was FIR... Why is using the equation correct for the sine wave example though? $\endgroup$
    – Dole
    Commented Dec 29, 2015 at 19:36
  • $\begingroup$ @Dole: The formula $Y(\omega)=X(\omega)H(\omega)$ always works as long as we're talking about LTI systems. In continuous time the functions are (continuous) Fourier transforms, and the discrete-time case, the functions are DTFTs. $\endgroup$
    – Matt L.
    Commented Dec 29, 2015 at 19:48

2 Answers 2

3
$\begingroup$

To answer your first question formulated in the first sentence: if $X(\omega)$ is the Fourier transform of the input signal, and $H(\omega)$ is the frequency response of the IIR filter, the Fourier transform ("frequency domain representation" as you call it) of the output signal is simply $Y(\omega)=X(\omega)H(\omega)$. This is valid in continuous time as well as in discrete time if you use the discrete-time Fourier transform (DTFT) (and not the DFT/FFT).

In the (discrete) time domain, you generally have an infinite convolution sum:

$$y[n]=\sum_{k=-\infty}^{\infty}x[k]h[n-k]\tag{1}$$

where $x[n]$ is the input sequence, and $h[n]$ is the impulse response of the filter. If either $x[n]$ or $h[n]$ (or both) are of finite length, the sum in $(1)$ becomes a finite sum.

If you manage to clarify the rest of your question, I might be able to add more relevant information to this answer.

If I may guess what confuses you, it may be that you think in terms of the DFT, which can only handle sequences of finite length (and may cause circular convolution artefacts). However, you can implement an IIR filter directly (and exactly, if we ignore quantization effects for the moment) in the time domain. In the general case, the DTFT of the output signal can only be computed approximately. However, for finite length input signals fed into an IIR filter, we can obtain an exact expression for the DTFT of the input signal as well as for the frequency response of the IIR filter. The Fourier transform of the output signal is then simply the multiplication of the two.

$\endgroup$
4
  • $\begingroup$ Thanks for the answer, I will have to recheck the math and edit the question later to be an easier read. Since you already answered the main question, then my only question is, why does the aliasing not cause "distortions" when moving to infinite time sums, as it does with finite ones (IE. when moving from DFT -> DTFT or FS -> FT)? $\endgroup$
    – Dole
    Commented Dec 29, 2015 at 12:16
  • $\begingroup$ @Dole: When you implement a linear convolution sum as in Eq. (1), there is no aliasing, neither are there circular convolution artefacts. $\endgroup$
    – Matt L.
    Commented Dec 29, 2015 at 12:20
  • $\begingroup$ Indeed, but the equation can't really be used for the IIR case outlined above. However, the equation $Y(\omega)=X(\omega)H(\omega)$ can be used... And then there will be fold back in time domain, at least that's the way I see it. $\endgroup$
    – Dole
    Commented Dec 29, 2015 at 19:12
  • $\begingroup$ @Dole: In a practical implementation of an IIR filter, the convolution sum is not computed as in Eq. (1), but it is computed recursively; the result, however, is exactly the same. $\endgroup$
    – Matt L.
    Commented Dec 29, 2015 at 19:44
0
$\begingroup$

Based on the comments, I would suggest we distinguish between theoretical analysis and practical implementation. For example: theory uses the concept of a sine wave. However, true sine waves in the mathematical sense do not exist ! In order for it to be an ideal sine wave (with a true delta function in the frequency domain) it would have to have infinite time extent. Since the universe has a finite life time, that can't be achieved.

The same is true for the digital representation of the transfer function of a system. It needs to be band limited to avoid aliasing and it needs to have finite impulse response length to avoid wrap around and/or truncation. However, these requirements are mutually exclusive: a signal can not be finite in both time and frequency simultaneously.

All these mismatches between theory assumptions and practical limitations will create errors which are an unavoidable a part of any real implementation. However you can control the parameters of your implementation to make the error arbitrarily small and the trick is to understand the requirements of the implementation and choosing the parameters accordingly.

Let's pick a simple example to illustrate how this works: I want to measure the transfer function of a loudspeaker in a room, which is an LTI system. Since it's an exponential energy decay process, the impulse response is infinite. And since it's infinite, it's theoretically impossible to represent it exactly (at least not numerically).

The decay is typically described by the reverberation time, which is the time over which the energy decays by 60 dB. For a typical residential space that's maybe 0.3s. If we want to sample this at 48 kHz, we would need 14400 samples to cover 60 dB of dynamic range in the impulse response. If you want 120 dB of dynamic range you'd need 28800 samples. with 240,000 samples you get 1000 dB of dynamic range. You can pick any target dynamic range and calculate the required number of samples, you just can't make the dynamic range "infinite".

In this particular example you could look at other sources of error and make sure that your sampling error doesn't get in the way. For example the typical signal to noise ratio in a room is about 40 dB, so 60 dB of dynamic range for the impulse response is plenty. The sampling error will be simply be masked by the noise error and adding more sampling precision will not make the measurement any better.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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