Vous êtes sur la page 1sur 46

Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Partie I : Analyse temporelle et fréquentielle des signaux numériques

I. Introduction et rappels divers (1,5 Séance)

- Notion de traitement du signal

- Classification des signaux

- Rappels sur la TF

- Rappels sur l’échantillonnage

- Systèmes analogiques – systèmes numériques

- Signaux déterministes discrets usuels

II. Analyse temporelle des SLID (1,5 Séance)

- Systèmes linéaires et invariants discrets

- Stabilité, causalité

- Energie et puissance

- Corrélation et autocorrélation

III. Analyse fréquentielle des SLID (2,5 Séances)

- Notion de fréquence

- TF des signaux numériques

- Lien entre TF des signaux échantillonnés et TFD

- Propriétés principales de la TFD

- TF tronquée et Fenêtres de pondération

1
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Partie II : Filtrage des signaux numériques

IV. Transformée en Z (2,5 Séances)

- TZ et Notion de convergence

- Propriétés de la TZ

- TZ inverse

- Fonction de transfert

V. Filtres numériques RIF (2 Séances)

- Etude des filtres RIF

- Synthèse des filtres RIF par la méthode des fenêtres

- Synthèse des filtres RIF par la méthode de l’échantillonnage fréquentiel

- Constitution et réalisation de filtres RIF

VI. Filtres numériques RII (2 Séances)

- Etude des filtres RII

- Synthèse des filtres RII par la méthode de la réponse impulsionnelle

- Synthèse des filtres RII par la méthode des pôles et des zéros

- Synthèse des filtres RII par la méthode de la transformation bilinéaire

- Constitution et réalisation de filtres numériques

Travaux Pratiques

1. Analyse temporelle (Corrélation, convolution, énergie, puissance)

2. Analyse fréquentielle (TFD et propriétés)

3. Fenêtrage (Hanning, Blackman, etc.)

4. Transformée en Z et propriétés

5. Conception de filtres numériques RIF

6. Conception de filtres numériques RII


2
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

I. Introduction et rappels divers

Un signal est la représentation physique de l’information qu’il transporte de sa source à son destinataire.
Il sert de vecteur à une information. Il constitue la manifestation physique d’une grandeur mesurable (courant,
tension, force, température, pression, etc.). Les signaux sont des grandeurs électriques variant en fonction du
temps x(t) obtenues à l’aide de capteurs. Sur le plan analytique : Un signal sera une fonction d'une variable
réelle, en général le TEMPS.

Exemples :

 Onde acoustique : courant délivré par un microphone (parole, musique, …)

 Signaux biologiques : EEG, ECG

 Tension aux bornes d'un condensateur en charge

 Signaux géophysiques : vibrations sismiques

 Finances : cours de la bourse

 Images, Vidéos

Tout signal physique comporte une composante aléatoire (perturbation externe, bruit, erreur de mesure,
etc …). Le bruit est défini comme tout phénomène perturbateur gênant la perception ou l’interprétation d’un
signal, par analogie avec les nuisances acoustiques (interférence, bruit de fond, etc.). La différentiation entre le
signal et le bruit est artificielle et dépend de l’intérêt de l’utilisateur : les ondes électromagnétiques d’origine
galactique sont du bruit pour un ingénieur des télécommunications par satellites et un signal pour les
radioastronomes.

1. Notion de traitement du signal

La théorie du signal a pour objectif fondamental la "description mathématique" des signaux. Cette
représentation commode du signal permet de mettre en évidence ses principales caractéristiques (distribution
fréquentielle, énergie, etc.) et d’analyser les modifications subies lors de la transmission ou du traitement de
ces signaux.

Le traitement du signal est la discipline technique qui, s’appuyant sur les ressources de l’électronique,
de l’informatique et de la physique appliquée, a pour objet l’élaboration ou l’interprétation des signaux. Son
champ d’application se situe donc dans tous les domaines concernés par la perception, la transmission ou
l’exploitation des informations véhiculées par ces signaux.

Les fonctions du traitement du signal peuvent se diviser en deux catégories : l’élaboration des signaux
(incorporation des informations) et l’interprétation des signaux (extraction des informations). Les principales
fonctions intégrées dans ces deux parties sont les suivantes :
3
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Élaboration des signaux

– synthèse (voix synthétique, image de synthèse, etc.)

– création de signaux de forme appropriée en procédant par exemple à une combinaison de signaux
élémentaires.

– modulation, changement de fréquence : moyen permettant d’adapter un signal aux caractéristiques


fréquentielles d’une voie de transmission.

– codage/compression : traduction en code binaire (quantification), compression (Jpeg, mp3, mpeg4, etc.)

Interprétation des signaux

