Sign in

username:

password:



Not a member?

Search Online Books



Search tips

Free Online Books



Chapters

Chapter Contents:

Search Spectral Audio Signal Processing

  

Book Index | Global Index


Would you like to be notified by email when Julius Orion Smith III publishes a new entry into his blog?

  

FIR Fractional Delay Filter Design

This section illustrates the design of an FIR fractional delay filter, that is, an FIR filter which implements a delay by a non-integer number of samples. As a side product, we will examine carefully how filter phase responses (or signal phase spectra) can be manipulated in the frequency domain without introducing artifacts due to phase wrapping. We start with a straightforward method which looks like it should work (but doesn't), and progress to a fairly high quality ``non-parametric'' FIR fractional-delay filter design.B.3 (For a rather comprehensive review of methods for fractional delay filtering, see [119].) Two important techniques illustrated include phase unwrapping, and the introduction of a transition band to increase the quality for a given filter length.

Consider the simple filter transfer function

$\displaystyle H(z)=z^{-1}
$

which implements a unit-sample delay

$\displaystyle y(n) = x(n-1) = (x\ast h)(n)
$

where $ h(n) = \delta(n-1)$ denotes the impulse response. By raising $ H(z)$ to the power $ p$, we may obtain, in principle, the transfer function of a $ p$-sample delay:

$\displaystyle H^p(z) = z^{-p}.
$

When $ p$ is an integer $ k$, we obtain the transfer function of a $ k$-sample delay (impulse response $ \delta(n-k)$). By the convolution theorem, in the time domain, we can view this as iteratively convolving the unit-delay-line impulse response $ k$ times, i.e.,

$\displaystyle h_k(n) \isdef (\underbrace{h \ast h \ast \cdots \ast h}_{k\hbox{ times}})(n)
$

where $ h(n) \isdef \delta(n-1)$.

It is interesting, however, that there is nothing stopping us mathematically from using non-integer $ p$, because $ H^p(z)$ is well defined mathematically for all $ p\in{\bf C}$. However, what does it mean in the time domain to convolve $ h(n)$ with itself a non-integer number of times? This can be termed fractionally iterated convolution, and it has other applications besides fractional-delay filter design, as will be discussed further below. It would appear that, to obtain the fractionally iterated convolution result $ h_p(n)\isdef
{\cal Z}_n^{-1}\{H^p(z)\}$, all we have to do is find the inverse z transform of $ H^p(z)$. This is what we will now consider.

For definiteness, consider the simple case of $ p=4.5$, for which

$\displaystyle H^p(z) = z^{-4.5}.
$

This transfer function corresponds to a delay of four and a half samples in the time domain, so it will clearly require some kind of interpolation in the time domain. The frequency response is

$\displaystyle H^p(e^{j\omega T}) = \left(e^{-j\omega T}\right)^{4.5}, \qquad -\pi \leq \omega T < \pi. \protect$ (B.5)

Can we simply sample this around the unit circle and take an inverse FFT to get an FIR filter impulse response $ h_p(n)$ which implements a $ p$-sample delay for non-integer $ p$? Yes, this does work, provided we are sufficiently careful in how we carry it out. This is a special case of FIR filter design by the frequency sampling method.



Subsections

Order a Hardcopy of Spectral Audio Signal Processing

Previous: The Hilbert Transform
Next: Example 1: Fractionally Iterated Delay

written by Julius Orion Smith III
Julius Smith's background is in electrical engineering (BS Rice 1975, PhD Stanford 1983). He is presently Professor of Music and Associate Professor (by courtesy) of Electrical Engineering at Stanford's Center for Computer Research in Music and Acoustics (CCRMA), teaching courses and pursuing research related to signal processing applied to music and audio systems. See http://ccrma.stanford.edu/~jos/ for details.


Comments


No comments yet for this page


Add a Comment
You need to login before you can post a comment (best way to prevent spam). ( Not a member? )