Sie sind auf Seite 1von 133

EII2

Traitement Numrique du Signal

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

100M 10M 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, problmatique, caractristiques, solutions architecturales
2. Types de signaux
3. Applications typiques de TNS
4. Chane de traitement et problmes temps rel

II. Analyse des filtres numriques


1. Spcification, classification, reprsentation
2. Analyse frquentielle
3. Structures des filtres RII et RIF

III. Transformes en TNS


1. TFD, convolution linaire
2. TFR : Transforme 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. Synthse des filtres numriques RII


1. Invariance Impulsionnelle
2. Transformation Bilinaire

VI. Synthse des filtres numriques RIF


1. Introduction
2. Filtres Phase Linaire
3. Mthode du Fentrage
4. Echantillonnage en Frquence
4

Notes :
Plan du cours (fin)

VII. Analyse spectrale


1. Effets de la troncature
2. Caractristiques des fentres
3. Influence sur l'analyse

VIII. Systmes multi-cadences


1. Dfinition
2. Dcimation
3. Interpolation

IX. Processeurs de Traitement du Signal


1. Architecture de base
2. Principales familles
3. Problmes d'implantation en virgule fixe
5

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, ...

Systmes de l'ge de l'information


= fusion entre
Calculateur- Tlcommunications- Consommateur
8

Notes :
Glossaire du TNS

Saisie, acquisition, conversion (A/N, N/A), codage


Filtrage, FIR, IIR, convolution rapide, filtres spciaux
Reprsentation, modlisation, analyse spectrale, transformes
Compression, approximation, extrapolation, codage de source, rduction de dbit
Modulation, codage de canal, protection contre les erreurs, cryptage, garantique
Dtection, rception optimale, dmodulation, dcodage, correction
Estimation, paramtrique, estimation d'onde ou d'tat, filtrage, prdictio n, lissage
Analyse de systme, modles de canaux, milieux de propagation
Amlioration, rduction de bruit, annulation d'cho, compensation, galisation
Dconvolution, imagerie, rsolution, dtection de source, restauration
Classification, reconnaissance, signatures
Apprentissage, estimation squentielle, adaptation, poursuite
Analyse temps frquence, non stationnarit, estimation de dlais, de phase
Traitement multi-frquences, dcimation, interpolation, filtrages en sous bandes
Arithmtique bit fini, quantification, dpassement, virgule fixe, flottante, bruits d e
calcul, sensibilit des coefficients.
Architecture des systmes, DSP, ASIC, mmoire
9

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

Systmes DSP excutent algorithmes temps rel sur


des signaux numriques
Signaux numriques : quantit mesurable, chantillonne, quantifie, encode,
vecteur multi-dimensionnel
Flot de Donnes
Temps Rel
Temps de l'excution de l'algorithme Tex guid par acquisition I/O
Priode d'chantillonnage T
Priode des sorties Tf (frame period) > Tex
Ni plus vite ... ni plus lentement (Not Faster ... not slower)
e(t)
0010
T

s(t) Algorithme ex. s(n) = max(moy(e), s(n-1))

11
Tf

Notes :
I.1 Introduction
3. Caractristiques des algorithmes

Quantit importante de donnes


scalaires, vectorielles, matricielles, multidimensionnelles
oprations I/O intensives par DMA

Charge de calcul importante


multiplications-accumulations (convolution)
multiplications-additions (FFT, DCT, adaptation, distances,...)

Virgule Fixe ou Flottante


problmes lis la quantification !!!

Calculs d'adressage complexes


bit-reverse ou similaire (FFT), vieillissement des donnes, ...

Boucles de traitement courtes


les instructions peuvent tre places en interne
pas besoin de grande taille de cache (donnes ou instructions) 12

Notes :
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 gnraux RISC, VLIW, Superscalaire

Processeurs de Traitement du Signal (DSP) Conventionnel, VLIW

Processeurs Multimdia
Microcontrleurs

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...
speech channel
A/D modulator IF upc D/A
decoder decoder

user interface / control


RF
speech channel
A/D modulator IF upc D/A
coder coder