– filtrage : élimination de certaines composantes indésirables (Détection de craquements sur un


enregistrement, détection de bruit sur une image, annulation d'écho, etc.)

– détection : extraction du signal d’un bruit de fond (corrélation)

– identification : classement d’un signal dans des catégories préalablement définies ((identification d'une
pathologie sur un signal ECG, reconnaissance de la parole, etc.)

– analyse : isolement des composantes essentielles ou utiles d’un signal de forme complexe (transformée de
Fourier)

– mesure : estimation d’une grandeur caractéristique d’un signal avec un certain degré de confiance (valeur
moyenne, etc.)

Schéma d'un système de génération et de traitement du signal


4
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Classification des signaux

Pour faciliter l’étude des signaux, différents modes de classification peuvent être envisagés :

– représentation temporelle des signaux (Description énergétique)

– représentation spectrale pour laquelle le signal est classé par le domaine de variation de la fréquence
moyenne Df .

– les signaux certains (ou déterministes) dont l’évolution en fonction du temps peut être parfaitement
décrite par un modèle mathématique. Quant aux signaux aléatoires (ou probabilistes), ils ont un
comportement temporel imprévisible et pour la description desquels il faut se contenter d’observations
statistiques.

– caractéristique morphologique (signal continu ou discret). Le temps est un paramètre important de


classification. Le traitement numérique des signaux conduit à faire la distinction entre les signaux dits à temps
continus (signaux continus) et les signaux dits à temps discrets (signaux discrets ou échantillonnés).

Un autre paramètre des signaux traités est à prendre en compte, c’est l’amplitude qui peut aussi être
continue ou discrète (quantifiée). Ainsi quatre formes de signaux, qui se retrouvent dans un système
numérique de contrôle d’un processus physique, peuvent être distinguées :

– signal à amplitude et temps continus (signal analogique) : s(t)

– signal à amplitude discrète et temps continu (signal quantifié) : Sq(t). Ce signal correspond à celui qui
est fourni à la sortie d’un circuit convertisseur numérique analogique pour la commande d’un actionneur

– signal à amplitude continue et temps discret (signal échantillonné) : s(nTe). Ce signal, obtenu à l’aide
d’un circuit échantillonneur bloqueur, est transmis à un circuit convertisseur analogique numérique pour
obtenir un signal numérique utilisable par un ordinateur

– signal à amplitude discrète et temps discret (signal logique ou numérique) : sq(nTe). Ce dernier cas
correspond en réalité à une suite de nombres codés en binaire. Ces nombres, utilisés au sein d’un ordinateur,
se transmettent sous la forme de plusieurs signaux de type numérique 0 V (0 logique) ou 5 V (1 logique) se
propageant en parallèle : 8 signaux pour un nombre codé sur 8 bits.

5
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Les notes d’un élève sont un signal à TD par nature, alors qu’une température mesurée périodiquement
est un signal à TD par échantillonnage.

Ainsi, la numérisation d’un signal est l’opération qui consiste à faire passer un signal de la représentation
dans le domaine des temps et des amplitudes continus au domaine des temps et des amplitudes discrets. Cette
opération de numérisation d’un signal peut être décomposée en deux étapes principales : échantillonnage et
quantification. La restitution (ou l’interpolation) constitue le processus inverse qui intervient lors du passage
du signal numérique au signal analogique : commande d’un actionneur. Ces trois étapes sont indissociables.
En effet, le signal, étant le support physique d’une information, doit conserver au cours de ces modifications
tout le contenu informatif initial. Cette condition, ajoutée à la notion de coût limite d’un système, va être à la
base de la numérisation des signaux et de l’étude du traitement numérique.

2. Rappels sur la Transformée de Fourier

Signaux à énergie finie

La transformée de Fourier est une technique mathématique permettant de déterminer le spectre de


fréquences d'un signal (par exemple un son). La transformation de Fourier correspond à un changement de
base dans l'espace des fonctions de carré sommable. La définition mathématique est la suivante :
. +∞
TF {x(t )} = X ( f ) = ∫ x(t ) e − 2π j f t dt
−∞
+∞
x(t ) = TF −1
{X ( f )} = ∫ X ( f ) e 2 π j f t df
−∞

x(t) et X(f) sont deux descriptions équivalentes du même signal. La transformée de FOURIER existe si les
trois conditions de DIRICHLET sont vérifiées:

- x(t) possède un nombre fini de discontinuités sur tout intervalle fini,

- x(t) possède un nombre fini de maxima et de minima sur tout intervalle fini,
+∞
- x(t) est absolument intégrable, c’est-à-dire : ∫ x(t ) dt
−∞
existe

Ainsi, tous les signaux à énergie finie possède une transformée de Fourier. Cette dernière est une
fonction complexe même si x(t) est réel, elle pourra être exprimée sous la forme:

 X ( f ) = A2 ( f ) + B 2 ( f )

 B( f )
ϕ = arg( X ( f )) = arctg 6
F.E.I., U.S.T.H.B.  A( f )
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Où X(f) et ϕ sont respectivement le module et la phase de X(f) :

o X(f) = fonction réel ⇔ x(t) est paire

o X(f) = fonction imaginaire pure ⇔ x(t) est impaire

Exemples

Remarques :

- La propriété de changement d'échelle indique que plus le support temporel d'une fonction est étroit
plus le support de sa TF est large.

- La translation d'un signal temporel se traduit par un déphasage en fréquence. Une translation en
fréquence équivaut à une modulation temporelle.

- La propriété de dualité permet d’obtenir facilement de nouvelles paires de transformées de FOURIER à


partir des paires déjà connues.

- La TF d'un signal périodique est divergente, mais on peut définir une TF au sens des distributions en
utilisant la décomposition en Série de Fourier. Le résultat correspond à un spectre de raies (non continu). Lien
entre série de Fourier et TF

 1
T /2
x(t ) exp(−2πjnf 0 t )dt
T −T∫/ 2
C n =

sachant que:  +∞
alors X ( f ) = lim(T .C n )
 X ( f ) =. x(t ) e −2π j f t dt T → +∞




−∞
+∞s +∞s
Ex = ∫ x (t ) dt = ∫ X(f )
2 2
Pour les signaux à énergie finie, la TF conserve l'énergie (relation de Parseval) : df
−∞ −∞
On peut donc définir une notion d'énergie par unité de fréquence, la densité spectrale d'énergie (DSE). La
DES est la TF de l'autocorrélation (Thèorème de Wiener-Kintchine
+∞s

∫R (τ )e − 2 π j f τ dτ
2
Sx ( f ) = X ( f ) = x
−∞

On remarque que la DES est indépendante de la phase, donc elle est insensible à tout retard. Pour les
signaux à puissance moyenne finie, on définit alors une densité spectrale de puissance (DSP):
2 7
X(f )
Px ( f ) = lim
F.E.I., U.S.T.H.B.

T →∞ T
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Principales propriétés de la TF

o Linéarité : ax1 (t ) + bx2 (t ) → aX 1 ( f ) + bX 2 ( f )


TF

o Décalage temporel : x(t − t 0 ) →


TF
X ( f )e −2π j f t0

o Décalage fréquentiel : x (t )e 2π jf0t


→
TF
X ( f − f 0 ) (MA)

o Dualité temps-fréq : x(t ) → X ( f ) ⇒ X (t ) → x(− f )


TF TF

1
o Changement d'échelle : x(at ) →
TF
X ( f / a)
a

d n x (t ) TF
o Dérivation : n
→(2π j f ) n X ( f )
dt

x(−t ) →
TF
X (− f )
o Inversion et conjugaison :
x * (t ) →
TF
X * (− f )

o Convolution : x(t ) ∗ h(t ) → X ( f ).H ( f )


TF

TF au sens des distributions

Pour les signaux à puissance moyenne finie (Dirac, Echellon,


signaux périodiques, etc.), on peut définir une TF au sens des
distributions.

o Dirac : δ (t − t 0 ) →
TF
e −2 π j f t0
⇒ δ (t ) →
TF
1

1 1 1
o Echelon et signe: U (t ) →
TF
+ δ(f ) Sgn( f ) =
2πjf 2 πjf
+∞ +∞
o Périodiques : ∑C
n = −∞
n exp(2πjnf 0 t ) →
TF
∑ C δ ( f − nf
n = −∞
n 0 )

+∞ +∞
1
o Peigne de Dirac : ∑ δ (t − nT ) → X ( f ) = T ∑ δ ( f − nf
n = −∞
TF

n = −∞
0 )

1 1
o cos( 2πf 0 t ) →
TF
δ ( f − f0 ) + δ ( f + f0 )
2 2

1 1
o sin(2πf 0 t ) →
TF
δ ( f − f0 ) − δ ( f + f0 )
2j 2j

8
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

3. Quelques rappels sur l’échantillonnage

L’échantillonnage est un élément important en traitement numérique de signaux - il constitue la


première opération à effectuer lors d’une conversion analogique à numérique (A/N). Nous devrons garder à
l’esprit le fait que l’acquisition numérique ne doit pas détériorer le signal. On doit conserver au travers de la
numérisation l’information utile (Voix : [0 , 20kHz] ; Vidéo [0 , 6MHz]). De plus, il faut limiter l’espace
mémoire nécessaire au stockage. On s’attachera dans une chaîne d’acquisition à minimiser cette valeur tout en
ne détériorant pas le signal. Pour transformer un signal analogique en un signal numérique, il faut le
discrétiser. On va donc prélever régulièrement des échantillons du signal analogique pour le rendre discret et
permettre ainsi sa numérisation.

Echantillonnage idéal

Soit x(t) un signal analogique de transformée de Fourier X(f). Echantillonner le signal x(t) consiste à
choisir une fréquence Fe et de construire un nouveau signal avec les x(nTe) avec n un entier et Te=1/fe.

On peut écrire le signal échantillonné xe(t) sous la forme : x e (t ) = ∑ x(nT )δ (t − nT )


n
e e

que l'on peut schématiser : x(t) xe(t)

xe (t ) = x (t ).∑ δ (t − nTe ) , ∑ δ (t − nT ) e
n n

⇒ X e ( f ) = fe ∑ X ( f − nf
n
e )

Cette expression montre que le spectre Xe(f) est périodique de


φx ( f ) = X ( f )
2

période fe et qu’il est la somme des répliques (copies) du spectre


original X(f) décalées de nfe . L'échantillonnage dans le domaine
temporel se traduit par une "périodisation" de période fe dans le
domaine fréquentiel.

Théorème de Shannon

On considère que x(t) est un signal réel dont le spectre est borné en fréquence, de fréquence maximale
fmax :

∀ f > f max X( f ) = 0
9
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

2 cas se présentent alors :

- fe > 2 fmax

Le motif principal (n = 0) est égal au spectre de x(t). Comme les


motifs sont disjoints, on peut extraire X(f) grâce à un filtre
passe-bas idéal et donc reconstituer intégralement le signal x(t)
à partir des xe(t).

- fe < 2 fmax

Les motifs élémentaires de |Xe(f)| se recouvrent. On


parle de repliement de spectres. Il n'est pas possible de
récupérer le spectre X(f) par un filtrage approprié. Il
n'est donc pas possible de reconstruire le signal initial
x(t) à partir de la connaissance de son échantillonné
xe(t).

Par conséquent, pour que la répétition périodique du spectre de xe(t) ne déforme pas le spectre X(f) répété, il
faut et il suffit que fe > 2 fmax (théorème de Shannon).

Remarques:

Si le support du spectre X(f) n’est pas borné (s’étale sur l’axe réel) il y a un repliement du spectre des
échantillons (aliasing), on ne peut pas isoler le spectre original à partir de celui des échantillons.

Dans la pratique, on ne peut pas se contenter de prendre une fréquence d´échantillonnage égale à la
fréquence de Nyquist (2 fmax), il faut en prendre une largement supérieure. Par exemple, pour numériser la
parole dans le réseau téléphonique, on utilise une fréquence d'échantillonnage fe= 8kHz alors que le spectre de
la voix est en général compris entre 300Hz et 3400Hz. De même, la digitalisation des disques compacts se fait à
fe= 44.1kHz alors que le support du spectre sonore est [0Hz, 20kHz]. En effet, si on prend la fréquence de
Nyquist pour échantillonner, alors il faudrait avoir un filtre passe-bas idéal avec une fréquence de coupure très
nette. Par contre, quand le spectre est plus "aéré", on peut utiliser des filtres dont la zone de coupure peut être
plus large.

Filtre anti-repliement :

Les signaux étudiés en réalité sont rarement à support fréquentiel borné, c’est-à-dire que fmax = 1. C’est
par exemple le cas d’un signal rectangulaire périodique dont les raies fréquentielles s’étendent à l’infini ou
encore un signal bruité. Ceci implique que quelle que soit la fréquence d’échantillonnage il y aura repliement
de spectre puisque fe > 2 fmax = ∞ est une condition impossible à réaliser. Pour remédier à ce problème, on
utilise à l’entrée d’un système numérique un filtre passe-bas appelé filtre anti-repliement ou anti-aliasing. Ce
filtre est analogique, idéalisé il doit avoir un gain de 1 sur une bande de fréquence Fe, centrée en zéro. Son rôle
va être de limiter le contenu spectral du signal à la partie utile. Il va participer aussi à limiter l’influence du
bruit éventuellement présent sur le signal à numériser.
10
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Echantillonnage naturel (suiveur)

Soit x(t) un signal analogique de transformée de Fourier X(f). Echantillonner le signal x(t) consiste à
choisir une fréquence fe et de construire un nouveau signal avec les x(nTe) avec n un entier et Te=1/fe.

x(t) xe(t)

∑ πθ (t − nT
n
e − θ / 2)

Cela signifie que l’échantillonnage naturel est la multiplication du signal analogique (suppose causal : nul
pour t négatif) par le signal qui est un train, périodique de période Te, d’impulsions rectangulaires de durée θ.

xe (t ) = x(t ).∑ π (t − nTe − θ / 2)


n
φx ( f ) = X ( f )
2

xe (t ) = x(t ).∑ π (t − θ / 2) * δ (t − nTe )


n

X e ( f ) = X ( f ) * ∑ θ sin c(πfθ )e −π j fθ . f eδ ( f − nf e )
n

X e ( f ) = θf e X ( f ) * ∑ sin c(πnf eθ )e −π j nfeθ δ ( f − nf e )


n

X e ( f ) = θf e ∑ sin c(πnf eθ )e −π j nfeθ X ( f − nf e )


n

Donc, en comparaison avec l’échantillonnage idéal, un facteur θ e sin c(πnf eθ ) apparaît lors d’un échantillonnage
naturel. Le spectre du signal analogique va non seulement être périodisé à la fréquence d’échantillonnage,
mais il va en plus être pondéré par un sinus cardinal.

Remarques :

Le terme θfe= θ/Te est décisif quant à la qualité du compromis échantillonnage/résolution fréquentielle :
La résolution fréquentielle (pouvoir de discerner le spectre a deux fréquences très proches) exige θfe faible et
l’échantillonnage exige fe important et θ faible

Mise en forme

Une chaîne de traitement du signal échantillonné peut être schématisée de la manière suivante :

11
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Le signal analogique s(t) possède probablement et dans la majorité des cas une bande spectrale large : la
première étape consiste à limiter cette bande par un filtrage passe-bas (mise en forme) afin de pouvoir
effectuer l’échantillonnage en respectant le théorème de Shannon.

Une fois le signal échantillonné obtenu, le traitement souhaite peut être effectué sur les échantillons. La
reconstruction des résultats analogiques, de large bande généralement, à partir des échantillons traités
nécessite une reconstruction (un bloqueur par exemple) suivie d’un filtrage passe-bas adéquat (lissage) puis
d’une mise en forme identique à celle appliquée a l’entrée afin de limiter la largeur de bande.

4. Systèmes analogiques – Systèmes numériques

Les systèmes numériques possèdent sur leurs homologues analogiques un ensemble d’avantages décisifs :

- Simplicité. Les systèmes numériques sont intrinsèquement plus simples à analyser (et donc à synthétiser) que
les systèmes analogiques. La récurrence linéaire qui caractérise un filtre numérique, par exemple, est accessible
à un tout jeune enfant. Cette propriété des systèmes numériques est due en partie à l’adéquation parfaite entre
simulation et traitement : simuler un traitement numérique, c’est en faire.

- Possibilités de traitement accrues. La simplicité des opérations numériques de base ne doit pas tromper : il
s’ensuit qu’il est possible de réaliser, en numérique, des opérations beaucoup plus complexes qu’en
analogique, notamment des opérations non-linéaires.

- Robustesse aux bruits. Les systèmes numériques sont par essence insensibles aux bruits parasites
électromagnétiques. Le transcodage de l’information sous forme numérique joue un peu le rôle de « firewall ».

- Précision et stabilité. Puisque les seuls « bruits » sont liés à la précision des calculs, cette dernière dépend
uniquement du calculateur utilisé ; elle est insensible à la température et ne varie pas avec l’âge du système.

- Flexibilité. Dans un grand nombre de systèmes numériques, le traitement est défini par un logiciel chargé en
mémoire. Il est dès lors très facile de modifier ce traitement, sans devoir modifier la machine qui le réalise. On
pense par exemple aux modems numériques actuels, qui peuvent s’adapter facilement aux normes futures par
simple reprogrammation.

5. Signaux déterministes à temps discret usuels

Rappelons que les signaux déterministes renferment une information dont l'évolution en fonction du
temps peut être parfaitement prédite par un modèle mathématique (au contraire des signaux
aléatoires/stochastiques). Nous présentons dans cette section quelques fonctions mathématiques ainsi que
leurs propriétés, supports de signaux élémentaires et utilisées tout au long du cours de traitement du signal.

Un signal déterministe à temps discret est une suite de valeurs réelles ou complexes indexées par Z. On
utilise aussi le terme de signal. En traitement du signal, un signal à temps discret provient souvent de
l’échantillonnage à la cadence Fe = 1/Te, d’un signal x(t) déterministe à temps continu qui est supposé à bande
limitée (−Fe/2, Fe/2). 12
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Dans la suite nous supposerons que tous les signaux sont échantillonnés à la même cadence et nous
omettrons alors d’indiquer Te en notant x(n) = x(nTe).

- Fonction signe

 1 n≥0
sgn( n) = 
− 1 n<0

- Fonction échelon (unité)

 1 n≥0
U ( n) = Γ ( n) = 
 0 n<0

- Fonction porte

1 − N /2≤ n ≤ N /2
Π ( n) = 
N +1
0 ailleurs

- Fonction rectangle causal

1 0 ≤ n ≤ N −1
rect (n / N ) = 
0 ailleurs

- Fonction Dirac (impulsion unité)

 1 n=0
δ ( n) =  = U (n) − U (n − 1)
 0 n≠0

Autres propriétés:

• x(n). δ(n-n0)=x(n0) et x(n)* δ(n-n0)=x(n-n0)

- Fonction sinus cardinal

sin(πθ n)
sin c (θ n) =
πθ n

13
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Série 1

1. Soient x(t)= Α Π (t ) et y(t) = Α Λ (t ) signal porte et signal triangulaire d’amplitude A>0 et de largeur θ.
θ θ /2
• Tracer x(t) et y(t) sur le même graphe
• Utiliser les dérivées pour trouver X(f) et Y(f) qui seront représentés sur le même graphe puis commenter et
interpréter les deux graphes pour A=1 et θ=20.

+∞ +∞ +∞
j 2πn t
2. Soit le signal x(t ) = ∑ δ (t − nT ) , montrer que :
−∞
∑e −∞
T
= T ∑ δ (t − nT ) et
−∞
déterminer la TF de x(t)

3. On échantillonne un signal sinusoïdal de fréquence 200Hz avec une fréquence d’échantillonnage Fe =


500Hz puis avec Fe = 300Hz. Quel signal obtient-on lors d’une reconstruction parfaite dans les deux cas ?

−a t
4. Un signal x(t ) = e avec a = 2 est transmis au travers du système suivant :
échantillonneur
x(t) yt)

L’échantillonneur est réalisé par un interrupteur qui s’ouvre et se ferme périodiquement à la cadence fe =
20Hz avec un temps de fermeture égal à Tf = 20ms. Esquisser l’allure de y(t) et de son spectre d’amplitude
Y(f);

Solutions :
1. X ( f ) = A sin c( fθ ) Y ( f ) = A sin c 2 ( fθ / 2)

3. Fe=500Hz ⇒ xr (t ) = cos(2πf 0 t ) avec f0=200Hz


Fe=300Hz ⇒ xr (t ) = cos(2πf 0 t ) avec f0=100Hz
4. Echantillonneur naturel ⇒ y (t ) = x (t ) ∑ .π (t − nT )
n
e

Y ( f ) = T f f e ∑ sin c(nf eT f ) X ( f − nf ) A.N. Y ( f ) = 0.4∑ sin c(0.4n) X ( f − 20n)


e
n n

14
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Exercices supplémentaires

2 + cos( 2πt )......... .... t ≤ 1 / 2


1. Soit h(t ) = 
0.......... .......... .........ailleurs
• Déterminer H(f), la transformée de Fourier de h(t)
• Esquisser H(f) pour l’intervalle 0 <= f <= 3 et Donner la valeur numérique de H(f) pour f = 2.5
1 1
Solution H ( f ) = 2 sin c( f ) + sin c( f − 1) + sin c( f + 1)
2 2

2. On considère un signal de parole de durée 1mn et ayant une bande passante de 10 kHz.
- Calculer le nombre minimal d’échantillons nécessaires pour représenter ce signal.
- En supposant que le signal est échantillonné selon le schéma suivant :

xe(t)

0 ε Te ε+Te 2Te ε+3Te


- Exprimer le signal échantillonné xe(t) où ε est un retard.
- Calculer sa transformée de Fourier.
On suppose que l’échantillonnage se fait sans retard (ε = 0)
- Exprimer le signal échantillonné et montrer que l’on peut reconstituer théoriquement le signal x(t) à partir
des échantillons x(nTe).
On se propose de reconstituer le signal de la façon suivante, exprimer xr(t).

xr(t) x(3Te
x(Te) x(2Te )
)
x(0)

0 Te 2Te 3Te 4Te t


Solution
D=60s et fmax=5kHz ⇒ Nmin=D/Temin=6.105
x e (t ) =∑x(nTe − ξ ) δ (t − nTe − ξ ) ⇒ X e ( f ) = f e ∑ e −2πjfξ X ( f − nf e ) ξ=0 ⇒ xe (t ) =
n n
∑ x(nT ) δ (t − nT )
n
e e

1
Reconstruction théorique ⇒ X R ( f ) = X e ( f ) π ( f ) ⇒ x R (t ) = ∑ x(nTe ) * sinc( f e (t − nTe ))
f e fe n

Bloqueur d’ordre 0 ⇒ x R (t ) = ∑n
x(nTe ) π (t − nTe − Te / 2)
Te

15
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

II. Analyse temporelle des systèmes linéaires et invariants discrets

1. Théorie des systèmes linéaires et invariants

Dans de nombreuses applications fondées sur la propagation des ondes, en acoustique ou en


électromagnétisme, on simplifie considérablement les problèmes étudiés en faisant des hypothèses sur la
manière dont un système déforme un signal. Deux des hypothèses les plus importantes sont la linéarité et
l'invariance dans le temps.

Un système linéaire est un modèle de système qui applique un opérateur linéaire à un signal d'entrée.
Un système linéaire affiche typiquement des caractéristiques et des propriétés beaucoup plus simples que le
cas général non-linéaire. C'est une abstraction mathématique très utile en automatique, traitement du signal,
mécanique et télécommunications. Les systèmes linéaires sont ainsi fréquemment utilisés pour décrire un
système non linéaire en ignorant les petites non-linéarités. Un système est discret, si à la suite d'entrée discrète
x(n) correspond une suite de sortie discrète y(n).

- Si le système est régi par le principe de superposition, on parle de système linéaire. Linéarité : si l'entrée x(n)
produit une sortie y(n), quand on applique une entrée k.x(n) , la sortie sera k.y(n). Si deux entrées x1(n) et
x2(n) engendrent deux sorties y1(n) et y2(n) alors x1(n) + x2(n) engendrera y1(n) + y2(n)

- Si le système est invariant, cela implique que le système réagit de la même façon quelque soit l’instant auquel
nous appliquons ses excitations. Cette propriété exprime que la caractéristique du système ne dépend pas de
l’origine du temps. S’il y a invariance dans le temps, une translation de l'entrée (x(n) ⇒x(n-m)) se traduira par
une même translation dans le temps de la sortie (y(n)⇒y(n-m)).

16
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Remarque :

- Un système linéaire invariant est un système dont le comportement dans le temps, peut-être décrit par une
M N
équation aux différences : ∑ ai y (n − i) = ∑ bi x(n − i) ,
i =0 i =0

Si les hypothèses de linéarité et d'invariance temporelle sont vérifiées, on peut caractériser le système par sa
réponse impulsionnelle h(n).

x(n) y(n)
SLI: h(n)

On peut en déduire l'effet d'une entrée quelconque sous la forme d'une convolution. Cette dernière est
l’opération de traitement de signal la plus fondamentale. Elle indique que la valeur du signal de sortie à
l’instant n est obtenue par la sommation (intégrale) pondérée des valeurs passées du signal d'excitation x(n).
La fonction de pondération est précisément la réponse impulsionnelle h(n):

∞ ∞
y ( n) = h( n) ∗ x( n) = ∑ h( m) x ( n − m) = ∑ x (m ) h(n − m )
m = −∞ m = −∞

La réponse impulsionnelle h(n) est le signal qu'on obtient en sortie y(n)=h(n) si on applique en entrée
une impulsion "de Dirac'' x(n)=δ(n). Le Dirac est l'élément neutre de l'opération de convolution:

δ (n) ∗ x(n) = x (n)


Le calcul de la convolution consiste donc à calculer la somme du produit x(m)h(n -m). Le signal h(n-m)
est simplement le signal initial h(m), retourné dans le temps pour donner h(-m) puis translaté de n. En
calculant alors l’ensemble des produits obtenus en faisant « glisser » h, c’est-à-dire pour tous les décalages de
n, on obtient le produit de convolution pour tout n.

Exemple 1:

x(n) = rect(n) h(n) = a nU (n) 0 < a <1 z (n) = x(n) ∗ h(n)


N

On distingue 3 cas :

17
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Exemple 2 :
x(n) y(n)
1
h( n) = Π ( n)
N + 1 N +1
N /2
1
⇒ y (n) = ∑ x ( m)
N + 1 m= − N / 2

Remarques :

Si on applique à un SLIT une entrée sinusoïdale réelle ou complexe de fréquence f0, alors, la sortie sera une
sinusoïde dont l'amplitude et la phase pourront être modifiées mais qui conservera la même forme (une
sinusoïde) et la même fréquence f0. En termes plus mathématiques, on dit que les sinusoïdes sont les fonctions
propres des SLIT.

