Telechargé par Ibrahim farouk Bouguenna

SupportTNS

publicité
EII2
Traitement Numérique du Signal
Olivier SENTIEYS
[email protected]
http://lasti.enssat.fr/GroupeArchi/enseignements/Tns
Notes :
Traitement Numérique du Signal
(Digital Signal Processing)
Analog or
Real-World
Signals
Analog
Signal
Processing
A/D
D/A
Digital
Signal
Processing
Digital or
ComputerWorld
Signals
Converter
Technology
Provides the
Bridge
Video/Image/Graphics
Fcl High Data Rate
100M
10M
Audio/Speech/Control
Low Data Rate
1M
100k
10k
[ICE97] 2
Notes :
Digital signal processing (DSP) is a segment of the IC industry where advanced
digital and analog technologies merge. The typical function of the DSP device is to
perform real-time processing of a digitized analog signal, changing that signal using
arithmetic algorithms, and then passing the signal on. The process is very math
intensive and quite complicated. In fact, finding competent DSP designers and
programmers is often a challenge for many DSP manufacturers.
Plan du cours
I. Introduction
1. Introduction, problématique, caractéristiques, solutions architecturales
2. Types de signaux
3. Applications typiques de TNS
4. Chaîne de traitement et problèmes temps réel
II. Analyse des filtres numériques
1. Spécification, classification, représentation
2. Analyse fréquentielle
3. Structures des filtres RII et RIF
III. Transformées en TNS
1. TFD, convolution linéaire
2. TFR : Transformée de Fourier Rapide
3
Notes :
Plan du cours (suite)
IV. Quantification
1. Formats de codage
2. Quantification
3. Effets de la quantification en TNS
V. Synthèse des filtres numériques RII
1. Invariance Impulsionnelle
2. Transformation Bilinéaire
VI. Synthèse des filtres numériques RIF
1. Introduction
2. Filtres à Phase Linéaire
3. Méthode du Fenêtrage
4. Echantillonnage en Fréquence
4
Notes :
Plan du cours (fin)
VII. Analyse spectrale
1. Effets de la troncature
2. Caractéristiques des fenêtres
3. Influence sur l'analyse
VIII. Systèmes multi-cadences
1. Définition
2. Décimation
3. Interpolation
IX. Processeurs de Traitement du Signal
1. Architecture de base
2. Principales familles
3. Problèmes d'implantation en virgule fixe
5
Notes :
I.1 Introduction
Chaîne de TNS
a
C
A
P
T
E
U
R
b
E/B
c
Convertisseur
A/N
d
Processeur
Numérique
e
f
Convertisseur
N/A
AC
TIO
NN
EU
R
A (v)
(a)
Action
Numérique
0.2 0.3 0.5 0.5 0.4
F (v)
t
t
(c)
B (v)
E (v)
(f)
(e)
(b)
t
0.3 0.3 0.2 0.3 0.4
t
t
I
m
a
g
e
Notes :
t
(d)
P
i
x
e
l
s
Ca
ra
ct
éri
sti
qu
e
D
a
t
a
6
I.1
Traitement Numérique du Signal
• Avantages
– Pas de dérive : température, vieillissement, valeur des composants
– Précision : garantie par le nombre de bits
– Souplesse : plusieurs tâches simultanées possibles
– Prédiction : simulation sur ordinateur
– Prototypes : changements par modifications du logiciel
– Performances : pas de distorsion de phase, filtrage adaptatif
– Intégration : progrès des systèmes VLSI (DSP, ASIC, ...)
• Inconvénients
– Coût : élevé pour des réalisations simples
– Vitesse : bande passante large = vitesse de calcul élevé
– Complexité : réalisation à la fois matérielle et logiciel
7
Notes :
Quelles applications ?
• A la Maison
– Télévision à la demande, Télévision Satellite, Jeu Vidéo et Réalité
Virtuelle, Electroménager, Réseaux, ...
– DVD, HDTV, CD, DAB
• Au Bureau
– Vidéoconférence, Fax, Modems, Pagers, ...
– Réseaux rapides, Sans-fil
– ATM, ISDN, PBX, ADSL
• Sur la route
– Téléphone cellulaires, Commande vocale, Radar et Sonar, GPS et
traceur de route, Fax/Modems sans-fil, Automobile, ...
Systèmes de l'âge de l'information
= fusion entre
Calculateur- Télécommunications- Consommateur
8
Notes :
Glossaire du TNS
• Saisie, acquisition, conversion (A/N, N/A), codage
• Filtrage, FIR, IIR, convolution rapide, filtres spéciaux
• Représentation, modélisation, analyse spectrale, transformées
• Compression, approximation, extrapolation, codage de source, réduction de débit
• Modulation, codage de canal, protection contre les erreurs, cryptage, garantique
• Détection, réception optimale, démodulation, décodage, correction
• Estimation, paramétrique, estimation d'onde ou d'état, filtrage, prédictio n, lissage
• Analyse de système, modèles de canaux, milieux de propagation
• Amélioration, réduction de bruit, annulation d'écho, compensation, égalisation
• Déconvolution, imagerie, résolution, détection de source, restauration
• Classification, reconnaissance, signatures
• Apprentissage, estimation séquentielle, adaptation, poursuite
• Analyse temps fréquence, non stationnarité, estimation de délais, de phase
• Traitement multi-fréquences, décimation, interpolation, filtrages en sous bandes
• Arithmétique bit fini, quantification, dépassement, virgule fixe, flottante, bruits d e
calcul, sensibilité des coefficients.
• Architecture des systèmes, DSP, ASIC, mémoire
Notes :
9
Domaines d'application
• Communication homme machine, synthèse, transformation texte-parole et inverse,
reconnaissance de parole, identification et vérification du locuteur
• Télécommunications, codage et restauration de la parole, courrier vocal, télécopie,
audionumérique (CD, DAB), TV numérique, compression et transmission d'images,
cryptage et protection, transmission de données, télé informatique, annulation d'écho,
codage à débit réduit, télé et visioconférence, téléphonie cellu laire, ...
• Défense, systèmes d'armes, surveillance, guidage, navigation
• Biophysique, génie biomédical, EEG, ECG, radiographie, tomographie, scintigraphie,
gammagraphie, échographie, aide aux handicapés, ...
• Acoustique, aérienne, sous-marine, sonar, ultrasons, nuisances
• Géophysique, sismique, de surface, océanographique, télédétection
• Electromagnétisme, radar, radionavigation, optique, astrophysique
• Automobile injection électronique, ABS, positionnement global, commande d'assiette
adaptative
• Musique, numérique, MIDI, échantillonneurs (sampleurs), synthétiseurs, mélangeurs,
réverbération et écho, effets spéciaux, filtrage, enregistrement (DAT)
• Instrumentation, capteurs, métrologie, analyse spectrale, génération de signaux,
analyses de transitoires, DPLL
• Graphisme et imagerie, rotation 3D, vision, reconnaissance de formes, restauration
d'images, stations de travail, animation, cartographie
Notes :
10
I.1 Introduction
2.
Système de TNS : définition
• Systèmes DSP exécutent algorithmes temps réel sur
des signaux numériques
– Signaux numériques : quantité mesurable, échantillonnée, quantifiée, encodée,
vecteur multi-dimensionnel
– Flot de Données
– Temps Réel
•
•
•
•
Temps de l'exécution de l'algorithme Tex guidé par acquisition I/O
Période d'échantillonnage T
Période des sorties Tf (frame period) > Tex
Ni plus vite ... ni plus lentement (Not Faster ... not slower)
e(t)
0010
s(t)
T
Algorithme
Tf
Notes :
ex. s(n) = max(moy(e), s(n-1))
11
I.1 Introduction
3.
Caractéristiques des algorithmes
• Quantité importante de données
scalaires, vectorielles, matricielles, multidimensionnelles
opérations I/O intensives par DMA
• Charge de calcul importante
multiplications-accumulations (convolution)
multiplications-additions (FFT, DCT, adaptation, distances,...)
• Virgule Fixe ou Flottante
problèmes liés à la quantification !!!
• Calculs d'adressage complexes
bit-reverse ou similaire (FFT), vieillissement des données, ...
• Boucles de traitement courtes
les instructions peuvent être placées en interne
pas besoin de grande taille de cache (données ou instructions)
Notes :
12
Fonctions typiques de TS
• Convolution, filtrage
y = y + x.h : MAC
• Adaptation
y n = yn-1 + x.h : MAD
• FFT, multiplication complexe
xr=xr.wr-xi.wi; xi=xr.wi+xi.wr
• Viterbi
a1 = x1 + x2; a2 = y1 + y2; y = (a1>a2) ? a1 : a2 : ACS
13
Notes :
I.1 Introduction
4.
Solutions architecturales
• Processeurs programmables du commerce
– Processeurs généraux
RISC, VLIW, Superscalaire
– Processeurs de Traitement du Signal (DSP)
Conventionnel, VLIW
– Processeurs Multimédia
– Microcontrôleurs
• Processeurs programmables “maison” (ASIP)
– De type DSP ou µCtrl
• Processeurs et logique reconfigurables
– FPGA enfouis, Processeur reconfigurable
• Coprocesseurs ASIC
14
Notes :
Exemple : GSM
Environ équivalant à 60 MIPS
0110...
A/D
speech
decoder
channel
decoder
modulator
IF upc
D/A
user interface / control
RF
A/D
speech
coder
channel
coder
modulator
IF upc
D/A
1010...
synchronisation
Coprocessor, Hardware
DSP, ASIP, ASP
µController
15
Notes :
Architecture Von Neumann
• Les processeurs RISC
MEMORY DATA BUS
MEM. DATA
REGISTER
PC
ADDRESS
REGISTER
REGISTER
FILE
ALU
MUX
Code example:
multiply & accumulate
r2 = r2 + #imm * r1
mov #imm,r3
mul r1,r3
add r3,r2
⇒ 3 instructions, >3 cycles d'horloge
MEMORY ADDRESS BUS
16
Notes :
A typical data path of a RISC architecture is shown. It includes a register file with
source and destination latches, an ALU (arithmetic and logic unit) and a program
counter (PC). A RISC processor may also have additional registers for data and
instruction addressing or other control realted functions.
Most RISC designs use the same ALU to compute both algebraic operations and
memory addresses for load and store operations. The justification for such a design
is that because during load and store operations the ALU is not busy, such an
implementation does not cause any performance penalty.
[Bhaskaran 95]
FIR sur machine Von Neumann
• Problèmes
– Bande passante avec la mémoire
– Code pour le contrôle et la gestion de l'adressage
– Multiplication lente
loop:
mov
mov
mpy
add
mov
inc
inc
inc
dec
tst
jnz
*r0,x0
*r1,x1
x0,y0,a
a,b
y0,*r2
r0
r1
r2
ctr
ctr
loop
Data Path
Memory
Exécution en 15 à 20 cycles
17
Notes :
Architecture Harvard
PROGRAM ADDRESS BUS
DATA ADDRESS BUS
PROGRAM
RAM/ROM
DATA
RAM-A
DATA
RAM-B
DATA BUS - A
DATA BUS - B
PROGRAM DATA BUS
PROGRAM
CONTROL
AGU-A
AGU-B
Address Generation
MULTIPLIER
ALU
REGISTERS
ACCUMULATORS
Processing Unit
18
Notes :
The figure shows the block diagram of a typical DSP core. It has a Harvard
architecture, i.e., separate data and instruction busses and separate instruction and
data memories, a processing unit, two data memories wirh their own address
generation units (AGUs ), a program controller, and program memory. The
processing unit includes a parallel multiplier, an ALU, accumulators, and registers.
Architecture Harvard
DATA BUS - A
DATA BUS - B
24
24
X0
X1
Y0
Y1
Operand
Registers
24
24
Multiplier
56
56
ALU
Shifter
(-1, 0, +1)
56
24
Accumulators
A (56)
B (56)
24
56
56
Shifter/Limiter
(-1, 0, +1)
24
24
19
Notes :
The MAC operation is useful in DSP calculations such as the dot vector product used
for digital filtering. The dot product, derived by summing the products of vector
element pairs, is efficiently calculated with repeated MAC operations. To achieve a
single-cycle MAC, DSP processors integrate a multiplier and accumulator into the
main data path of the processor (see figure). In addition to allow series of MAC ops to
proceed without the possibilkity of arithmetic overflow, DSPs generally provide extra
bits in the accumulator t accommodate the bit growth of the result.
A second feature shared by DSP processors is the ability to complete several
accesses to memory in a single instruction cycle. This allows the processor to fetch an
instruction while simultaneously fetching operands and/or storing the result of a
previous instruction to memory. For example, in calculating the vector dot product o~
the sample vector and coefficient vector for an FIR filtep, almost DSP processors are
able to perform a MAC while simultaneously loading the data sample and coefficient
for the next MAC. In general, such single-cycle multiple memory accesses are subject
to many restrictions. Typically, all but one of the memory locations accessed must
reside on-chip, and multiple memory accesses can only take place with certain
instructions. To support simultaneous access of multiple memory locations, DSP
processors provide multiple on-chip busses, multi-ported on-chip memories, and in
some cases multiple independent memory banks.
A third feature often used to speed arithmetic processing on DSP processors is one or
more dedicated address generation units. Once the appropriate addressing registers
have been configured, the address generation unit operates in the background (i.e,
without using the main data path of the processor), fonning the addresses required for
operand accesses in parallel with the execution of arithmetic instructions. In contrast,
genera1-pur~ose processors often requirc extra cycles to generate the addresses
needed to load operands. DSP processor address generation units typically support a
selection ol addressing modes tailored to DSP applications. The most common of
these is register-indirect adressing with post-increment, which is used in situations
where a repetitive computation is performed on a series of data stored sequentially in
memory. Modulo addressing is often supported, to simplify the u,,~e of circular buffers
Some processors also support bit-reversed addressing, which eases the task of
interpreting the results of certain fast Fourier transform (FFT ) al gorithms.
Architecture Harvard
• Bus et mémoires données/instructions
séparées
• Unité de traitement de type mpy-acc
• Registres distribués (≠ RISC register file)
– Chaque module (ALU) possède ses propres registres locaux
• Génération adresses efficaces (AGUs)
– Modes d’adressage spéciaux : auto incr-decr, circular buffering (delay
line) ...
in@2 in@1
in
20
Notes :
Because many DSP algorithms involve performing repetitive computations, most DSP
processors provide special support for efficient looping. Often, a special loop or repeat
instruction is provide which allows the programmer to implement a for-next loop
without expending any instruction cycles for updating and testing the loop counter or
branching back to the top of the loop.
Finally, to allow low-cost, high-performance input and output, most DSP processors
incorporate One Or more serial or parallel I/O interfaces, and specialized I/O handling
mechanisms such as low-overhead interrupts and direct memory access (DMA) to
allow data transfers to proceed with little or no intervention from the rest of the
processor.
In some cases, system designers may prefer to use a general-purpose processor over
a DSP processor. Although general-purpose processor architectures often require
several instructions to perform operations done with just one DSP processor
instruction, general-purpose processors sometimes compensate by running at
extremely fast clock speeds. If the designer needs to perform non-DSP processing,
then using a using a general-purpose processor for both DSP and non-DSP
processing could reduce the system parts count and lower costs versus using a
separate DSP processor and general-purpose microprocessor. Furthermore, some
popular general-purpose processors feature a tremendous selection of application
development tools.
On the other hand, because general-purpose processor architectures lack eatures that
simplify DSP programming, software development is sometimes more tedious than on
DSP processors and can result in awkward code that's difficult to maintain. Moreover,
if general-purpose processors are used only for signal processing, they are rarely costeffective compared to DSP chips designed specifically for the task. Thus, at least in the
short run, we believe that system designers will continue to use traditional DSP
processors for the majority of DSP intensive applications.
FIR sur DSP conventionnel
• Jeu d'instructions complexe
T
loop:
acc=acc+P
// P=T*PM(*r0+)
// T=DM(*r1+)
jnz loop
Program
Memory
MULT
Data Path
P
Data
Memory
Exécution en 1 cycle
ALU
ACC
C25
21
Notes :
Nouvelles architectures DSP
• DSPs conventionnels améliorés
– UT multiples, SIMD, coprocesseurs
– Lucent DSP16xxx, ADI ADSP-2116x, TI C55x
• DSPs VLIW
– TI C6xxx, Infineon Carmel
• DSPs superscalaires
– ZSP 164xx
• Processeurs généralistes ou hybrides
– GPP+SIMD, µC/DSP
– PowerPC/AltiVec, Pentium/MMX
– Infineon TriCore, SHx, ARM Piccolo, STx, SHx
22
Notes :
C5x Architecture
• C54x
– 40-160 MIPS
– 1000-3000 MIPS/W
– 17x17b multiplier, 40b ALU, 40b adder,
ACS unit
– 60% of cellular handsets
– $5 (C5402 100MIPS) - $75
• C55x
– Dual MAC, 160 KW SRAM
– 400 MIPS
– 20 MIPS/mW
– 0.05 mW/MIPS
23
Notes :
VLIW DSP C6x Architecture
256
MPY
MPY
ADD
ADD
MV
STW
ADD
MPY
SHL
ADD
SUB
STW
STW
ADDK
ADD
B
ADD
SUB
LDW
LDW
B
MVK
NOP
NOP
MPY
MPY
ADD
ADD
STW
STW
ADDK
NOP
Fetch
Dispatch Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
Functional
Unit
.L1
.S1
.M1
.D1
.D2
.M2
.S2
.L2
Register File A
Register File B
Data Memory Controller
Data Address 1
Data Address 2
Internal Memory
24
Notes :
TI’ VLIW DSP
C62x
C64x
C67x
Fixed-Point
Fixed-Point
Floating-Point
MHz
150-300
300-600
100-225
MIPS/MFLOPS
1200-2400
MIPS
2400-4800
MIPS
600-1350
8-bit MMACS
300-600
1200-2400
200-550
16-bit MMACS
300-600
2400-4800
200-550
Broadband
General
Special-Purpose
General
Communications
Imaging
MFLOPS
instructions
General
Special-Purpose
General
instructions
25
Notes :
C64x
• C64x
– Jusqu’à 1.1 GHz, 9 GOPS
– Six ALUs (32-/40-Bit), une 32-Bit, deux 16-Bit, ou quatre 8-Bit
opérations arithmétiques par cycle
– Deux multiplieurs, quatre 16x16-Bit ou huit 8x8-Bit multiplications
par cycle
– Coprocesseurs VCP (Viterbi) et TCP (Turbo)
– 'C6411: 300 MHz, $39, 1.0 V, 250mW, 2400 MIPS, 1200 MMACS
26
Notes :
C64x
27
Notes :
I.1 Introduction
5.
Cycle de développement
• Développement d'applications de TNS
Algorithme 1
Mise au point
de l'algorithme
– Matlab/Simulink
– SPW, Ptolemy, COSSAP
Génération manuelle ou automatique
– Compilateur C, debugger
– Utilisation de vecteurs de
test issus de la simulation
système
Génération manuelle
Code C
"flottant"
Code C
"fixe"
– Compilateur C, debugger
– Utilisation de vecteurs de
test issus de la simulation
système
28
Notes :
I.1 Introduction
5.
Cycle de développement
• Développement d'applications de TNS
Algorithme 1
Code C
Système d'Exploitation
Temps Réel
Algorithme 2
Code C
Implantation
logicielle
Implantation
Matérielle
– Compilateur C pour DSP
– Simulation assembleur
– Traduction en VHDL
– Synthèse du circuit
– Simulation VHDL
Algorithme N
Code C
29
Notes :
I.
Introduction
I.2
Types de signaux
• Signaux médicaux
– EEG, ECG, Images IRM, Images scanner, ...
• Signaux sismiques
• Données
– Statistiques, Bourse, ...
• Signal de parole
• Sons
• Images
• ...
30
Notes :
Signal de Parole
• Processus de phonation
– Génération d'une énergie ventilatoire
(poumons+trachée)
– Vibration des cordes vocales
– Réalisation d'un dispositif articulatoire
(conduit vocal)
Cavité nasale
Glotte
Cavité buccale
Lèvres
Cavité nasale
Conduit vocal
Larynx
Langue
Modèle source filtre
31
Notes :
Le signal de parole est réalisé au moyen d’un appareil phonatoire non
initialement prévu pour cela. Il faut tout d’abord une énergie
ventilatoire pour être l’initiateur du mouvement d’air qui crée les
ondes acoustiques et qui crée par la même occasion le mouvement
oscillatoire des cordes vocales ou au contraire qui les écarte pour
créer du bruit; c’est le rôle de la soufflerie . Elle est composée des
poumons qui sont le générateur d’air et du conduit trachéobronchique. Ce souffle passe le larynx (où siégent les cordes
vocales) pour former l’onde glottique. Un dispositif écarte ou
rapproche les cordes vocales selon qu’elles doivent vibrer ou non
pour obtenir le son. Si les cordes vocales sont rapprochées, elles
vibrent et donnent un son dit voisé (80% de la phonation), sinon on
obtient un son dit non voisé. Ensuite, le pharynx, la langue et les
parois se modifient et forment un filtre possédant une certaine
fonction de transfert qui modifie l’onde glottique par convolution, ce
qui donne, après rayonnement au niveau des lèvres, le signal de
parole .
Signal de parole
un son voisé et son spectre (son “ eu ”)
un son non voisé et son spectre (son “ ch ”)
Notes :
On peut distinguer la nature du son (voisé ou non) par son allure (temporelle et
fréquentielle). Un son voisé possède un signal pseudo périodique : son spectre
contient des harmoniques (énergie présente dans les différentes fréquences). Le
premier harmonique, qui reflète la fréquence de vibration des cordes vocales est
appelé la fréquence fondamentale (F0) ou en anglais le pitch (de 80 à 100 Hz
chez l’homme, de 175 à 300 Hz pour la femme et de 200 à 600 Hz chez l’enfant).
L’évolution de la fréquence fondamentale détermine la mélodie de la parole
[MAL,01].
Pour un son non voisé, on obtient un signal qui ressemble à un bruit possédant
beaucoup de hautes fréquences : le fait de filtrer le signal par un passe-bas pour
respecter le théorème de Shannon fait qu’il devient plus difficile de distinguer des
sons chuintants comme “ ch ”et “ sh ” car leurs différences se situent justement
dans les hautes fréquences.
Les spectres des figures 2.3 et 2.4 sont obtenus par le passage de l’onde glottique
dans la fonction de transfert du conduit vocal. On définit un formant comme le
maximum de la fonction de transfert du conduit vocal, mais les maxima de la
fonction de transfert sont excités par les composantes spectrales du signal
glottique. Donc, les maxima du spectre de la figure 2.3 correspondent à peu près
aux formants.
Pour cataloguer et référencer les sons afin de les étudier, on utilise une base de
donnée qui possède tous les sons “ simples ” : les éléments de cette base sont
appelés phonèmes. Un phonème se définit rigoureusement comme étant la plus
petite unité susceptible de changer un mot en un autre : par exemple, [k] de “ car ”
et [p] de “ par ” sont des phonèmes. Enfin, la mélodie de la parole liée à la durée et
l’intensité des syllabes sont les éléments qui caractérisent la prosodie, qui sert
entre autre à la compréhension syntaxique de la phrase (augmenter de façon
significative la valeur du pitch à la fin d’une phrase interrogative).
32
Signal de parole
• Signal temporel
– Aspects statistiques
– Variabilité intra-individuelle
– Variabilité inter-individuelle
– Masquage temporel
– Prosodie
• Signal fréquentiel
Amplitude (dB)
40
30
– Structure formantique
20
Fondamental (pitch)
10
Harmoniques
– Masquage fréquentiel
0
-10
-20
0
Notes :
Fréquences
Fe/2
33
I.
Introduction
I.3
Applications
• Télécommunications : détection de tonalité
697 Hz
1
2
3
770 Hz
4
5
6
852 Hz
7
8
9
941 Hz
*
0
#
1209 Hz 1336 Hz 1477 Hz
BP Filter
Detector
697 Hz
BP Filter
Detector
770 Hz
BP Filter
Detector
852 Hz
LP Filter
Limiter
BP Filter
Detector
941 Hz
HP Filter
Limiter
BP Filter
Detector
1209 Hz
BP Filter
Detector
1336 Hz
BP Filter
Detector
1477 Hz
Schéma de détection de tonalité
Fréquences de tonalité du clavier numérique
34
Notes :
I.
Introduction
I.3
Applications
• Voie MIC (PCM)
– parole échantillonnée à 8 kHz en bande limitée à 300-3400Hz sur
8 bits par une loi logarithmique (Rec. G711 du CCITT)
– débit normalisé de 64 kbit/s par voie numérique (MIC)
• Codage de la parole
– le codage permet : soit d'augmenter le nombre de signaux par
voie (multiplexage temporel), soit d'élargir la bande codée (7kHz
pour audio et visioconférence)
– MICDA : 32 kbit/s sans dégradation audible
s(n)
e(n)
Q
s (n)
CB
canal de
transmission
e'q(n)
DC
s' (n)
Q -1
s' (n)
Q-1
P
eq(n)
P
Notes :
s (n)
CB : codeur binaire
DC : décodeur binaire
P : prédicteur
Q : quantificateur
Q-1: quantificateur inverse
35
I.
Introduction
I.3
Applications
• Annulation d'écho
– Réseau téléphonique utilisant les satellites géostationnaires (540ms)
– Téléphone main libre en voiture (écho + bruit)
– Téléconfèrence
• réponse impulsionnelle de la salle
• Effets : écho, Larsen, réverbération
• problème de déconvolution
Ambient
Noise
Microphone
o
+
near end
speach
Ht
to far end
speaker
Computation
of coefficients
from far end
speaker
Reflections
Loud
speaker
Annulateur d'écho par filtrage adaptatif
36
Notes :
I.
Introduction
I.3
Applications
• Compact Disc Audio
– Echantillonnage à 44,1 kHz sur 16 bits des deux voies : 1,41 Mbit/s
– Information + correction d'erreurs, contrôle et affichage : 4,32 Mbit/s
– 90 dB de rapport Signal à Bruit et de séparation stéréo (contre 60 et 30 dB)
Buffer
Memory
Control /
Display
A/D
Converter
Parity
Coding
MUX
Modulator
Demodul
Encodeur du système Compact Disc
D/A
16 bit
Converter
PCM
LP filter
Fe = 44.1 kHz
Conversion N/A classique
Notes :
Error
Correction
Filter
D/A
D/A
Lecture du système Compact Disc
16 bit
PCM
44.1 kHz
4
Digital
LP filter
D/A
Converter
LP filter
Fe = 176.4 kHz
En pratique : Suréchantillonnage
37
I.
Introduction
I.4
Notions de temps réel en TNS
• Traitement par ligne
– Flot de données ininterrompu
– En entrée : flot d’échantillons sur N bit à N.Fe bit/s par entrée
– En sortie : flot d’échantillons sur N’ bit à N’.F’e bit/s par sortie
y(n) = f(X,Y,H,...)
x(n)
y(n)
TNS
X
Y
x(n)
x(n-1)
•••
Entrées courantes
et antérieures
Notes :
H
h(0)
h(1)
•••
Coefficients
h(i), sin(t), ...
y(n)
y(n-1)
•••
Sorties courantes
et antérieures
38
I.
Introduction
I.4
Notions de temps réel en TNS
• Traitement par blocs
Xn
x(n)
– 3 phases
Yn = F(Xn,Yn,H,...)
x(n)
x(n-1)
•••
Yn
y(n)
y(n-1)
•••
TNS
Vecteur
de taille N
y(n)
H
Acquisition de Xn (Vecteur de taille N)
Traitement par blocs
Restitution de Yn
h(0)
h(1)
•••
– Les phases d’acquisition d’un traitement au suivant peuvent soit
x(n)
Xn
se recouvrir
N points
Xn+R
Xn+2R
Notes :
être jointives
x(n)
Xn
être disjointes
x(n)
Xn+N
Xn+2N
Xn
Xn+M
39
Cadence des calculs
• Nv : nombre de voies à traiter en parallèle
• Nop : quantité d’opérations élémentaires
nécessaires au TNS
• Te : périodicité du calcul
• On en déduit la puissance de calcul de la
machine :
– Pc = Nv.Nop / Te
(en MIPS, MOPS ou MFlOps)
– Pc = 2.B.Nv.Nop ou B est la bande du signal
40
Notes :
Exemple : Convolution
Traitement ligne
y(n) =
N−1
∑ h(k).x(n − k)
k= 0
• Complexité pour un point y(n) : ??
• Architecture réalisant une multiplication
accumulation en 1 cycle
Traitement blocs avec recouvrement de N-R échantillons
Yn
=
 y (n )   h(0 )
