Signal - S5

Annee : 2022-2023 (Semestre 5)
Credits : 3 ECTS
Type : Traitement du Signal


PART A : PRESENTATION GENERALE

Objectifs du cours

Ce cours introduit les bases du traitement du signal, couvrant l'analyse temporelle et frequentielle des signaux, les transformations mathematiques essentielles, et les methodes de traitement numerique. L'accent est mis sur les techniques permettant d'extraire l'information utile des signaux et de les filtrer.

Competences visees

  • Maitriser la representation temporelle et frequentielle des signaux
  • Appliquer les transformees de Fourier, Laplace et Z
  • Analyser les systemes lineaires invariants dans le temps (LTI)
  • Comprendre l'echantillonnage et la numerisation des signaux
  • Concevoir et analyser des filtres numeriques
  • Utiliser MATLAB pour le traitement du signal
  • Interpreter les spectres frequentiels

Organisation

  • Volume horaire : Cours magistraux, TD et TP MATLAB
  • Evaluation : Examen ecrit + TPs notes
  • Semestre : 5 (2022-2023)
  • Prerequis : Mathematiques (integrales, nombres complexes), programmation de base

PART B : EXPERIENCE, CONTEXTE ET FONCTION

Contenu pedagogique

Le cours s'articule autour de l'analyse des signaux et des systemes.

1. Introduction aux signaux

Classification des signaux :

TypeDescriptionExemples
ContinuVariable continue dans le tempsTension electrique, temperature
DiscretEchantillonne a intervalles reguliersSignal numerique, donnees capteur
PeriodiqueSe repete identiquementSinusoide, signal carre
AperiodiqueNon repetitifImpulsion, bruit
DeterministePrevisible mathematiquementSinusoide, rampe
AleatoireNature stochastiqueBruit, turbulences

Signaux de base :

Fonction echelon unitaire : signal qui passe de 0 a 1 a un instant donne.

Impulsion de Dirac : signal infiniment bref et infiniment intense, utilise pour caracteriser les systemes.

Sinusoide : signal periodique de base, caracterise par amplitude, frequence et phase.

Signal sinusoidal

Figure : Representation d'un signal sinusoidal - Signal periodique de base en traitement du signal

Signal carre : alternance entre deux niveaux, riche en harmoniques impaires.

Operations sur les signaux :

  • Decalage temporel : retard ou avance
  • Changement d'echelle : compression ou dilatation
  • Addition et multiplication
  • Derivation et integration
  • Convolution : operation fondamentale liant entree, systeme et sortie

2. Systemes lineaires invariants (LTI)

Proprietes des systemes LTI :

Linearite : la sortie est proportionnelle a l'entree et respecte la superposition.

Invariance temporelle : le comportement ne change pas avec le temps.

Caracterisation par reponse impulsionnelle :

La reponse impulsionnelle h(t) decrit completement le systeme.

La sortie y(t) pour une entree x(t) se calcule par convolution :
y(t) = x(t) * h(t)

Stabilite :

Un systeme est stable si toute entree bornee produit une sortie bornee (critere BIBO).

Condition : l'integrale du module de h(t) doit etre finie.

Causalite :

Un systeme est causal si la sortie ne depend que du present et du passe.

Condition : h(t) = 0 pour t < 0.

3. Analyse de Fourier

Serie de Fourier :

Decomposition d'un signal periodique en somme de sinusoides.

Un signal periodique de periode T0 se decompose en :

  • Composante continue (valeur moyenne)
  • Fondamentale a frequence F0 = 1/T0
  • Harmoniques aux frequences multiples : 2F0, 3F0, 4F0...

Coefficients de Fourier :

Chaque harmonique a une amplitude et une phase caracteristiques.

Forme complexe : utilise des exponentielles complexes pour simplifier les calculs.

Exemple signal carre :

Un signal carre ne contient que les harmoniques impaires (F0, 3F0, 5F0...).

Les amplitudes decroissent en 1/n ou n est le rang de l'harmonique.

