Elementary Signal Processing: Fourier Transforms and their Properties, Study notes of Mathematical Methods for Numerical Analysis and Optimization

An overview of elementary signal processing, focusing on mathematical preliminaries, integral transforms, and the fourier transform. It covers the definition, inverse fourier transform, properties, and convolution of fourier transforms. Additionally, it discusses the discrete fourier transform, trigonometric interpolation, and the fast fourier transform. The document also introduces the fourier sine and cosine transforms and their inversion formulas.

Typology: Study notes

Pre 2010

Uploaded on 09/17/2009

koofers-user-9pg
koofers-user-9pg 🇺🇸

5

(1)

10 documents

1 / 12

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chapter 5
Elementary Signal
Processing
5.1 Mathematical Preliminaries
5.1.1 Integral Transforms
Integral transforms, such as the Fourier transform and the Laplace trans-
form, play a key role in the solution of differential equations and serve as
the foundation for signal processing. Both Matlab and Maple provide an
array of functions for working with these and other transforms.
5.1.2 The Fourier transform
The Fourier transform of a function f(x), defined for all real values of x, by
the integral formula
ˆ
f(ω) = 1
2πZ
−∞
eiωxf(x)dx, −∞ <.(5.1)
The Fourier transform of f(x), ˆ
f(ω), can be viewed as a function of ω, the
frequency.
Thus f(x) is regarded as a superposition of waves of all frequencies ω,
each with amplitude |ˆ
f(ω)|and phase shift arg ˆ
f(ω), where for any complex
number z, arg zis the angle that zmakes in the complex plane with the real
axis.
189
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Elementary Signal Processing: Fourier Transforms and their Properties and more Study notes Mathematical Methods for Numerical Analysis and Optimization in PDF only on Docsity!

Chapter 5

Elementary Signal

Processing

5.1 Mathematical Preliminaries

5.1.1 Integral Transforms

Integral transforms, such as the Fourier transform and the Laplace trans- form, play a key role in the solution of differential equations and serve as the foundation for signal processing. Both Matlab and Maple provide an array of functions for working with these and other transforms.

5.1.2 The Fourier transform

The Fourier transform of a function f (x), defined for all real values of x, by the integral formula

fˆ(ω) = √^1 2 π

−∞

e−iωxf (x) dx, −∞ < ω < ∞. (5.1)

The Fourier transform of f (x), fˆ(ω), can be viewed as a function of ω, the frequency.

Thus f (x) is regarded as a superposition of waves of all frequencies ω, each with amplitude | fˆ (ω)| and phase shift arg fˆ(ω), where for any complex number z, arg z is the angle that z makes in the complex plane with the real axis.

The Inverse Fourier Transform

The inverse Fourier transform of fˆ(ω) is given by the similar integral formula

f (x) =

2 π

−∞

eiωx^ fˆ(ω) dω, −∞ < x < ∞. (5.2)

Properties of Fourier Tranforms

One of the most useful properties of the Fourier transform is the fact that given the Fourier transform fˆ (ω) of a function f (x), computing the Fourier transform of f ′(x) is very simple:

fˆ ′(ω) = √^1 2 π

−∞

e−iωxf ′(x) dx

2 π

−∞

(−iω)e−iωxf (x) dx (5.3)

= (iω) fˆ (ω).

In general, we have the property that the Fourier transform of dnf /dxn is (iω)n^ fˆ(ω). This provides a means of transforming a differential equation into a much simpler algebraic equation. It follows from the fact that the exponential function is an eigenfunction of the differentiation operator, with the eigenvalue based on the frequency.

Convolution

Often, it is desirable to compute the inverse transform h(x) of the product of two known Fourier transforms, ˆh(ω) = fˆ(ω)ˆg(ω). For instance, fˆ(ω) may be a signal and ˆg(ω) may be a filter that damps or even removes certain frequencies. Fortunately, this inverse transform is simple to compute in terms of the inverse transforms of fˆ(ω) and ˆg(ω), namely f (x) and g(x):

h(x) =

2 π

−∞

eiωx^ fˆ(ω)ˆg(ω) dω

2 π

−∞

eiωx^ fˆ(ω)

−∞

e−iωy^ g(y) dy dω (5.4)

2 π

−∞

g(y)

−∞

eiω(x−y)^ fˆ(ω) dω dy

2 π

−∞

g(y)f (x − y) dy.

Trigonometric Interpolation