y( n−1)
h (N −1 )
 •• •  =  • ••
y (n −N+1)   h(1)
H
. Xn
h( 1)
h( 0)
••
h(1)
h( N −1)
•
•••
h( N−1)
•
h( 0)
• Complexité pour un vecteur Yn :
• Même Architecture
Notes :
  x( n ) 
x (n −1)
. ••• 
 x (n −N +1) 
41
II
Filtrage Numérique
1
Introduction
Définition
– Système Linéaire Discret (SLD) modifiant la représentation
temporelle et fréquentielle de signaux
Filtre Numérique
x(n) <=> X(z)
y(n) <=> Y(z)
h(n) <=> H(z)
1. Introduction
Un filtre numérique peut être représenté par :
– une fonction de transfert en z : H(z) = Y(z) / X(z)
X(z)
H(z)
Y(z)
43
Notes :
II
Filtrage Numérique
1
Introduction
H1 (z)
X(z)
H(z)
Y(z)
X(z)
Y(z)
H2 (z)
...
a) Forme directe
HM(z)
b) Forme parallèle
X(z)
H1 (z)
H2 (z)
...
HM(z)
Y(z)
c) Forme cascade
– une réponse impulsionnelle (finie ou infinie) (RIF ou RII)
∞
y(nT ) = ∑ x(kT )h[( n − k )T ]
k=0
∞
y ( n)
= ∑ x ( k ) h( n − k )
k=0
Notes :
x(n)
h(n)
y(n)
44
II
Filtrage Numérique
1
Introduction
si x(n) = δ(n) alors y(n) = h(n)
– une équation aux différences (récursive ou non récursive)
M
N
i=0
i =1
y(n) = ∑ bi .x(n − i ) −∑ ai . y(n − i )
45
Notes :
II
Filtrage Numérique
2
Spécification d’un filtre numérique
2.
Spécification d’un filtre numérique
– Gabarit fréquentiel
Passe-Bas (ou Passe-Haut) défini par sa sélectivité, son ondulation
en BP et son atténuation en BA
Bande de transition
Bande passante
Bande atténuée
|H(f)| (dB)
|H(f)|
fp
1+δ1
1
1-δ1
fa
20log (1+δ1)
0 dB
20log (1-δ1 )
δ2
f
20log δ2
fp
fa
a) Gabarit fréquentiel linéaire
Notes :
Fe/2
f
b) Gabarit fréquentiel en dB
46
II
Filtrage Numérique
2
Spécification d’un filtre numérique
Passe-Bande (ou Réjecteur-de-Bande) défini par sa fréquence
centrale, sa sélectivité, son ondulation en BP et son atténuation
en BA
|H(f)|
1+δ1
1
1-δ1
δ2
fa-
fp-
fp+
fa+
fe/2 f
47
Notes :
II
Filtrage Numérique
3
Classification des filtres numériques
3
Classification des filtres numériques
Un filtre numérique peut être classé selon :
– la durée de sa réponse impulsionnelle
finie : les filtres RIF ont leur réponse impulsionnelle à support fini
i.e. h(n) = 0 pour n<0 et n>N
infinie : les filtres RII ont leur réponse impulsionnelle à support infini
i.e. h(n) ≠ 0 ∀n
– le type de représentation temporelles
récursifs : la sortie y(n) dépend de l ’entrée courante, des entrées précédentes et
des sorties précédentes
non récursifs : la sortie y(n) ne dépend que de l ’entrée courante et des entrées
précédentes
Notes :
48
II
Filtrage Numérique
3.1
Filtres numériques non récursifs
3.1 Filtres numériques non récursifs
(ou transversaux)
M
y(n) = ∑ bi x(n − i )
i =0
Y ( z) = H ( z ) X ( z)
M
M
⇒ H ( z) = ∑ bi z = ∑ h(n) z −n
i=0
−i
n= 0
M
⇒ h(n) = ∑ bi δ (n − i )
i=0
Les coefficients bn du filtre sont les valeurs de la RI (h(n) = bn). Ceci
montre qu'un filtre non récursif est à Réponse Impulsionnelle
Finie (RIF).
M est appelée la longueur du filtre.
49
Notes :
II
Filtrage Numérique
3.1
Filtres numériques non récursifs
• Principales propriétés
– Les RIF sont toujours stables (pas de pôles)
– Les RIF peuvent avoir une caractéristique de phase linéaire
• Retard constant en fréquence (temps de propagation de groupe)
• Pas de distorsion harmonique
• Symétrie de la RI
– A sélectivité équivalente, ils sont toujours plus coûteux (en temps de
calcul) que leur équivalent RII
50
Notes :
II
Filtrage Numérique
3.2
Filtres numériques récursifs
3.2 Filtres numériques récursifs
M
N
i=0
i =1
y(n) = ∑ bi x(n − i ) − ∑ ai y(n − i )
M
⇒ H (z) =
∑b z
i=0
N
−i
i
1 + ∑ ai z − i
=
N (z)
D ( z)
i =1
En pratique on a N=M, N est appelée l'ordre du filtre.
51
Notes :
II
Filtrage Numérique
3.2
Filtres numériques récursifs
– Si N(z) n'est pas divisible par D(z) (cas général), on a un nombre
infini de termes dans la division polynomiale.
∞
∞
i=0
n= 0
H ( z) = ∑ ci z −i = ∑ h(n) z − n
Les coefficients cn sont les valeurs de la RI (h(n) = cn). Ceci montre
qu'un filtre récursif est, dans le cas général, à Réponse
Impulsionnelle Infinie (RII).
– Si N(z) est divisible par D(z) (cas particulier), on a un nombre fini de
termes dans la division polynomiale. Dans ce cas, le filtre est RIF.
• Exemple : filtre moyenneur
52
Notes :
II
Filtrage Numérique
3.2
Filtres numériques récursifs
M
– Si N(z)=1 : filtre tout-pôle
– Si D(z)=1 : filtre RIF
• Principales propriétés
H (z) =
∑b z
−i
i
i=0
N
1 + ∑ ai z − i
=
N ( z)
D (z )
i =1
– Les RII peuvent être instables : structure à base de pôles et de zéros
M
H ( z) = b0 z
N −M
∏ (z − z )
i
i =1
N
∏ (z − p )
i =1
i
– Bande de transition faible
– Synthèse par réutilisation des méthodes analogiques
– Instabilité numérique due au rebouclage : forme cascade plus stable
53
Notes :
II
Filtrage Numérique
4
Analyse fréquentielle
4.
Analyse fréquentielle
L'analyse fréquentielle est l'étude du module, de la phase et du temps
de propagation de groupe du filtre H.
H (e j Ω ) = H ( z)
z = e jΩ
Ω est la pulsation relative : Ω = ωT = 2πfT
La fonction de transfert en fréquence H(ejΩ ) est périodique de période
2π.
|H(ejΩ )|
π
Notes :
2π
Ω
54
II
Filtrage Numérique
5
Structures de réalisation
5.
Structures de réalisation
– Filtres RIF
N
y(n) = ∑ bi x(n − i )
i =0
x(n)
b0
x(n)
Z -1
x(n-1)
+
b1
x(n-N)
+
y(n)
Z -1
y(n)
b1
+
+
bN-1
+
Z -1
b0
Z -1
bN-1
+
bN
Z -1
bN
a) Structure directe
b) Structure transposée
55
Notes :
II
Filtrage Numérique
5
Structures de réalisation
– Filtres RII
N
N
i=0
i =1
y( n) = ∑ bi x( n − i ) − ∑ ai y( n − i )
⇒ H ( z) =
N
N ( z)
1
= N ( z) ×
= ∑ bi z −i ×
D (z )
D (z ) i = 0
1
N
1 + ∑ ai z −i
i =1
b0
x(n)
Z -1
Z -1
b1
+
+
+
+
bN-1
+
+
y(n)
-a1
Z -1
Z -1
x(n-1)
-aN-1
bN
-aN
RIF
RII
Z -1
Z -1
x(n-N)
a) Structure directe
Notes :
b0
x(n)
b1
+
+
y(n)
-a1
Z -1
y(n-1)
bN-1
+
-aN-1
bN
-aN
Z -1
y(n-N)
56
II
Filtrage Numérique
5
Structures de réalisation
– Filtres RII
1
H (z) =
× N ( z) =
D( z )
N
1
N
1 + ∑ ai z − i
× ∑ bi z − i
i=0
i =1
N