1010...
synchronisation

Coprocessor, Hardware
DSP, ASIP, ASP
Controller
15

Notes :
Architecture Von Neumann

Les processeurs RISC


MEMORY DATA BUS

Code example:
MUX multiply & accumulate
r2 = r2 + #imm * r1

MEM. DATA
REGISTER
ADDRESS

REGISTER
ALU

REGISTER PC mov #imm,r3


FILE
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

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

PROGRAM ADDRESS BUS


DATA ADDRESS BUS

DATA DATA
PROGRAM
RAM-A RAM-B
RAM/ROM

DATA BUS - A

DATA BUS - B

PROGRAM DATA BUS

PROGRAM AGU-A MULTIPLIER


CONTROL AGU-B ALU
REGISTERS
Address Generation 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
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

Bus et mmoires donnes/instructions


spares
Unit de traitement de type mpy-acc
Registres distribus ( RISC register file)
Chaque module (ALU) possde ses propres registres locaux

Gnration adresses efficaces (AGUs)


Modes dadressage spciaux : 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 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

Jeu d'instructions complexe

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 conventionnels amliors


UT multiples, SIMD, coprocesseurs
Lucent DSP16xxx, ADI ADSP-2116x, TI C55x

DSPs VLIW
TI C6xxx, Infineon Carmel

DSPs superscalaires
ZSP 164xx

Processeurs gnralistes 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 ADD

MPY SHL ADD SUB STW STW ADDK B


Fetch
ADD SUB LDW LDW B MVK NOP NOP

MPY MPY ADD ADD STW STW ADDK NOP

Dispatch Unit

Functional Functional Functional Functional Functional Functional Functional Functional


Unit Unit Unit Unit Unit Unit Unit
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 2400-4800 600-1350


MIPS MIPS MFLOPS
8-bit MMACS 300-600 1200-2400 200-550

16-bit MMACS 300-600 2400-4800 200-550

Broadband General Special-Purpose General


Communications instructions
Imaging 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
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

Dveloppement d'applications de TNS

Matlab/Simulink
Mise au point
Algorithme 1 SPW, Ptolemy, COSSAP
de l'algorithme

Gnration manuelle ou automatique


Compilateur C, debugger
Code C
Utilisation de vecteurs de
"flottant" test issus de la simulation
systme
Gnration manuelle
Compilateur C, debugger
Code C
Utilisation de vecteurs de
"fixe" test issus de la simulation
systme
28

Notes :
I.1 Introduction
5. Cycle de dveloppement

Dveloppement d'applications de TNS

Compilateur C pour DSP


Algorithme 1 Implantation
Simulation assembleur
Code C logicielle

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

un son vois et son spectre (son eu )

un son non vois et son spectre (son ch ) 32

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

Masquage frquentiel -10

-20
0 Frquences Fe/2
33

Notes :
I. Introduction
I.3 Applications

Tlcommunications : dtection de tonalit

BP Filter Detector 697 Hz


BP Filter Detector 770 Hz
697 Hz 1 2 3
BP Filter Detector 852 Hz
LP Filter Limiter BP Filter Detector
770 Hz 4 5 6 941 Hz

HP Filter Limiter BP Filter Detector 1209 Hz


852 Hz 7 8 9
BP Filter Detector 1336 Hz
BP Filter Detector 1477 Hz
941 Hz * 0 #

Schma de dtection de tonalit


1209 Hz 1336 Hz 1477 Hz
Frquences de tonalit du clavier numrique

34

Notes :
I. Introduction
I.3 Applications

Voie MIC (PCM)


parole chantillonne 8 kHz en bande limite 300-3400Hz sur
8 bits par une loi logarithmique (Rec. G711 du CCITT)
dbit normalis de 64 kbit/s par voie numrique (MIC)

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

s(n) e(n) canal de e'q(n) s' (n)


Q CB DC Q -1
transmission
s (n) s' (n)
Q-1 P
eq(n)
P s (n) CB : codeur binaire
DC : dcodeur binaire
P : prdicteur
Q : quantificateur
Q-1: quantificateur inverse
35

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