- Si les ai sont différents de 0, le système est dit récursif (RII),, il est non récursif s'il ne dépend que des x(n-i)
(RIF)
K
ystème est à réponse impulsionnelle de durée finie (RIF), alors : y ( n) =
- Si le système ∑ h ( m) x ( n − m)
m =0

Dans ce cas, le système numérique est une fenêtre centrée sur les K plus récents échant
échantillons.
+∞
- Si le système est à réponse impulsionnelle de durée infinie (IIR) : y ( n ) = ∑ h ( m) x ( n − m)
m =0
Dans ce cas, il est nécessaire
essaire de connaître tous les échantillons présents et passés, le système à une mémoire de
longueur infinie.

18
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Exemple 3

19
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

2. Stabilité, causalité

Une contrainte importante pour la formalisation de nombreux problèmes est de respecter la notion de
causalité (les effets ne peuvent pas précéder la cause). Dans le cas des SLIT, cette causalité se traduit par le fait
que pour: h(n) = 0 pour n<0.

n
x(n) = 0, n < n0 alors y(n) = 0, n < n0 ⇒ h(n) = 0, n < 0 , y ( n) = ∑ x (m)h(n − m) ,
m = −∞

n
- si h et x sont causaux y ( n ) = ∑ h( n − m) x ( m)
m =0