w(n) = x(n) − ∑ ai w(n − i )
i =1

N
 y(n) = ∑ bi w(n − i )

i =0
1

.X ( z )
W ( z) =

D ( z)
 Y ( z) = N ( z ).W ( z )
w(n)
x(n)
b0
+
+
+
-a1
Z -1
Z -1
-aN-1
-aN
RII
Z -1
b1
+
y(n)
+
bN-1
+
Z -1
bN
RIF
57
Notes :
II
Filtrage Numérique
5
Structures de réalisation
– Filtres RII
x(n)
b0
+
w(n)
+
y(n)
x(n)
b0
Z -1
y(n)
Z -1
b1
-a1
+
+
b1
+
w(n-1)
Z -1
+
-a1
Z -1
a) Structure canonique directe
+
-aN-1
bN-1
bN-1
+
+
Z -1
Z -1
bN
bN
-aN
w(n-N)
+
– Forme cascade de filtres du second ordre
N +1
2
-aN-1
-aN
b) Structure canonique transposée
N +1
2
bi ,0 + bi ,1 z −1 + bi ,2 z − 2
H ( z ) = ∏ Hi ( z) = ∏
−1
+ a i ,2 z − 2
i =1
i =1 1 + ai ,1 z
X(z)
Notes :
H1 (z)
H2 (z)
...
HK(z)
Y(z)
58
III
Transformées en TNS
1
Rappels
• TFSD : Transformée de Fourier d'un Signal
∞
Discret X (e jωT ) = ∑ x( nT ) e − jn ωT
n = −∞
∞

