less than 1 minute read

Discrete Fourier Transform(DFT)

It decomposes of a function(signal) with basic functions(signal) which are orthogonality.

When considering a matrix-vector representation, inner product of each rows must be ‘zero’. (If the row contains complex number, one of the row should be conjugated. )

image

Relations with other spectrum analysis methods

Below methods are all similar in that they are used for decomposing a signal.

But target signal’s form of period and frequency are somewhat different.

  • Fourier series

    Applying to continuous-time signal, assuming period T

  • Fourier transform

    Applying to continuous-time signal, assuming aperiodic

  • Discrete-time Fourier Transform

    Applying to discrete-time signal, assuming aperiodic

Example with Matlab

We can do a simple example.

I’ll try a Discrete Cosine Transform(DCT) which is similar to DFT.

It decomposes of the origin signal with only cosine functions, in other words, it contains only real number axis informations.

It helps reducing computational load eliminating imaginary components.

close all;
clear; clc; 

%% org
m=1:1:200;
org = m+50*cos(m*2*pi/10) + 25*sin(m*2*pi/5);

dct_org = dct(org);
plot( dct_org);hold on;

%% sampled
n=0:2:200;
samp = n+50*cos(n*2*pi/10) + 25*sin(n*2*pi/5);
% plot(n, samp)
dct_samp = dct(samp);
plot(dct_samp);grid on;
legend('org', 'dct');

  • Original signal

image

  • DCT results of original and sampled signals.

image