C'est une hypothèse fondamentale en traitement de signal : la cause précède l’effet ⇒ les signaux de sortie ne
peuvent exister avant les signaux d’entrée qui les génèrent. C’est une hypothèse intuitive qui est liée à
l’expérience mais, nous pouvons envisager mémoriser les signaux d’entrée et faire un traitement de ceux-ci en
temps différé, les systèmes utilisés ne sont plus alors nécessairement causaux car pour élaborer la sortie à
l’instant ni, nous disposons en mémoire des entrées aux instants suivants. C’est souvent le cas en traitement
d’image, en traitement de parole effectué après mémorisation du signal à traiter. Un exemple de signal causal :
signal reçu au vol (émission radio), exemple de signal non causal : signal enregistré.

Une autre notion fondamentale est la stabilité des systèmes.


La propriété de stabilité des systèmes bouclés est non seulement
une performance mais une exigence pour le bon fonctionnement
d’une boucle d’asservissement ou de régulation. Une boucle
instable est une boucle inutilisable. La définition la plus courante
de cette stabilité est la suivante : On dit qu'un système est stable
si, en lui appliquant une entrée bornée quelconque, la sortie reste
bornée, ce qui implique dans le cas des SLIT:

∑ h(n) < ∞
n

Un système stable est un système qui, perturbé, revient à son état initial après disparition de la
perturbation.

3. Energie et puissance

L’énergie (puissance) est une quantité importante dans le traitement du signal. Toute transmission
d’information s’accompagne de transferts d’énergie. En effet, les signaux continus ou discrets sont
essentiellement caractérisés par l’énergie ou la puissance qu’ils véhiculent. Ce sont les seules grandeurs
physiques auxquelles sont sensibles les détecteurs. Beaucoup de capteurs physiques mesurent une énergie ou
une quantité quadratique. Par exemple, les capteurs optiques mesurent une intensité, les compteurs
d’électricité mesurent une énergie, etc. Compte tenu de la définition fondamentale, l’énergie du signal entre les
instants t et t+dt est : |x(t)|2 dt (puissance instantanée multipliée par le temps).

20
F.E.I., U.S.T.H.B.

+∞

∑ x(n) 2
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)
+∞


2
Soitt un signal x(t) à temps discret
discret,, tel que x (n) existe et converge. Alors le signal est dit à énergie
−∞
finie et la valeur de cette somme est appelée énergie du signal :
+∞
E x = ∑ x (n)
2

−∞
Exemples:

x(n) = Rect(n/N)) énergie finie. x(n)) = a (constante) n’est pas à énergie finie. x(n) = A sin(2πf0n) n’est pas
à énergie finie

gnal périodique, cette somme ne converge pas. On peut néanmoins défi


Pour un signal définir la puissance d'un
signal x(n) périodique de période N par :

N / 2 −1 N
1 1
Px = ∑ Px = ∑
2 2
x( n) ou x( n)
N −N / 2 2 * N + 1 −N

Dans le cas général, on parle de signaux à puissance moyenne finie définie par:

N / 2−1 N
1 1
Px = lim N →∞ ∑ Px = lim N →∞ ∑
2 2
x ( n) ou x( n)
N −N / 2 2 * N + 1 −N

Exemples:

- signal continu x(t)=a,

- signal sinusoïdal A sin(2πf0t) ,

- signaux périodiques,

- échelon unité.

- peigne de Dirac

Il existe des signaux ni périodiques, ni d'énergie finie, pour lesquels la puissance ne peut être définie,
définie
comme par exemple la rampe x(n)=n.
x(n)=n. Il s'agit là de définitions mathématiques. En pratique, un signal mesuré
ne l'est jamais sur un intervalle de temps infini. Par exemple, on peut commencer à visualiser un signal à un
instant qu'on prendra comme origine des temps, et dans ce cas on arrêtera son examen au bout d'un temps
Tobs. Comme on ne sait pas ce que ce signal était avant qu'on ne l'observe, ni ce qu'il deviendra après, il serait
présomptueux d'utiliser les bornes de -∞ à +∞ dans la formulation de l'énergie, et on se limitera donc
do à l'écrire
sous la forme: Nobs
Ex = ∑ x( n )
2

n =0

- Signal à énergie finie = puissance nulle - Signal à puissance finie = énergie infinie

Le calcul de l'énergie ou la puissance permet d'obtenir une première caractérisation du signal. Par
ailleurs, la théorie du signal a largement
gement développé des méthodes d’étude basées sur la corrélation pour
caractériser le comportement temporel du signal.
21
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

4. Corrélation et autocorrélation

La fonction de corrélation permet de mesurer le degré de ressemblance entre deux signaux en fonction
d’un décalage. Considérons x(n) et y (n) deux signaux d'énergie finie, la fonction d'intercorrélation Rx,y(k) est

définie par: R xy ( k ) = ∑ x ( n) y
n = −∞
*
(n − k )

L’intercorrélation entre x(t) et y(t) atteint un maximum pour un retard k si x(n)=y(n-k)

N −n
1
Pour des signaux à puissance moyenne finie, elle vaut : Rxy (k ) = lim
N →∞ N
∑ x ( n) y ( n − k )
n =1
*

Exemples:

Le signal x(t) ressemble le plus à y(t) aux instants -T/2 et T/2. En t=0, x(t) ne ressemble pas du tout à
y(t) (ils sont orthogonaux, produit scalaire nul). Pour l'exemple de droite, les signaux se ressemblent le plus
quand y(t) est décalé de 12 secondes.

x(n) y(n)
1 1
-N
-N/2 N/2 nt N n
-
1
Rxy(k)
N
-3N/2 N/2
-N/2 3N/2 k

Pour l'autocorrélation, on remplace y(n) par x(n) on obtient l'expression de l'autocorrélation pour les

signaux à énergie finie: R x ( k ) = ∑ x (n) x
n = −∞
*
(n − k )

L'autocorrélation permet de détecter des régularités, des profils répétés dans un signal comme un signal
périodique perturbé par beaucoup de bruit.

Propriétés :

- Pour k= 0, on retrouve l’énergie du signal Rxx(0) = Ex .

- Si x(n) est réel, l’autocorrélation est réelle

- Rxx(k) est maximale en k=0. Rien ne ressemble plus au signal que lui-même.

22
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

- L’autocorrélation d’un signal de durée N aura une taille 2*N-1

Autocorrélation des signaux périodiques : Le calcul sur une seule période suffit. L’autocorrélation d’un
signal périodique est elle même périodique. Par définition, le signal périodique ressemble parfaitement à lui
même, décalé d’une ou plusieurs périodes.

- signaux périodiques

N −n
1
Rx (k ) =
N
∑ x ( n) x ( n − k )
n =1
*

Remarque: Les opérations de corrélation et convolution sont liées. Mathématiquement, on peut écrire une
relation qui permet d’exprimer la fonction de corrélation comme un produit de convolution (et
réciproquement). En effet: R ( k ) = x * ( − n) * y ( n)
xy

On peut donc considérer l'opération d'un SLI comme une mesure de la corrélation entre deux signaux
(x*(-n) et h(n)). En fait, le signal de sortie est "construit" à partir des composantes fréquentielles communes au
signal d'entrée et à la réponse impulsionnelle.

Exemples : Extraction d'un signal noyé dans du bruit, mesure d'un temps ou retard, détection d'un signal
périodique.

Sinusoïde noyée dans un bruit blanc SNR=0.15 Signal émis signal reçu (noyé dans du bruit)

Corrélation entre le signal émis et le signal reçu

23
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Remarque : La notion de bruit est relative, elle dépend du contexte. L'exemple classique du technicien en
télécom et de l'astronome :

- Pour le technicien en télécom : Ondes d'un satellite = signal. Signaux provenant d'une source astrophysique
= bruit.

- Pour l'astronome : Ondes d'un satellite = bruit. Signaux provenant d'une source astrophysique = signal.
Ainsi, tout signal physique comporte du bruit = une composante aléatoire.

Le rapport signal/bruit désigne la qualité de la


transmission d'une information par rapport aux
parasites. Il est défini par:

SNRdb=20 Log(PS/PB)

24
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Série 2

1. Donner l’expression du signal échelon U(n) en fonction du signal signe Sgn(n).

2. Donner l’expression du signal x(n) = Arect[(n-n0)/N+1]= A ∏ (n − n 0 ) à l’aide du signal signe seulement.


N +1
Justifier graphiquement la solution trouvée (N supposé pair).

3. Calculer la sortie y(n) lorsque : x(n) =δ (n–n0) +δ(n–n1) et h(n) = e–an

4. Soit le signal échelon f(n)= E0 U(n), d’amplitude E0. Représenter graphiquement et calculer le produit de
convolution de f(n) par lui-même (autoconvolution).

5. La fonction triangulaire est définie de la manière suivante:


 E 2 (n + 1 + N ) − N ≤ n ≤ 0

E 2 N .Λ N (n ) =  − E 2 (n − 1 − N ) 0 ≤ n ≤ N
 0
 ailleurs
Vérifier analytiquement et graphiquement la relation E2.N. ΛN(n) = E.ΠN+1(n) * E.ΠN+1 (n), en déduire
l'autocorrélation du signal et son énergie (devoir à rendre)

6. Les signaux suivants sont-ils à énergie finie, à puissance moyenne finie, ou ni l’un, ni l’autre ? Calculer, dans
chaque cas, l’énergie totale et la puissance moyenne totale (a>0).

• Arect(n/N+1) Asin(2̟f0n) Asin(2̟f0n).U(n) U(n)


• n.U(n) Ae-anu(n) Ae-an Atri(n/N)

7. Calculer l'autocorrélation des signaux suivants (devoir à rendre)