jΩ
− jn Ω
 X (e ) = ∑ x (nT ) e

n = −∞

π
 x (nT ) = 1 X (e j Ω ) e jnΩ dΩ

2π −∫π
Non périodique
• Propriétés
– Linéarité
– Décalage en temps/fréquence
– Produit de convolution en temps/fréquence
– Théorème de Parseval
– Transformées de fonctions réelles
Notes :
59
III
Transformées en TNS
2
Transformée de Fourier Discrète
• TFD
– En pratique, on prend seulement un nombre fini d'échantillons de
x(nT). On ne peut donc obtenir qu'un nombre fini d'échantillons
fréquentiels de X(ejΩ).
kn
N −1

− 2 jπ
N
X
(
k
)
=
x
(
n
)
e
k = 0.. N −1

∑

n =0

kn
N −1
+ 2 jπ
 x (n ) = 1
N n = 0.. N − 1
X
(
k
)
e

N∑
k =0
x(n)
TFD
N-1
Pas temporel : T=1/Fe
Notes :
x(n) est considéré comme périodique
de période N, x(n) = x(n+qN )
X(k) est donc également périodique de
période N, X(k) = X(k+qN )
X(k)
n
N-1
Pas fréquentiel : 1/NT=Fe/N
k
60
III
Transformées en TNS
2
Transformée de Fourier Discrète
• Propriétés
– Linéarité
– Décalage en temps/fréquence
– Produit de convolution en temps/fréquence
– Théorème de Parseval
– Transformées de fonctions réelles
61
Notes :
III
Transformées en TNS
2
Transformée de Fourier Discrète
• Définition
kn
N −1
− 2 jπ

