Beruflich Dokumente
Kultur Dokumente
Olivier SENTIEYS
sentieys@enssat.fr
http://lasti.enssat.fr/GroupeArchi/enseignements/Tns
Notes :
Traitement Numrique du Signal
(Digital Signal Processing)
Analog or Digital or
Analog A/D Digital
Real-World Signal Signal Computer-
D/A
Signals World
Processing Processing
Signals
Converter
Technology
Provides the
Bridge
Video/Image/Graphics Audio/Speech/Control
Fcl High Data Rate Low Data Rate
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, problmatique, caractristiques, solutions architecturales
2. Types de signaux
3. Applications typiques de TNS
4. Chane de traitement et problmes temps rel
Notes :
Plan du cours (suite)
IV. Quantification
1. Formats de codage
2. Quantification
3. Effets de la quantification en TNS
Notes :
Plan du cours (fin)
Notes :
I.1 Introduction
Chane de TNS
C a b c d e f
AC
A TIO
P Convertisseur Processeur Convertisseur
E/B NN
T A/N Numrique N/A EU
E R
U
R A (v)
Action
(a) Numrique
0.2 0.3 0.5 0.5 0.4 F (v)
t t
(c) E (v) (f)
B (v)
(e) t
(b) 0.3 0.3 0.2 0.3 0.4
t t
t (d)
Ca
ra
I P ct D
m i ri a
a x sti t
g e qu a
e l e
s 6
Notes :
I.1 Traitement Numrique du Signal
Avantages
Pas de drive : temprature, vieillissement, valeur des composants
Prcision : garantie par le nombre de bits
Souplesse : plusieurs tches simultanes possibles
Prdiction : simulation sur ordinateur
Prototypes : changements par modifications du logiciel
Performances : pas de distorsion de phase, filtrage adaptatif
Intgration : progrs des systmes VLSI (DSP, ASIC, ...)
Inconvnients
Cot : lev pour des ralisations simples
Vitesse : bande passante large = vitesse de calcul lev
Complexit : ralisation la fois matrielle et logiciel
7
Notes :
Quelles applications ?
A la Maison
Tlvision la demande, Tlvision Satellite, Jeu Vido et Ralit
Virtuelle, Electromnager, Rseaux, ...
DVD, HDTV, CD, DAB
Au Bureau
Vidoconfrence, Fax, Modems, Pagers, ...
Rseaux rapides, Sans-fil
ATM, ISDN, PBX, ADSL
Sur la route
Tlphone cellulaires, Commande vocale, Radar et Sonar, GPS et
traceur de route, Fax/Modems sans-fil, Automobile, ...
Notes :
Glossaire du TNS
Notes :
Domaines d'application
Communication homme machine, synthse, transformation texte-parole et inverse,
reconnaissance de parole, identification et vrification du locuteur
Tlcommunications, codage et restauration de la parole, courrier vocal, tlcopie,
audionumrique (CD, DAB), TV numrique, compression et transmission d'images,
cryptage et protection, transmission de donnes, tl informatique, annulation d'cho,
codage dbit rduit, tl et visioconfrence, tlphonie cellu laire, ...
Dfense, systmes d'armes, surveillance, guidage, navigation
Biophysique, gnie biomdical, EEG, ECG, radiographie, tomographie, scintigraphie,
gammagraphie, chographie, aide aux handicaps, ...
Acoustique, arienne, sous-marine, sonar, ultrasons, nuisances
Gophysique, sismique, de surface, ocanographique, tldtection
Electromagntisme, radar, radionavigation, optique, astrophysique
Automobile injection lectronique, ABS, positionnement global, commande d'assiette
adaptative
Musique, numrique, MIDI, chantillonneurs (sampleurs), synthtiseurs, mlangeurs,
rverbration et cho, effets spciaux, filtrage, enregistrement (DAT)
Instrumentation, capteurs, mtrologie, analyse spectrale, gnration de signaux,
analyses de transitoires, DPLL
Graphisme et imagerie, rotation 3D, vision, reconnaissance de formes, restauration
d'images, stations de travail, animation, cartographie 10
Notes :
I.1 Introduction
2. Systme de TNS : dfinition
11
Tf
Notes :
I.1 Introduction
3. Caractristiques des algorithmes
Notes :
Fonctions typiques de TS
Convolution, filtrage
y = y + x.h : MAC
Adaptation
y n = yn-1 + x.h : MAD
Viterbi
a1 = x1 + x2; a2 = y1 + y2; y = (a1>a2) ? a1 : a2 : ACS
13
Notes :
I.1 Introduction
4. Solutions architecturales
Processeurs Multimdia
Microcontrleurs
Coprocesseurs ASIC
14
Notes :
Exemple : GSM
1010...
synchronisation
Coprocessor, Hardware
DSP, ASIP, ASP
Controller
15
Notes :
Architecture Von Neumann
Code example:
MUX multiply & accumulate
r2 = r2 + #imm * r1
MEM. DATA
REGISTER
ADDRESS
REGISTER
ALU
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
Problmes
Bande passante avec la mmoire
Code pour le contrle et la gestion de l'adressage
Multiplication lente
loop:
mov *r0,x0
mov *r1,x1
mpy x0,y0,a
add a,b Data Path Memory
mov y0,*r2
inc r0
inc r1
inc r2
dec ctr
tst ctr
jnz loop Excution en 15 20 cycles
17
Notes :
Architecture Harvard
DATA DATA
PROGRAM
RAM-A RAM-B
RAM/ROM
DATA BUS - A
DATA BUS - B
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
Operand X1
Registers Y0
Y1
24 24
Multiplier
56 56
Shifter ALU
(-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
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 cost-
effective 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
T
loop:
acc=acc+P
// P=T*PM(*r0+) Program
// T=DM(*r1+) MULT
Memory
jnz loop
Data Path
P
Data
Excution en 1 cycle Memory
ALU
ACC
C25
21
Notes :
Nouvelles architectures DSP
DSPs VLIW
TI C6xxx, Infineon Carmel
DSPs superscalaires
ZSP 164xx
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 ADD
Dispatch Unit
Internal Memory
24
Notes :
TI VLIW DSP
Notes :
C64x
C64x
Jusqu 1.1 GHz, 9 GOPS
Six ALUs (32-/40-Bit), une 32-Bit, deux 16-Bit, ou quatre 8-Bit
oprations arithmtiques 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 dveloppement
Matlab/Simulink
Mise au point
Algorithme 1 SPW, Ptolemy, COSSAP
de l'algorithme
Notes :
I.1 Introduction
5. Cycle de dveloppement
Systme d'Exploitation
Temps Rel Traduction en VHDL
Implantation
Synthse du circuit
Matrielle
Algorithme 2 Simulation VHDL
Code C
Algorithme N
Code C
29
Notes :
I. Introduction
I.2 Types de signaux
Signaux mdicaux
EEG, ECG, Images IRM, Images scanner, ...
Signaux sismiques
Donnes
Statistiques, Bourse, ...
Signal de parole
Sons
Images
...
30
Notes :
Signal de Parole
Processus de phonation
Gnration d'une nergie ventilatoire
(poumons+trache)
Vibration des cordes vocales
Ralisation d'un dispositif articulatoire
(conduit vocal)
Cavit nasale
Cavit nasale
Conduit vocal
Glotte Cavit buccale Lvres Larynx
Langue
Modle source filtre
31
Notes :
Le signal de parole est ralis au moyen dun appareil phonatoire non
initialement prvu pour cela. Il faut tout dabord une nergie
ventilatoire pour tre linitiateur du mouvement dair qui cre les
ondes acoustiques et qui cre par la mme occasion le mouvement
oscillatoire des cordes vocales ou au contraire qui les carte pour
crer du bruit; cest le rle de la soufflerie . Elle est compose des
poumons qui sont le gnrateur dair et du conduit tracho-
bronchique. Ce souffle passe le larynx (o sigent les cordes
vocales) pour former londe glottique. Un dispositif carte ou
rapproche les cordes vocales selon quelles doivent vibrer ou non
pour obtenir le son. Si les cordes vocales sont rapproches, 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 possdant une certaine
fonction de transfert qui modifie londe glottique par convolution, ce
qui donne, aprs rayonnement au niveau des lvres, le signal de
parole .
Signal de parole
Notes :
On peut distinguer la nature du son (vois ou non) par son allure (temporelle et
frquentielle). Un son vois possde un signal pseudo priodique : son spectre
contient des harmoniques (nergie prsente dans les diffrentes frquences). Le
premier harmonique, qui reflte la frquence de vibration des cordes vocales est
appel la frquence fondamentale (F0) ou en anglais le pitch (de 80 100 Hz
chez lhomme, de 175 300 Hz pour la femme et de 200 600 Hz chez lenfant).
Lvolution de la frquence fondamentale dtermine la mlodie de la parole
[MAL,01].
Pour un son non vois, on obtient un signal qui ressemble un bruit possdant
beaucoup de hautes frquences : le fait de filtrer le signal par un passe-bas pour
respecter le thorme de Shannon fait quil devient plus difficile de distinguer des
sons chuintants comme ch et sh car leurs diffrences se situent justement
dans les hautes frquences.
Les spectres des figures 2.3 et 2.4 sont obtenus par le passage de londe glottique
dans la fonction de transfert du conduit vocal. On dfinit un formant comme le
maximum de la fonction de transfert du conduit vocal, mais les maxima de la
fonction de transfert sont excits par les composantes spectrales du signal
glottique. Donc, les maxima du spectre de la figure 2.3 correspondent peu prs
aux formants.
Pour cataloguer et rfrencer les sons afin de les tudier, on utilise une base de
donne qui possde tous les sons simples : les lments de cette base sont
appels phonmes. Un phonme se dfinit 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 phonmes. Enfin, la mlodie de la parole lie la dure et
lintensit des syllabes sont les lments qui caractrisent la prosodie, qui sert
entre autre la comprhension syntaxique de la phrase (augmenter de faon
significative la valeur du pitch la fin dune phrase interrogative).
Signal de parole
Signal temporel
Aspects statistiques
Variabilit intra-individuelle
Variabilit inter-individuelle
Masquage temporel
Prosodie
Amplitude (dB)
Signal frquentiel
40
30
Structure formantique 20
Fondamental (pitch) 10
Harmoniques 0
-20
0 Frquences Fe/2
33
Notes :
I. Introduction
I.3 Applications
34
Notes :
I. Introduction
I.3 Applications
Codage de la parole
le codage permet : soit d'augmenter le nombre de signaux par
voie (multiplexage temporel), soit d'largir la bande code (7kHz
pour audio et visioconfrence)
MICDA : 32 kbit/s sans dgradation audible
Notes :
I. Introduction
I.3 Applications
Annulation d'cho
Rseau tlphonique utilisant les satellites gostationnaires (540ms)
Tlphone main libre en voiture (cho + bruit)
Tlconfrence
rponse impulsionnelle de la salle
Effets : cho, Larsen, rverbration
problme de dconvolution
Ambient
Noise
Microphone
o
near end
+
-
to far end
speaker
speach
Computation
Ht of coefficients
Notes :
I. Introduction
I.3 Applications
Buffer
Control /
Memory
Display
Fe = 176.4 kHz
Fe = 44.1 kHz
Notes :
I. Introduction
I.4 Notions de temps rel en TNS
TNS
X Y
x(n) y(n)
x(n-1) H y(n-1)
h(0)
h(1)
Notes :
I. Introduction
I.4 Notions de temps rel en TNS
Vecteur
H
de taille N
3 phases h(0)
h(1)
Acquisition de Xn (Vecteur de taille N)
Traitement par blocs
Restitution de Yn
Les phases dacquisition dun traitement au suivant peuvent soit
se recouvrir tre jointives tre disjointes
x(n) x(n) x(n)
N points
Xn Xn
Xn+R Xn+N Xn
Xn+2R Xn+2N Xn+M 39
Notes :
Cadence des calculs
40
Notes :
Exemple : Convolution
Traitement ligne
N1
y(n) = h(k).x(n k)
k= 0
Notes :
II Filtrage Numrique
1 Introduction
Dfinition
Systme Linaire Discret (SLD) modifiant la reprsentation
temporelle et frquentielle de signaux
Filtre Numrique
y(n) <=> Y(z)
x(n) <=> X(z)
h(n) <=> H(z)
1. Introduction
Un filtre numrique peut tre reprsent par :
une fonction de transfert en z : H(z) = Y(z) / X(z)
X(z) Y(z)
H(z)
43
Notes :
II Filtrage Numrique
1 Introduction
H1 (z)
b) Forme parallle
X(z) Y(z)
H1 (z) H2 (z) ... HM(z)
c) Forme cascade
Notes :
II Filtrage Numrique
1 Introduction
45
Notes :
II Filtrage Numrique
2 Spcification dun filtre numrique
2 20log 2
fp fa Fe/2 f
Notes :
II Filtrage Numrique
2 Spcification dun filtre numrique
1+1
1
1-1
47
Notes :
II Filtrage Numrique
3 Classification des filtres numriques
Notes :
II Filtrage Numrique
3.1 Filtres numriques non rcursifs
Y ( z) = H ( z ) X ( z)
M M
H ( z) = bi z = h(n) z n
i
i=0 n= 0
M
h(n) = bi (n i )
i=0
Notes :
II Filtrage Numrique
3.1 Filtres numriques non rcursifs
Principales proprits
50
Notes :
II Filtrage Numrique
3.2 Filtres numriques rcursifs
b z i
i
N (z)
H (z) = i=0
N
=
1 + ai z i
D ( z)
i =1
51
Notes :
II Filtrage Numrique
3.2 Filtres numriques rcursifs
H ( z) = ci z i = h(n) z n
i=0 n= 0
Notes :
II Filtrage Numrique
3.2 Filtres numriques rcursifs
M
(z z )
i
H ( z) = b0 z N M i =1
N
(z p )
i =1
i
Notes :
II Filtrage Numrique
4 Analyse frquentielle
4. Analyse frquentielle
L'analyse frquentielle 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 = 2fT
La fonction de transfert en frquence H(ej ) est priodique de priode
2. |H(ej )|
2 54
Notes :
II Filtrage Numrique
5 Structures de ralisation
5. Structures de ralisation
Filtres RIF
N
y(n) = bi x(n i )
i =0 b0
x(n) + y(n)
b0
x(n) + y(n) Z -1
b1
Z -1
b1 +
x(n-1) +
Z -1
bN-1
+ bN-1
Z -1 +
bN
x(n-N)
Z -1
bN
55
Notes :
II Filtrage Numrique
5 Structures de ralisation
Filtres RII
N N
y( n) = bi x( n i ) ai y( n i )
i=0 i =1
N
N ( z) 1 1
H ( z) = = N ( z) = bi z i N
1 + ai z i
D (z ) D (z ) i = 0
i =1
b0 b0
x(n) + + y(n) x(n) + y(n)
Z -1 Z -1 Z -1 Z -1
b1 -a1 b1 -a1
+ + x(n-1) + y(n-1)
RIF RII
a) Structure directe 56
Notes :
II Filtrage Numrique
5 Structures de ralisation
N
1 1
Filtres RII H (z) = N ( z) = N
bi z i
1 + ai z i
D( z ) i=0
i =1
N
W ( z) =
1
.X ( z ) w(n) = x(n) ai w(n i )
i =1
D ( z) N
Y ( z) = N ( z ).W ( z ) y(n) = bi w(n i )
i =0
w(n)
b0
x(n) + + y(n)
Z -1 Z -1
-a1 b1
+ +
-aN-1 bN-1
+ +
Z -1 Z -1
-aN bN
RII RIF
57
Notes :
II Filtrage Numrique
5 Structures de ralisation
b0 b0
Filtres RII x(n) +
w(n)
+ y(n) x(n) + y(n)
Z -1 Z -1
-a1 b1 b1 -a1
+ + +
w(n-1)
Z -1 Z -1
a) Structure canonique directe
-aN-1 bN-1 bN-1 -aN-1
+ + +
Z -1 Z -1
-aN bN bN -aN
+
w(n-N)
b) Structure canonique transpose
Forme cascade de filtres du second ordre
N +1 N +1
2 bi ,0 + bi ,1 z 1 + bi ,2 z 2
2
H ( z ) = Hi ( z) =
i =1 1 + ai ,1 z + a i ,2 z 2
1
i =1
X(z) Y(z)
H1 (z) H2 (z) ... HK(z)
58
Notes :
III Transformes en TNS
1 Rappels
X (e ) = x (nT ) e
j jn
n =
x (nT ) = 1 X (e j ) e jn d
2
Proprits
Linarit
Dcalage en temps/frquence
Produit de convolution en temps/frquence
Thorme de Parseval
Transformes de fonctions relles 59
Notes :
III Transformes en TNS
2 Transforme de Fourier Discrte
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
frquentiels de X(ej).
N 1 2 j
kn
X ( k ) =
n =0
x ( n ) e N
k = 0.. N 1 x(n) est considr comme priodique
de priode N, x(n) = x(n+qN )
N 1 kn
x (n ) = 1 + 2 j
N
X ( k ) e N n = 0.. N 1
X(k) est donc galement priodique de
k =0 priode N, X(k) = X(k+qN )
x(n) X(k)
TFD
N-1 n N-1 k
Pas temporel : T=1/Fe Pas frquentiel : 1/NT=Fe/N 60
Notes :
III Transformes en TNS
2 Transforme de Fourier Discrte
Proprits
Linarit
Dcalage en temps/frquence
Produit de convolution en temps/frquence
Thorme de Parseval
Transformes de fonctions relles
61
Notes :
III Transformes en TNS
2 Transforme de Fourier Discrte
Dfinition N 1 2 j
kn
X ( k ) = x( n ) e k = 0 ..N 1
N
n =0
N 1 kn
x (n ) = 1 + 2 j
TFD
x(n ) X (k ) e N
n = 0 ..N 1
X(k) N k =0
Forme Matricielle
1 1 . . 1
X(0) 1 2 N-1 x(0)
1 WN WN . WN
X(1) x(1)
. = . WN
2
WN
4
.
2(N-1)
WN .
. .
. . . . .
X(N-1) x(N-1)
2
N-1 2(N-1) (N-1)
1 WN WN . WN
X = W. x (2)
2 j
WN = e N
2 j
kn
WNn k = e N
62
Notes :
III Transformes en TNS
2 Transforme de Fourier Discrte
n n
Proprits des W N = e -2j N
Wk(N-n)
N = (Wkn
N )* (3.1)
kn k(n+N) (k+N)n
WN = WN = WN (3.2) Priodicit
n+N/2 n
WN = -WN (3.3) Symtrie
2kn kn
WN = WN/2 (3.4)
Complexit de calcul
La TFD revient calculer un produit matrice-vecteur o chaque lment 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 relles et N(4N-2) additions relles. Cet algorithme se comporte donc en
O(N 2), mais ne possde pas de problmes d'adressage car les x(n) et les Wi sont rangs
dans l'ordre en mmoire.
Notes :
III Transformes en TNS
3 Transforme de Fourier Rapide
N N/21 N/ 21
X(k + ) = x(2n). WN/2
n(k+N/2)
+ WNk+N/2 . x(2n +1).WN/2
n(k+N/2)
2 n=0 n=0
N k
X(k + ) = G(k) WN .H(k)
2
64
Notes :
TFR DIT
x(0) 0
X(0)
W8
x(2) TFD 1
X(1)
W8
x(4) N/2 pts X(2)
W 28
x(6) 3
X(3)
W 8
x(1) X(4)
W 84
x(3) TFD 5
X(5)
W8
x(5) N/2 pts X(6)
6
W 8
x(7) X(7)
W 78
O(N 2 ) O(N)
2 TFD de taille N/2 N/2 papillons
r
X m+1 (p) = Xm(p) + W X (q)
Papillon DIT N m
r
X m+1 (q) = Xm(p) - WN X m(q) (6)
Notes :
N
log2N multiplications de nombres complexes,
2
X(0) X(0)
X(8) X(1)
0
X(4) X(2)
0
X(12) X(3)
0 2
X(2) X(4)
0
X(5)
entre ordre bit-reversed
X(10)
2
Notes :
TFR DIF
x(0) X(0)
Notes :
TFR DIF
X(0) X(0)
X(1) X(8)
0
X(2) X(4)
0
X(3) X(12)
4 0
X(4) X(2)
0
X(5) X(10)
2 0
X(6) X(6)
4 0
X(7) X(14)
6 4 0
X(8) 0 X(1)
X(9) 1 X(9)
0
X(10) 2 X(5)
0
X(11) 3 X(13)
4 0
X(12) 4 0 X(3)
X(13) 5 2 X(11)
0
X(14) 6 4 0 X(7)
X(15) 7 6 4 0 X(15)
Notes :
Transforme de Fourier Rapide
Notes :
Transforme de Fourier Rapide
0 0 4 2
X(10) X(5)
X(1) X(8)
0 4 0 4
X(9) X(9)
X(5) X(10)
0 4 2 5
X(13) X(11)
X(3) X(12)
0 4 4 6
X(11) X(13)
X(7) X(14)
0 4 6 7
X(15) X(15)
Gomtrie A' = A + BW k
k
A' = A + BW -k
-k
B' = A - BW B' = A - BW
Constante -2j -2j
k
W= e N W= e N B B'
70
Notes :
Transforme de Fourier Rapide
FFT DIF RADIX-4 en place sur 16 points
X(0) X(0)
X(1) X(8)
X(2) 0 X(4)
X(3) X(12)
X(4) X(2)
X(6) 1 0
X(6)
X(7) 2 X(14)
X(8) 3 X(1)
X(9) X(9)
X(10)
0 X(5)
X(11) X(13)
X(12) X(3)
X(13) X(11)
0
X(14) X(7)
X(15) X(15)
Notes :
III.4 Convolution et corrlation
1 Dfinitions
Corrlation
Soit x1 et x2, 2 signaux de dure finie [0 ... N-1], la corrlation est :
N 1
y ( n ) = x1 ( i) x 2 (i + n )
i =0
Convolution linaire
Soit x et h, 2 signaux de dure finie respectivement N et M, la
convolution est dfinie par :
y ( n ) = ( x h )( n )
y ( n ) = x (i ) h (n i ) = h (i ) x (n i )
i =0 i= 0
72
Notes :
III.4 Convolution et corrlation
1 Dfinitions
x(i) h(i)
*
N-1 i M-1 i
h(n-i) h(-i)
n-M+1 n i i
n y(n)
y( n) = x( i) h (n i)
i= 0
N+M-2 n
73
Notes :
III.4 Convolution et corrlation
1 Dfinitions
Proprits
Y(z) = H(z) X(z) (TZ)
Y(k) H(k) X(k) (TFD)
O(N2)
74
Notes :
III.4 Convolution et corrlation
2 Convolution circulaire
Convolution circulaire
Soit x et h, 2 signaux priodiques de priode N, la convolution
circulaire est dfinie par :
N 1
y (n) = x (i) h( n i )
i =0
75
Notes :
III.4 Convolution et corrlation
2 Convolution circulaire
Convolution circulaire
On passe de la convolution circulaire la convolution linaire en
remplissant de zros chaque squence jusqu' M+N-1
{x(n)}{0.0}
N+M-1 * {y(n)}
{h(n)}{0.0}
76
Notes :
III.4 Convolution et corrlation
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 acclrer les calculs
{x(n)}{0.0} FFT
Longueur P X FFT-1 {y(n)}
{h(n)}{0.0} FFT
Complter les suites x(n) et h(n) par des zros jusqu P>
N+M-2, avec P = 2 p.
O(Nlog 2N)
77
Notes :
III.4 Convolution et corrlation
3 Convolution rapide
Convolution sectionne
x(n), de dure infinie, est dcoup en blocs xk de taille M
x (n ) pour kM n < (k + 1) M
xk ( n) =
O ailleurs
y (n) = h(n ) * x k (n )
k =
y (n) = y
k=
k (n)
78
Notes :
III.4 Convolution et corrlation
3 Convolution rapide
79
Notes :
IV Quantification
2. Modle de quantification
Caractristiques de quantification
Modle de bruit, Caractristiques de dpassement
3. Bruit de conversion
Filtrage dun bruit
80
Notes :
IV Quantification
1 Format de codage
81
Notes :
IV Quantification
1 Format de codage
82
Notes :
IV Quantification
1 Format de codage
Nombres rels N 2
Codage en virgule fixe cadre gauche D = d N 1 + 2 ( N 1) di 2i
Le facteur d'chelle est implicite. i =0
Notes :
IV Quantification
2 Modle en VFCG
Modle
x(n) xQ (n) = Q[x(n)] = k.q x(n) xQ (n)
Q +
Sources de bruit
Bruit de conversion A/N
Limitation des chemins de donnes de larchitecture cible
Multiplication => Quantification
Addition => Dbordement
84
Notes :
IV Quantification
2 Caractristiques de quantification
(a) Arrondi
Q(x) = k.q si (k-0.5).q x < (k+0.5).q
Etude statistique
Q(x)
P(e) {e(n)} est une squence dun processus
3q alatoire stationnaire
2q 1/q {e(n)} est dcorrele de {x(n)}
q {e(n)} est un bruit blanc additif
q 2q x e
la distribution de probabilit de {e(n)} est
uniforme sur
2 lintervalle de quantification
-q/2 q/2
ergodicit : moyennes temporelles = moyennes
statistiques
moyenne me
(b) Troncature
variance e2 = Puissance du bruit
Q(x) = k.q si k.q x < (k+1).q variance = q2/12
Q(x) P(e)
3q 1/q
2q
q e
q 2q x
-q 0
85
Notes :
IV Quantification
2 Caractristiques de dpassement
x(n) D[x(n)]
D
Saturation Modulaire
Complexe Effets indsirables
Moins d'effets indsirables
D(x) D(x)
Xmax
Xmax
Xmax
86
Notes :
IV Quantification
2 Caractristiques de dpassement
Critres
Critre du pire-cas
Pas de dpassement tant que |x(n)|<Xmax
Critre de puissance
Pas de dpassement tant que Px<Pmax
Critre du sinus
Pas de dpassement tant que |x(n)|<Xmax, avec x(n) sinusodal.
87
Notes :
IV Quantification
3 Bruit de conversion A/N
3q 3q
2q 2q
q q
n n
e(n)
q/2
x(n) xQ (n)
CAN n
- q/2
xQ (n) = Q[x(n)]
e(n) = xQ (n) - x(n)
|e(n)| q/2
88
Notes :
Filtrage d'un bruit
12
x x
2 2
RSB = 2 = 2 = 12.2 2 (b1) x
2
e q / 12
RSBdB = 10 log RSB = 6.02 b + 4.77 + 10 log x
2
Notes :
IV Quantification
4 Limitation des chemins de donnes
90
Notes :
Synthse des filtres numriques
91
Notes :
V Synthse des filtres RII
1 Introduction
92
Notes :
V Synthse des filtres RII
2 Synthse de filtre analogique
Spcification
Gabarit analogique
Normalisation
Approximation de H(p)
Types de filtre
HNorm (p) (Butterworth, Chebyshev,...)
Dnormalisation
H(p)
Notes :
V Synthse des filtres RII
2 Synthse de filtre analogique
Normalisation
Calcul de la slectivit s
2 2
1 s
94
Notes :
V Synthse des filtres RII
2 Synthse de filtre analogique
Dnormalisation
Passe-bas : pN = p / c
Passe-haut : pN = c / p
Passe-bande : pN = 1/B (p / 0 + 0 / p)
Notes :
V Synthse des filtres RII
3 Invariance impulsionnelle
ha(t) h(nT)
t T t
h(nT) = ha(t)
/ t = nT 96
Notes :
V Synthse des filtres RII
3 Invariance impulsionnelle
H ( j + j )
1
H (e j ) = a
2 k
T
T k
97
Notes :
V Synthse des filtres RII
3 Invariance impulsionnelle
Rponse frquentielle
Ha(p)
1
p
H()
1/T
2 2
Normalisation
(xT) ou (/H(0))
98
Notes :
V Synthse des filtres RII
4 Transformation bilinaire
e(nT)
(n-1)T nT t
99
Notes :
V Synthse des filtres RII
4 Transformation bilinaire
Conservation de la stabilit
plan p plan z
z = ejT
p = ja
100
Notes :
V Synthse des filtres RII
4 Transformation bilinaire
T T
Distorsion en frquence connue analogique = tg numrique
2 2
T
a
/T
fe/2 fe/2
Notes :
V Synthse des filtres RII
4 Transformation bilinaire
Procdure de synthse
H ( z) = H ( p)
2 1 z 1
p=
T 1 + z 1
102
Notes :
a
a
a=2/T tan(/2)
|Ha(ja)|
a p a a
1+1
1-1
2
1
1+1
1
1-1 |H(ej )|
p a 2
103
Notes :
VI Synthse des filtres RIF
1 Introduction
3 mthodes de synthse
Mthode du fentrage
Mthode de l'chantillonnage frquentiel
Mthodes d'optimisation : minimiser un critre d'erreur entre courbe
relle et courbe idale
104
Notes :
VI Synthse des filtres RIF
2 Phase linaire
105
Notes :
VI Synthse des filtres RIF
2 Phase linaire
h(n) h(n)
Type I Type III
N impair
entier
N-1
N-1
N pair
non entier
N-1
N-1
106
Notes :
VI Synthse des filtres RIF
2 Phase linaire
a H (e ) = e e j cn sin( n )
j
j j j
H (e )=e n cos( n ) 2
n =0 n =1
a 0 = h ( ), an = 2 h ( n ), n = 1K cn = 2 h ( n ), n = 1K
H (0 ) = H ( ) = 0 Passe Bande
N impair Tout filtre Drivateur
b H (e ) = e e j d n sin[( n 1 / 2 ) ]
j
j j j
H (e )=e n cos[( n 1 / 2 ) ] 2
n =1 n =1
bn = 2 h ( N / 2 n ), n = 1K N / 2 d n = 2h ( N / 2 n ), n = 1K N / 2
H ( ) = 0 H (0 ) = 0 Passe Haut
Passe Haut
Drivateur107
Notes :
VI Synthse des filtres RIF
2 Phase linaire
2
2
Passe Bande
N impair Tout filtre Drivateur
N pair
Type II Type IV
2 Passe Haut 2
Passe Haut Drivateur 108
Notes :
VI Synthse des filtres RIF
3 Mthode du fentrage
1
h ( n) =
2
H (e j ).e jn d
ha ( n) = h( n). w ( n )
109
Notes :
VI Synthse des filtres RIF
3 Mthode du fentrage
c c
c sin( n c )
h ( n) =
n c
110
Notes :
VI Synthse des filtres RIF
3 Mthode du fentrage
H() * W()
^
H()
111
Notes :
VI Synthse des filtres RIF
3 Mthode du fentrage
^
H()
1+A
1 H()
1A
W()
112
Notes :
IV.2Synthse des filtres RIF
3 Mthode du fentrage
Fentres usuelles
Rectangle, Triangule, Hanning, Hamming, Blackman, Kaiser, ...
Rponses temporelles
113
Notes :
IV.2Synthse des filtres RIF
3 Mthode du fentrage
Fentres usuelles
Rponses frquentielles (linaire, dB)
114
Notes :
IV.2Synthse des filtres RIF
3 Mthode du fentrage
Influence de la fentre
Fentre Lobe Demi largeur du Attnuation
secondaire lobe principal minimum
Rectangulaire -13dB 2/N -21dB
Triangulaire -25dB 4/N -25dB
Hanning -31dB 4/N -44dB
Hamming -41dB 4/N -53dB
Blackman -57dB 6/N -74dB
115
Notes :
VI Synthse des filtres RIF
4 Mthode de l'chantillonnage
chantillonnage en frquence
chantillonnage du filtre idal
H(ej )
H(k e)
1
c 2
Notes :
VII Analyse spectrale
1 Dfinition
fentre wN(n)
Troncature temporelle
xN(n) = x(n) . wN(n) avec wN(n) fentrage 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) fentrage sur N points
LN
X N (k ) = X N (e j )
= 2 k / L
118
Notes :
VII Analyse spectrale
2 Troncature temporelle
Exemple
Fentre rectangulaire, N=31
119
Notes :
VII Analyse spectrale
3 Influence de la fentre
120
Notes :
VII Analyse spectrale
3 Influence de la fentre
Influence de la fentre
Fentre Lobe secondaire Largeur du lobe
= 20log|W(fs)/W(0)| principal
LLP = m
Rectangulaire -13dB 4/N
Triangulaire -25dB 8/N
Hanning -31dB 8/N
Hamming -41dB 8/N
Blackman -57dB 12/N
Le type de fentre influe sur et m
Le nombre de points influe sur m
W()
m/2
m
f
fs fe/2 121
1/NT
Notes :
VII Analyse spectrale
3 Influence de la fentre
Fentres usuelles
Rectangle, Triangule, Hanning, Hamming, Blackman, Kaiser, ...
Rponses temporelles
122
Notes :
VII Analyse spectrale
3 Influence de la fentre
Fentres usuelles
Rponses frquentielles (linaire, dB)
123
Notes :
VII Analyse spectrale
4 Paramtres de l'analyse
Finesse en frquence
Capacit de l'analyseur dtecter 2 raies proches
Masquage frquentiel
Largeur du lobe principal : LLP = 2
Dpend de N et du type de fentre
Exemple sur transparent 9
Finesse en amplitude
Capacit de l'analyseur dtecter des raies de faibles amplitudes ou
masque par une autre raie proche
Masquage d'amplitude ou bruit de l'analyse
= 20log|W(fs)/W(0)|
Dpend du type de fentre
Exemple sur transparent 10
124
Notes :
VII Analyse spectrale
4 Paramtres de l'analyse
Fentre rectangulaire
125
Notes :
VII Analyse spectrale
4 Paramtres de l'analyse
126
Notes :
VII Analyse spectrale
5 Zero-padding
127
Notes :
VIII Systmes multi-cadences
1 Dfinition
Systmes multi-cadences
Systmes dans lesquels on pourra avoir plusieurs frquences
d'chantillonnage dans une mme chane de traitement
Ils tirent partie de la forme spectrale d'un signal en gardant Fe
toujours sa valeur optimale
-> Rduction de la complexit
xc(t)
1 Xc()
t 0 0
128
Notes :
VIII Systmes multi-cadences
1 Dfinition
x(nT)
1/T X(ej )
T t /T 0 0 /T
xd (nT')
1/T' Xd(ej )
T'
t /T' /T'
129
Notes :
VIII Systmes multi-cadences
2 Dcimation
X c ( ) = 0 pour 0
et /T' = /(MT) 0 ou F ' e = Fe / M 0
130
Notes :
VIII Systmes multi-cadences
2 Dcimation
Filtres dcimation
Filtre suivi d'un dcimateur
T' = MT
x(nT) Filtre Passe Bas v(nT) y(nT')
Gain = 1 M
c = /M
131
Notes :
VIII Systmes multi-cadences
3 Interpolation
Notes :
VIII Systmes multi-cadences
3 Interpolation
1/T X(ej )
t /T /T
1/T' Xe(ej )
t
/T' /T /T /T'
Interpolateur
Succession d'un lvateur de frquence et d'un filtre passe-bas idal
de gain L, de priode d'chantillonnage T' et de frquence de coupure
Fc = 1/2T (i.e. c = /L).
Notes :
VIII Systmes multi-cadences
3 Interpolation
134
Notes :