• Arect(n/N) Asin(2̟f0n) 5 δN(n) Bcos(2̟f0n)

8. Les séquences x(n) (réel) et y(n) représentent respectivement l’entrée et la sortie d’un système discret.
Pour chaque cas, identifiez celles représentant
a) des systèmes linéaires, b) des systèmes causals, c) des systèmes invariants aux translations de n,
d) des systèmes assurément ou possiblement stables (en fonctions des constantes)
1. y(n) = x(n) + bx(n-1) 2. y(n) = x(n) + bx(n+1) 6. y(n) = bx(n) b : constante réelle
3. y(n) = nx(n) 5. y(n) = x(n)e n 7. y(n) = |x(n)|
4. y(n) = x(n) sin(2πf0n) N : constante entière

Solutions
1. U(n)=1/2(sgn(n)+1)
2. x(n)= A/2 [sgn(n-(n0-N/2))- sgn(n-(n0+N/2+1))]
− a ( n−n 0 ) − a ( n − n1)
3. x( n) = e +e
4. f(n)*f(n)= E0 .(n+1)
2 pour n≥0 et 0 ailleurs
6. E=A2.(N+1) Pm=0, E=∞ Pm=A2/2, E=∞ Pm=A2/4, E=∞ Pm=1/2
E=∞ Pm=∞, E=A /(1-e- ) Pm=0 , E=∞ Pm=∞,
2 2a E=2A2N(1+N) Pm=0
7. A2N.ΛN(k) A2/2.cos(2πf0k) 25 δN(k) B2/2.cos(2πf0k)

25
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

8. a) Tous sauf 6 et 7. b) Tous sauf 2.c) Les systèmes 1, 2, 6 et 7.


d) Les systèmes 1 (b finie), 2 (b finie), 4, 6 (b finie) et 7.

Exercices supplémentaires

1. Représenter les signaux suivants:


Π ( n − 1) , n.U(n), (n-2).U(n-3), (-n+3)U(n-2)U(-n+3), e-an.U(n-1)
N

2. Soient x1 (n) = e − a.n .U (n) x 2 (n) = e − b.n .U (n)

Calculer x1 (n) * x 2 (n) avec (a, b) ∈ ℜ + et a > b


0 n<0
−bn
Solution : x ( n) =  e
[e ( b − a ) n − 1] n>0
 b − a

3. Calculer et esquisser graphiquement pour les cas n0 < n1 et n0 > n1 le produit de convolution z(n) = x(n)*y(n)
pour les cas suivants :
• X(n) = A[δ(n+n0) + δ(n-n0)] et Y(n) = B δ(n) + 1/2B[δ(n+n1) + δ(n-n1)]
Solution :
X(n)*Y1(n)=AB[δ(n+n0) + δ(n-n0)]+AB/2[δ(n+n0+n1) + δ(n-n0-n1)+ δ(n-n0+n1) + δ(n-n0-n1)]

26
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

TP n°1 : Analyse temporelle des SLIT discrets

Convolution, Energie, Puissance et Corrélation

I. Rappels

• Convolution:: Un SLIT est entièrement caractérisé par sa réponse impulsionnelle :


+∞ +∞
y (t ) = x(t ) ∗ h(t ) = ∫ x(τ )h(t − τ )dτ et y ( n) = x ( n) ∗ h( n) = ∑ x( k ) h( n − k )
−∞ k = −∞

• Energie et Puissance:: Pour un signal à temps continu x(t), et un signal à temps discret x(k), leur énergie
s’exprime par :
+∞

∫ x(t ) et E = ∑ x(k )
2 2
E= dt
−∞ k

et leur puissance moyenne par :


N / 2−1
1 1
T →+∞ T ∫

2 2
P = lim x(t ) dt et P = lim x( k )
N →+∞ N
T k =− N / 2

pour des signaux périodiques,, elle devient :


N / 2 −1
1 1
P= ∫ et P = ∑
2 2
x(t ) dt x(k )
T T
N k =− N / 2

• Corrélation : La fonction de corrélation se définit de différentes façons suivant la classe de signaux à laquelle
on s’adresse :
-signaux à énergie finie
+∞ +∞
Rxy (t ) = ∫ x(τ )y (t − τ )dτ
*
et Rxy (k ) = ∑ x (n) y ( n − k )
*

−∞ k = −∞
- signaux périodiques
T /2 N −k
Rxy (t ) = x(τ ) y * (t − τ )dτ
1 1
T −T∫/ 2
et Rxy (k ) =
N
∑ x ( n) y ( n − k )
n =1
*

- Propriétés la fonction d’autocorrélation Rx : Paire, maximum en 0, pour k=0,


=0, on retrouve l’énergie ou la
puissance.

Remarques :
- Un signal numérique s(n)) est une suite de N échantillons régulièrement
régulièrement espacés de Te secondes:
x(0),x(Te),x(2Te),…, x((N-1)Te).
1)Te). La grandeur Fe=1/Te est appelée
appelée fréquence d’échantillonnage
d’échantillonnage.

27
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Le tracé graphique d'un signal discrétisé en temps peut s'effectuer simplement


simplement à l'aide de la fonction stem
(matlab)
- L’énergie d’un signal x(n)) est fournie sous matlab par sum(x.^2). Concernant la puissance moyenne, il faut
diviser l’énergie par le nombre d’éléments de x(n).
- Pour la corrélation et la convolution, on utilisera
utili les fonctions xcorr et conv. A noter que la convolution ou la
corrélation de x et h de durée N est un signal y(n) de durée (2N-1)
(2N
- La fonction b=randn(1,N) permet de générer un vecteur bruit b de distribution pseudo normale (de Gauss)
de taille N de moyenne nulle et d’écart type 1 . Un coefficient multiplié par randn permet d’augmenter à
volonté la puissance du bruit. Ainsi pour générer un vecteur bruit blanc de taille N, de moyenne m et d’écart
type s la commande est : bruit= m+s **randn(1,N); dont la puissance est Ps = m2 +s2 .

II. Exemples à tester


1. Le programme suivant permet de générer un Dirac en 0 : δ(n)
(n) =1 pour n=0 et vaut 0 ailleurs
t=-10:10;
x=[zeros(1,10),1,zeros(1,10)];
stem(t,x);
axis([-10 10 -0.5 1.5]);
title('Impulsion unité');
xlabel('n');
ylabel('Amplitude');

2. Le programme suivant permet de générer un échelon U(n)=1 pour n≥0


n≥0 et 0 pour n<0
t=-20:20;
x=[zeros(1,20),ones(1,21)];
stem(t,x);
title('Echelon unite');
xlabel('n');
ylabel('Amplitude');

3. Pour générer N=128 échantillons


llons d'une sinusoïde de fréquence f0=1000, on peut procéder de la façon suivante, choisir
une fréquence d'échantillonnage : Fe = 8000 (le pas de temps Te=1/Fe) Créer le vecteur des temps : t = (0:N (0:N-1)Te. Te.
Calculer les échantillons: x = cos(2*pi*t*f0) ; Puis, regarder le résultat : plot(x) ou plot(t,x). Ce qui nous donne :
clc ; clear all ; close all ;
N=128; fo=1000; Fe=8000; Te=1/Fe;
t=(0:N-1)*Te; x=cos(2*pi*fo*t);
plot(t,x) ;
4. Le programme suivant permet de créer une porte de largeur 2s, centrée en 3 s, d’amplitude 4, échantil
échantillonnée avec
Te=0.1s avec N=50 et de calculer son auto-corrélation
auto et son énergie.
clc;clear all; close all;
Te=0.1; N=50; A=4;
t=(0:1:N-1)*Te;
porte=A*[zeros(1,10),ones(1,20),zeros(1,20)];
subplot(2,2,1);
plot(t,porte);
subplot(2,2,2);
stem(t,porte);
tt=(-N+1:1:N-1)*Te;
28
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

subplot(2,2,3);
plot(tt,xcorr(porte));
subplot(2,2,4);
plot(tt,Te*xcorr(porte));
Energie1=sum(porte.^2)
Energie2=sum(porte.^2)*Te

III. Programmes à réaliser


1. Autocorrélation d’un sinus
-Générer 50 échantillons d’une sinusoïde de fréquence f0 =0.1 avec fe=10.f0
- Calculer et afficher son autocorrélation
- Retrouver les caractéristiques du signal (puissance et fréquence).

2. Réalisez un seul programme qui effectue les tâches suivantes :


- Génère une sinusoïde s(k) de fréquence 50Hz, d’amplitude 1, échantillonnée à 2.5KHz (Te=0.4ms) et de taille
n=256.
- Calcule la puissance de s(k).
- Génère un bruit d’amplitude quelconque.
- Additionne le bruit à la sinusoïde
- Visualise les trois signaux simultanément.
- Affiche le SNR à l’écran.
- Observer le signal et son autocorrélation pour différentes amplitudes du bruit.

29
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

III. Transformée de Fourier Discrète (TFD)

La représentation temporelle peut être suffisante dans tous les cas où la forme du signal et la nature du
traitement restent simples. Dans la réalité, les signaux n'ont pas toujours une forme simple soit en raison de la
nature de l'information qu'ils portent, soit en raison du traitement qu'ils doivent subir. L'unique représentation
du signal en fonction du temps s'avère insuffisante : elle ne permet plus d'interpréter correctement
l'information. Dans de tels cas, la représentation du signal en fonction de la fréquence est très utile. Pour cela,
on fait appel à la transformée de Fourier. Elle a pour but de mettre en évidence des caractéristiques du signal
non évidentes dans la représentation temporelle : les propriétés fréquentielles (spectrales). L’utilisation de cette
description fréquentielle permet en outre de caractériser simplement les filtres linéaires, et faciliter leur étude.

Dans le but de calculer la transformée de Fourier S(f) d’un signal s(t) à l’aide d’un ordinateur, celui-ci
n’ayant qu’un nombre limité de mots de taille finie, on est amené à discrétiser le signal (échantillonnage), à
tronquer temporellement ce signal et à discrétiser sa transformée de Fourier.

1. Transformée de Fourier à temps discret (TFTD)

Lorsque le signal à traiter n’est plus analogique mais numérique, la relation de la TF devient :
+∞
. +∞

TF {s (t )} = S ( f ) = ∫ s(t ) e − 2π j f t
dt S e ( f ) = Te ∑ s(nT )e
n = −∞
e
− 2π j f nTe

−∞

L'échantillonnage périodise le spectre du signal avec une période de répétition fe Se(f)= Se(f+fe), par
ailleurs, l'amplitude est multiplié par un facteur fe. Sachant que tout signal périodique peut être décomposé en
séries de Fourier, on a :
fe / 2
+∞ Cn 1
s (nTe ) = = ∫S ( f ) e 2π j n Te f df
Se ( f ) = ∑C e
n = −∞
n
− 2π j n Te f Avec
Te Te . f e − fe / 2
e

Cette transformée de Fourier appliquée aux signaux discrets est donc une fonction à fréquence continue,
périodique de période fe. Il est d’usage de la représenter sur un intervalle de longueur fe, de -fe/2 à +fe/2.

Cependant, si on veut calculer la TF d'un signal discret à l'aide d'un calculateur, on se retrouve confronté
aux problèmes suivants : Le calcul de la TF nécessite une infinité de points de mesures s(n) (pas toujours
possible dans la pratique : contraintes temps réel, etc.). En outre, le calculateur ne peut calculer une TFTD car
sa réponse fréquentielle est forcément discrète = un nombre fini de points fréquentiel alors que f varie
continûment. La solution est de limiter la durée de s(n) i.e. considérer un nombre fini N de points temporels et
de discrétiser la fréquence (considérer un nombre fini L de points fréquentiels) ⇒ TFD.

30
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

2. Transformée de Fourier discrète (TFD)

Cette transformée, popularisée par son calcul rapide (TFR ou FFT : Fast Fourier Transform), fait
correspondre une suite de N valeurs à une autre de suite de N valeurs numériques également.

On considère un signal numérique s(n) défini par N échantillons temporels, obtenus par échantillonnage
avec la période Te. La numérisation du signal S(f) passe par l'échantillonnage de S(f). On divise l'intervalle fe
par N, ainsi S(f) est échantillonné à la cadence ∆f=fe/N=1/NTe. Ce dernier résultat entraîne une périodicité du
sig

nal temporel de T0=1/∆f = NTe.

Sachant que fe = N.∆f, les formules précédentes deviennent :


N −1
N −1 N −1 
e ∑ sn e
− 2π j n k / N
S e (kf e / N ) = Te ∑ s (n)e − 2π j n Te k fe / N = Te ∑ s (n)e − 2π j n k / N = S e (k )  kS = T
n=0 n=0 ⇒ n =0
 f N / 2 −1
N / 2 −1
fe N / 2 −1
 s n = e ∑ S k e 2π j n k / N
Et s (n) = ∑S
k =− N / 2
e (k ) e 2π j n k / N .∆f =
N
∑S
k =− N / 2
e ( k ) e 2π j n k / N  N k =− N / 2

Ce qui nous permet d'obtenir pour (Te=1), la TFD et la TFD inverse :

N −1

 S k = ∑
n =0
s n e − 2π j n k / N
 1 N / 2 −1

F.E.I., U.S.T.H.B.
 sn =
 ∑
N k =− N / 2
S k e 2π j n k / N 31
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Il faut bien remarquer que l’on perd toute référence aux valeurs des instants correspondant aux
échantillons. Nous avons une relation entre une suite indexée par une variable entière n et une suite indexée
par k. Les N termes S(k) correspondent à une approximation (à un facteur multiplicatif Te près) de la
transformée de Fourier de ce signal aux N points de fréquence k ∆f, avec k entre 0 et N −1, c'est-à-dire f entre 0
et fe.

Exemple

Soit le signal s(n) = 1 pour n = 0 et n= 3 et 0 ailleurs. Calculons la TFD d'ordre 4 de s(n)

Calcul de la TFD sur 4 échantillons (4 échantillons de la TFD à partir de 4 échantillons du signal)

Modules de ces 4 échantillons :

Arguments de ces quatre échantillons :

32
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Remarques

sn est périodique de période N et Sk est périodique de période N :

N −1 2π ( n + N ) k N −1 2πnk 2πNk
1 j 1 j j
sn + N =
N
∑S e
k =0
k
N
=
N
∑S e
k =0
k
N
e N
= sn

N −1 N −1
1
∑ = ∑S
2 2
Par ailleurs, comme l'énergie se conserve, on obtient : sn k
0 N 0

Autres propriétés : Toutes les propriétés se déduisent des propriétés de la transformée continue en se
rappelant que chaque signal manipulé, de durée finie, doit être considéré comme une période d'un signal
périodique, et cela en temps et en fréquence. La conséquence en est que la translation d'un signal (qui
intervient aussi dans les opérations de convolution ou de corrélation) se traduit par un décalage circulaire

