1D Fourier Analysis Dr. Rolf Lakaemper. Sound Let’s have a look at SOUND: SOUND: 1 dimensional...

Preview:

Citation preview

1D Fourier Analysis

Dr. Rolf Lakaemper

Sound

Let’s have a look at SOUND:

SOUND: 1 dimensional function of changing (air-)pressure in time

Pre

ssur

e

Time t

Sound

SOUND: if the function is periodic, we perceive it as sound with a certain frequency (else it’s noise). The frequency defines the pitch.

Pre

ssur

e

Time t

Sound

The AMPLITUDE of the curve defines the VOLUME

Sound

The SHAPE of the curve defines the sound character

Flute String

Brass

Sound

How can the

SHAPE

of the curve be defined ?

Sound

Listening to an orchestra, you can distinguish between different instruments,

although the sound is aSINGLE FUNCTION !

Flute

String

Brass

Sound

If the sound produced by an orchestra is the sum of different instruments, could it be possible that there are BASIC SOUNDS,

that can be combined to produce every single sound ?

Sound

The answer (Jean Baptiste Fourier, 1822):

Any function that periodically repeats itself can be expressed as

the sum of sines/cosines of different frequencies, each

multiplied by a different coefficient

Sound

Or differently:

Since a flute produces a sine-curve- like sound, a (huge) group of

(outstandingly) talented flautists could replace a classical

orchestra.

( )

1D Functions

A look at SINE / COSINEThe sine-curve is defined by:

• Frequency (the number of oscillations between 0 and 2*PI)

• Amplitude (the height)

• Phase (the starting angle value)

• The constant y-offset, or DC (direct current)

1D Functions

The general sine-shaped function:

f(t) = A * sin(t + ) + c

Amplitude

Frequency

Phase

Constant offset(usually set to 0)

1D Functions

Remember Fourier:

…A function…can be expressed as the sum of sines/cosines…

What happens if we add sine and cosine ?

1D Functions

a * sin(t) + b * cos(t)

= A * sin(t + )

(with A=sqrt(a^2+b^2) and tan = b/a)

Adding sine and cosine of the same frequency

yields just another sine function with different phase and amplitude, but same frequency.

Or: adding a cosine simply shifts the sine function left/right and stretches it in y-direction. It does NOT change the

sine-character and frequency of the curve.

1D Functions

Remember Fourier, part II:

Any function that periodically repeats itself…

=> To change the shape of the function, we must add sine-like

functions with different frequencies.

1D Functions

This applet shows the result:

Applet: Fourier Synthesis

1D Functions

What did we do ?

• Choose a sine curve having a certain frequency, called the base-frequency

• Choose sine curves having an integer multiple frequency of the base-frequency

• Shift each single one horizontally using the cosine-factor

• Choose the amplitude-ratio of each single frequency

• Sum them up

1D Functions

This technique is called the

FOURIER SYNTHESIS,

the parameters needed are the sine/cosine ratios of each frequency.

The parameters are called theFOURIER COEFFICIENTS

1D Functions

As a formula:

f(x)= a0/2 + k=1..n akcos(kx) + bksin(kx)

Fourier Coefficients

Note:

The set of ak, bk ENTIRELY defines the CURVE synthesized !

We can therefore describe the SHAPE of the curve or the

CHARACTER of the sound by the (finite ?) set of FOURIER

COEFFICIENTS !

1D Functions

Examples for curves, expressed by the sum of sines/cosines (the

FOURIER SERIES):

1D Functions

SAWTOOTH Function

1D Functions

f(x) = ½ - 1/pi * n 1/n *sin (n*pi*x)

Freq. sin cos

1 1 0

2 1/2 0

3 1/3 0

4 1/4 0

SQUARE WAVE Function

1D Functions

f(x) = 4/pi * n=1,3,5 1/n *sin (n*pi*x)

Freq. sin cos

1 1 0

3 1/3 0

5 1/5 0

7 1/7 0

What does the set of FOURIER COEFFICIENTS tell about the

character of the shape ?

(MATLAB Demo)

1D Functions

Result:

Steep slopes introduce HIGH FREQUENCIES.

1D Functions

Motivation for Sound Filtering:

...remove steep slopes to let only lower frequencies pass

it would be nice to be able to get the set of FOURIER COEFFICIENTS if an arbitrary (periodically) function

is given! (why?)

1D Functions

The Problem now:

Given an arbitrary but periodically 1D function (e.g. a sound), can you tell the FOURIER COEFFICIENTS

to construct it ?

1D Functions

The answer (Fourier):

YES.

1D Functions

We don’t want to explain the mathematics behind the answer

here, but simply use the MATLAB Fourier Transformation Function.

1D Functions

MATLAB - function fft:

Input: A vector, representing the discrete function

Output: The Fourier Coefficients as vector of imaginary numbers,

scaled for some reasons

1D Functions

Example:

1D Functions

x=0:2*pi/(2047):2*pi;s=sin(x)+cos(x) + sin(2*x) + 0.3*cos(2*x);f=fft(s);

1.3 1026.2 - 1022.8i

310.1 - 1022.1i

-0.4 +

1.6i

Freq. 0 Freq. 1 Freq. 2 Freq. 3

cos

sin

1D Functions

Fr Re Im

0 1.3 0

1 1026.2 1022.8

2 310.1 1022.1

Fr Re Im

0 ~0 0

1 ~1 ~1

2 ~0.3 ~1

1.3 1026.2 - 1022.8i

310.1 - 1022.1i

-0.4 + 1.6i

Transformation: t(a) = 2*a / length(result-vector)

1D Functions

The fourier coefficients are given by:

F=fft(function)L=length(F); %this is always = length(function)

Coefficient for cosine, frequency k-times the base frequency:

real(F(k+1)) * 2 / L

Coefficient for sine, frequency k-times the base frequency:

imag(F(k+1)) * 2 / L

1D Functions

An application using the Fourier Transform:

Create an autofocus system for a digital camera

We did this already, but differently !

(MATLAB DEMO)

1D Functions

Second application:

Describe and compare 2-dimensional shapes using the Fourier Transform !

Recommended