Spectral Analysis &
The Fourier Transform
     Athanasios Anastasiou
Signal Processing and Multimedia
Communications Research Group
   University of Plymouth - UK
Learning Objectives
• Familiarise yourselves with the Fourier
  Transform and its properties

• Make sense of Fourier spectra

• Carry out basic operations on various signals
  in MATLAB
  – Forward / Inverse Transform
  – Visualisation of spectra
Topics
• Signals In:
   – Time Domain
   – Frequency Domain


• The Fourier Transform

• The Fourier Spectra

• Practical application in MATLAB
Fourier Transform (?)
• It was named after Jean Baptiste Joseph Fourier (1768 – 1830)


• The Fourier Transform
   – Changes the representation of a signal
   – Fundamental characteristics of the signal (power, phase) remain the
     same, only their representation changes
   – Representation (?)
       • Time Domain
       • Frequency Domain
   – Enables us to observe signals and change them far more easily in the
     Frequency Domain, than it would be in the Time Domain.


• The same concepts apply similarly to other transforms as well
What is so special about the
              Fourier Transform?
• An extremely versatile tool

• Time Series Analysis / Processing / Synthesis
    –   Tidal observations
    –   Mechanical Vibration Analysis
    –   Lossy Compression
    –   Image Reconstruction
    –   Signal Features / Classification
         • Speech Recognition / Animal Species Recognition
    – Electromagnetic Spectrum
         • SETI

• …and some special cases:
    – Fast Fluid Simulation (for computer graphics)
Time Domain
                Frequency Domain
• One Signal
   – x(n)
   – Amplitude samples of some quantity over time

• Many Different Representations
   – X(ω)
   – A series of weights to:
      • Trigonometric functions
      • Other functions


• How do we pass from one domain to the other?
Integral Transforms
  Transformed                                                   Signal
     Signal                           Kernel                (Time Domain)
(Some Domain)
                                 t2

                     X                U t,     x(t ) dt   Forward Transform
                                 t1




                            t2
                                       1
                     xt          U           ,t X     d   Inverse Transform
                            t1




                  What about the Fourier Transform?
The Fourier Transform
Frequency Domain                Kernel                   Time Domain


                                    i2 t
                   X            e              x t dt

                                 ei      cos     i sin   Euler’s Formula




     Re-expresses the signal x(t) as a series of weights X(ω)
                of sinusoids and co-sinusoids of
                     different frequencies ω
The Inverse Fourier Transform
Time Domain                    Kernel                Frequency Domain



                 xt          ei 2   t
                                        X    d




            Re-composes the signal x(t) as a remix of
   sinusoids and co-sinusoids at different frequencies (ω) and
                   different “strengths” X(ω)
The Discrete Fourier Transform
               Remember, DSP is all about sampled signals…


                                 N 1       i2 k n
                             1               N
                      k                e             xn
                             N  n 0
                             k N 1 i2 k n
                                     N
                   xn                e              X k
                               k 0


…and this has some consequences on the properties of the Fourier Transform
         (Key properties: Linearity, Periodicity, Shifting, Convolution
              Duality, Interpolation, Frequency & Time Scaling)

    Please Note:This is the 1-Dimensional case of the Fourier Transform.
       It can be generalised to higher dimensions with applications to
           Image Processing, Volumetric Data processing and others
Digression: Fast Fourier Transform
        The Discrete Fourier Transform (DFT) as a matrix operation
                              X     U x


 Re U




 Im U



                  Perform The Unique Operations Only
Fourier Spectra
• “Spectrum” is another name for X(k)
   – The strength X(k) by which sinusoids and co-sinusoids of
     frequency k contribute to signal x(t)

• “Fourier Spectrum” is synonymous with “Signal
  Spectrum”
   – Usually, “Spectral Analysis” refers to observing the Fourier
     Spectra of a signal

• Hold on….Fourier Spectra?...There’s more than one?
   – Oh, yeah!
Fourier Spectra

                               Ak        X k               Amplitude
                                               2
                               Pk      X k                 Power

                                     1 Im X k              Phase
                           k     tan
                                       Re X k


Please note:
• X(k) is a complex number
• The power spectrum is not the same as the Amplitude spectrum!

• How do these “spectra” look like and how do we make sense of them?
Fourier Spectra
                                           Amplitude Spectrum
                              Time Domain                                                                   Frequency Domain
                                                                                                  5
         1                                                                                   10

       0.8


       0.6
                                                                                                  0
                                                                                             10
       0.4


       0.2




                                                                                      X(k)
x(t)




                                                                                                  -5
         0                                                                                   10


       -0.2


       -0.4
                                                                                                  -10
                                                                                             10
       -0.6


       -0.8

                                                                                                  -15
        -1                                                                                   10
              0   0.002   0.004   0.006     0.008      0.01   0.012   0.014   0.016                    0   0.5   1               1.5   2      2.5
                                          time (sec)                                                                 Frequency             x 10
                                                                                                                                                  4




                                    What are the units of the Frequency Axis?
                             Where are the 0, Fs/2 and Fs points on the Frequency Axis?
                                          What can the units of X(k) be?
Fourier Spectra
                                           Amplitude Spectrum
                              Time Domain                                                                           Frequency Domain
                                                                                                  0
         1                                                                                   10

       0.8                                                                                        -2
                                                                                             10

       0.6                                                                                        -4
                                                                                             10

       0.4
                                                                                                  -6
                                                                                             10
       0.2
                                                                                                  -8
                                                                                             10




                                                                                      X(k)
