Understand various signal processing tools like Fourier series, Fourier transform, Power spectral density etc. for analyzing the signal

  1.    Basics of Fourier Transform

Fourier transform is a process to convert a spatial domain signal (i.e., time domain signal) into a frequency domain signal. Oppositely, the inverse Fourier transform is a process to convert the frequency domain signal to the primary time domain signal.

 

Fourier transform

The Fourier transform of a time-domain signal is defined as follows

X(ω) = ωt) dt

 

**x(t) denotes the signal in the time domain, denotes the signal in the frequency domain and is the angular frequency.

 

Inverse Fourier transform

x(t) = ωt) dt

 

Discrete Fourier Transform (DFT)

For digital systems, the Fourier transform is realized by

For complex numbers x0, x1, x2, x3, … , xn-1

X[k] = WNkn ,  where k=1,2,3,..,N-1

Where WN  is the nth root of unity given by

WN = exp(-j(2 )

 

**DFT Algorithms are at the end of this article

 

Fast Fourier Transform (FFT)

The basic idea of a fast Fourier transform is to break up a transform of length N into two transforms of length N/2.

For complex numbers x[n] where, n = 1, 2, 3, …, n-1

X[k] = WNkn = e-j2πk(2r)/N + e-j2πk(2r+1)/N

**In the above transform of length N is broken into two transforms of length N/2 and on the other hand, they pick up even and odd samples of x[n] separately

= e-j2πk(2r)/N + e-j2πk/N e-j2πk(2r)/N

= e-j2πkr/(N/2) + e-j2πk/N e-j2πkr/(N/2)

In the above diagram {X[0], X[1], X[2], X[3], X[4], X[5], X[6], X[7]} is the Fourier transform of {x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7]}

 

**FFT algorithms are at the end of this article

 

  1.    Advantages of FFT over DFT

To compute the DFT of an N-point sequence it take O(N2) multiplies and adds. The FFT algorithm computes the DFT using O(N log N) multiplies and adds.

The fast Fourier transform (FFT) is a discrete Fourier transform algorithm which reduces the number of computations needed for N points from 2N2 to 2Nlog2N.

 

  1.    Properties of Fourier Transform
  1. Linearity

The Fourier Transform satisfies linearity & principle of superposition

Consider two functions x1(t) & x2(t)

If F(x1(t)) = X1(ω),  F(x2(t)) = X2(ω)

Then F[a1x1(t) + a2x2(t)] = a1X1(ω) + a2X2(ω) 

 

 

  1. Scaling

F(x(t)) = X(ω)

If ‘a’ is real constant then

 F(x(at)) = X(ω), 

 

  1. Symmetry

When x(t) is real and even then X(ω) = X*(-ω)

When x(t) is real and odd then X(ω) = X(-ω)

 

  1. Convolution

Fourier transform makes the convolution of 2 signals into the product of their Fourier Transform. There are two types of convolutions, one for time domain and other for frequency domain.

  1. Time domain convolution

F(x1(t)) = X1(ω),  F(x2(t)) = X2(ω)

Then F(x1(t)* x2(t)) = X1(ω) . X2(ω),    [‘*’ – convolution sign)]

 

  1. Frequency domain convolution

F(x1(t) . x2(t)) = 1/2.X1(ω) * X2(ω)      [‘*’ – convolution sign)]

 

  1. Shifting Property

F(x(t – t0)) = e-jωt0 X(ω)

As a consequence, transforms leave the Fourier spectrum | X(ω)|2 unchanged.

 

  1. Duality

F(x(t) =  X(t) = 2 x(-ω)

 

  1. Differentiation

F( ) = jωX(ω)

 

  1. Integration

F(t) dt) = X(ω)/jω

When a function (i.e., x(t)) is not an energy function and hence the Fourier transform of (t) dt] includes an impulse function.

F(t) dt) = X(ω)/jω + X

 

  1. Modulation Property

F{x(t)cosat} = ½ {X(ω + a) + X(ω - a)}

F{x(t)sinat} = ½ {X(ω + a) - X(ω - a)}

 

  1. If the Fourier transform of f(x) is F(k), then f*(x) <=>  F*(-k)

As a consequence Fourier transform of a real function must satisfy the symmetry relation.