from far end


speaker
Loud
Reflections 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, contrle et affichage : 4,32 Mbit/s
90 dB de rapport Signal Bruit et de sparation stro (contre 60 et 30 dB)

Buffer
Control /
Memory
Display

A/D Parity Error D/A


MUX Modulator Demodul Filter
Converter Coding Correction
D/A
Encodeur du systme Compact Disc Lecture du systme Compact Disc

D/A 16 bit Digital D/A


16 bit 4 LP filter
LP filter LP filter Converter
Converter PCM
PCM
44.1 kHz

Fe = 176.4 kHz
Fe = 44.1 kHz

Conversion N/A classique En pratique : Surchantillonnage


37

Notes :
I. Introduction
I.4 Notions de temps rel en TNS

Traitement par ligne


Flot de donnes ininterrompu
En entre : flot dchantillons sur N bit N.Fe bit/s par entre
En sortie : flot dchantillons sur N bit N.Fe bit/s par sortie

y(n) = f(X,Y,H,...) y(n)


x(n)

TNS

X Y
x(n) y(n)
x(n-1) H y(n-1)
h(0)
h(1)

Entres courantes Sorties courantes


et antrieures Coefficients et antrieures
h(i), sin(t), ... 38

Notes :
I. Introduction
I.4 Notions de temps rel en TNS

Traitement par blocs


Xn Yn = F(Xn,Yn,H,...) Yn y(n)
x(n) y(n)
x(n-1) y(n-1)
x(n) 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

Nv : nombre de voies traiter en parallle


Nop : quantit doprations lmentaires
ncessaires au TNS
Te : priodicit du calcul
On en dduit 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
N1
y(n) = h(k).x(n k)
k= 0

Complexit pour un point y(n) : ??


Architecture ralisant une multiplication
accumulation en 1 cycle

Traitement blocs avec recouvrement de N-R chantillons


Yn = H . Xn
y (n ) h(0 ) h( 1) h( N 1) x( n )
h (N 1 ) x (n 1)
=
y( n1) h( 0) h(1)
.
y (n N+1) h(1) h( N1) h( 0) x (n N +1)

Complexit pour un vecteur Yn :


Mme Architecture 41

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)

X(z) Y(z) X(z) H2 (z) Y(z)


H(z)
...
a) Forme directe
HM(z)

b) Forme parallle

X(z) Y(z)
H1 (z) H2 (z) ... HM(z)

c) Forme cascade

une rponse impulsionnelle (finie ou infinie) (RIF ou RII)



y(nT ) = x(kT )h[( n k )T ] x(n) y(n)
k=0 h(n)

y ( n) = x ( k ) h( n k )
44
k=0

Notes :
II Filtrage Numrique
1 Introduction

si x(n) = (n) alors y(n) = h(n)

une quation aux diffrences (rcursive ou non rcursive)


M N
y(n) = bi .x(n i ) ai . y(n i )
i=0 i =1

45

Notes :
II Filtrage Numrique
2 Spcification dun filtre numrique

2. Spcification dun filtre numrique


Gabarit frquentiel
Passe-Bas (ou Passe-Haut) dfini par sa slectivit, son ondulation
en BP et son attnuation en BA
Bande de transition
Bande passante Bande attnue
|H(f)| (dB)
|H(f)|
fp fa
1+1 20log (1+1)
1 0 dB
1-1 20log (1-1 ) f

2 20log 2

fp fa Fe/2 f

a) Gabarit frquentiel linaire b) Gabarit frquentiel en dB 46

Notes :
II Filtrage Numrique
2 Spcification dun filtre numrique

Passe-Bande (ou Rjecteur-de-Bande) dfini par sa frquence


centrale, sa slectivit, son ondulation en BP et son attnuation
en BA |H(f)|

1+1
1
1-1

fa- fp- fp+ fa+ fe/2 f

47

Notes :
II Filtrage Numrique
3 Classification des filtres numriques

3 Classification des filtres numriques

Un filtre numrique peut tre class selon :

la dure de sa rponse impulsionnelle