x(t)




         0
                                                                                                  -10
                                                                                             10
       -0.2
                                                                                                  -12
                                                                                             10
       -0.4
                                                                                                  -14
                                                                                             10
       -0.6

                                                                                                  -16
       -0.8                                                                                  10

                                                                                                  -18
        -1                                                                                   10
              0   0.002   0.004   0.006     0.008      0.01   0.012   0.014   0.016                    0     1000   2000   3000    4000    5000   6000   7000   8000
                                          time (sec)                                                                          Frequency (Hz)


                                                                                                            Physical Frequency                                  k
                                                                                                                    VS                            f      Fs
                                                                                                           Normalised Frequency
                                                                                                                                                                N


                                           Any general observations on X(k)?
                                    What about the relationship between X(k) and x(t)?
Fourier Spectra
                                                Spectral Resolution
                              Time Domain                                                                            Frequency Domain
                                                                                                   0
         1                                                                                    10

       0.8                                                                                         -2
                                                                                              10

       0.6                                                                                         -4
                                                                                              10

       0.4
                                                                                                   -6
                                                                                              10
       0.2
                                                                                                   -8
                                                                                              10




                                                                                       X(k)
x(t)




         0
                                                                                                   -10
                                                                                              10
       -0.2
                                                                                                   -12
                                                                                              10
       -0.4
                                                                                                   -14
                                                                                              10
       -0.6

                                                                                                   -16
       -0.8                                                                                   10

                                                                                                   -18
        -1                                                                                    10
              0   0.002   0.004    0.006     0.008      0.01   0.012   0.014   0.016                    0     1000   2000   3000    4000    5000   6000   7000   8000
                                           time (sec)                                                                          Frequency (Hz)


                                                                                                             Physical Frequency                                  k
                                                                                                                     VS                            f      Fs
                                                                                                            Normalised Frequency
                                                                                                                                                                 N


                                  What happens when some (f) falls between two kn,kn+1?
Fourier Spectra
              Digression: Windowing Functions
                                                       To reduce spectral leakage in x(n):

                                                                  x* n              xn W n
                                                   X* k                       F x n *F W n
                                                Where W(n) is some “Window Function”

                                        2                                                                                        5
     1                             10                                                     1                                 10


    0.8                                 0                                                0.8
                                   10
                                                                                                                                 0
                                                                                                                            10
    0.6                                                                                  0.6
                                        -2
                                                                                     A




                                                                                                                        A
                                   10
A




                               A




    0.4                                                                                  0.4                                     -5
                                                                                                                            10
                                        -4
                                   10
    0.2                                                                                  0.2

                                                                                                                                 -10
                                        -6                                                0                                 10
     0                             10                                                          0   50       100   150                 0   0.1   0.2       0.3   0.4   0.5
          0   50         100                0    0.1    0.2       0.3   0.4   0.5
                   n                                          k                                         n                                             k



                       Hamming Window                                                                       Blackman Window
Fourier Spectra
                                                       Power Spectrum
                              Time Domain                                                                         Frequency Domain
                                                                                                  0
         1                                                                                   10


       0.8
                                                                                                  -5
                                                                                             10

       0.6

                                                                                                  -10
       0.4                                                                                   10



       0.2                                                                                        -15
                                                                                             10




                                                                                      P(k)
x(t)




         0
                                                                                                  -20
                                                                                             10
       -0.2


       -0.4                                                                                  10
                                                                                                  -25




       -0.6
                                                                                                  -30
                                                                                             10
       -0.8

                                                                                                  -35
        -1                                                                                   10
              0   0.002   0.004   0.006     0.008      0.01   0.012   0.014   0.016                    0   1000   2000   3000    4000    5000   6000   7000   8000
                                          time (sec)                                                                        Frequency (Hz)




                                     What does P(k) shows and what could be its units?
Fourier Spectra
Power Spectrum (Parseval’s Theorem)
                              Time Domain                                                                               Frequency Domain
                                                                                                       0
         1                                                                                        10


       0.8
                                                                                                       -5
                                                                                                  10

       0.6

                                                                                                       -10
       0.4                                                                                        10



       0.2                                                                                             -15
                                                                                                  10




                                                                                           P(k)
x(t)




         0
                                                                                                       -20
                                                                                                  10
       -0.2


       -0.4                                                                                       10
                                                                                                       -25




       -0.6
                                                                                                       -30
                                                                                                  10
       -0.8

                                                                                                       -35
        -1                                                                                        10
              0   0.002   0.004   0.006     0.008      0.01   0.012   0.014    0.016                        0    1000       2000   3000    4000    5000   6000   7000   8000
                                          time (sec)                                                                                  Frequency (Hz)




                                                                      N 1                         N 1
                                                                                       2   1                            2
                                                                              xn                                X k
                                                                      n 0                  N      k 0
Fourier Spectra
                                                            (Phase)
                              Time Domain                                                                       Frequency Domain
         1
                                                                                                4

       0.8
                                                                                                3
       0.6

                                                                                                2
       0.4


       0.2                                                                                      1