Transformee de Fourier :

Generalisation aux signaux non periodiques.

Passage du domaine temporel au domaine frequentiel.

Spectre d'amplitude : montre les frequences presentes dans le signal.

Spectre de phase : indique le dephasage de chaque composante.

Proprietes importantes :

ProprieteDescription
LineariteTransformee d'une somme = somme des transformees
Decalage temporelIntroduit un dephasage en frequentiel
ModulationDeplacement du spectre
ConvolutionProduit des transformees
Dualite temps-frequenceSignal large en temps = etroit en frequence

Transformee de Fourier discrete (TFD) :

Version numerique pour signaux echantillonnes.

FFT (Fast Fourier Transform) : algorithme rapide pour calculer la TFD.

Utilisee en pratique dans MATLAB avec la fonction fft().

4. Transformee de Laplace

Principe :

Extension de la transformee de Fourier incluant des signaux exponentiels croissants.

Variable complexe s = sigma + j*omega.

Fonction de transfert :

Rapport entre sortie et entree en domaine de Laplace.

Permet d'analyser les systemes sans resoudre les equations differentielles.

Poles et zeros :

Poles : valeurs de s annulant le denominateur. Determinent la stabilite et la dynamique du systeme.

Zeros : valeurs de s annulant le numerateur. Influencent l'amplitude de la reponse.

Analyse de stabilite :

Un systeme est stable si tous ses poles ont une partie reelle negative (dans le demi-plan gauche).

Transformations utiles :

Signal temporelTransformee de Laplace
Impulsion1
Echelon1/s
Rampe1/s²
Exponentielle1/(s-a)
Sinusoideomega/(s²+omega²)

5. Echantillonnage et numerisation

Theoreme de Shannon-Nyquist :

Pour echantillonner correctement un signal, la frequence d'echantillonnage Fe doit etre au moins le double de la frequence maximale du signal.

Condition : Fe >= 2 x Fmax

Aliasing (repliement spectral) :

Si le theoreme de Shannon n'est pas respecte, les hautes frequences se replient sur les basses frequences, creant des distorsions irreversibles.

Solution : filtrer le signal avant echantillonnage (filtre anti-repliement).

Quantification :

Conversion de l'amplitude continue en valeurs discretes.

Nombre de bits determine la resolution :

  • 8 bits : 256 niveaux
  • 16 bits : 65536 niveaux
  • 24 bits : 16 millions de niveaux

Bruit de quantification : erreur introduite par l'arrondi des valeurs.

6. Transformee en Z

Principe :

Equivalent discret de la transformee de Laplace.

Utilisee pour l'analyse des systemes numeriques.

Variable complexe z.

Fonction de transfert discrete :

Rapport entre sortie et entree en domaine Z.

Permet de concevoir des filtres numeriques.

Stabilite :

Un systeme discret est stable si tous ses poles sont a l'interieur du cercle unite (module < 1).

Lien avec la transformee de Fourier :

En posant z = exp(j*omega*Te), on obtient la reponse frequentielle du systeme discret.

7. Filtrage numerique

Types de filtres :

FIR (Finite Impulse Response) :

  • Reponse impulsionnelle finie
  • Toujours stables
  • Phase lineaire possible
  • Plus simple a concevoir

IIR (Infinite Impulse Response) :

  • Reponse impulsionnelle infinie
  • Plus efficaces (moins de coefficients)
  • Risque d'instabilite
  • Equivalents numeriques des filtres analogiques

Filtres selon la bande passante :

TypeFonction
Passe-basLaisse passer les basses frequences
Passe-hautLaisse passer les hautes frequences
Passe-bandeLaisse passer une bande de frequences
Coupe-bandeElimine une bande de frequences

Specifications d'un filtre :

  • Frequence de coupure : limite de la bande passante
  • Ondulation en bande passante : variations d'amplitude acceptables
  • Attenuation en bande attenuee : rejection des frequences indesirables
  • Bande de transition : zone de passage de la bande passante a la bande attenuee

Conception de filtres :