finie : les filtres RIF ont leur rponse impulsionnelle support fini
i.e. h(n) = 0 pour n<0 et n>N
infinie : les filtres RII ont leur rponse impulsionnelle support infini
i.e. h(n) 0 n

le type de reprsentation temporelles


rcursifs : la sortie y(n) dpend de l entre courante, des entres prcdentes et
des sorties prcdentes
non rcursifs : la sortie y(n) ne dpend que de l entre courante et des entres
prcdentes 48

Notes :
II Filtrage Numrique
3.1 Filtres numriques non rcursifs

3.1 Filtres numriques non rcursifs


(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

i=0 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 rcursif est Rponse Impulsionnelle
Finie (RIF).
M est appele la longueur du filtre.
49

Notes :
II Filtrage Numrique
3.1 Filtres numriques non rcursifs

Principales proprits

Les RIF sont toujours stables (pas de ples)


Les RIF peuvent avoir une caractristique de phase linaire
Retard constant en frquence (temps de propagation de groupe)
Pas de distorsion harmonique
Symtrie de la RI
A slectivit quivalente, ils sont toujours plus coteux (en temps de
calcul) que leur quivalent RII

50

Notes :
II Filtrage Numrique
3.2 Filtres numriques rcursifs

3.2 Filtres numriques rcursifs


M N
y(n) = bi x(n i ) ai y(n i )
i=0 i =1
M

b z i
i

N (z)
H (z) = i=0
N
=
1 + ai z i
D ( z)
i =1

En pratique on a N=M, N est appele l'ordre du filtre.

51

Notes :
II Filtrage Numrique
3.2 Filtres numriques rcursifs

Si N(z) n'est pas divisible par D(z) (cas gnral), on a un nombre


infini de termes dans la division polynomiale.


H ( z) = ci z i = h(n) z n
i=0 n= 0

Les coefficients cn sont les valeurs de la RI (h(n) = cn). Ceci montre


qu'un filtre rcursif est, dans le cas gnral, Rponse
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 Numrique
3.2 Filtres numriques rcursifs
M

Si N(z)=1 : filtre tout-ple b z i


i
N ( z)
Si D(z)=1 : filtre RIF H (z) = i=0
N
=
1 + ai z i
D (z )
Principales proprits i =1

Les RII peuvent tre instables : structure base de ples et de zros


M

(z z )
i
H ( z) = b0 z N M i =1
N

(z p )
i =1
i

Bande de transition faible


Synthse par rutilisation des mthodes analogiques
Instabilit numrique due au rebouclage : forme cascade plus stable
53

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

a) Structure directe b) Structure transpose

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)

bN-1 -aN-1 bN-1 -aN-1


+ + +
Z -1 Z -1 Z -1 Z -1
bN -aN bN -aN
x(n-N) y(n-N)

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

TFSD : Transforme de Fourier d'un Signal



Discret X (e jT ) = x( nT ) e jn T
n =
Non priodique

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

x(n) et X(k) sont, dans le cas gnral, des nombres complexes.

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.

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 Transformes en TNS
3 Transforme de Fourier Rapide

TFR (FFT) partage dans le temps (DIT)


X(k)= x(n).WNnk + x(n).Wnk
N
npair nimpair
N/ 21 N/21
X(k)= x(2n).WN2nk + x(2n +1).WN(2n+1)k
n=0 n=0
En exploitant la proprit 3.4, on obtient :
N/ 21 N/ 21
X(k) = x(2n).WNnk/2 +WNk. x(2n +1).WN/nk2 (4)
n=0 n=0

X(k) = G(k)+ WNk .H(k) 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 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

X m (p) Xm+1 (p)

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)

X m (q) 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

TFR DIT N log2N additions/soustractions de nombres complexes, ou,

2 N log2N multiplications de nombre rels,


3 N log2N additions/soustractions de nombre rels.

FFT DIT RADIX-2 en place sur 16 points

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

sortie ordre normal