N
k = 0 ..N − 1
 X ( k ) = ∑ x( n ) e

n =0

kn
N −1
+ 2 jπ
 x (n ) = 1
N
X (k ) e
n = 0 ..N − 1
∑

N k =0
TFD
X(k)
⇔ x(n )
x(n) et X(k) sont, dans le cas général, des nombres complexes.
• Forme Matricielle
X(0)
X(1)
.
.
X(N-1)
1
1
.
1
1
WN
1
WN
2
.
WN
.
WN
2
WN
4
.
WN
.
.
.
.
.
=
N-1
1
WN
X = W. x
WN = e
2(N-1)
WN
.
N-1
2(N-1)
2
×
x(0)
x(1)
.
.
x(N-1)
(N-1)
WN
(2)
−2 jπ
N
WNn k = e
Notes :
.
− 2 jπ
N
kn
62
III
Transformées en TNS
2
Transformée de Fourier Discrète
n
n
Propriétés des W N = e -2jπ N
Wk(N-n)
= (Wkn
N
N )*
kn
k(n+N)
(k+N)n
WN = WN
= WN
n+N/2
n
WN
= -WN
2kn
kn
WN = WN/2
(3.1)
(3.2)
Périodicité
(3.3)
Symétrie
(3.4)
Complexité de calcul
La TFD revient à calculer un produit matrice-vecteur où chaque élément est de type
complexe. La complexité de calcul de la TFD est de N2 multiplications, et de N(N-1)
additions sur des nombres complexes. Ceci revient à une complexi té de 4N 2
multiplications réelles et N(4N-2) additions réelles. Cet algorithme se comporte donc en
O(N 2), mais ne possède pas de problèmes d'adressage car les x(n) et les Wi sont rangés
dans l'ordre en mémoire.
– En 1965, Cooley et Tuckey [COOLEY 65] ont publié un
algorithme applicable quand N est le produit de 2 ou plusieurs
entiers dont la complexité est en O(Nlog2N)
63
Notes :
III
Transformées en TNS
3
Transformée de Fourier Rapide
• TFR (FFT) partagée dans le temps (DIT)
X(k)=
∑x(n).WNnk + ∑x(n).Wnk
N
npair
X(k)=
nimpair
N/ 2−1
N/2−1
n=0
n=0
∑ x(2n).WN2nk + ∑x(2n +1).WN(2n+1)k
En exploitant la propriété 3.4, on obtient :
X(k) =
N/ 2−1
N/ 2−1
∑x(2n).WNnk/2 +WNk. ∑x(2n +1).WN/nk2
n=0
X(k) = G(k)+ WNk .H(k)
n=0
(4)
k =0,1,....,N −1
où G(k): TFD sur N/2 points d'indices pairs,
H(k): TFD sur N/2 points d'indices impairs.
N/ 2−1
N N/2−1
n(k+N/2)
n(k+N/2)
X(k + ) = ∑x(2n). WN/2
+ WNk+N/2 . ∑x(2n +1).WN/2
2
n=0
n=0
N
k
X(k + ) = G(k) − WN
.H(k)
2
64
Notes :
••• TFR DIT •••
x(0)
0
W8
x(2)
TFD
x(4)
N/2 pts
1
W 28
x(6)
W
x(1)
3
8
W 84
x(3)
TFD
x(5)
N/2 pts
X(0)
X(1)
W8
5
W8
W
x(7)
X(2)
X(3)
X(4)
X(5)
X(6)
6
8
X(7)
W 78
O(N 2 )
O(N)
2 TFD de taille N/2
N/2 papillons
Xm+1 (p)
X m (p)
r
X (q)
N m
r
X m+1 (q) = Xm(p) - WN X m(q)
X m+1 (p) = Xm(p) + W
Papillon DIT
X m (q)
(6)
Xm+1 (q)
r
WN
-1
Complexité d'un papillon : 1 multiplication complexe, 2 additions/soustractions complexes
65
Notes :
N
log2N multiplications de nombres complexes,
2
N log2N additions/soustractions de nombres complexes, ou,
••• TFR DIT •••
2 N log2N multiplications de nombre réels,
3 N log2N additions/soustractions de nombre réels.
FFT DIT RADIX-2 en place sur 16 points
X(0)
X(0)
X(1)
X(8)
0
X(12)
0
X(2)
entrée ordre bit-reversed
X(2)
0
X(3)
2
X(4)
0
X(10)
X(6)
X(14)
0
X(1)
X(5)
2
0
0
4
2
6
X(6)
X(7)
0
X(8)
1
X(9)
0
X(5)
X(13)
0
2
0
DIT:
(Décimation en
temps)
0
4
2
6
X(13)
6
X(14)
7
FFT
X(15)
A
FFT inverse
k
A' = A + BW
B' = A - BW k
W= e
X(12)
5
2
0
X(15)
X(11)
4
0
X(7)
X(10)
3
X(3)
X(11)
X(9)
2
0
-2j π
N
sortie ordre normal
X(4)
A'
-k
A' = A + BW
B' = A - BW -k
k
-2j π
W= e
N
B
B'
66
Notes :
••• TFR DIF •••
• TFR (FFT) partagée dans les fréquences (DIF)
X(k) =
X(k) =
X(k) =
N /2 −1
∑ x(n).WN
n =0
N /2 −1
nk
N−1
+
∑ x(n).W N
nk
n = N/ 2
N/2-1
∑ x(n).WNnk + WNk.N /2 . ∑ x(n + 2 ) .WNnk
n =0
N /2 −1
N
(7)
n =0
∑ [ x(n) + (−1) k .x(n + 2 )] WNnk
N
n =0
Xm (p)
x(1)
TFD
N/2 pts
x(2)
x(5)
x(6)
x(7)
X(2)
X(4)
Xm (q)
X(6)
x(3)
x(4)
Xm+1 (p)
X(0)
x(0)
W28
W38
r
Xm+1 (q)
WN
X(1)
0
W8
W81
-1
TFD
N/2 pts
X(3)
X(5)
X(7)
Xm+1(p) = Xm(p) + Xm(q)
r
Xm+1(q) = [Xm(p) - Xm(q)] WN
(8)
67
Notes :
••• TFR DIF
FFT DIF RADIX-2 en place sur 16 points
X(0)
X(0)
X(1)
0
X(2)
X(3)
4
2
X(6)
X(7)
4
0
6
4
0
X(9)
1
X(10)
2
0
X(11)
3
4
X(12)
4
0
X(13)
5
2
X(14)
6
4
0
X(15)
7
6
4
fréquence)
X(10)
X(6)
0
X(14)
X(1)
0
FFT
FFT inverse
A' = A + B
B' = (A-B) W
W= e
Notes :
0
X(8)
(Décimation en
X(12)
X(2)
0
X(5)
DIF:
0
-2j π
N
k
-2j π
N
X(5)
0
X(13)
X(3)
0
X(11)
X(7)
0
A
A' = A + B
B' = (A-B) W -k
W= e
X(9)
sortie: ordre bit-reversed
entrée: ordre normal
X(4)
X(8)
X(4)
0
X(15)
A'
k
B
B'
68
Transformée de Fourier Rapide
FFT DIT RADIX-2 en place sur 16 points
X(0)
X(0)
X(8)
0
X(2)
0
X(3)
0
X(4)
0
X(5)
0
0
4
X(7)
0
4
2
0
2
0
X(12)
4
0
X(14)
0
X(15)
X(5)
X(13)
5
4
0
X(13)
1
2
0
X(11)
X(1)
X(9)
0
X(10)
X(6)
X(14)
6
0
X(9)
X(2)
X(10)
X(6)
X(8)
X(4)
X(12)
4
X(3)
sortie: ordre bit-reversed
entrée: ordre normal
X(1)
X(11)
4
6
4
6
3
X(7)
X(15)
7
DIT:
(Décimation en
temps)
FFT
k
A' = A + BW
k
B' = A - BW
A' = A + BW
B' = A - BW
-2j π
W= e
Notes :
A
FFT inverse
N
W= e
-2j π
N
A'
-k
-k
k
B
B'
69
Transformée de Fourier Rapide
FFT GEOMETRIE CONSTANTE sur 16 points
X(0)
X(0)
0
0
0
0
0
0
2
1
0
0
4
2
0
0
6
3
0
4
0
4
0
4
2
5
0
4
4
6
0
4
6
7
X(1)
X(4)
entrée: ordre bit-reversed
X(12)
X(2)
X(3)
X(2)
X(10)
X(4)
X(5)
X(6)
X(14)
X(6)
X(7)
X(1)
X(9)
X(8)
X(9)
X(5)
X(13)
X(10)
X(11)
X(3)
X(11)
X(12)
X(13)
X(7)
X(15)
X(14)
FFT
Géométrie
Constante
FFT inverse
A' = A + B•W
B' = A - B•W
W= e
Notes :
sortie: ordre normal
X(8)
-2jš
N
k
k
A' = A + B•W
B' = A - B•W
W= e
-2jš
N
X(15)
A
A'
-k
-k
B
k
B'
70
Transformée de Fourier Rapide
FFT DIF RADIX-4 en place sur 16 points
X(0)
X(0)
X(1)
X(8)
0
X(2)
X(3)
entrée: ordre normal
X(2)
X(5)
0
X(6)
1
X(7)
2
X(14)
X(8)
3
X(1)
X(10)
0
X(9)
X(6)
X(9)
0
X(10)
X(11)
X(5)
X(13)
X(12)
sortie: ordre bit-reversed
X(12)
X(4)
X(3)
X(13)
X(11)
0
X(14)
X(15)
X(7)
X(15)
FFT inverse
A
A' = A+B+C+D
-k
B' = (A-jB-C+jD)W
C' = (A-B+C-D)W -2k
D' = (A+jB-C-jD)W -3k
B
FFT
A' = A+B+C+D
k
B' = (A-jB-C+jD)W
C' = (A-B+C-D)W 2k
D' = (A+jB-C-jD)W 3k
W=e
Notes :
X(4)
-2jš
N
W=e
-2jš
N
A'
B'
k
C
D
2k
C'
3 k D'
71
III.4 Convolution et corrélation
1
Définitions
• Corrélation
– Soit x1 et x2, 2 signaux de durée finie [0 ... N-1], la corrélation est :
N −1
y ( n ) = ∑ x1 ( i) x 2 (i + n )
i =0
• Convolution linéaire
– Soit x et h, 2 signaux de durée finie respectivement N et M, la
convolution est définie par :
y ( n ) = ( x ∗ h )( n )
∞
∞
i =0
i= 0
y ( n ) = ∑ x (i ) h (n − i ) = ∑ h (i ) x (n − i )
Le signal y(n) est de durée [0 ... N+M-2]
72
Notes :
III.4 Convolution et corrélation
1
Définitions
∞
y (n) = ∑ x (i) h( n − i )
• Exemple de convolution
i =0
N>M
x(i)
h(i)
*
N-1
i
n-M+1
i
M-1
h(n-i)
h(-i)
n
i
n
y( n) = ∑ x( i) h (n − i)
i
y(n)
i= 0
N+M-2
n
73
Notes :
III.4 Convolution et corrélation
1
Définitions
• Propriétés
– Y(z) = H(z) X(z) (TZ)
– Y(k) ≠ H(k) X(k) (TFD)
• Vue matricielle de la convolution
y (0 )

  h ( 0)

 
y (1)
.

 

 =  h ( M − 1)
.

 
.
0

 
 y ( N + M − 2 ) 
0
0
h (0 )
.
.
0
  x ( 0) 
  y (1) 
 

× 

.
 

.
 



. . h( M − 1)   x( N − 1) 
.
.
.
.
.
.
.
.
0
0
0
h( 0)
è O(N2)
74
Notes :
III.4 Convolution et corrélation
2
Convolution circulaire
• Convolution circulaire
– Soit x et h, 2 signaux périodiques de période N, la convolution
circulaire est définie par :
N −1
y (n) = ∑ x (i) h( n − i )
i =0
y (n) = x (n) ∗ h(n )
Le signal y(n) est de période N
h(n-i) est évalué modulo N
TFD : Y(k) = H(k).X(k)
75
Notes :
III.4 Convolution et corrélation
2
Convolution circulaire
• Convolution circulaire
– On passe de la convolution circulaire à la convolution linéaire en
remplissant de zéros chaque séquence jusqu'à M+N-1
{x(n)}{0….0}
N+M-1
*
{y(n)}
{h(n)}{0….0}
76
Notes :
III.4 Convolution et corrélation
3
Convolution rapide
• Convolution rapide
– Passer dans le domaine de Fourier par une TFD : la convolution se
transforme en produit
– Utiliser la FFT sur P points pour accélérer les calculs
{x(n)}{0….0}
FFT
X
Longueur P
{h(n)}{0….0}
FFT-1
{y(n)}
FFT
– Compléter les suites x(n) et h(n) par des zéros jusqu’à
N+M-2, avec P =
è O(Nlog 2N)
Notes :
P>
2 p.
77
III.4 Convolution et corrélation
3
Convolution rapide
– Problème : h(n) et x(n) doivent être de durée finie
– Application : FIR rapide
• h(n) de durée M : H(k) peut être calculé une fois pour toute
• x(n) de durée infinie
• Convolution sectionnée
– x(n), de durée infinie, est découpé en blocs xk de taille M
pour kM ≤ n < (k + 1) M
 x (n )
xk ( n) = 
 O
ailleurs
∞
y (n) = h(n ) * ∑ x k (n )
k = −∞
y (n) =
∞
∑y
k= −∞
k
(n)
78
Notes :
III.4 Convolution et corrélation
3
Convolution rapide
• Méthode OLA (Overlap Add)
– Blocs xk de taille M
– Addition des recouvrements entre les yk
• Méthode OLS (Overlap Save)
– Blocs xk de taille N+M avec recouvrement
– Troncature des yk sur M points, addition entre les yk
79
Notes :
IV Quantification
Introduction : pourquoi la quantification ?
1.
Format de codage
2.
Modèle de quantification
3.
Bruit de conversion
4.
Limitation des chemins de données
5.
Effets en TNS
Entiers, Virgule fixe
Caractéristiques de quantification
Modèle de bruit, Caractéristiques de dépassement
Filtrage d’un bruit
Filtrage RIF, RII, cycles limites, quantification des coefficients
80
Notes :
IV Quantification
1
Format de codage
• Choix d'un format de codage
– Format des données: entiers, relatif, réel,…
– Précision: Acquisition, Calculs
– Dynamique: Acquisition, Calculs
– Coût des opérateurs matériels
• Codage des entiers positifs
• Codage des entiers relatifs
– Codage signe valeur absolue
Un bit de la représentation est affecté au signe
N −1
D = ∑ d i 2i
i=0
D = −1
d N −1
N −2
∑d 2
i
i
i =0
exemple: D = 65 = 01000001; D = -65 = 11000001
Additionneur différent pour les additions de nombres, suivant leurs signes
81
Notes :
IV Quantification
1
Format de codage
• Codage des entiers relatifs
– Codage en complément à la base
• Codage cyclique modulo
2N
N −2
D = −d N −1 2 N −1 + ∑ di 2 i
i =0
• On obtient un nombre négatif en complémentant sa valeur absolue puis en additionnant 1.
Exemple : D = 65 = 01000001; D = -65 = 01000001 + 1 = 10111111
ou D = -65 => -128 + 65 = -10000000 + 01000001 = 10111111
• Si la somme de plusieurs termes appartient au domaine de codage, les opérations sont
correctes, même si un résultat intermédiaire sort du domaine de codage.
Exemple : (((+2+7)-6)-3) = 0
en codage signé: = ((-1-6)-3) = (-7-3) = -2
en complément à 2: = ((-7-6)-3) = (+3-3) = 0
– Additionneur unique quels que soient les signes de nombres
82
Notes :
IV Quantification
1
Format de codage
• Nombres réels
– Codage en virgule fixe cadrée à gauche
Le facteur d'échelle est implicite.
N −2
D = −d N −1 + 2− ( N −1) ∑ di 2i
i =0
Codage de nombre compris entre -1 et 1
Codage d'un nombre négatif similaire à celui d'un nombre entier relatif.
Addition : débordement, extension de signe
Multiplication : bxb -> 2b bits, extension du signe sur 2b bits, doublement du signe
Conservation du domaine de codage : pour la multiplication
• en virgule fixe cadrée à gauche si A et B appartiennent au domaine de codage
alors Z = A.B appartient au domaine de codage.
– Codage en virgule flottante
D=M.2 E
L'exposant E est explicite.
Mantisse M: nombre entier relatif, ou nombre réel.
Exposant E: nombre entier relatif.
Notes :
83
IV Quantification
2
Modèle en VFCG
• Modèle
x(n)
xQ (n) = Q[x(n)] = k.q
Q
x(n)
+
xQ (n)
e(n) = Q[x(n)] - x(n)
– Definition : Approximation de chaque valeur d’un signal x(n) par un
multiple entier du pas de quantification élémentaire q.
– e(n) est l’erreur de quantification -> Modèle bruit-blanc additif
• Sources de bruit
– Bruit de conversion A/N
– Limitation des chemins de données de l’architecture cible
Multiplication => Quantification
Addition => Débordement
Notes :
84
IV Quantification
2
Caractéristiques de quantification
(a) Arrondi
Q(x) = k.q si (k-0.5).q ≤ x < (k+0.5).q
Etude statistique
Q(x)
P(e)
3q
2q
q
•
1/q
q 2q
x
•
•
•
e
-q/2
q/2
•
•
(b) Troncature
Q(x) = k.q si k.q ≤ x < (k+1).q
•
Q(x)
{e(n)} est une séquence d’un processus
aléatoire stationnaire
{e(n)} est décorrelée de {x(n)}
{e(n)} est un bruit blanc additif
la distribution de probabilité de {e(n)} est
2 l’intervalle de quantification
uniforme sur
ergodicité : moyennes temporelles = moyennes
statistiques
moyenne me
variance σe2 = Puissance du bruit
variance = q2/12
P(e)
1/q
3q
2q
q
q 2q
e
x
-q
0
85
Notes :
IV Quantification
2
Caractéristiques de dépassement
x(n)
D[x(n)]
D
– Valeurs de x(n) lorsqu'il sort de la dynamique de codage
Saturation
Modulaire
–
–
–
Complexe
Moins d'effets indésirables
Effets indésirables
D(x)
D(x)
Xmax
Xmax
Xmax
86
Notes :
IV Quantification
2
Caractéristiques de dépassement
– Afin d'éviter le dépassement, on diminue l'amplitude avant ou
pendant le traitement par un facteur d'échelle A < 1 (scaling).
x(n)
A
h(n)
y(n)
• A peut être combiné avec les valeurs des coefficients
• A puissance de 2 (en pratique)
• Critères
– Critère du pire-cas
Pas de dépassement tant que |x(n)|<Xmax
– Critère de puissance
Pas de dépassement tant que Px<Pmax
– Critère du sinus
Pas de dépassement tant que |x(n)|<Xmax, avec x(n) sinusoïdal.
Notes :
87
IV Quantification
3
Bruit de conversion A/N
Quantification d'une sinusoïde
Quantification en conversion A/N
x(n)
xQ (n)
3q
2q
q
n
3q
2q
q
n
e(n)
x(n)
CAN
xQ (n)
q/2
n
- q/2
xQ (n) = Q[x(n)]
e(n) = xQ (n) - x(n)
|e(n)| ≤ q/2
88
Notes :
Filtrage d'un bruit
• Exemple : filtrage du bruit de conversion
x(n)
CAN
Q
xQ (n)
Filtre
H(z)
y(n)
x(n)
• En entrée du filtre
+
xQ (n)
Filtre
H(z)
y(n)
e(n)
– Signal x(n) + Bruit de conversion e(n)
q2
2
2
σ e = , σ x puissance du signal d ' entrée
12
2
2
σx
σx
2
RSB = 2 = 2
= 12.2 2 (b−1)σ x
q / 12
σe
RSBdB = 10 log RSB = 6.02 b + 4.77 + 10 log σ x
2
Le RSB augmente de 6dB par bit ajouté
89
Notes :
IV Quantification
4
Limitation des chemins de données
• Limitation des chemins de données de
l’architecture cible
– Multiplication => Quantification
– Addition => Débordement
0,1101
+ 0,1001
01,0110
0,8125
+ 0,5625
1,375
0,1101
x 0,1001
00,0111 0101
x
0,8125
0,5625
0,4570 3125
90
Notes :
Synthèse des filtres numériques
V. Synthèse des filtres RII
1. Introduction
2. Rappels sur la synthèse des filtres analogiques
3. Invariance impulsionnelle
4. Transformation bilinéaire
VI. Synthèse des filtres RIF
1. Introduction
2. Filtre à phase linéaire
3. Méthode du fenêtrage
4. Méthode de l ’échantillonnage fréquentiel
91
Notes :
V
Synthèse des filtres RII
1
Introduction
• Recherche de H(z) correspondant aux
spécifications (gabarit)
– Transposition des méthodes de synthèse applicables aux filtres
analogiques, puis transformation de H(p) vers H(z)
Invariance impulsionnelle
Transformation bilinéaire
– Synthèse directe en z
– Méthodes d'optimisation : minimiser un critère d'erreur entre courbe
réelle et courbe idéale
92
Notes :
V
Synthèse des filtres RII
2
Synthèse de filtre analogique
Spécification
Gabarit analogique
Normalisation
Gabarit normalisé
Ordre du filtre
Approximation de H(p)
Types de filtre
(Butterworth, Chebyshev,...)
HNorm (p)
Dénormalisation
H(p)
Filtrage numérique
Filtrage analogique
Transformation
Choix d’une structure
p=f(z)
invariance impulsionnelle,
bilinéaire
Notes :
Rauch, Sallien-Key,
Biquadratique
93
V
Synthèse des filtres RII
2
Synthèse de filtre analogique
• Normalisation
– Calcul de la sélectivité s
|HNorm(p)|
|HNorm(p)| (dB)
1
s
∆1
0
−∆1
1+δ1
1
1-δ1
δ2
ω
∆2
1
s
a) Gabarit prototype linéaire
ω
b) Gabarit prototype en dB
94
Notes :
V
Synthèse des filtres RII
2
Synthèse de filtre analogique
• Ordre du filtre et fonction de transfert
normalisée
– Butterworth, Chebyschev, Elliptique, Bessel, Legendre, ...
– HNORM(pN)
• Dénormalisation
– Passe-bas : pN = p / ωc
– Passe-haut : pN = ωc / p
– Passe-bande : pN = 1/B (p / ω0 + ω0 / p)
• On obtient une fonction de transfert H(p)
respectant le gabarit analogique spécifié
⇒ Passage vers H(z)
95
Notes :
V
Synthèse des filtres RII
3
Invariance impulsionnelle
• Le filtre numérique et le filtre analogique ont
la même réponse impulsionnelle
ha(t)
h(nT)
t
x(t)
Ha(p)
filtre analogique
y(t)
t
T
x(nT)
filtre numérique
h(nT) = ha(t)
Notes :
y(nt)
H(z)
/ t = nT
96
V
Synthèse des filtres RII
3
Invariance impulsionnelle
• Le filtre numérique et le filtre analogique ont
la même réponse impulsionnelle
−1
L
= nT
Tz
H a ( p ) →
ha (t )  t
→ h ( nT ) →
H (z)
ou formulatio n directe
H (z ) =
 H a ( p)