o Linéarité : ax1 (n) + bx2 (n) → aX 1 (k ) + bX 2 (k )


TF

− 2π j k m
o Décalage temporel : x (n − m) →
TF
X ( f )e N

2π j k 0 n
o Décalage fréquentiel : x ( n )e N
→
TF
X (k − k 0 )

o Dualité temps-fréquence : x(n) → X (k ) ⇒ X (n) → N .x(−k )


TF TF

1
o Changement d'échelle : x(an) →
TF
X (k / a)
a

o Convolution périodique : x(n) ∗ h(n) → X (k ).H (k )


TF

o δ (n) →1
TF

2. TFD des signaux de longueur illimitée

Le nombre d’éléments d’une séquence transformée par la TFD est implicitement limité, la fenêtre
intrinsèque à la transformée discrète de Fourier est donc la fenêtre rectangulaire de durée T0=NTe. En termes
de contenu spectral, le fenêtrage n’est pas neutre et il introduit nécessairement une distorsion des
composantes. La troncation du signal échantillonné par une fenêtre de largeur T0 a pour effet de convoluer le
spectre avec un sinus cardinal qui s’annule tous les 1/T0 avec T0 = NTe soit tous les fe/N.

33
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Exemple 1 :

Module de la TFD de {s(n) = e2πjf0n}, pour n= {0, . . . ,N − 1}, avec N = 16


et f0 = 0,2. En pointillé, le module de la TFTD de s(n). L’allure de S(k)
fait apparaître un lobe principal de largeur 2/N (ou 2fe/N) autour de
la fréquence f0 et des lobes secondaires de largeur 1/N (ou fe/N).

Exemple 2:

Dans le cas d’un signal périodique, le spectre, obtenu par transformée de Fourier discrète, est donc un
ensemble de fonctions sinc(T0 f ) centrées sur les fréquences qui composent le signal théorique initial. Ainsi
cette qualité du résultat peut être incommode pour l’étude du spectre, en particulier lorsque le spectre est
composé de nombreuses raies, proches les unes des autres. L'importance de ses lobes peut être réduite par
l'emploi d'autres fenêtres.

La précision fréquentielle dépend du nombre de points adoptés pour le calcul. Les points en fréquences,
sont espacés de 1/N (ou fe/N). Considérons l'exemple suivant:

s(n)= A0 e2πjf0n + A0 e2πjf11n pour n (0:N-1) où f0 et f1 ∈ [-fe/2, fe/2]

Le tracé du spectre par TFD montre que si l'écart en valeur absolue entre f0 et f1 est supérieur à fe/N, il
sera possible de distinguer les deux fréquences sur le tracé. Cette résolution en fréquence est liée au nombre de
points du signal.

Quant à la précision, elle peut être améliorée par la technique du zéro-padding : on calcule la TFD sur un
nombre N pouvant être largement supérieur au nombre de points disponible du signal.

Exemple

34
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

On considère maintenant l'exemple suivant :

s(n)= A0 e2πjf0n + A0 e2πjf11n pour n (0:N-1) où A0 > A1

Un masquage du lobe principal de la composante en f1 peut survenir en raison des ondulations présentes
dans le spectre de A0 exp(2j̟f0n). Une « fréquence » d’amplitude faible au voisinage d’une d’amplitude plus
élevée sera masquée par le premier lobe secondaire. La séparation dans ce cas peut être améliorée par l’emploi
de fenêtres de pondération (Hamming…). Mais c’est au détriment de la séparation de « fréquences » très
voisines mais d’amplitude semblables car les 2 raies seront confondues dans un lobe principal élargi par la
fenêtre (la fenêtre rectangulaire a le lobe principal le plus étroit de toutes les fenêtres).

3. Fenêtres de pondération

Lors de l’analyse spectrale d’un signal de longue durée, nous n’avons accès, en pratique, qu’à une
portion limitée de ce signal. Le spectre obtenu correspond donc au spectre du signal à analyser auquel une «
fenêtre » a été préalablement multipliée. Pour ne pas altérer le spectre original, il faudrait que WR (f) (spectre
de la fenêtre) se rapproche le plus possible d’une distribution de Dirac. La distribution de Dirac étant l’élément
neutre du produit de convolution. Il y a deux éléments importants pour se rapprocher de la distribution de
Dirac. La finesse du lobe principale et la hauteur des lobes secondaires.
35
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

En effet, plus la largeur du pic principal est fine, plus la résolution


est grande, c’est-à-dire que l’on peut séparer des raies proches. Et plus les
lobes secondaires sont élevés plus on dégrade la forme du spectre. Il peut
y avoir apparition de pics fantômes. En outre, l’amplitude des lobes
latéraux détermine l’étalement spectral de la fenêtre. Un étalement
spectral trop grand nuira à la détection d’un signal d’amplitude faible en
présence d’un signal d’amplitude élevée.

- Fenêtre rectangulaire

Pour la fenêtre rectangulaire, on voit que la finesse du lobe principale peut


être réglée par le nombre d’échantillons N. Ainsi, plus on observe le signal
longtemps, plus la résolution du spectre augmente ce qui parait logique. Par
contre, λR varie très peu en fonction de N (-13dB), ce qui signifie qu’une
fenêtre rectangulaire apporte toujours une distorsion du spectre.

- Fenêtre Triangulaire

Pour obtenir la transformée de Fourier de la fenêtre triangulaire de largeur N,


rappelons que la convolution de deux signaux rectangulaires donne un signal
triangulaire. Ainsi, on peut exprimer cette fenêtre sous la forme dune
convolution de deux rectangles de largeur N/2. On observe une atténuation
des lobes secondaires (-24dB) par rapport à la fenêtre rectangulaire.
Malheureusement, ceci se fait au prix de l’élargissement du pic central (4/N).

- Autres fenêtres

 2πn 4πn N −1
0.42 + 0.5 cos( ) + 0.08cos( ) pour n ≤
wBlack (n) =  N −1 N −1 2
0 ailleurs

 2πn N −1
0.54 + 0.46 cos( ) pour n ≤
wHam (n) =  N −1 2
0 ailleurs

 I 0 (β ) N −1
 pour n ≤
wKais ( n) =  I 0 (α ) 2
0
 ailleurs

2
+∞ 
1  x 
k
2n 2
où α est un paramètre, β =α 1 − ( ) et I 0 ( x) = 1 + ∑    
N −1  k!  2  
k =1 

36
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Dans un problème d’analyse spectrale, on utilise généralement plusieurs fenêtres l’une après l’autre
afin d’obtenir un bon compromis résolution/déformation.