0
X(6) X(6)
0 4
X(14) X(7)
0 2 6 0
X(1) X(8)
1
X(9) X(9)
0 2
X(5) X(10)
0
3
X(13) X(11)
0 2
4
X(3) X(12)
0
5
X(11) X(13)
0 2
6
X(7) X(14)
0 4
7
X(15) X(15)
2 6
0
FFT FFT inverse A A'
DIT:
k -k
(Dcimation en A' = A + BW A' = A + BW
temps) B' = A - BW k B' = A - BW -k k
-2j -2j
W= e N W= e N B B'
66

Notes :
TFR DIF

TFR (FFT) partage dans les frquences (DIF)


N /2 1 N1
x(n).WN x(n).W N
nk nk
X(k) = +
n =0 n = N/ 2
N /2 1 N/2-1
x(n).WNnk + WNk.N /2 . x(n + 2 ) .WNnk
N
X(k) = (7)
n =0 n =0
N /2 1
[ x(n) + (1) k .x(n + 2 )] WNnk
N
X(k) =
n =0
Xm (p) Xm+1 (p)

x(0) X(0)

x(1) TFD X(2)


N/2 pts X(4)
x(2)
Xm (q) Xm+1 (q)
r
x(3) X(6) -1 WN
x(4) X(1)
0
W8
x(5) TFD X(3) Xm+1(p) = Xm(p) + Xm(q)
W81
x(6)
N/2 pts
X(5) r
W28
Xm+1(q) = [Xm(p) - Xm(q)] WN (8)
x(7) X(7)
W38
67

Notes :
TFR DIF

FFT DIF RADIX-2 en place sur 16 points

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

sortie: ordre bit-reversed


entre: ordre normal

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)

FFT FFT inverse A A'


DIF:
(Dcimation en A' = A + B A' = A + B
B' = (A-B) W k B' = (A-B) W -k k
frquence)
-2j -2j
W= e N
W= e N
B B'
68

Notes :
Transforme de Fourier Rapide

FFT DIT RADIX-2 en place sur 16 points


X(0) X(0)
X(1) X(8)
0
X(2) 0 X(4)
X(3) 0 X(12)
4
X(4) 0 X(2)
entre: ordre normal

sortie: ordre bit-reversed


X(5) 0 X(10)
2
X(6) 0 4 X(6)
X(7) 0 4 X(14)
0 6
X(8) X(1)
0
X(9) X(9)
0 1
X(10) 2 X(5)
X(11) 0 2 X(13)
0 5
X(12) 4 X(3)
0
X(13) 4 X(11)
0 3
X(14) 4 6 X(7)
X(15) 0 4 6 X(15)
7

FFT FFT inverse A A'


DIT:
(Dcimation en k -k
A' = A + BW A' = A + BW
k -k
temps) B' = A - BW B' = A - BW k
-2j -2j
W= e N W= e N B B' 69

Notes :
Transforme de Fourier Rapide

FFT GEOMETRIE CONSTANTE sur 16 points


X(0) X(0)
0 0 0 0 X(1)
X(8)
X(4) X(2)
0 0 2 1
X(12) X(3)
X(2) X(4)
entre: ordre bit-reversed

0 0 4 2
X(10) X(5)

sortie: ordre normal


X(6) X(6)
0 0 6 3
X(14) X(7)

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)

FFT FFT inverse A A'

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)

sortie: ordre bit-reversed


X(5) 0 X(10)
entre: ordre normal

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)

FFT FFT inverse A A'

A' = A+B+C+D A' = A+B+C+D B B'


k -k k
B' = (A-jB-C+jD)W B' = (A-jB-C+jD)W
C' = (A-B+C-D)W 2k C' = (A-B+C-D)W -2k C
2k
C'
D' = (A+jB-C-jD)W 3k D' = (A+jB-C-jD)W -3k
D 3 k D'
-2j -2j
W=e N W=e N 71

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

Le signal y(n) est de dure [0 ... N+M-2]

72

Notes :
III.4 Convolution et corrlation
1 Dfinitions

Exemple de convolution y (n) = x (i) h( n i )


i =0
N>M

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)

Vue matricielle de la convolution


y (0 ) h ( 0) 0 . . 0 x ( 0)
y (1) . h (0 ) . . 0 y (1)