Résidus 
,
p
i
−1 pT

1 − z e

{ pôles pi de H ( p ) }
∑
– Conserve la réponse temporelle et la stabilité
– Phénomène de recouvrement de spectre du à l'échantillonnage
– Non respect de la spécification fréquentielle
H (e jΩ ) =
1
T
∑ H ( jω + j )
a
2π k
T
k
97
Notes :
V
Synthèse des filtres RII
3
Invariance impulsionnelle
• Réponse fréquentielle
Ha(p)
1
p
H(Ω)
1/T
Ω
−2Π
Π
2Π
– Normalisation
(xT) ou (/H(0))
98
Notes :
V
Synthèse des filtres RII
4
Transformation bilinéaire
• Approximation d'une intégrale par la méthode
des rectangles
e(nT)
S(n) = S(n-1) + T[e(n) + e(n-1)]/2
(n-1)T
e(n)
H(z)
Intégrateur
numérique
s(n)
nT
e(t)
t
1/p
Intégrateur
analogique
s(t)
2 1 − z −1
p=
T 1 + z −1
99
Notes :
V
Synthèse des filtres RII
4
Transformation bilinéaire
– Conservation de la stabilité
plan p
plan z
z = ejωT
π
0
p = jωa
– Relation entre fréquences numériques et analogiques
100
Notes :
V
Synthèse des filtres RII
4
Transformation bilinéaire
ω analogique
– Distorsion en fréquence connue
T
T