37
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

4. Calcul de la FFT ou TFR

La TFD est restée un outil peu utilisée jusqu’à l’apparition d’algorithmes « rapides » permettant son
calcul. Le plus connu est du à Cooley et Tuckey et date de 1965. Le calcul direct de la TFD sur N points
nécessite 2N2 multiplications et 2N(N-1) additions. L’algorithme proposé réduit à Nlog2(N) le nombre
d’opérations. Sans nuire à la généralité, prenons le cas de N=8. Il faut calculer :

N −1 2π n k 7 2π n k
−j −j
S k = ∑ sne N
= ∑ sn e N

n =0 n =0

 2π  7
Soit : WN = exp − j  alors S k = ∑ s nWNnk
 N  n =0
Pour N=8, explicitons la relation précédente :

 S 0   W80 W80 W80 W80 W80 W80 W80 W80   s0 


   0  
 S1   W8 W81 W82 W83 W84 W85 W86 W87   s1 
 S 2   W80 W82 W84 W86 W88 W810 W812 W814   s2 
   0  
 S 3  =  W8 W83 W86 W89 W812 W815 W818 W821   s3 
S   W 0 W84 W88 W812 W816 W820 W824 W828   s4 
 4   80  
 S 5   W8 W85 W810 W815 W820 W825 W830 W835   s5 
S   W 0 W86 W812 W818 W824 W830 W836 W842   s6 
 6  8  
 S 7   W8 W849   s7 
0
W87 W814 W821 W828 W835 W842

Les facteurs Wn présentent un certain nombre de propriétés dont certaines sont mises à profit dans
l’algorithme : n+ N
nN
WN = 1, WN
N /2 n
= −1, WN = WN

 S 0  W80 W80 W80 W80 W80 W80 W80 W80   s0 


   0  
 S1  W8 W81 W82 W83 W84 W85 W86 W87   s1 
 S 2  W80 W82 W84 W86 W80 W82 W84 W86   s2 
   0  
 S 3  = W8 W83 W86 W81 W84 W87 W82 W85   s3 
 S  W 0 W84 W80 W84 W80 W84 W80 W84   s4 
 4   80  
 S 5  W8 W85 W82 W87 W84 W81 W86 W83   s5 
 S  W 0 W86 W84 W82 W80 W86 W84 W82   s6 
 6  8  
 S 7  W80 W87 W86 W85 W84 W83 W82 W81   s7 

L’algorithme suppose que N est pair : posons N=2 P. Introduisons les 2 sous-suites de sn en fonction de

un = {s2 n }
la parité de n.
n = 0 ,..., P −1

vn = {s2 n +1}
n = 0,..., P −1

38
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

N −1 P −1 P −1
On obtient ainsi : S k = ∑ snWNnk = ∑ uiW22Pik + ∑ viW2(P2i +1) k
n=0 i =0 i =0
P −1 P −1
S k = ∑ uiWPik + WNk ∑ viWPik
i =0 i =0

S k = U k + W Vk k
N

N −1 P −1 P −1
Par ailleurs, S ( k + P ) = ∑ snWN( k + P ) n = ∑ uiW22Pi ( k + P ) + ∑ viW2(P2i +1)( k + P )
n =0 i =0 i =0
P −1 P −1
S ( k + P ) = ∑ uiWPikWPiP + WNkWNP ∑ viWPikWPiP
i =0 i =0
P −1 P −1
S ( k + P ) = ∑ uiWPik .1 + WNk (−1)∑ viWPik .1
i =0 i =0

S ( k + P ) = U k − W Vk k
N

Le calcul de la FFT revient donc à calculer Uk et Vk qui sont les TFD sur P points des suites de termes de
rang pair et impair. Le calcul revient au schéma suivant :

s0 U0 S0
+ + U2 +
s2 W20
- + + S1
s4 U4 S2
+ W4 0 - U6 +
s6 W20 - W4 2 - + S3

s1 + + V1 W8 0 -
+ - S4
s3 W20 - V3 W8 1
- - S5
s5 + W4 0 V5 W8 2
- - S6
s7 - W4 2 V7 W8 3
W20 S7

On s’aperçoit sur le schéma précédent qu’il ne reste qu’à exprimer les Uk et Vk. Or, ce sont des TFD sur P
points, qui peuvent reprendre le même schéma que précédemment. Cela est faisable si P est pair. On peut
réitérer le processus à chaque sous-étage, si cette condition est à chaque fois vérifiée, donc si N au départ est
une puissance de 2. En pratique, lorsque cela n’est pas le cas, les suites d’échantillons sont complétées par des
zéros jusqu’à la puissance de 2 immédiatement supérieure. (zero padding).

Il y a d’autres algorithmes qui ne présentent pas cette contrainte (mais en


présentent d’autres). L’algorithme ainsi mis en œuvre présente des motifs à
croisement appelé « algorithme papillon ». Notons l’entrelacement temporel qui
« bouscule » l’ordre d’apparition des échantillons.

39
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Avec cette représentation, l’algorithme FFT se représente par :

L’algorithme de FFT peut s’écrire sous forme matricielle. On obtient :

Notons aussi que l’algorithme présenté est dit à entrelacement temporel. Une version tout à fait
symétrique et au même coût, opère les permutations sur les S et non les s : l’algorithme est dit à entrelacement
fréquentiel. Il y a d'autres variantes de l'algorithme FFT (base 4, etc.)

40
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

Série n°3

1. Calculer la transformée de Fourier à temps discret (TFTD) de x(n)=δ(n) + 6 δ(n – 1) + 3δ(n – 2)

2. Calculer la TFD du signal s(n)=n pour N=2, 3, 4, 8.

3. Calculer la transformée de Fourier discrète (TFD) de la suite x(n) formée de N = 8 points (n ∈ [0,7]), obtenue
en échantillonnant à la fréquence fe = 16 Hz le signal s(t) = 2sin(8̟t)+8cos(4̟t)

4. Etant donné les signaux s(n)={1,-2,3,2} et v(n) ={-2,1,2,3}, déterminer w(n)=s(n)*v(n) par
- la méthode directe
- la méthode de la TFD

5. On a le signal suivant x(n)=e-anU(n), avec U(n) l’échelon unité, échantillonné à Te = 1.


- Calculer la TFTD
- Calculer la TDF et comparer

6. Soit x(n)=1/N pour 0 ≤ n ≤ N-1 et 0 ailleurs. Calculer sa TFD X(k) pour N=4.

Solutions

1. X(f)=1+6.e-2πjf+ 3.e-4πjf

2. N=2, Xk=[1, -1] N=3, Xk= 3, 3 (−1 − 3 j ), 3 (−1 + 3 j ) N=4, Xk= [6, 2 j − 2 , − 2, − 2 − 2 j ]
 2 
 2 

 S 0   W80 W80 W80 W80 W80 W80 W80 W80   s0   S 0  W80 W80 W80 W80 W80 W80 W80 W80   s 0 
S   0       
 1   W8 W81 W82 W83 W84 W85 W86 W87   s1   S1  W80 W81 W82 W83 W84 W85 W86 W87   s1 
 S 2   W80 W82 W84 W86 W88 W810 W812 W814   s2   S 2  W80 W82 W84 W86 W80 W82 W84 W86   s 2 
3.  S3   W 0 W83 W86 W89 W812 W815 W818
    
W821   s3  =  S 3  W80 W83 W86 W81 W84 W87
 
W82 W85   s 3 
 = 8 =
S   W 0 W84 W88 W812 W816 W820 W824 W828   s4   S 4  W80 W84 W80 W84 W80 W84 W80 W84   s 4 
 4   80       
 S 5   W8 W85 W810 W815 W820 W825 W830 W835   s5   S 5  W80 W85 W82 W87 W84 W81 W86 W83   s 5 
S   W 0 W86 W812 W818 W824 W830 W836 W842   s6   S 6  W80 W86 W84 W82 W80 W86 W84 W82   s 6 
 6  8       
 S 7   W80 W87 W814 W821 W828 W835 W842 W849   s7   S 7  W80 W87 W86 W85 W84 W83 W82 W81   s 7 

[
Avec s n = 8 2 + 4 2 0 − 2 − 4 2 − 8 2 − 4 2 0 − 2 + 4 2 ]
et W8k = 1 2
(1 − j ) − j
2
( −1 − j ) − 1
2
( −1 − j ) j
2 
(1 + j ) 
 2 2 2 2 
41
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

4. Convolution circulaire w(n)=s(n)*v(n) =[0, 18, 0, -2]

W40 W40 W40 W40  W40 W40 W40 W40  1 1 1 1 


 0 1   3 1 − j − 1 j 
W4 W4 W42 W43  W40 W41 2
W4 W 4   
= =
W40 W42 W44 W46  W40 W42 W4à W42  1 − 1 1 − 1 
 0     
W4 W4
3
W46 W49  W40 W43 W42 W41  1 j − 1 − j 

Sk=[4, 4j-2, 4, -2-4j] Vk=[4, -4+2j, -4, -4-2j] Wk=[16, -20j, -16, 20j] ⇒ w(n)=[0, 18, 0, -2]

1 1 − e − aN
5. TFTD X( f ) = TFD X (k ) =
1 − e − a − 2π j f 1 − e −a −2π j k / N

1 sin(πk ) −π j k ( N −1) / N 1 sin(πk ) −3 π j k / 4


6. X (k ) = e X (k ) = e
N sin(πk / N ) 4 sin(πk / 4)

Exercices supplémentaires

1. Calculer la Transformée de Fourier Discrète de la suite comportant N = 16 termes tels que :


x (0) = x (1) = x (2) = x (14) = x (15) = 1 x (n) = 0 pour 3 ≤ n ≤ 13
et de la suite : x (0) = x (1) = x (2) = x (3) = x (4) = 1 x (n) = 0 pour 5 ≤ n ≤ 15
- Comparer les résultats obtenus.
- Effectuer la Transformée inverse sur ces résultats.

2. Calculer la TFD de la suite x(n) formée de N =24 points obtenus en échantillonnant le signal
x(t)=3.sin(8̟t)+4.cos(6̟t) à la fréquence fe = 24 Hz.

3. Calculer et tracer le module de la TFD des signaux suivants :

 (n + 1) 0 si n = 4k
 si n = 0,..,3 
h(n) =  10 h(n) = 1 si n = 4k + 1,4k + 3
 0 aileurs 2 si n = 4k + 2

42
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

TP n°2 : TFD

Rappels

1. Transformée de Fourier Discrète


La TFD d’ordre N d’un signal numérique s(kTe), k=0…N-1 est définie par :
 k  N −1
S (k ) = S  f e  = ∑ s (nTe )e − 2π j k n / N , k = − N / 2.......N / 2
 N  n =0