F(k) = F*(-k), meaning that the Fourier transform is symmetric about the origin in k-space. |F(k)|2 = |F(-k)|2

 

  1.  Parseval’s theorem

Energy = (t)|2dt = 1/2 (ω)|2dω

The total energy in the time domain signal, x(t) [i.e., the left integral] can be easily calculated from the frequency domain signal, X(ω) [i.e., from the right integral]

 

  1. Time reversal

F(x(-t)) = X(-ω)

 

  1.    Fourier Transform of some common signals
    1.           Fourier Transform of a delta function

If x(t) = 𝛅(t), then Fourier transform,

X(ω) = (t)e-jωt dt

= (t)e-jωt dt

= e-jω0 dt

= 1

Thus Fourier transform of a delta/impulse is a constant equal to 1, independent of frequency. Remember that derivation is used the shifting property of the impulse to eliminate the integral.

 

  1.           Fourier transform of a unit step function

 

γ (t) = 0 for t<0

                                                            = 1 for t ≥1

We know that a unit-step function is an integration of a delta function. So for a unit step function,

γ (t) =  (t) dt

So, X(ω) = F() + F() 

[See the property of integration above]

           = +       [as F()= F()=1]

When a function (i.e., x(t)) is not an energy function and hence the Fourier transform of (t) dt] includes an impulse function.

 

  1.           Fourier Transform of a unit pulse function

A pulse function can be represented as,

x(t)=Π(t) = γ (t + ½) - γ(t - ½)

For a function rect(t) = Π(t) = 1 for |t| ≤ ½

                                             = 0 otherwise

Given that

x(t) = Π(t)

Hence from the definition of the Fourier transform we have

F (Π(t)) = X() = e -jωt dt

                           =  e -jωt dt     [as Π(t) = 1 for |t| ≤ ½]

                            =  [(e –jωt)/-jω]-1/21/2

                                           = [e –jω/2 - e /2] / -jω

                            = [e /2 - e -jω/2] / jω

                            = 2/ω . {[e /2 - e -jω/2] / 2j}

                            = 2/ω . sin(ω/2)

                            = {sin(ω/2) / (ω/2)}

                           = {sin((ω/2)) / ((ω/2))}

                            = sinc(ω/2)

 

For the above case, the rectangular function has a pulse width value of 1 over the interval of [-½, ½]; 0 otherwise.

Now we’ll discuss a rectangular pulse that has a width of T

Then,    rect(t/T) = Π(t/T) = 1 for |t| ≤ T/2

                                             = 0 otherwise

Given that

x(t/T) = Π(t/T)

Hence from the definition of the Fourier transform we have

F (Π(t/T)) = e -jωt dt

                           =  e -jωt dt     [as Π(t/T) = 1 for |t| ≤ T/2]

                            =  [(e –jωt)/-jω]-T/2T/2

                                           = [e –jωT/2 - e jωT/2] / -jω

                            = [e jωT/2 - e -jωT/2] / jω

                            = 2/ω . {[e jωT/2 - e -jωT/2] / 2j}

                            = 2/ω . sin(ω(T/2))

                            = {sin(ω(T/2)) / (ω/2)}

                            = {sin(ωT/2)) / (ω/2))}

                            = {sin(ωT/2)) / (ωT/2))}.T

                            = T. sinc(ωT/2)

 

 

  1.           Fourier Transform of a unit triangle pulse

A unit triangle pulse is simply the convolution of a unit pulse function with itself.

Here, Λ(t) = Π(t) * Π(t)               

[Π(t) is a unit pulse function & ‘*’ denotes convolution]