= tg  ω numérique 
2
2

ωT
π
π/T
ωa
−π
fe/2
filtre analogique
Notes :
fe/2
filtre numérique
101
V
Synthèse des filtres RII
4
Transformation bilinéaire
• Procédure de synthèse
– A partir du gabarit en fréquence numérique ωn
– Effectuer une prédistorsion en fréquence
ωa
T
 T
= tg  ω n 
2
2

– Synthèse de H(p) par méthodes du chapitre V.2
– Transformation bilinéaire
H ( z) = H ( p)
2 1 − z −1
p=
T 1 + z −1
102
Notes :
ωa
ωa
π Ω
δ2
1+δ1
1
1-δ1
ωa p ωa a
|Ha(jωa)|
ωa=2/T tan(Ω/2)
1+δ1
1
1-δ1
|H(ejΩ )|
δ2
Ωp Ωa
Notes :
π
2π
103
Ω
VI Synthèse des filtres RIF
1
Introduction
• Recherche de H(z) correspondant aux
spécifications (gabarit)
– Synthèse directe en z
– Filtres à phase linéaire ou minimale
• 3 méthodes de synthèse
– Méthode du fenêtrage
– Méthode de l'échantillonnage fréquentiel
– Méthodes d'optimisation : minimiser un critère d'erreur entre courbe
réelle et courbe idéale
104
Notes :
VI Synthèse des filtres RIF
2
Phase linéaire
• Filtre à phase minimale
– Zéros dans le cercle unité
• Filtre à phase linéaire
H (e jΩ ) = A(Ω ).e j ϕ ( Ω )
 A (Ω ) : pseudo − module ( amplitude )