Sa transformée inverse est donnée par:


1 N / 2−1
s (n) = s (nTe ) =
∑ S (kf e / N )e 2π j k n / N , n = 0.......N − 1
N k =− N / 2
Par abus d’écriture et pour simplifier on note s(k) et S(n) le signal et sa TFD en omettant les facteurs Te et
Fe. N est souvent une puissance de 2 et dans ce cas il ya un algorithme rapide de calcul des N coefficients
de la TFD. On parle alors de FFT (Fast Fourier Transform). Matlab fournit la fonction fft pour calculer la
transformée de Fourier complexe d’un vecteur. Ainsi aux coefficients s(1)…s(N) correspondent par TFD
les coefficients S(1)…S(N). Il suffit d'écrire fft(s,N). La transformée inverse est donnée par ifft(s,N). Le
vecteur signal étant de dimension finie, c'est la transformée discrète qui est calculée. Si N est la longueur
du signal, le spectre sera un vecteur complexe de même longueur qui pourra être représenté en
coordonnées cartésiennes (partie réelle et imaginaire fonction real et imag), ou en coordonnées polaires
(module et phase, fonction matlab abs et angle ou unwrap).

Prenons le cas d’une sinusoïde, les fréquences vont être graduées en Hz en supposant une
fréquence d’échantillonnage fe de 1Kz, les fréquences supérieures à 500Hz correspondent aux fréquences
négatives du spectre. Pour approximer la Transformée de Fourier continue d’un signal x(t), représenté
suivant un pas Te, on utilise la commande : fx= fftshift( fft(x)). On remarquera que la TF est une fonction
complexe et que la fonction ainsi obtenue décrit la TF de x(t) entre –1/(2 Te) et 1/(2 Te) par pas de 1/(nTe)
où n est le nombre de points constituant le signal x(t). La commande fft codant les fréquences positives
sur les n/2 premières valeurs du signal et les valeurs négatives entre n/2+1 et n, la commande fftshift
permet de les inverser.

2. Exemple d'utilisation de la FFT sous matlab


Taper le programme suivant et commenter les graphes obtenus

clc; clear all


N=100; fo=1000; Fe=8000; Te=1/Fe;
n=0:1:N-1;
43
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

x=sin(2*pi*fo*n*Te);
subplot(2,2,1);
t=Te*[0:1:N-1];
plot(t,x,'gx:'); grid;
y=fft(x);
axe_FF=Fe*(0:1/N:1-(1/N));
subplot(2,2,2); plot(axe_FF,abs(y/N),'b.:'); grid;
title('Transformée de Fourier Discrète par FFT du signal entre 0 et fe')
xlabel('fréquence'); ylabel('Module du spectre');
subplot(2,2,3);
y_dec=fftshift(y);
axe_freq=Fe*(-1/2:1/N:1/2-(1/N));
plot(axe_freq,abs(y_dec/N),'b.:'); grid;
title('Transformée de Fourier Discrète par FFT du signal entre -fe/2 et fe/2')
xlabel('fréquence'); ylabel('Module du spectre');
%FFT inverse %
FFT_INV=ifft(y);
subplot(2,2,4);
plot(t,FFT_INV,'bx:'); grid;
title('Transformée de Fourier Discrète inverse du signal N=100')
xlabel('temps'); ylabel('Amplitude');

−a t
I. Soit la fonction x(t ) = e a>0
1- Tracer le signal x(t) entre –5 et 5 pour a = 1, avec un pas de temps Te = 0.01 s (Utiliser la fonction length pour
connaitre la taille (N) de x)
2- Tracer le module de la transformée de Fourier.
3- Illustrer la propriété de décalage fréquentiel de la TF en représentant le module de la TF de x(t) × e2Πjfot avec
fo=5 Hz.
4- Vérifier la relation de Parseval.

II. Transformée de Fourier d'une porte


clc; clear all
N=10; Fe=1 ; Te=1/Fe;
t=Te*[1:1:N]; x=ones(1,N);
subplot(2,1,1); plot(t,x,'gx:'); grid;
NF=100; y=fft(x,NF); y_dec=fftshift(y);
subplot(2,1,2); axe_freq=Fe*(-1/2:1/NF:1/2-(1/NF));
plot(axe_freq,abs(y_dec/N),'b.:'); grid;
1- Quelle est la largeur ∆f du lobe principal ? (utiliser ginput)
2- Afficher le module de la transformée de Fourier en décibels. Utiliser la fonction 'log10' pour afficher les
échelles sur le graphique.
3- Vérifier que l'on a bien environ 13 dB entre le max du lobe principal et le max du lobe secondaire.
4- Vérifier que pour une porte de largeur P = 50 échantillons, on a toujours environ 13 dB.

III. Transformée de Fourier d'une fenêtre triangulaire


clc; clear all
N=10; Fe=1 ; Te=1/Fe;
x=conv(ones(1,N/2),ones(1,N/2));
subplot(2,1,1); plot(x); grid;
NF=100; y=fft(x,NF); y_dec=fftshift(y);
subplot(2,1,2); axe_freq=Fe*(-1/2:1/NF:1/2-(1/NF));
plot(axe_freq,abs(y_dec/N),'b.:'); grid;
1- Afficher le module de la transformée de Fourier sur une échelle linéaire puis en dB.
2- Quelle est la largeur du lobe principal ?
3- Quel est le rapport en dB entre le max du lobe principal et le max du lobe secondaire ? 44
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

TP n°3 : Fenêtrage

But : Mettre en évidence les propriétés du fenêtrage (Triangulaire, Hanning, Blackman, etc.)

Prog 1 Commenter les graphes obtenus par ce programme :


clear all; close all;
Nt=50; Fe=8000; Te=1/Fe; f0=1680;
t=(0:Nt-1)*Te; x=exp(2*pi*j*f0*t);
y=fft(x); yy=fftshift(y/Nt); axe_f=Fe*(-1/2:1/Nt:1/2-(1/Nt));
subplot(2,2,1); stem(axe_f,abs(yy)); grid; title('TFD sur 50 pts')
N=100;
y=fft(x,N); yy=fftshift(y/Nt); axe_f=Fe*(-1/2:1/N:1/2-(1/N));
subplot(2,2,2); plot(axe_f,abs(yy)); grid; title('TFD sur 100 pts')
N=1000;
y=fft(x,N); yy=fftshift(y/Nt); axe_f=Fe*(-1/2:1/N:1/2-(1/N));
subplot(2,2,3); plot(axe_f,abs(yy)); grid; title('TFD sur 1000 pts')
N=50;
f0=1600;
x=exp(2*pi*j*f0*t);
y=fft(x); yy=fftshift(y/Nt); axe_f=Fe*(-1/2:1/N:1/2-(1/N));
subplot(2,2,4); stem(axe_f,abs(yy)); grid; title('TFD sur 50 pts')

1. Quelle fenêtre est utilisée par ce programme ? Citer ses caractéristiques (résolution fréquentielle,
atténuation lobes secondaires), avantages et inconvénients.
2. Que est l‘intérêt d’augmenter N ? Comment appelle-t-on cette technique ?
3. Expliquer la TFD obtenue pour f0=1600 (disparition des lobes secondaires).
4. Notez que la résolution fréquentielle est toujours la même (elle dépend de Nt et non de N).

Prog 2
clc; clear all; close all;
Nt=50; Fe=8000; Te=1/Fe; f0=1680;
t=(0:Nt-1)*Te; x=exp(2*pi*j*f0*t);
figure;
N=500;
y=fft(x,N); yy=fftshift(y/Nt); axe_f=Fe*(-1/2:1/N:1/2-(1/N));
plot(axe_f,abs(yy),'b'); grid; title('TFD Fenêtre réctangulaire'); hold on;
fen=hanning(Nt);
xx=x.*fen'; y=fft(xx,N); yy=fftshift(y/Nt);
plot(axe_f,abs(yy),'r'); grid; title('TFD Fenêtre Hanning')
fen=triang(Nt);
xx=x.*fen'; y=fft(xx,N); yy=fftshift(y/Nt);
plot(axe_f,abs(yy),'g'); grid; title('TFD Fenêtre triangulaire ')
fen=blackman(Nt);
xx=x.*fen'; y=fft(xx,N); yy=fftshift(y/Nt);
plot(axe_f,abs(yy),'m'); grid; title('TFD Fenêtre Blackman ')

1. Faites varier N (100 et 1000) et commenter. Quel est le rôle de N ?


45
F.E.I., U.S.T.H.B.
Analyse et Filtrage des signaux numériques M1 ST/TRM (2013/2014)

1. Calculer la largeur du lobe principale pour chaque fenêtre en fonction de fe et Nt


2. Comparer et commenter les différents graphes.

Prog 3 : Calculer la transformée de Fourier discrète d'une paire d'exponentielles complexes.


On générer 100 échantillons d'une somme de deux exponentielles complexes de fréquences F1 = 1680 Hz et F2 =
1780 Hz échantillonnées à Fe = 8 kHz, et de même amplitude.
On calculer la TFD du signal sur N=128, 256 et 1024 points fréquentiels, et on affiche le module.
clc; clear all; close all;
Nt=100; Fe=8000; Te=1/Fe; f0=1680; f1=1880;A1=1; A2=0.2;
t=(0:Nt-1)*Te; x=A1*exp(2*pi*j*f0*t)+A2*exp(2*pi*j*f1*t);
figure (1);subplot(2,2,1); plot(t,real(x)); grid;
N=128;
y=fft(x,N); yy=fftshift(y/Nt); axefreq=Fe*(-1/2:1/N:1/2-(1/N));
subplot(2,2,2); plot(axefreq,abs(yy)); grid; title('TFD sur 128 pts')
N=256;
y=fft(x,N); yy=fftshift(y/Nt); axefreq=Fe*(-1/2:1/N:1/2-(1/N));
subplot(2,2,3); plot(axefreq,abs(yy)); grid; title('TFD sur 256 pts')
N=1024;
y=fft(x,N); yy=fftshift(y/Nt); axefreq=Fe*(-1/2:1/N:1/2-(1/N));
subplot(2,2,4); plot(axefreq,abs(yy)); grid; title('TFD sur 1024 pts')

1. Pour quelle valeur de N, les sinusoïdes sont résolues ?


2. Calculer la TFD de x pour N=1024 en employant d'autres fenêtres (triang, hanning, blackman)
3. Reprendre la question 2 en prenant F1 = 1680 Hz et F2 = 1880 Hz avec des amplitudes A1=1 et A2=0.2
4. Commenter les graphes obtenus en 2 et 3.

46
F.E.I., U.S.T.H.B.

Vous aimerez peut-être aussi