. = h ( M 1) . . . 0 .

. 0 . . . h( 0) .
y ( N + M 2 ) 0 0 . . h( M 1) x( N 1)

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

y (n) = x (n) h(n )

Le signal y(n) est de priode N


h(n-i) est valu modulo N

TFD : Y(k) = H(k).X(k)

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

Problme : h(n) et x(n) doivent tre de dure finie


Application : FIR rapide
h(n) de dure M : H(k) peut tre calcul une fois pour toute
x(n) de dure infinie

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

Mthode OLA (Overlap Add)


Blocs xk de taille M
Addition des recouvrements entre les yk

Mthode 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
Entiers, Virgule fixe

2. Modle de quantification
Caractristiques de quantification
Modle de bruit, Caractristiques de dpassement

3. Bruit de conversion
Filtrage dun bruit

4. Limitation des chemins de donnes


5. Effets en TNS
Filtrage RIF, RII, cycles limites, quantification des coefficients

80

Notes :
IV Quantification
1 Format de codage

Choix d'un format de codage


Format des donnes: entiers, relatif, rel,
Prcision: Acquisition, Calculs
Dynamique: Acquisition, Calculs
Cot des oprateurs matriels
N 1
Codage des entiers positifs D = d i 2i
i=0

Codage des entiers relatifs N 2


Codage signe valeur absolue
Un bit de la reprsentation est affect au signe
D = 1 d N 1
d 2
i =0
i
i

exemple: D = 65 = 01000001; D = -65 = 11000001


Additionneur diffrent pour les additions de nombres, suivant leurs signes

81

Notes :
IV Quantification
1 Format de codage

Codage des entiers relatifs


Codage en complment la base N 2
Codage cyclique modulo 2N D = d N 1 2 N 1 + di 2 i
i =0
On obtient un nombre ngatif en complmentant 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 oprations sont


correctes, mme si un rsultat intermdiaire sort du domaine de codage.
Exemple : (((+2+7)-6)-3) = 0
en codage sign: = ((-1-6)-3) = (-7-3) = -2
en complment 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 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

Codage de nombre compris entre -1 et 1


Codage d'un nombre ngatif similaire celui d'un nombre entier relatif.
Addition : dbordement, 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 cadre 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 rel.
Exposant E: nombre entier relatif. 83

Notes :
IV Quantification
2 Modle en VFCG

Modle
x(n) xQ (n) = Q[x(n)] = k.q x(n) xQ (n)
Q +

e(n) = Q[x(n)] - x(n)

Definition : Approximation de chaque valeur dun signal x(n) par un


multiple entier du pas de quantification lmentaire q.
e(n) est lerreur de quantification -> Modle bruit-blanc additif

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

Valeurs de x(n) lorsqu'il sort de la dynamique de codage

Saturation Modulaire
Complexe Effets indsirables
Moins d'effets indsirables

D(x) D(x)
Xmax
Xmax

Xmax

86

Notes :
IV Quantification
2 Caractristiques de dpassement

Afin d'viter le dpassement, 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)

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

Quantification en conversion A/N Quantification d'une sinusode