Methodes classiques :

  • Butterworth : reponse plate en bande passante
  • Chebyshev : ondulation en bande passante, transition plus raide
  • Elliptique : ondulation en bande passante et attenuee, transition tres raide
  • Bessel : phase lineaire, preserve la forme du signal

PART C : ASPECTS TECHNIQUES

Travaux Pratiques MATLAB

TP1 : Decomposition en serie de Fourier :

Objectif : analyser un signal periodique et calculer ses coefficients de Fourier.

Code MATLAB typique :

% Definition du signal
tmin = 0;
tmax = 4;
T0 = tmax - tmin;
F0 = 1/T0;
dt = 0.04;
t = tmin:dt:(tmax-dt);

% Signal test (par exemple sinusoide)
A = 1;
f_t = A*sin(pi/T0*t);

% Trace du signal temporel
figure(1);
plot(t, f_t, 'r');
title('Signal temporel');
xlabel('Temps (s)');
ylabel('Amplitude');
grid;

% Calcul des coefficients de Fourier
N = 200; % Nombre d'harmoniques
rang = 0:1:N;
Fourier = zeros(N+1, 1);

% Calcul de chaque coefficient
for n = 0:N
    somme = 0;
    for k = 1:length(t)
        somme = somme + f_t(k) * exp(-2*pi*1i*n*t(k)/T0);
    end
    Fourier(n+1) = somme * dt / T0;
end

% Trace du spectre
figure(2);
stem(rang, abs(Fourier));
title('Spectre d''amplitude');
xlabel('Rang harmonique');
ylabel('Amplitude');
grid;

TP2 : Analyse d'un signal audio :

Traitement d'un fichier WAV pour analyse spectrale.

% Lecture du signal audio
[signal, Fe] = audioread('signal.wav');

% Parametres
tmax = length(signal) / Fe;
dt = 1/Fe;
t = 0:dt:(tmax-dt);

% Trace temporel
figure(1);
plot(t, signal);
title('Signal audio');
xlabel('Temps (s)');
ylabel('Amplitude');

% Transformee de Fourier
N = length(signal);
frequences = (0:N-1) * Fe / N;
spectre = fft(signal);

% Trace du spectre
figure(2);
plot(frequences(1:N/2), abs(spectre(1:N/2)));
title('Spectre frequentiel');
xlabel('Frequence (Hz)');
ylabel('Amplitude');
grid;

Critere de Nyquist :

Calcul de la frequence maximale respectant Shannon :

Fe = 44100; % Frequence d'echantillonnage
dt = 1/Fe;
Fmax = Fe/2; % Frequence de Nyquist

Fonctions MATLAB essentielles

Generation de signaux :

t = 0:0.001:1;              % Vecteur temps
sin_signal = sin(2*pi*10*t); % Sinusoide 10 Hz
square_signal = square(2*pi*5*t); % Signal carre 5 Hz
sawtooth_signal = sawtooth(2*pi*3*t); % Dents de scie

Transformees :

X = fft(x);                 % Transformee de Fourier
x_reconst = ifft(X);        % Transformee inverse

Filtrage :

% Filtre passe-bas Butterworth
[b, a] = butter(4, 0.2);    % Ordre 4, frequence normalisee 0.2
y = filter(b, a, x);        % Application du filtre

% Reponse frequentielle
freqz(b, a);                % Affichage Bode

Analyse spectrale :

spectrogram(signal, 256, 128, 256, Fe); % Spectrogramme
pwelch(signal, [], [], [], Fe);         % Densite spectrale

Travaux Diriges

Chapitres couverts selon les corrections disponibles :

  • Chapitre 2 : Systemes LTI et convolution
  • Chapitre 3 : Serie de Fourier
  • Chapitre 5 : Transformee de Laplace
  • Chapitre 6 : Echantillonnage et transformee en Z

Exercices types :

Calcul de convolution : Determiner la sortie d'un systeme connaissant son entree et sa reponse impulsionnelle.