x(t)




                                                                                       phi(k)
         0
                                                                                                0

       -0.2
                                                                                                -1
       -0.4

                                                                                                -2
       -0.6


       -0.8                                                                                     -3


        -1                                                                                      -4
              0   0.002   0.004   0.006     0.008      0.01    0.012   0.014   0.016                 0   1000   2000   3000    4000    5000   6000   7000   8000
                                          time (sec)                                                                      Frequency (Hz)




                                                              What does the φ(k) axis shows?
Fourier Spectra
                                                            (Phase)
                              Time Domain                                                                  Frequency Domain
                                                                                                                                                               4

         1                                                                                                                                                     3


                                                                                                                                                               2


                                                                                                                                                               1

       0.8




                                                                                                                                                      phi(k)
                                                                                                                                                               0



                                                                                               3                                                               -1


                                                                                                                                                               -2

       0.6                                                                                                                                                     -3


                                                                                                                                                               -4
                                                                                                                                                                    0   1000   2000   3000    4000    5000   6000   7000   8000
                                                                                                                                                                                         Frequency (Hz)


       0.4
                                                                                               2
       0.2
x(t)




         0
                                                                                               1

       -0.2




                                                                                      phi(k)
       -0.4
                                                                                               0

       -0.6


       -0.8                                                                                    -1
                                                                                                                        X: 440
                                                                                                                        Y: -1.571
        -1
              0   0.002   0.004   0.006     0.008      0.01   0.012   0.014   0.016
                                          time (sec)
                                                                                               -2




                                                                                               -3
                                                                                                    380   400   420   440           460   480   500                       520                        540
                                                                                                                      Frequency (Hz)




                                                                What is the phase of x(n)?
Fourier Spectra
                                                              Summary
                                                                                                                                          Harmonics
                                                                           Fundamental                     5
                                                                                                   10



                                                                                                           0
                                                                                                   10




                                                                                         |A(k)|
                                                                                                           -5
                                                                                                   10

         1
                                                                                                           -10
                                                                                                   10

       0.5
                                                                                                           -15
                                                                                                   10
                                                                                                                0      2000        4000        6000   8000
x(n)




         0                                                                                                                    Frequency (Hz)
                                                                 X(k)=F(x(n))                                  4

                                                                                                               3
       -0.5
                                                                                                               2

                                                                                                               1
        -1




                                                                                                  phi(k)
              0   0.2   0.4   0.6    0.8   1   1.2      1.4
                                                                                                               0
                              time (sec)             x 10
                                                            -4


                                                                                                           -1

                                                                                                           -2

                                                                                                           -3

                                                                                                           -4
                                                                                                                   0   2000        4000        6000   8000
                                                                                                                              Frequency (Hz)

                                                                                                           0 Hz                 Fs/2 Hz               FsHz

                        Time Domain                                                                                      Frequency Domain
Digression (1): Phase & Phase Shift
• Positive Phase Shift
   – x(n)=x(n+a)
   – Phase Is Advancing
   – Signal Appears Shifted To The LEFT!

• Negative Phase Shift
   – x(n)=x(n-a)
   – Phase Is Lagging
   – Signal Appears Shifted To The RIGHT!

• This is also important for “Filter Causality”
Digression(2): The Phase Spectrum!
• The Phase Spectrum is extremely important
  – It encodes the “structure” of the signal
  – Two signals can have the same A(k)=A1(k)=A2(k) but
    different φ1(k), φ2(k)
     • This implies two completely different x1(n), x2(n)


• Practical Example
  – Draw bars on an Organ
  – Additive Sound Synthesis
  – The importance of phase in speech enhancement
Fourier Transform
• Practical Application
Spectral Analysis &
               The Fourier Transform
• We will be using MATLAB

• Create / Acquire Some Signals

• Perform Forward / Inverse Fourier Transform

• Visualise and read the spectra of some basic signals

• Explore some properties of the Fourier Transform
    – And their consequences to DSP

• Brief Case Study On Sound Analysis
Creating / Acquiring Some Signals
• Task 1 - For some…
   – Sampling Fequency Fs (Hz)
   – Signal Duration D (Sec)
   – Fs=8000; D=3;
     n=0:(1./Fs):D;
     p=2*pi*n;
        • What are the (n) and (p)?

• …generate some basic signals (for some frequency f of your choice)
   –   x1=sin(f*p);                          #Sin
   –   x2=cos(f*p);                          #Cos
   –   x3=square(f*p)                 #...
   –   x4=sawtooth(f*p);              #...
   –   x5=sawtooth(f*p,0.5);                 #Triangle
   –   x6=zeros(size(t));x6(1)=1;            #Delta
Creating / Acquiring Some Signals
• Task 1.1 - Other signals?
   – Text Format
      • MATLAB can load a list of numbers very easily through the
        command “load”
      • Start “Notepad”, enter a coma separated list of
        numbers, save the file in your current path, load the file in
        MATLAB.
   – WAV Format
      • Sound files can be acquired from “freesound.org” and be
        loaded into your workspace through “wavread”
      • Locate a .wav file, load it into matlab using
        [x7, Fs]=wavread(‘path/to/some/file.wav’);
Digression:
  Visualising / Sonifying Some Signals
• Visualisation
  – Any time series data
     • plot(x*);
         – plot(n,x*)
     • stem(x*);


• Sonification
  – How does a time series of values sounds like?
  – sound(x*,Fs)
  – soundsc(x*,Fs)