x(n) xQ (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

Exemple : filtrage du bruit de conversion

x(n) xQ (n) y(n) x(n) xQ (n) y(n)


CAN Filtre Filtre
+
Q H(z) H(z)

En entre du filtre e(n)

Signal x(n) + Bruit de conversion e(n)


q2
e = , x puissance du signal d ' entre
2 2

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

Le RSB augmente de 6dB par bit ajout


89

Notes :
IV Quantification
4 Limitation des chemins de donnes

Limitation des chemins de donnes de


larchitecture cible
Multiplication => Quantification
Addition => Dbordement
0,1101 0,8125 0,1101 0,8125
+ 0,1001 + 0,5625 x 0,1001 x 0,5625
01,0110 1,375 00,0111 0101 0,4570 3125

90

Notes :
Synthse des filtres numriques

V. Synthse des filtres RII


1. Introduction
2. Rappels sur la synthse des filtres analogiques
3. Invariance impulsionnelle
4. Transformation bilinaire

VI. Synthse des filtres RIF


1. Introduction
2. Filtre phase linaire
3. Mthode du fentrage
4. Mthode de l chantillonnage frquentiel

91

Notes :
V Synthse des filtres RII
1 Introduction

Recherche de H(z) correspondant aux


spcifications (gabarit)
Transposition des mthodes de synthse applicables aux filtres
analogiques, puis transformation de H(p) vers H(z)
Invariance impulsionnelle
Transformation bilinaire
Synthse directe en z
Mthodes d'optimisation : minimiser un critre d'erreur entre courbe
relle et courbe idale

92

Notes :
V Synthse des filtres RII
2 Synthse de filtre analogique
Spcification
Gabarit analogique

Normalisation

Gabarit normalis Ordre du filtre

Approximation de H(p)
Types de filtre
HNorm (p) (Butterworth, Chebyshev,...)

Dnormalisation

H(p)

Filtrage numrique Filtrage analogique

Transformation Choix dune structure


p=f(z)
Rauch, Sallien-Key,
invariance impulsionnelle,
Biquadratique
bilinaire 93

Notes :
V Synthse des filtres RII
2 Synthse de filtre analogique

Normalisation
Calcul de la slectivit s

|HNorm(p)| |HNorm(p)| (dB)


1 s
1+1 1
1 0
1-1 1

2 2

1 s

a) Gabarit prototype linaire b) Gabarit prototype en dB

94

Notes :
V Synthse des filtres RII
2 Synthse de filtre analogique

Ordre du filtre et fonction de transfert


normalise
Butterworth, Chebyschev, Elliptique, Bessel, Legendre, ...
HNORM(pN)

Dnormalisation
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 spcifi
Passage vers H(z)
95

Notes :
V Synthse des filtres RII
3 Invariance impulsionnelle

Le filtre numrique et le filtre analogique ont


la mme rponse impulsionnelle

ha(t) h(nT)

t T t

x(t) y(t) x(nT) y(nt)


Ha(p) H(z)

filtre analogique filtre numrique

h(nT) = ha(t)
/ t = nT 96

Notes :
V Synthse des filtres RII
3 Invariance impulsionnelle

Le filtre numrique et le filtre analogique ont


la mme rponse impulsionnelle
1
= nT
H a ( p )
L
ha (t ) t h ( nT )
Tz
H (z)
ou formulatio n directe
H a ( p)
H (z ) =
{ ples pi de H ( p ) }
Rsidus
1 z e
1 pT
, p i

Conserve la rponse temporelle et la stabilit
Phnomne de recouvrement de spectre du l'chantillonnage
Non respect de la spcification frquentielle

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

Approximation d'une intgrale par la mthode


des rectangles

e(nT)

S(n) = S(n-1) + T[e(n) + e(n-1)]/2

(n-1)T nT t

e(n) s(n) e(t) s(t)


H(z) 1/p
2 1 z 1
Intgrateur p=
T 1 + z 1
Intgrateur
numrique analogique

99

Notes :
V Synthse des filtres RII
4 Transformation bilinaire

Conservation de la stabilit

plan p plan z

z = ejT

p = ja

Relation entre frquences numriques et analogiques

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

filtre analogique filtre numrique 101

Notes :
V Synthse des filtres RII
4 Transformation bilinaire

Procdure de synthse

A partir du gabarit en frquence numrique n


Effectuer une prdistorsion en frquence
T T
a = tg n
2 2
Synthse de H(p) par mthodes du chapitre V.2
Transformation bilinaire

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

Recherche de H(z) correspondant aux


spcifications (gabarit)
Synthse directe en z
Filtres phase linaire ou minimale

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

Filtre phase minimale


Zros dans le cercle unit

Filtre phase linaire


H (e j ) = A( ).e j ( )
A ( ) : pseudo module ( amplitude )
avec
( ) =
Condition pour avoir une phase linaire
Symtrie ou antisymtrie par rapport = (N-1)/2

105

Notes :
VI Synthse des filtres RIF
2 Phase linaire