Analyse spectrale : Calculer les coefficients de Fourier d'un signal periodique.

Fonction de transfert : Determiner la stabilite d'un systeme a partir de ses poles.

Echantillonnage : Calculer la frequence minimale pour eviter l'aliasing.


PART D : ANALYSE ET REFLEXION

Competences acquises

Theoriques :

  • Comprehension des domaines temporel et frequentiel
  • Maitrise des transformees mathematiques
  • Analyse des systemes LTI
  • Theorie de l'echantillonnage

Pratiques :

  • Programmation MATLAB pour le traitement du signal
  • Analyse spectrale de signaux reels
  • Conception de filtres numeriques
  • Interpretation de spectres frequentiels
  • Detection et correction d'aliasing

Applications pratiques

Le traitement du signal est omnipresent dans les technologies modernes :

Audio et musique :

  • Compression MP3, AAC
  • Egaliseurs et effets sonores
  • Reduction de bruit
  • Synthese vocale et reconnaissance

Telecommunications :

  • Modulation et demodulation
  • Egalisation de canal
  • Codage de canal
  • Communications sans fil (Wi-Fi, 4G, 5G)

Traitement d'image et video :

  • Compression JPEG, MPEG
  • Filtrage et amelioration d'image
  • Detection de contours
  • Reconnaissance de formes

Biomedical :

  • Electrocardiogramme (ECG)
  • Electroencephalogramme (EEG)
  • Imagerie medicale (IRM, scanner)
  • Protheses auditives

Instrumentation :

  • Acquisition de donnees capteurs
  • Filtrage anti-bruit
  • Extraction de caracteristiques
  • Analyse vibratoire

Radar et sonar :

  • Detection de cibles
  • Estimation de distance et vitesse
  • Traitement d'antenne

Liens avec autres cours

CoursLien
MathematiquesTransformees, integrales, complexes
Circuits Analogiques (S5)Filtres analogiques, bande passante
Architecture Materielle (S5)Convertisseurs A/N et N/A
Systemes Lineaires (S5)Fonctions de transfert, stabilite
Programmation C (S5)Implementation d'algorithmes
Filtrage Numerique (S6)Approfondissement filtres
Signaux Aleatoires (S6)Extension aux signaux stochastiques
Communications (S7)Modulation, canaux de transmission

Outils professionnels

Le cours prepare a l'utilisation d'outils industriels :

MATLAB/Simulink : standard en R&D et enseignement.

Python (NumPy, SciPy, Matplotlib) : alternative open-source de plus en plus utilisee.

LabVIEW : acquisition et traitement en temps reel.

DSP (Digital Signal Processor) : processeurs specialises pour traitement rapide.

FPGA : implementation materielle de filtres haute performance.

Concepts cles a retenir

Dualite temps-frequence : Un signal ne peut pas etre simultanement tres localise en temps et en frequence. Signal bref = spectre large.

Theoreme de Shannon : Fondamental pour toute numerisation. Violer ce theoreme cree de l'aliasing irreversible.

Convolution : Operation centrale reliant entree, systeme et sortie. En frequentiel, devient un simple produit.

Filtrage : Permet d'extraire l'information utile et d'eliminer le bruit. Compromis entre efficacite et complexite.

Mon opinion

Ce cours est fondamental pour comprendre comment l'information est representee et traitee numeriquement.

Points forts :

  • Concepts mathematiques bien expliques
  • TPs MATLAB tres formateurs
  • Applications concretes (audio, communications)
  • Base solide pour cours avances

Applications concretes :

Les notions de Fourier et d'echantillonnage sont utilisees quotidiennement dans :

  • Streaming audio/video
  • Telephonie mobile
  • Compression de donnees
  • Imagerie numerique

Importance professionnelle :

Le traitement du signal est essentiel dans de nombreux domaines :

  • Systemes embarques
  • Internet des objets (IoT)
  • Intelligence artificielle (pretraitement des donnees)
  • Telecommunications
  • Automobile (radar, lidar)

Complementarite avec autres cours :