The Forward / Inverse Fourier
               Transform
• Select some signal (x*) from your workspace
• Perform Forward Fourier Transform
   – Fx*=fft(x*);
• Perform Inverse Fourier Transform
   – IFx*=ifft(Fx*)

• Please note: The “*” symbol stands for some signal
  created in the previous step

• What can we observe about Fx*?
• Was IFx* the same as x?
Visualising Signal Spectra
• Task 2
    – Select some Fx* from your workspace
    – Derive its Amplitude spectrum
        • A(Fx*) = abs(Fx*);
    – Derive its Power spectrum
        • P(Fx*) = abs(Fx*)^2;
    – Derive its Phase Spectrum
        • Phi(Fx*) = angle(Fx*);


• How do they look like?
    – How can we improve their presentation?
• How does the spectrum of the “cos” function looks like?
    – How is it different to the sin spectrum?
• How does the spectrum of the “Delta” function looks like?
    – Why? What does this mean?
• How does the spectrum of the “square” signal looks like?
Exploring Some Properties Of The
           Fourier Transform
• Shifting In Time / Frequency
  – How would you shift your x(n) by 5 samples in the
    time domain?
     • x(n)=x(n+5); %Yes…I know…
     • But how can it be done through the Fourier Transform?


• After you have shifted your signal
  – What was put in the place of these 5 values?
  – Why?
Brief Case Study Of
                          Real World Signal Spectra
                200

                150

                100
Amplitude




                 50

                  0

                -50

            -100

            -150
                      0     0.5             1         1.5             2                 2.5              3
                                                  Sample (n)                                             x 10
                                                                                                                4




                     6
                10

                     5
                10

                     4
                10
    Amplitude




                     3
                10

                     2
                10

                     1
                10

                     0
                10
                      0    20          40        60              80               100              120
                                                Frequency (Hz)



                                  Human EEG: “Reading” The Spectrum
                                                                      Signals courtesy of Javier Escudero Rodriguez
What Does The Spectrum “Tells” Us
                                  2

Power Line




                     Amplitude
   Hum /                          0
    Other
    E.M.I.                       -2
                                      0   20     40      60         80    100    120
                                                      Sample (n)
                            200
    Actual    Amplitude
    Signal                        0
 From the                                                                                   +   xn
     Brain                  -200
                                      0   0.5     1          1.5      2    2.5      3
                                                      Sample (n)                 x 10
                                                                                        4




   Heart’s
                Amplitude




                                 10
 Electrical
   Activity                       0

                            -10
                                 7000     7500        8000         8500   9000
                                                      Sample (n)
Brief Case Study Of
                                   Real World Signal Spectra
                0.6

                0.4

                0.2
   Amplitude




                        0

               -0.2

               -0.4

               -0.6

               -0.8
                            0           500        1000        1500          2000           2500        3000        3500
                                                                        Sample (n)



                    5
               10



                    0
               10
Amplitude




                    -5
               10



                    -10
               10



                    -15
               10
                            0      10         20          30     40         50         60          70          80   90     100
                                                                      Frequency (Hz)




                                Pendulum Net Acceleration (on Earth): “Reading” The Spectrum
What Does The Spectrum “Tells” Us
• Data Acquisition Fault
  – The MCU was not sampling the Accelerometer
    while writing data to the SD card.
  – Phase Modulation

• Very limited actual bandwidth

• Did not have a huge impact on the actual
  application because of the nature of the signal
Questions for further experimentation
•   What is the meaning of the DC component? (0Hz)
     – As far as sampled signals are concerned what other condition can lead to a sampled signal of
       0Hz Frequency?

•   What happens when the FT is evaluated over less / more frequency points than
    there are samples in a signal?

•   How would the spectra change if the FS was increased / decreased?

•   If some x(n) expresses calibrated “Sea Level” measurements sampled every day in
    a particular location, what is the unit of the Frequency Axis (k) and what is the
    interpretation of the spectrum?
     – Is the Frequency Axis still reading in Hz? If not, what can it be interpreted in?

•   If some x(n) expressed “Hours Of Sleep” measurements sampled every night for a
    particular person over the course of 10 years, what is the unit of the Frequency
    Axis (k) and what is the interpretation of the spectrum?
The End
Appendix:
   Crash Course On Complex Numbers
                                                                                       Real Part                      Re(Z)
                                                                                       Imaginary Part                 Im(Z)

                 The Complex Number (Z):                     Z        a i b
              You can think of it as a vector                    i             1

       And because Z is a vector, it has “Magnitude” and “Orientation” (angle)
                                                                           b
                                          rZ    a 2 b2   Z           tan
                                                                           a

              And through these, Z can be expressed in “Polar Form”:
                              z       rZ cos    Z   i sin              or z            rZ ei   Z




The basic operations between two Complex Numbers Z,Y in each form are as follows:
              Z     a i b, Y      c i d
                                                                                   z    rZ e i Z , y       rY e i Y
              Z Y      a c        i b d
                                                                                   z y     rZ rY e i       Z   Y
              Z Y     ac bd           i bc ad
              Z      ac bd             bc ad
                                                                                   z     rZ i
                                  i                                                         e      Z   Y


              Y      c2 d 2            c2 d 2                                      y     rY