avec 
ϕ (Ω ) = β − α Ω
– Condition pour avoir une phase linéaire
Symétrie ou antisymétrie par rapport à α = (N-1)/2
105
Notes :
VI Synthèse des filtres RIF
2
Phase linéaire
réponse impulsionnelle symétrique
β=0
h(n)
Type I
réponse impulsionnelle antisymétrique
β=±π/2
Type III
h(n)
N impair
α entier
α
α
N-1
Type II
h(n)
N pair
α non entier
α
N-1
Type IV
h(n)
α
N-1
N-1
106
Notes :
VI Synthèse des filtres RIF
2
Phase linéaire
Type I
H (e
jΩ
)=e
− jα Ω
α
∑a
n
cos( nΩ )
n =0
a 0 = h (α ), an = 2 h (α − n ), n = 1K α
N impair
H (e
π
2
α
H (e ) = e e − jα Ω ∑ cn sin( nΩ )
j
jΩ
n =1
cn = 2 h (α − n ), n = 1Kα
H (0 ) = H (π ) = 0
Passe Bande
Tout filtre
N pair
Type II
jΩ
Type III
)=e
− jα Ω
N /2
∑b
n =1
n
cos[( n − 1 / 2 )Ω ]
bn = 2 h ( N / 2 − n ), n = 1K N / 2
H (π ) = 0
Passe Haut
Notes :
Dérivateur
Type IV
π
2
N/2
H (e ) = e e − j αΩ ∑ d n sin[( n − 1 / 2 )Ω ]
jΩ
j
n =1
d n = 2h ( N / 2 − n ), n = 1K N / 2
H (0 ) = 0
Passe Haut
Dérivateur107
VI Synthèse des filtres RIF
2
Phase linéaire
Type I
π
N impair
2π
Tout filtre
Type III
π
2π
π
2π
Passe Bande
Dérivateur
N pair
Type II
π
Notes :
2π
Passe Haut
Type IV
Passe Haut
Dérivateur
108
VI Synthèse des filtres RIF
3
Méthode du fenêtrage
• Développement en série de Fourier du filtre
idéal
H (e j Ω ) =
∞
∑ h ( n) e
− jn Ω
n = −∞
h ( n) =
1
2π
∫
π
−π
H (e j Ω ).e jn Ω dΩ
– Filtre non causal, de type RII
• Passage de h(n) idéal au RIF approché par
fenêtrage de h(n)
ha ( n) = h( n). w ( n )
109
Notes :
VI Synthèse des filtres RIF
3
Méthode du fenêtrage
• Exemple : filtre passe-bas idéal
1
|H(ejΩ )|
Filtre passe-bas idéal
−π
h ( n) =
−Ω c
Ωc
π
Ω
Ω c sin( nΩ c )
π
nΩ c
110
Notes :
VI Synthèse des filtres RIF
3
Méthode du fenêtrage
• Prise en compte d'une condition de phase
linéaire par décalage de α
• Fenêtrage de h(n)
ha ( n ) = h ( n). w ( n ) ⇔ H a ( e j Ω ) = H ( e j Ω ) ∗ W ( e j Ω )
H(Ω)
W(Ω)
*
^
H(Ω)
=
111
Notes :
VI Synthèse des filtres RIF
3
Méthode du fenêtrage
– Largeur de la zone de transition ∆Ω ⇔ 1/2 largeur du lobe principal
– Atténuation ∆A ⇔ amplitude du premier lobe secondaire
^
H(Ω)
1+∆A
1
1−∆A
H(Ω)
∆A
∆Ω
W(Ω)
112
Notes :
IV.2Synthèse des filtres RIF
3
Méthode du fenêtrage
• Fenêtres usuelles
– Rectangle, Triangule, Hanning, Hamming, Blackman, Kaiser, ...
– Réponses temporelles
113
Notes :
IV.2Synthèse des filtres RIF
3
Méthode du fenêtrage
• Fenêtres usuelles
– Réponses fréquentielles (linéaire, dB)
114
Notes :
IV.2Synthèse des filtres RIF
3
Méthode du fenêtrage
• Influence de la fenêtre
Fenêtre
Rectangulaire
Triangulaire
Hanning
Hamming
Blackman
Lobe
secondaire
-13dB
-25dB
-31dB
-41dB
-57dB
Demi largeur du Atténuation
lobe principal
minimum
2π/N
-21dB
4π/N
-25dB
4π/N
-44dB
4π/N
-53dB
6π/N
-74dB
– Le type de fenêtre influe sur ∆A et ∆Ω
– Le nombre de points influe sur ∆Ω
115
Notes :
VI Synthèse des filtres RIF
4
Méthode de l'échantillonnage
• Échantillonnage en fréquence
– Échantillonnage du filtre idéal
H(ejΩ )
H(kΩ e)
1
π
Ωc
2π
Ω
– TFD inverse de H(kΩe )
1
h ( n) =
N
N −1
∑ H ( kΩ
e
)e
j
2π
n .k
N
k =0
– Méthode valable pour tout type de filtre
– Possibilité d'utiliser un fenêtrage
116
Notes :
VII Analyse spectrale
1
Définition
• Analyse spectrale de signaux continus
– Etude du contenu fréquentiel (spectre) d'un signal continu xc(t)
– Nombre limité d'échantillons du signal d'entrée pour la TFD
xc(t)
Filtre P.Bas
anti-repliement
Ωc = π
CAN
Fe
x(n)
x
xN(n)
FFT
||2
φ
fenêtre wN(n)
• Troncature temporelle
– xN(n) = x(n) . wN(n) avec wN(n) fenêtrage sur N points
– T0 = N.T : horizon d'observation
117
Notes :
VII Analyse spectrale
2
Troncature temporelle
• Troncature temporelle
– xN(n) = x(n) . wN(n)
avec wN(n) fenêtrage sur N points
• Influence sur le spectre
X N (e jΩ ) = X (e jΩ ) *W N (e jΩ )
– Convolution fréquentielle
• TFD du signal tronqué
L −1
X N ( k ) = ∑ x N ( n) e
− 2 jπ
kn
L
k = 0 ..L − 1
n =0
L≥N
X N (k ) = X N (e j Ω )
Ω = 2π k / L
118
Notes :
VII Analyse spectrale
2
Troncature temporelle
• Exemple
– Fenêtre rectangulaire, N=31
119
Notes :
VII Analyse spectrale
3
Influence de la fenêtre
– fonction cosinus fenêtrée sur N=32 points
120
Notes :
VII Analyse spectrale
3
Influence de la fenêtre
• Influence de la fenêtre
Fenêtre
Rectangulaire
Triangulaire
Hanning
Hamming
Blackman
Lobe secondaire
Largeur du lobe
principal
λ = 20log|W(fs)/W(0)|
LLP = ∆Ωm
-13dB
-25dB
-31dB
-41dB
-57dB
4π/N
8π/N
8π/N
8π/N
12π/N
– Le type de fenêtre influe sur λ et ∆Ωm
– Le nombre de points influe sur ∆Ωm
W(Ω)
λ
∆Ωm/2
π
∆Ωm
1/NT
Notes :
Ω
f
fs
fe/2
121
VII Analyse spectrale
3
Influence de la fenêtre
• Fenêtres usuelles
– Rectangle, Triangule, Hanning, Hamming, Blackman, Kaiser, ...
– Réponses temporelles
122
Notes :
VII Analyse spectrale
3
Influence de la fenêtre
• Fenêtres usuelles
– Réponses fréquentielles (linéaire, dB)
123
Notes :
VII Analyse spectrale
4
Paramètres de l'analyse
• Finesse en fréquence
– Capacité de l'analyseur à détecter 2 raies proches
– Masquage fréquentiel
– Largeur du lobe principal : LLP = 2∆Ω
– Dépend de N et du type de fenêtre
Exemple sur transparent 9
• Finesse en amplitude
– Capacité de l'analyseur à détecter des raies de faibles amplitudes ou
masquée par une autre raie proche
– Masquage d'amplitude ou bruit de l'analyse
λ = 20log|W(fs)/W(0)|
– Dépend du type de fenêtre
Exemple sur transparent 10
Notes :
124
VII Analyse spectrale
4
Paramètres de l'analyse
Fenêtre rectangulaire
125
Notes :
VII Analyse spectrale
4
Paramètres de l'analyse
126
Notes :
VII Analyse spectrale
5
Zero-padding
– Ajout de L-N zéros à la suite de x(n) avant TFD sur L points
127
Notes :
VIII Systèmes multi-cadences
1
Définition
• Systèmes multi-cadences
– Systèmes dans lesquels on pourra avoir plusieurs fréquences
d'échantillonnage dans une même chaîne de traitement
– Ils tirent partie de la forme spectrale d'un signal en gardant Fe
toujours à sa valeur optimale
-> Réduction de la complexité
xc(t)
1
t
−ω0
Xc(ω)
ω0
ω
128
Notes :
VIII Systèmes multi-cadences
1
Définition
x(nT)
t
T
xd (nT')
T'
t
−π/T
1/T
X(ejΩ )
−ω0
ω0
1/T'
Xd(ejΩ )
−π/T'
π/T'
π/T
ω
ω
129
Notes :
VIII Systèmes multi-cadences
2
Décimation
• Décimation d'un facteur M
x(nT)
↓M
xd(nT')
t
t
T' = MT
F'e = Fe/M
xd (n) = x(nM )
X d (e jΩ ) =
1
M
M −1
∑ X (e
j (Ω / M − 2 πi / M )
)
i =0
– Pour éviter le recouvrement de spectre, le signal xc(t) doit être à
bande limitée et respecter le théorème de Shannon par rapport à T'
X c (ω ) = 0 pour ω ≥ ω 0
et π/T' = π/(MT) ≥ ω 0 ou F ' e = Fe / M ≥ ω 0
130
Notes :
VIII Systèmes multi-cadences
2
Décimation
• Filtres à décimation
– Filtre suivi d'un décimateur
T' = MT
Filtre Passe Bas
Gain = 1
Ω c = π/M
x(nT)
v(nT)
y(nT')
↓M
• Optimisation du filtre à décimation
x(nT)
b0
T
T
b1
T
b2
b3
v(nT)
+
+
+
y(nT')
↓2
131
Notes :
VIII Systèmes multi-cadences
3
Interpolation
• Interpolation d'un facteur L
– Objectif : augmenter la fréquence d'échantillonnage d'un signal x(n)
échantillonné à la période T d'un facteur L
xi (n) = x(n / L) = xc (nT ' ), avec T ' = T / L
• Elévateur de fréquence
– Ajout de L-1 zéros entre 2 échantillons de x(n)
x(nT)
t
xe(nT')
↑L
t
 x(n / L), n = 0, ± L, ± 2 L, ...
x e ( n) = 
0 ailleurs
X e (e jωT ' ) = X (e jωT )
jΩ
X e (e ) = X (e
Notes :
jΩL
Pas d'effet sur le spectre
)
132
VIII Systèmes multi-cadences
3
Interpolation
t
1/T
X(ejΩ )
1/T'
Xe(ejΩ )
−π/T
t
−π/T'
• Interpolateur
π/T
−π/T
π/T
ω
π/T'
ω
– Succession d'un élévateur de fréquence et d'un filtre passe-bas idéal
de gain L, de période d'échantillonnage T' et de fréquence de coupure
Fc = 1/2T (i.e. Ωc = π/L).
x(nT)
Notes :
↑L
xe(nT')
Filtre Passe Bas
Gain = L
Ω c = π/L
xi(nT')
133
VIII Systèmes multi-cadences
3
Interpolation
• Optimisation du filtre à interpolation
x(nT)
↑2
v(nT')
b0
T
T
b1
T
b2
b3
y(nT')
+
+
+
• Multiplication de Fe par un facteur rationnel
R=L/M
– T' = T.M/L
x(nT)
↑L
Filtre Passe Bas
Gain = L
Ωc = min(π/L, π/M)
↓M
y(nT')
134
Notes :
Téléchargement