Ce cours se combine parfaitement avec :

  • Systemes lineaires (meme formalisme)
  • Filtrage numerique (applications directes)
  • Communications (modulation, codage)
  • Machine Learning (extraction de features)

Bilan personnel : Ce cours a apporte les outils mathematiques et pratiques pour analyser et traiter les signaux numeriques. Les TPs MATLAB ont permis de manipuler concretement les concepts theoriques. Ces competences sont directement applicables en traitement audio, communications, et systemes embarques. La maitrise de l'analyse spectrale et du filtrage est indispensable pour tout ingenieur en electronique ou informatique industrielle.


Documents de Cours

Voici les supports de cours en PDF pour approfondir le traitement du signal :

Introduction aux Systemes LTI

Systemes lineaires invariants dans le temps, convolution, reponse impulsionnelle et proprietes fondamentales.

Telecharger le PDF

Transformee de Laplace

Definition, proprietes, transformees usuelles, resolution d'equations differentielles et applications.

Telecharger le PDF

Series de Fourier

Decomposition en series de Fourier, coefficients, spectres discrets et analyse harmonique des signaux periodiques.

Telecharger le PDF

Transformee de Fourier

Transformee de Fourier continue, proprietes, spectres, densite spectrale et applications au filtrage.

Telecharger le PDF

Signal Processing - S5

Year: 2022-2023 (Semester 5)
Credits: 3 ECTS
Type: Signal Processing


PART A: GENERAL OVERVIEW

Course Objectives

This course introduces the fundamentals of signal processing, covering time-domain and frequency-domain signal analysis, essential mathematical transforms, and digital processing methods. The emphasis is on techniques for extracting useful information from signals and filtering them.

Target Skills

  • Master time-domain and frequency-domain signal representation
  • Apply the Fourier, Laplace, and Z transforms
  • Analyze Linear Time-Invariant (LTI) systems
  • Understand signal sampling and digitization
  • Design and analyze digital filters
  • Use MATLAB for signal processing
  • Interpret frequency spectra

Organization

  • Course hours: Lectures, tutorials, and MATLAB lab sessions
  • Assessment: Written exam + graded lab work
  • Semester: 5 (2022-2023)
  • Prerequisites: Mathematics (integrals, complex numbers), basic programming

PART B: EXPERIENCE, CONTEXT AND FUNCTION

Educational Content

The course is structured around signal and system analysis.

1. Introduction to Signals

Signal Classification:

TypeDescriptionExamples
ContinuousContinuous variable over timeElectrical voltage, temperature
DiscreteSampled at regular intervalsDigital signal, sensor data
PeriodicRepeats identicallySinusoid, square wave
AperiodicNon-repetitiveImpulse, noise
DeterministicMathematically predictableSinusoid, ramp
RandomStochastic natureNoise, turbulence

Basic Signals:

Unit step function: a signal that transitions from 0 to 1 at a given instant.

Dirac impulse: an infinitely brief and infinitely intense signal, used to characterize systems.

Sinusoid: the fundamental periodic signal, characterized by amplitude, frequency, and phase.

Sinusoidal signal

Figure: Sinusoidal signal representation - The fundamental periodic signal in signal processing

Square wave: alternation between two levels, rich in odd harmonics.

Operations on signals:

  • Time shifting: delay or advance
  • Scaling: compression or dilation
  • Addition and multiplication
  • Differentiation and integration
  • Convolution: the fundamental operation linking input, system, and output

2. Linear Time-Invariant (LTI) Systems

Properties of LTI systems:

Linearity: the output is proportional to the input and obeys the superposition principle.

Time invariance: the behavior does not change over time.

Characterization by impulse response:

The impulse response h(t) completely describes the system.

The output y(t) for an input x(t) is computed by convolution:
y(t) = x(t) * h(t)

Stability:

A system is stable if every bounded input produces a bounded output (BIBO criterion).

Condition: the integral of the absolute value of h(t) must be finite.

Causality:

A system is causal if the output depends only on the present and past.