Appendix:
Properties Of The Fourier Transform
   Please Note: In all of the following properties, capitalised letters are
   the Fourier Transforms of the corresponding small case time series



 Periodicit
          y                           X k     N     X k
Convolutio
         n      xn     yn      X k Y k and x n y n                X k     Y k
                                      i2                                 i2
                                         nm                                 nm
                                       N                                  N
  Shifting      X k m         xn e            and x n m        X k e
 Linearity                a xn       b yn         a X k     b Y k
                                                  1   k
  Scaling                            xa n           X
                                                  a   a

The FFT And Spectral Analysis

  • 1.
    Spectral Analysis & TheFourier Transform Athanasios Anastasiou Signal Processing and Multimedia Communications Research Group University of Plymouth - UK
  • 2.
    Learning Objectives • Familiariseyourselves with the Fourier Transform and its properties • Make sense of Fourier spectra • Carry out basic operations on various signals in MATLAB – Forward / Inverse Transform – Visualisation of spectra
  • 3.
    Topics • Signals In: – Time Domain – Frequency Domain • The Fourier Transform • The Fourier Spectra • Practical application in MATLAB
  • 4.
    Fourier Transform (?) •It was named after Jean Baptiste Joseph Fourier (1768 – 1830) • The Fourier Transform – Changes the representation of a signal – Fundamental characteristics of the signal (power, phase) remain the same, only their representation changes – Representation (?) • Time Domain • Frequency Domain – Enables us to observe signals and change them far more easily in the Frequency Domain, than it would be in the Time Domain. • The same concepts apply similarly to other transforms as well
  • 5.
    What is sospecial about the Fourier Transform? • An extremely versatile tool • Time Series Analysis / Processing / Synthesis – Tidal observations – Mechanical Vibration Analysis – Lossy Compression – Image Reconstruction – Signal Features / Classification • Speech Recognition / Animal Species Recognition – Electromagnetic Spectrum • SETI • …and some special cases: – Fast Fluid Simulation (for computer graphics)
  • 6.
    Time Domain Frequency Domain • One Signal – x(n) – Amplitude samples of some quantity over time • Many Different Representations – X(ω) – A series of weights to: • Trigonometric functions • Other functions • How do we pass from one domain to the other?
  • 7.
    Integral Transforms Transformed Signal Signal Kernel (Time Domain) (Some Domain) t2 X U t, x(t ) dt Forward Transform t1 t2 1 xt U ,t X d Inverse Transform t1 What about the Fourier Transform?
  • 8.
    The Fourier Transform FrequencyDomain Kernel Time Domain i2 t X e x t dt ei cos i sin Euler’s Formula Re-expresses the signal x(t) as a series of weights X(ω) of sinusoids and co-sinusoids of different frequencies ω
  • 9.
    The Inverse FourierTransform Time Domain Kernel Frequency Domain xt ei 2 t X d Re-composes the signal x(t) as a remix of sinusoids and co-sinusoids at different frequencies (ω) and different “strengths” X(ω)
  • 10.
    The Discrete FourierTransform Remember, DSP is all about sampled signals… N 1 i2 k n 1 N k e xn N n 0 k N 1 i2 k n N xn e X k k 0 …and this has some consequences on the properties of the Fourier Transform (Key properties: Linearity, Periodicity, Shifting, Convolution Duality, Interpolation, Frequency & Time Scaling) Please Note:This is the 1-Dimensional case of the Fourier Transform. It can be generalised to higher dimensions with applications to Image Processing, Volumetric Data processing and others
  • 11.
    Digression: Fast FourierTransform The Discrete Fourier Transform (DFT) as a matrix operation X U x Re U Im U Perform The Unique Operations Only
  • 12.
    Fourier Spectra • “Spectrum”is another name for X(k) – The strength X(k) by which sinusoids and co-sinusoids of frequency k contribute to signal x(t) • “Fourier Spectrum” is synonymous with “Signal Spectrum” – Usually, “Spectral Analysis” refers to observing the Fourier Spectra of a signal • Hold on….Fourier Spectra?...There’s more than one? – Oh, yeah!
  • 13.
    Fourier Spectra Ak X k Amplitude 2 Pk X k Power 1 Im X k Phase k tan Re X k Please note: • X(k) is a complex number • The power spectrum is not the same as the Amplitude spectrum! • How do these “spectra” look like and how do we make sense of them?
  • 14.
    Fourier Spectra Amplitude Spectrum Time Domain Frequency Domain 5 1 10 0.8 0.6 0 10 0.4 0.2 X(k) x(t) -5 0 10 -0.2 -0.4 -10 10 -0.6 -0.8 -15 -1 10 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0 0.5 1 1.5 2 2.5 time (sec) Frequency x 10 4 What are the units of the Frequency Axis? Where are the 0, Fs/2 and Fs points on the Frequency Axis? What can the units of X(k) be?
  • 15.
    Fourier Spectra Amplitude Spectrum Time Domain Frequency Domain 0 1 10 0.8 -2 10 0.6 -4 10 0.4 -6 10 0.2 -8 10 X(k) x(t) 0 -10 10 -0.2 -12 10 -0.4 -14 10 -0.6 -16 -0.8 10 -18 -1 10 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0 1000 2000 3000 4000 5000 6000 7000 8000 time (sec) Frequency (Hz) Physical Frequency k VS f Fs Normalised Frequency N Any general observations on X(k)? What about the relationship between X(k) and x(t)?
  • 16.
    Fourier Spectra Spectral Resolution Time Domain Frequency Domain 0 1 10 0.8 -2 10 0.6 -4 10 0.4 -6 10 0.2 -8 10 X(k) x(t) 0 -10 10 -0.2 -12 10 -0.4 -14 10 -0.6 -16 -0.8 10 -18 -1 10 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0 1000 2000 3000 4000 5000 6000 7000 8000 time (sec) Frequency (Hz) Physical Frequency k VS f Fs Normalised Frequency N What happens when some (f) falls between two kn,kn+1?
  • 17.
    Fourier Spectra Digression: Windowing Functions To reduce spectral leakage in x(n): x* n xn W n X* k F x n *F W n Where W(n) is some “Window Function” 2 5 1 10 1 10 0.8 0 0.8 10 0 10 0.6 0.6 -2 A A 10 A A 0.4 0.4 -5 10 -4 10 0.2 0.2 -10 -6 0 10 0 10 0 50 100 150 0 0.1 0.2 0.3 0.4 0.5 0 50 100 0 0.1 0.2 0.3 0.4 0.5 n k n k Hamming Window Blackman Window
  • 18.
    Fourier Spectra Power Spectrum Time Domain Frequency Domain 0 1 10 0.8 -5 10 0.6 -10 0.4 10 0.2 -15 10 P(k) x(t) 0 -20 10 -0.2 -0.4 10 -25 -0.6 -30 10 -0.8 -35 -1 10 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0 1000 2000 3000 4000 5000 6000 7000 8000 time (sec) Frequency (Hz) What does P(k) shows and what could be its units?
  • 19.
    Fourier Spectra Power Spectrum(Parseval’s Theorem) Time Domain Frequency Domain 0 1 10 0.8 -5 10 0.6 -10 0.4 10 0.2 -15 10 P(k) x(t) 0 -20 10 -0.2 -0.4 10 -25 -0.6 -30 10 -0.8 -35 -1 10 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0 1000 2000 3000 4000 5000 6000 7000 8000 time (sec) Frequency (Hz) N 1 N 1 2 1 2 xn X k n 0 N k 0
  • 20.
    Fourier Spectra (Phase) Time Domain Frequency Domain 1 4 0.8 3 0.6 2 0.4 0.2 1 x(t) phi(k) 0 0 -0.2 -1 -0.4 -2 -0.6 -0.8 -3 -1 -4 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0 1000 2000 3000 4000 5000 6000 7000 8000 time (sec) Frequency (Hz) What does the φ(k) axis shows?
  • 21.
    Fourier Spectra (Phase) Time Domain Frequency Domain 4 1 3 2 1 0.8 phi(k) 0 3 -1 -2 0.6 -3 -4 0 1000 2000 3000 4000 5000 6000 7000 8000 Frequency (Hz) 0.4 2 0.2 x(t) 0 1 -0.2 phi(k) -0.4 0 -0.6 -0.8 -1 X: 440 Y: -1.571 -1 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 time (sec) -2 -3 380 400 420 440 460 480 500 520 540 Frequency (Hz) What is the phase of x(n)?
  • 22.
    Fourier Spectra Summary Harmonics Fundamental 5 10 0 10 |A(k)| -5 10 1 -10 10 0.5 -15 10 0 2000 4000 6000 8000 x(n) 0 Frequency (Hz) X(k)=F(x(n)) 4 3 -0.5 2 1 -1 phi(k) 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 time (sec) x 10 -4 -1 -2 -3 -4 0 2000 4000 6000 8000 Frequency (Hz) 0 Hz Fs/2 Hz FsHz Time Domain Frequency Domain
  • 23.
    Digression (1): Phase& Phase Shift • Positive Phase Shift – x(n)=x(n+a) – Phase Is Advancing – Signal Appears Shifted To The LEFT! • Negative Phase Shift – x(n)=x(n-a) – Phase Is Lagging – Signal Appears Shifted To The RIGHT! • This is also important for “Filter Causality”
  • 24.
    Digression(2): The PhaseSpectrum! • The Phase Spectrum is extremely important – It encodes the “structure” of the signal – Two signals can have the same A(k)=A1(k)=A2(k) but different φ1(k), φ2(k) • This implies two completely different x1(n), x2(n) • Practical Example – Draw bars on an Organ – Additive Sound Synthesis – The importance of phase in speech enhancement
  • 25.
  • 26.
    Spectral Analysis & The Fourier Transform • We will be using MATLAB • Create / Acquire Some Signals • Perform Forward / Inverse Fourier Transform • Visualise and read the spectra of some basic signals • Explore some properties of the Fourier Transform – And their consequences to DSP • Brief Case Study On Sound Analysis
  • 27.
    Creating / AcquiringSome Signals • Task 1 - For some… – Sampling Fequency Fs (Hz) – Signal Duration D (Sec) – Fs=8000; D=3; n=0:(1./Fs):D; p=2*pi*n; • What are the (n) and (p)? • …generate some basic signals (for some frequency f of your choice) – x1=sin(f*p); #Sin – x2=cos(f*p); #Cos – x3=square(f*p) #... – x4=sawtooth(f*p); #... – x5=sawtooth(f*p,0.5); #Triangle – x6=zeros(size(t));x6(1)=1; #Delta
  • 28.
    Creating / AcquiringSome Signals • Task 1.1 - Other signals? – Text Format • MATLAB can load a list of numbers very easily through the command “load” • Start “Notepad”, enter a coma separated list of numbers, save the file in your current path, load the file in MATLAB. – WAV Format • Sound files can be acquired from “freesound.org” and be loaded into your workspace through “wavread” • Locate a .wav file, load it into matlab using [x7, Fs]=wavread(‘path/to/some/file.wav’);
  • 29.
    Digression: Visualising/ Sonifying Some Signals • Visualisation – Any time series data • plot(x*); – plot(n,x*) • stem(x*); • Sonification – How does a time series of values sounds like? – sound(x*,Fs) – soundsc(x*,Fs)
  • 30.
    The Forward /Inverse Fourier Transform • Select some signal (x*) from your workspace • Perform Forward Fourier Transform – Fx*=fft(x*); • Perform Inverse Fourier Transform – IFx*=ifft(Fx*) • Please note: The “*” symbol stands for some signal created in the previous step • What can we observe about Fx*? • Was IFx* the same as x?
  • 31.
    Visualising Signal Spectra •Task 2 – Select some Fx* from your workspace – Derive its Amplitude spectrum • A(Fx*) = abs(Fx*); – Derive its Power spectrum • P(Fx*) = abs(Fx*)^2; – Derive its Phase Spectrum • Phi(Fx*) = angle(Fx*); • How do they look like? – How can we improve their presentation? • How does the spectrum of the “cos” function looks like? – How is it different to the sin spectrum? • How does the spectrum of the “Delta” function looks like? – Why? What does this mean? • How does the spectrum of the “square” signal looks like?
  • 32.
    Exploring Some PropertiesOf The Fourier Transform • Shifting In Time / Frequency – How would you shift your x(n) by 5 samples in the time domain? • x(n)=x(n+5); %Yes…I know… • But how can it be done through the Fourier Transform? • After you have shifted your signal – What was put in the place of these 5 values? – Why?
  • 33.
    Brief Case StudyOf Real World Signal Spectra 200 150 100 Amplitude 50 0 -50 -100 -150 0 0.5 1 1.5 2 2.5 3 Sample (n) x 10 4 6 10 5 10 4 10 Amplitude 3 10 2 10 1 10 0 10 0 20 40 60 80 100 120 Frequency (Hz) Human EEG: “Reading” The Spectrum Signals courtesy of Javier Escudero Rodriguez
  • 34.
    What Does TheSpectrum “Tells” Us 2 Power Line Amplitude Hum / 0 Other E.M.I. -2 0 20 40 60 80 100 120 Sample (n) 200 Actual Amplitude Signal 0 From the + xn Brain -200 0 0.5 1 1.5 2 2.5 3 Sample (n) x 10 4 Heart’s Amplitude 10 Electrical Activity 0 -10 7000 7500 8000 8500 9000 Sample (n)
  • 35.
    Brief Case StudyOf Real World Signal Spectra 0.6 0.4 0.2 Amplitude 0 -0.2 -0.4 -0.6 -0.8 0 500 1000 1500 2000 2500 3000 3500 Sample (n) 5 10 0 10 Amplitude -5 10 -10 10 -15 10 0 10 20 30 40 50 60 70 80 90 100 Frequency (Hz) Pendulum Net Acceleration (on Earth): “Reading” The Spectrum
  • 36.
    What Does TheSpectrum “Tells” Us • Data Acquisition Fault – The MCU was not sampling the Accelerometer while writing data to the SD card. – Phase Modulation • Very limited actual bandwidth • Did not have a huge impact on the actual application because of the nature of the signal
  • 37.
    Questions for furtherexperimentation • What is the meaning of the DC component? (0Hz) – As far as sampled signals are concerned what other condition can lead to a sampled signal of 0Hz Frequency? • What happens when the FT is evaluated over less / more frequency points than there are samples in a signal? • How would the spectra change if the FS was increased / decreased? • If some x(n) expresses calibrated “Sea Level” measurements sampled every day in a particular location, what is the unit of the Frequency Axis (k) and what is the interpretation of the spectrum? – Is the Frequency Axis still reading in Hz? If not, what can it be interpreted in? • If some x(n) expressed “Hours Of Sleep” measurements sampled every night for a particular person over the course of 10 years, what is the unit of the Frequency Axis (k) and what is the interpretation of the spectrum?
  • 38.
  • 39.
    Appendix: Crash Course On Complex Numbers Real Part Re(Z) Imaginary Part Im(Z) The Complex Number (Z): Z a i b You can think of it as a vector i 1 And because Z is a vector, it has “Magnitude” and “Orientation” (angle) b rZ a 2 b2 Z tan a And through these, Z can be expressed in “Polar Form”: z rZ cos Z i sin or z rZ ei Z The basic operations between two Complex Numbers Z,Y in each form are as follows: Z a i b, Y c i d z rZ e i Z , y rY e i Y Z Y a c i b d z y rZ rY e i Z Y Z Y ac bd i bc ad Z ac bd bc ad z rZ i i e Z Y Y c2 d 2 c2 d 2 y rY
  • 40.
    Appendix: Properties Of TheFourier Transform Please Note: In all of the following properties, capitalised letters are the Fourier Transforms of the corresponding small case time series Periodicit y X k N X k Convolutio n xn yn X k Y k and x n y n X k Y k i2 i2 nm nm N N Shifting X k m xn e and x n m X k e Linearity a xn b yn a X k b Y k 1 k Scaling xa n X a a