So, Λ(ω) = sinc(ω/2) . sinc(ω/2 = sinc2(ω/2

 

  1.           Fourier Transform of a Sawtooth function

s(t) = 0, for t < 0 and t > 1

                                                  = 1, for 0 ≤ t ≤ 1

We can represent sawtooth as the integral of shifted unit pulse function (to give the ramp) and a negative impulse (delayed by one second) to give the discontinuity at the end of the ramp

 

s(t) = dt - dt =

y(t) = -

Now, we’ve to find the Fourier transform of y(t),

Y(ω) = sinc(ω/2)e-jω/2 - e-jω

We can now apply integral property with Y(0) = 0, to find S(ω)

S(ω) = F() = Y(ω)/jω - Y(0)(0) = Y(ω)/jω

= {(sinc(ω/2)e-jω/2 - e-jω) / jω}

= {((sin(π . ω/2) / (π . ω/2))e-jω/2 - e-jω) / jω}

=  (((sin(π . ω/2) / (π . ω/2))e-jω/2) / jω) – (e-jω / jω)

= (2(sin(ω/2)e-jω/2) / jω2) – (je-jω / j2ω)

= (2((ejω/2 - e-jω/2) / 2j)e-jω/2) / jω2) + (je-jω / ω)     [as j2 = -1]

= (((ejω/2 - e-jω/2)e-jω/2) / j2ω2) + (je-jω / ω)

= (((e-jω/2 - ejω/2)e-jω/2) / ω2) + (je-jω / ω)

= (((e-jω/2 - ejω/2)e-jω/2) / ω2) + (je-jω / ω)

= ((((e-jω/2 - ejω/2)e-jω/2) + jωe-jω) / ω2)

= ((e-jω - 1 + jωe-jω) / ω2)

= ((e-jω(1+jω) - 1) / ω2)

 

 

  1.    Algorithms

For DFT & FFT

Look at the aforementioned formula for DFT. The term WkN  (= exp(-j(2 .k) ) can be represented as follows

 

In the above figure the values for N = 2, 4, and 8 are shown in the complex plain. Where ‘N’ denotes N point DFT.

 

For example,

For a 2 point DFT

W2 = e-2jπ/N = e-2jπ/2 = e-jπ = -1

Now, discrete Fourier transform for complex numbers a1 and a2 is

AK = n W2kn

      = n (-1)kn

      = a0 (-1)k  .0  + a1 (-1)k  .1

As K = 0 and 1 (for 2 point DFT)

So, A0 = a0  + a1

And A1 = a0  -  a1

 

Similarly for a 4-point DFT

W4 = e-2jπ/4 = e-2jπ/4 = e-jπ/2 = -j

Now, discrete Fourier transform for complex numbers a1, a2, a3, and a4 is

AK = n W4kn

     = n (-j)kn

     = a0 (-j)k  .0  + a1 (-j)k  .1 + a2 (-j)k  .2 + a3 (-j)k  .3

So, A0 = a0  + a1 + a2  + a3

      A1 = a0  - ja1 - a2  + ja3

      A2 = a0  - a1 + a2  - a3

      A3 = a0  + ja1 - a2  - ja3

 

To compute A quickly, we can pre-compute common sub-expressions:

      A0 = (a0 + a2) + (a1  + a3)

      A1 =  (a0 - a2) – j(a1  - a3)

      A2 = (a0  + a2) - (a1  + a3)

      A3 = (a0  - a2)  + j(a1 - a3)

 

Then we can diagram the 4-point like so,

Fig: Three stages in the computation of an N=8-point DFT

 

Fig: Three stages in the computation of an N=8-point DFT

 

Matrix Relations in DFT

The DFT samples defined by

 

WNkn  can be expanded as  NXN DFT matrix

In the matrix the elements in first row and first column all are WN.k.0 or WN.0=1. In the third row powers are multiplied by 2 and in the fourth row powers are multiplied by 3 and so on.

So,

 

Oppositely, to find inverse DFT we replace the ‘j’ with ‘-j’ in the matrix or we take complex conjugates of the matrix elements.

So,

The effective determinant of above is 1/4

 

For a 8-point FFT

The FFT is a fast algorithm for computing the DFT. If we take the 2-point DFT and 4-point DFT and generalize them to 8-point, 16-point, ..., 2r-point, we get the FFT algorithm.

 

N=8-point radix-4   DIT-FFT

Where, -W4 = W0=1; -W5= W1  = a  = (1-j)/2;  -W2 = W6=j and -W3 = W7 = b  =  (1+j)/2

The above diagram is same as illustrated in section ‘Fast Fourier Transform’ under ‘Basics of Fourier Transform’

 

N=8-point radix-2   DIT-FFT

 

** Wx = W8x

 

  1.    Applications

Fourier transform is used in circuit analysis, signal analysis, cell phones, image analysis, signal processing, and LTI systems. The Fourier transform is most probably the best tool to find the frequency in an entire field. This makes it a useful tool for LTI systems and signal processing. Partial differential equations reduce to ordinary differential equations in Fourier Transform.