Often, a function f (x) is a grid function, represented by a list of function values, often obtained experimentally, at specified points, called grid points. In this case, the Fourier series coefficients can be computed by approximating the integral defining fˆ (ω) with a sum. In the case of (N +1) equally spaced points, with spacing h = 2π/(N +1), we have

f˜(ω) = √h 2 π

∑^ N

j=

e−iωjhf (jh), ω = −N/ 2 ,... , N/ 2. (5.7)

The approximate coefficients f˜(ω) are the exact Fourier coefficients of the Fourier interpolant of f (x), which agrees with f (x) at the grid points.

The Fast Fourier Transform

The formula for computing each Fourier series coefficient f˜ (ω) of f (x) re- quires O(N ) operations, where N is the number of grid points. Since there are O(N ) coefficients in the Fourier interpolant, the process of computing all of them requires O(N 2 ) operations. The Fast Fourier Transform is a method that allows all of the coefficients to be computed in O(N log N ) time, a huge difference for large values of N.

5.1.4 The Fourier Sine and Cosine Transforms

Partial differential equations with various boundary conditions have given rise to variations on the Fourier transform. For Dirichlet boundary conditions, where the solution to a PDE vanishes on the boundary of the problem’s domain, the Fourier sine transform is useful:

fˆs(ω) =

π

0

f (x) sin ωx ds, (5.8)

with corresponding inversion formula

f (x) =

π

0

f^ ˆs(ω) sin ωx dω. (5.9)

For Neumann boundary conditions, where the deriviative of the solution to the PDE vanishes on the boundary of the problem’s domain, the Fourier

cosine transform is useful:

fˆs(ω) =

π

0

f (x) cos ωx ds, (5.10)

with corresponding inversion formula

f (x) =

π

0

f^ ˆs(ω) cos ωx dω. (5.11)

5.1.5 Fourier Transforms in Higher Dimensions

The Fourier transform generalizes directly to higher dimensions. If f (x) is a function of an n-vector x, then the Fourier coefficient fˆ(ω), where ω is a frequency represented by an n-vector, can be computed as follows:

fˆ (ω) = 1 (2π)n/^2

Rn

e−iω·xf (x) dx, (5.12)

where · represents the inner product of two vectors. A similar formula yields the inverse transform.

5.1.6 The Laplace Transform

While the Fourier transform is used to represent a function of spatial vari- ables as a collection of waves, the Laplace transform is used to construct such a representation for a function of time. Given a function y(t) defined for t ≥ 0, the Laplace transform L[y(t)] is defined by

L[y(t)] = Y (s) =

0

e−sty(t) dt. (5.13)

The Inverse Laplace Transform

The inverse Laplace transform of Y (s) is the function y(t) such that L[y(t)] = Y (s). Like the Fourier transform, there is an integral formula for the inverse transform, but it requires complex integration theory to evaluate. Instead, y(t) is determined by expressing Y (s) as a combination of functions whose inverse transforms are already known.

The Hankel Transform of a function f (t) is

Fν (s) =

0

stf (t)Jν (st) dt, (5.17)

where Jν is the Bessel function of the ν-th kind.

5.2 Matlab’s Signal Processing Toolbox

The Signal Processing toolbox is a collection of functions for working with signals. It allows users to transform signals, design and use various filters, perform statistical analysis on signals, and perform various other operations concerning signals. It also provides audio support. For a complete list of functions, type help signal at the Matlab prompt.

Basic Signal Processing Functions

  • abs returns the amplitide of each frequency component of a signal.
  • angle returns the phase shift of each frequency component of a signal.
  • conv computes the convolution of two given vectors.
  • fft, ifft compute the Fast Fourier Transform and Inverse Fast Fourier Transform of a vector.
  • dct, idct compute the Discrete Fourier Cosine Transform and Inverse Discrete Fourier Cosine Transform, respectively.
  • dftmtx returns a matrix of a given size that can be used to compute the Fourier transform of a vector by matrix-vector multiplication.
  • hilbert, czt compute the Hilbert and Chirp-Z transform of a vector.
  • filter applies a filter described by two vectors to a given vector.
  • fftfilt filters a given vector with a given FIR filter using the FFT for greater efficiency.
  • FIR (finite impluse response) filter design
  • IIR (infinite impulse response) filter design
  • sound plays a vector as sound.
  • WAV support
  • AU support

5.3 Maple’s Inttrans Package