Editor's Notes

  • #9 X(k) is not different than x(t), it’s just a different representationAlternative name for series is “a set of coefficients”Need to observe the series of operations. X(k) is evaluated for each k
  • #10 X(k) is not different than x(t), it’s just a different representation
  • #11 What is the different between the forward and the inverse Fourier Transform?Point out the differences between the formulas that MATLAB uses. Mention the 1/N term
  • #12 Please note, you can generate this matrix in MATLAB by typing dftmtx (“doc dftmtx” will tell you all about it)Notice how the matrix is composed of a very small set of coefficients that repeat themselves over and over again.
  • #15 The frequency axis is not in Hz (yet)Average amplitude WITHIN the window consideredWhat happened here? How has the representation of the signal changed? (Changing one coefficient we change many values in the time domain at once)What is a harmonic?
  • #16 After applying this transformation we can move between normalised frequency to physical frequency and back.
  • #17 When the signal (x(n)) contains a frequency that does not fit exactly within one of the “bins” effected by the spectral resolution of the FFT, it is distributed (“spills”) to the nearest “bins”.
  • #18 Windowing functions are used to reduce “spectral leakage”N=128;NF=512;W=blackman(N);F=fft(W,NF);subplot(121);plot(W);grid on;xlabel('n');ylabel('A');subplot(122);semilogy((1:round(NF./2))./NF,abs(F(1:round(NF./2))));xlabel('k');ylabel('A');grid on
  • #19 Please note that the power spectrum will be different depending on whether you have added the 1/N term or not.
  • #20 Parseval’s theorem allows you to produce an equivalent measurement of power from the frequency domain. Please note that the summation (in the frequency domain) does not have to include the whole signal, it could just be a subset of the harmonics that compose the signal.
  • #24 What sort of phase shift do the +φ1 and –φ1 terms imply?
  • #28 Please pay attention to the variables Fs, D, n and p we will be re-using them in the next few slides.
  • #30 plot(n,x*) will provide a plot of x3 in the time domain. That is, a plot of x3 versus the time variable which in our case is n.
  • #32 Just as we did in the time domain, we now need to “plot” the signal in the frequency domain. And just as we did with the time domain we now need to come up with a “frequency” variable that is equivalent to n.Fv = Fs * (0: (length(x3)-1)./length(x3);plot(Fv,abs(Fx3));Ah! At last we have a plot of the frequency domain (Amplitude of the fourier spectrum abs(Fx3) versus physical frequency Fv). The problem is that because of the way the FFT is calculated, X(k) can contain very big numbers (10^4) along with some very small numbers (0.0001), to get a more objective view of the spectrum we need a way to look at both small and very big numbers on the same scale. We do this by setting the Y axis of our plot (above) to a logarithmic scale:semilogy(Fv,abs(Fx3));Now we can observe both the very low amplitude and very high amplitude harmonics on the same plot.
  • #33 You can shift your signal in the time domain through the Fourier transform. In fact this is something that you have been doing all the time during your FFT lectures. Can you work out the term and the way through which you could achieve a phase shift of your x(n) just by working with the X(k) coefficients? (You can’t “touch” x(n) –as is suggested in these slides-. You should only work with X(k)….You can add, subtract, multiply, divide or do any other thing you think is necessary ON X(k) ONLY to effect a 5 sample phase shift on x(n))After you have shifted your signal, observe what was put in the place that these 5 samples occupied before. Can you work out an explanation for your observations through the properties of the Fourier Transform? (You can find a small collection of these properties at the appendix of this presentation).
  • #34 The frequency spectrum X(k) of this signal is telling us a story. It is telling us about things that were occurring during the data acquisition of the signal that we don’t have the chance to observe in the time domain.
  • #35 …and this is the story that the spectrum tells us. Because of the linearity property of the Fourier Transform (please refer to the appendix), the spectrum in the previous page is a superposition of the spectra of the different phenomena that were going on at the same time during data acquisition. Besides the neurons going on and off inside the person’s head, the EEG is also picking up the variable electric field that is caused by the heart as it beats, pumping blood around the body of the subject*. At the same time, the so called “Mains Noise” has crept up within the recorded signal. The “mains noise” although most of the times we refer to it as a single sinusoid it is not (!), if you notice the spectrum in the previous slide, there are two spectral lines close to the frequency of the power line (50Hz for this part of the world). Their relative powers create a signal that is a bit more complex than a sinusoid and contaminates the signal.Please note, that the cardiac signal was extracted from these same noisy signals by Javier Escudero Rodriguez through a signal processing technique called Independent Component Analysis (ICA). Unfortunately, we do not have the time to cover ICA but it is a very interesting technique and touches upon the concepts of spectral analysis we have been talking about in these lectures. More information on the subject can be found in: http://research.ics.tkk.fi/ica/book/
  • #36 Can you guess just by looking at the spectrum what is going on with this signal?
  • #40 Also, an excellent resource that can be used as a quick reference book as well is:http://www.numbertheory.org/book/
  • #41 DSP text books will usually contain a larger list of the FT properties and you can refer to them depending on your needs. This small collection includes all the properties we will be coming across in these lectures.