rponse impulsionnelle symtrique rponse impulsionnelle antisymtrique


=0 =/2

h(n) h(n)
Type I Type III
N impair
entier
N-1
N-1

h(n) Type II Type IV


h(n)

N pair
non entier
N-1
N-1

106

Notes :
VI Synthse des filtres RIF
2 Phase linaire

Type I Type III


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

N pair Type II Type IV


N /2 N/2

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

Type I Type III

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

Dveloppement en srie de Fourier du filtre


idal

H (e j ) = h ( n) e
n =
jn

1
h ( n) =
2
H (e j ).e jn d

Filtre non causal, de type RII

Passage de h(n) idal au RIF approch par


fentrage de h(n)

ha ( n) = h( n). w ( n )

109

Notes :
VI Synthse des filtres RIF
3 Mthode du fentrage

Exemple : filtre passe-bas idal


1 |H(ej )|
Filtre passe-bas idal

c c

c sin( n c )
h ( n) =
n c

110

Notes :
VI Synthse des filtres RIF
3 Mthode du fentrage

Prise en compte d'une condition de phase


linaire par dcalage de
Fentrage 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 Synthse des filtres RIF
3 Mthode du fentrage

Largeur de la zone de transition 1/2 largeur du lobe principal


Attnuation A amplitude du premier lobe secondaire

^
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

Le type de fentre influe sur A et


Le nombre de points influe sur

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

TFD inverse de H(ke )


N 1 2
1
H ( k
j n .k
h ( n) = e )e N
N k =0

Mthode valable pour tout type de filtre


Possibilit d'utiliser un fentrage
116

Notes :
VII Analyse spectrale
1 Dfinition

Analyse spectrale de signaux continus


Etude du contenu frquentiel (spectre) d'un signal continu xc(t)
Nombre limit d'chantillons du signal d'entre pour la TFD

xc(t) Filtre P.Bas x(n) xN(n)


CAN ||2
anti-repliement x FFT
Fe
c =

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

Influence sur le spectre


Convolution frquentielle X N (e j ) = X (e j ) *W N (e j )

TFD du signal tronqu


L 1 2 j
kn
X N ( k ) = x N ( n) e L
k = 0 ..L 1
n =0

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

fonction cosinus fentre sur N=32 points

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

Ajout de L-N zros la suite de x(n) avant TFD sur L points

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

Dcimation d'un facteur M


x(nT) xd(nT')
M
t t
T' = MT
F'e = Fe/M
xd (n) = x(nM )
M 1
1
X d (e j ) =
M
X (e
i =0
j ( / M 2 i / M )
)

Pour viter le recouvrement de spectre, le signal xc(t) doit tre


bande limite et respecter le thorme de Shannon par rapport T'

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

Optimisation du filtre dcimation


x(nT)
T T T
b0 b1 b2 b3
v(nT) y(nT')
+ + + 2

131

Notes :
VIII Systmes multi-cadences
3 Interpolation

Interpolation d'un facteur L


Objectif : augmenter la frquence d'chantillonnage d'un signal x(n)
chantillonn la priode T d'un facteur L
xi (n) = x(n / L) = xc (nT ' ), avec T ' = T / L
Elvateur de frquence
Ajout de L-1 zros entre 2 chantillons de x(n)
x(nT) xe(nT')
L
t
t
x(n / L), n = 0, L, 2 L, ...
x e ( n) =
0 ailleurs
X e (e jT ' ) = X (e jT )
Pas d'effet sur le spectre
j jL
X e (e ) = X (e ) 132

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).

x(nT) xe(nT') Filtre Passe Bas xi(nT')


L Gain = L
c = /L
133

Notes :
VIII Systmes multi-cadences
3 Interpolation

Optimisation du filtre interpolation


x(nT) v(nT')
2 T T T
b0 b1 b2 b3
y(nT')
+ + +
Multiplication de Fe par un facteur rationnel
R=L/M
T' = T.M/L

x(nT) Filtre Passe Bas y(nT')


L Gain = L M
c = min(/L, /M)

134

Notes :

Das könnte Ihnen auch gefallen