Maple offers a package, inttrans, for computing integral transforms of ex- pressions.

  • fourier computes the Fourier transform of a function.
  • invfourier computes the inverse Fourier transform of a function.
  • fouriercos computes the Fourier cosine transform of a function.
  • fouriersin computes the Fourier sine transform of a function.
  • laplace computes the Laplace transform of a function, and invlaplace the inverse transform.
  • hankel computes the Hankel transform of a function, which is based on Bessel functions.
  • hilbert computes the Hilbert transform of a function.
  • mellin computes the Mellin transform of a function, and invmellin the inverse transform.
  • addtable allows the user to make a transform of a function known to Maple.
  • savetable saves a table of known transforms to a file.

Matlab’s Symbolic Toolbox

  • fourier, ifourier compute the Fourier and inverse Fourier transform of a function.
  • laplace, ilaplace comptue the Laplace and inverse Laplace trans- form of a function.

Write a function that accepts a vector, corresponding to function val- ues, as input and returns as output the discrete Fourier transform, using (5.19) above. The function should have the form function [g] = dft(f) Hint: use the exp function, which takes the exponential of every ele- ment of its argument. For example:

exp(0), exp(1) ans =

1

ans =

exp([ 0 1 2 ])

ans =

1.0000 2.7183 7.

Also, the constant i represents the imaginary unit,

−1. You may use i as a variable, but this is not recommended since then you are no longer able to use i as the imaginary unit.

  1. In 1965, Cooley and Tukey used the above representation (5.19) of the Fourier coefficients to obtain a much more efficient method of com- puting the discrete Fourier transform, the Fast Fourier Transform. Assume N is a power of 2, and define the gridfunctions fe and fo as follows: fe is a gridfunction defined using the even-numbered grid- points and grid values of f , i.e.

(fe)j = f 2 j , j = 0, 1 ,... , N/ 2 − 1. (5.20)

Similarly, fo is a gridfuction defined using the odd-numbered grid- points and grid values of f , i.e.

(fo)j = f 2 j+1, j = 0, 1 ,... , N/ 2 − 1. (5.21)

Then we have:

fˆ(ω) = √h 2 π

N∑ − 1

j=

e−iωjhfj

h √ 2 π

N/ ∑ 2 − 1

j=

e−iω^2 jhf 2 j +

h √ 2 π

N∑ − 1

j=

e−iω(2j+1)hf 2 j+1 (5.22)

2 h √ 2 π

N/ ∑ 2 − 1

j=

e−iωj(2h)(fe)j +

e−iωh^ 2 h √ 2 π

N/ ∑ 2 − 1

j=

e−iωj(2h)(fo)j

First, assume that ω < N/2. Then we obtain

fˆ (ω) =^1 2 fˆe(ω) +^1 2 e−iωh^ fˆo(ω). (5.23)

Otherwise, we let ˜ω = ω − N/2 and obtain

fˆ(ω) = 1 2

2 h √ 2 π

N/ ∑ 2 − 1

j=

e−i(˜ω−N/2)j(2h)(fe)j +

e−iωh^ 2 h √ 2 π

N/ ∑ 2 − 1

j=

e−i(˜ω−N/2)j(2h)(fo)j

2 h √ 2 π

N/ ∑ 2 − 1

j=

eijN he−iωj˜(2h)(fe)j +

e−iωh^

2 h √ 2 π

N/ ∑ 2 − 1

j=

eijN he−iωj˜(2h)(fo)j

2 h √ 2 π

N/ ∑ 2 − 1

j=

ei^2 πj^ e−iωj˜(2h)(fe)j +

e−iωh^ 2 h √ 2 π

N/ ∑ 2 − 1

j=

ei^2 πj^ e−i˜ωj(2h)(f(5.24)o)j

2 h √ 2 π

N/ ∑ 2 − 1

j=

e−iωj˜(2h)(fe)j +

e−iωh^

2 h √ 2 π

N/ ∑ 2 − 1

j=

e−iωj˜(2h)(fo)j

fˆe(˜ω) +^1 2 e−iωh^ fˆo(˜ω)

Thus, the discrete Fourier transform of a function can be computed by splitting the set of function values into two sets, the even-numbered and odd-numbered points, computing the discrete Fourier transforms of those functions, and then combining them appropriately. Of course, this decomposition stops when N is already 1, in which case computing the Fourier transform is quite trivial.

Write a function that performs the Fast Fourier transform. This func- tion may call itself. Make sure that under the appropriate conditions,