Condition: h(t) = 0 for t < 0.

3. Fourier Analysis

Fourier Series:

Decomposition of a periodic signal into a sum of sinusoids.

A periodic signal with period T0 decomposes into:

  • DC component (average value)
  • Fundamental at frequency F0 = 1/T0
  • Harmonics at multiple frequencies: 2F0, 3F0, 4F0...

Fourier Coefficients:

Each harmonic has a characteristic amplitude and phase.

Complex form: uses complex exponentials to simplify calculations.

Square wave example:

A square wave contains only odd harmonics (F0, 3F0, 5F0...).

The amplitudes decrease as 1/n where n is the harmonic order.

Fourier Transform:

Generalization to non-periodic signals.

Transition from the time domain to the frequency domain.

Amplitude spectrum: shows the frequencies present in the signal.

Phase spectrum: indicates the phase shift of each component.

Key properties:

PropertyDescription
LinearityTransform of a sum = sum of the transforms
Time shiftIntroduces a phase shift in the frequency domain
ModulationSpectrum shifting
ConvolutionProduct of the transforms
Time-frequency dualityWide signal in time = narrow in frequency

Discrete Fourier Transform (DFT):

Digital version for sampled signals.

FFT (Fast Fourier Transform): a fast algorithm to compute the DFT.

Used in practice in MATLAB with the fft() function.

4. Laplace Transform

Principle:

Extension of the Fourier Transform to include growing exponential signals.

Complex variable s = sigma + j*omega.

Transfer function:

Ratio between output and input in the Laplace domain.

Allows system analysis without solving differential equations.

Poles and zeros:

Poles: values of s that make the denominator zero. They determine the stability and dynamics of the system.

Zeros: values of s that make the numerator zero. They influence the response amplitude.

Stability analysis:

A system is stable if all its poles have a negative real part (in the left half-plane).

Common transforms:

Time-domain signalLaplace Transform
Impulse1
Step1/s
Ramp1/s²
Exponential1/(s-a)
Sinusoidomega/(s²+omega²)

5. Sampling and Digitization

Shannon-Nyquist Theorem:

To correctly sample a signal, the sampling frequency Fs must be at least twice the maximum frequency of the signal.

Condition: Fs >= 2 x Fmax

Aliasing (spectral folding):

If the Shannon theorem is not satisfied, high frequencies fold back onto low frequencies, creating irreversible distortions.

Solution: filter the signal before sampling (anti-aliasing filter).

Quantization:

Conversion of continuous amplitude values into discrete values.

The number of bits determines the resolution:

  • 8 bits: 256 levels
  • 16 bits: 65,536 levels
  • 24 bits: 16 million levels

Quantization noise: error introduced by rounding values.

6. Z-Transform

Principle:

Discrete-time equivalent of the Laplace Transform.

Used for the analysis of digital systems.

Complex variable z.

Discrete transfer function:

Ratio between output and input in the Z domain.

Allows the design of digital filters.

Stability:

A discrete system is stable if all its poles lie inside the unit circle (magnitude < 1).

Relationship with the Fourier Transform:

By setting z = exp(j*omega*Te), one obtains the frequency response of the discrete system.

7. Digital Filtering

Filter types:

FIR (Finite Impulse Response):

  • Finite impulse response
  • Always stable
  • Linear phase possible
  • Simpler to design

IIR (Infinite Impulse Response):

  • Infinite impulse response
  • More efficient (fewer coefficients)
  • Risk of instability
  • Digital equivalents of analog filters

Filters by passband:

TypeFunction
Low-passPasses low frequencies
High-passPasses high frequencies
Band-passPasses a band of frequencies
Band-stopRejects a band of frequencies

Filter specifications:

  • Cutoff frequency: passband boundary
  • Passband ripple: acceptable amplitude variations
  • Stopband attenuation: rejection of unwanted frequencies
  • Transition band: zone between the passband and the stopband

Filter design:

