In signal processing, a comb filter is a filter implemented by adding a delayed version of a signal to itself, causing constructive and destructive interference. The frequency response of a comb filter consists of a series of regularly spaced notches in between regularly spaced peaks (sometimes called teeth) giving the appearance of a comb.
Comb filters are employed in a variety of signal processing applications, including:
In acoustics, comb filtering can arise as an unwanted artifact. For instance, two loudspeakers playing the same signal at different distances from the listener, create a comb filtering effect on the audio. In any enclosed space, listeners hear a mixture of direct sound and reflected sound. The reflected sound takes a longer, delayed path compared to the direct sound, and a comb filter is created where the two mix at the listener.
Comb filters exist in two forms, feedforward and feedback; which refer to the direction in which signals are delayed before they are added to the input.
The general structure of a feedforward comb filter is described by the difference equation:
where is the delay length (measured in samples), and α is a scaling factor applied to the delayed signal. The z transform of both sides of the equation yields:
The transfer function is defined as:
The frequency response of a discrete-time system expressed in the z-domain, is obtained by substitution z = ejΩ. Therefore, for the feedforward comb filter:
Using Euler's formula, the frequency response is also given by
Often of interest is the magnitude response, which ignores phase. This is defined as:
In the case of the feedforward comb filter, this is:
The (1 + α2) term is constant, whereas the 2α cos(ΩK) term varies periodically. Hence the magnitude response of the comb filter is periodic.
The graphs show the magnitude response for various values of α, demonstrating this periodicity. Some important properties:
Looking again at the z-domain transfer function of the feedforward comb filter:
the numerator is equal to zero whenever zK = −α. This has K solutions, equally spaced around a circle in the complex plane; these are the zeros of the transfer function. The denominator is zero at zK = 0, giving K poles at z = 0. This leads to a pole–zero plot like the ones shown.
Similarly, the general structure of a feedback comb filter is described by the difference equation:
This equation can be rearranged so that all terms in are on the left-hand side, and then taking the z transform:
The transfer function is therefore:
Substituting z = ejΩ into the z-domain expression for the feedback comb filter:
The magnitude response is as follows:
Again, the response is periodic, as the graphs demonstrate. The feedback comb filter has some properties in common with the feedforward form:
However, there are also some important differences because the magnitude response has a term in the denominator:
Looking again at the z-domain transfer function of the feedback comb filter:
This time, the numerator is zero at zK = 0, giving K zeros at z = 0. The denominator is equal to zero whenever zK = α. This has K solutions, equally spaced around a circle in the complex plane; these are the poles of the transfer function. This leads to a pole–zero plot like the ones shown below.
Comb filters may also be implemented in continuous time. The feedforward form may be described by the equation:
where τ is the delay (measured in seconds). This has the following transfer function:
The feedforward form consists of an infinite number of zeros spaced along the jω axis.
The feedback form has the equation:
and the following transfer function:
The feedback form consists of an infinite number of poles spaced along the jω axis.
Continuous-time implementations share all the properties of the respective discrete-time implementations.