Classical methods:

  • Butterworth: flat response in the passband
  • Chebyshev: ripple in the passband, steeper transition
  • Elliptic: ripple in both passband and stopband, very steep transition
  • Bessel: linear phase, preserves signal shape

PART C: TECHNICAL ASPECTS

MATLAB Lab Sessions

Lab 1: Fourier Series Decomposition:

Objective: analyze a periodic signal and compute its Fourier coefficients.

Typical MATLAB code:

% Signal definition
tmin = 0;
tmax = 4;
T0 = tmax - tmin;
F0 = 1/T0;
dt = 0.04;
t = tmin:dt:(tmax-dt);

% Test signal (e.g., sinusoid)
A = 1;
f_t = A*sin(pi/T0*t);

% Time-domain plot
figure(1);
plot(t, f_t, 'r');
title('Time-domain signal');
xlabel('Time (s)');
ylabel('Amplitude');
grid;

% Fourier coefficient computation
N = 200; % Number of harmonics
rang = 0:1:N;
Fourier = zeros(N+1, 1);

% Compute each coefficient
for n = 0:N
    somme = 0;
    for k = 1:length(t)
        somme = somme + f_t(k) * exp(-2*pi*1i*n*t(k)/T0);
    end
    Fourier(n+1) = somme * dt / T0;
end

% Spectrum plot
figure(2);
stem(rang, abs(Fourier));
title('Amplitude spectrum');
xlabel('Harmonic order');
ylabel('Amplitude');
grid;

Lab 2: Audio Signal Analysis:

Processing a WAV file for spectral analysis.

% Read audio signal
[signal, Fs] = audioread('signal.wav');

% Parameters
tmax = length(signal) / Fs;
dt = 1/Fs;
t = 0:dt:(tmax-dt);

% Time-domain plot
figure(1);
plot(t, signal);
title('Audio signal');
xlabel('Time (s)');
ylabel('Amplitude');

% Fourier Transform
N = length(signal);
frequencies = (0:N-1) * Fs / N;
spectrum = fft(signal);

% Spectrum plot
figure(2);
plot(frequencies(1:N/2), abs(spectrum(1:N/2)));
title('Frequency spectrum');
xlabel('Frequency (Hz)');
ylabel('Amplitude');
grid;

Nyquist Criterion:

Computing the maximum frequency satisfying Shannon:

Fs = 44100; % Sampling frequency
dt = 1/Fs;
Fmax = Fs/2; % Nyquist frequency

Essential MATLAB Functions

Signal generation:

t = 0:0.001:1;              % Time vector
sin_signal = sin(2*pi*10*t); % 10 Hz sinusoid
square_signal = square(2*pi*5*t); % 5 Hz square wave
sawtooth_signal = sawtooth(2*pi*3*t); % Sawtooth wave

Transforms:

X = fft(x);                 % Fourier Transform
x_reconst = ifft(X);        % Inverse transform

Filtering:

% Butterworth low-pass filter
[b, a] = butter(4, 0.2);    % Order 4, normalized frequency 0.2
y = filter(b, a, x);        % Apply the filter

% Frequency response
freqz(b, a);                % Bode plot

Spectral analysis:

spectrogram(signal, 256, 128, 256, Fs); % Spectrogram
pwelch(signal, [], [], [], Fs);         % Power spectral density

Tutorials

Chapters covered according to available solutions:

  • Chapter 2: LTI systems and convolution
  • Chapter 3: Fourier Series
  • Chapter 5: Laplace Transform
  • Chapter 6: Sampling and Z-Transform

Typical exercises:

Convolution computation: Determine the output of a system given its input and impulse response.

Spectral analysis: Compute the Fourier coefficients of a periodic signal.

Transfer function: Determine the stability of a system from its poles.

Sampling: Calculate the minimum frequency to avoid aliasing.


PART D: ANALYSIS AND REFLECTION

Skills Acquired

Theoretical:

  • Understanding of time and frequency domains
  • Mastery of mathematical transforms
  • LTI system analysis
  • Sampling theory

Practical:

  • MATLAB programming for signal processing
  • Spectral analysis of real-world signals
  • Digital filter design
  • Frequency spectrum interpretation
  • Aliasing detection and correction

Practical Applications

Signal processing is ubiquitous in modern technologies:

Audio and music:

  • MP3, AAC compression
  • Equalizers and sound effects
  • Noise reduction
  • Speech synthesis and recognition

Telecommunications:

  • Modulation and demodulation
  • Channel equalization
  • Channel coding
  • Wireless communications (Wi-Fi, 4G, 5G)

Image and video processing:

  • JPEG, MPEG compression
  • Image filtering and enhancement
  • Edge detection
  • Pattern recognition

Biomedical:

  • Electrocardiogram (ECG)
  • Electroencephalogram (EEG)
  • Medical imaging (MRI, CT scan)
  • Hearing aids

Instrumentation:

  • Sensor data acquisition
  • Anti-noise filtering
  • Feature extraction
  • Vibration analysis

Radar and sonar:

  • Target detection
  • Distance and speed estimation
  • Antenna processing

Links with Other Courses

CourseConnection
MathematicsTransforms, integrals, complex numbers
Analog Circuits (S5)Analog filters, bandwidth
Hardware Architecture (S5)A/D and D/A converters
Linear Systems (S5)Transfer functions, stability
C Programming (S5)Algorithm implementation
Digital Filtering (S6)Advanced filter design
Random Signals (S6)Extension to stochastic signals
Communications (S7)Modulation, transmission channels

Professional Tools

The course prepares students for the use of industrial tools:

MATLAB/Simulink: the standard in R&D and education.

Python (NumPy, SciPy, Matplotlib): an increasingly popular open-source alternative.

LabVIEW: real-time acquisition and processing.

DSP (Digital Signal Processor): specialized processors for fast processing.

FPGA: hardware implementation of high-performance filters.

Key Concepts to Remember

Time-frequency duality: A signal cannot be simultaneously highly localized in both time and frequency. Short signal = wide spectrum.

Shannon's Theorem: Fundamental for all digitization. Violating this theorem creates irreversible aliasing.

Convolution: The central operation linking input, system, and output. In the frequency domain, it becomes a simple product.

Filtering: Extracts useful information and eliminates noise. A trade-off between efficiency and complexity.

My Opinion

This course is fundamental for understanding how information is represented and processed digitally.

Strengths:

  • Well-explained mathematical concepts
  • Highly educational MATLAB lab sessions
  • Concrete applications (audio, communications)
  • Solid foundation for advanced courses

Concrete applications:

The concepts of Fourier analysis and sampling are used daily in:

  • Audio/video streaming
  • Mobile telephony
  • Data compression
  • Digital imaging

Professional importance:

Signal processing is essential in many fields:

  • Embedded systems
  • Internet of Things (IoT)
  • Artificial intelligence (data preprocessing)
  • Telecommunications
  • Automotive (radar, lidar)

Complementarity with other courses:

This course combines perfectly with:

  • Linear systems (same formalism)
  • Digital filtering (direct applications)
  • Communications (modulation, coding)
  • Machine Learning (feature extraction)

Personal assessment: This course provided the mathematical and practical tools to analyze and process digital signals. The MATLAB lab sessions allowed hands-on manipulation of theoretical concepts. These skills are directly applicable in audio processing, communications, and embedded systems. Mastery of spectral analysis and filtering is indispensable for any engineer in electronics or industrial computing.


Course Documents

Here are the course materials in PDF format for further study of signal processing:

Introduction to LTI Systems

Linear time-invariant systems, convolution, impulse response, and fundamental properties.

Download PDF

Laplace Transform

Definition, properties, common transforms, differential equation solving, and applications.

Download PDF

Fourier Series

Fourier series decomposition, coefficients, discrete spectra, and harmonic analysis of periodic signals.

Download PDF

Fourier Transform

Continuous Fourier Transform, properties, spectra, spectral density, and filtering applications.

Download PDF

Redige par Cedric ChanfreauWritten by Cedric Chanfreau