47
1 Filtrage numérique Filtrage numérique Filtrage numérique Filtrage numérique Le traitement (numérique) du signal apparaît : transmettre de l’information manipuler de l’information : amélioration, détection, prédiction stocker de l ’information Applications : audio-visuelles : TV numérique (DVB), radio codage numérique : CD,DVD,codage MP3,WAV… communications en fixe ou en mobile (réseau internet, modems fixes, téléphonie mobile...)

Duval L 2009 Lecture-Supelec-TNS RIF · l’impulsion unité définie par : ... Sous Matlab, on utilise la fonction freqzpour représenter directement la réponse en fréquence. 21

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    Filtrage numériqueFiltrage numériqueFiltrage numériqueFiltrage numérique

    � Le traitement (numérique) du signal apparaît :

    � transmettre de l’information

    � manipuler de l’information : amélioration, détection, prédiction

    � stocker de l ’information

    � Applications :

    � audio-visuelles :

    � TV numérique (DVB), radio

    � codage numérique : CD,DVD,codage MP3,WAV…

    � communications en fixe ou en mobile (réseau internet, modems fixes,

    téléphonie mobile...)

  • 2

    Exemple 1 : amélioration (d.) d'images (g.)Exemple 1 : amélioration (d.) d'images (g.)

  • 3

    Exemple 2 : filtrage Exemple 2 : filtrage nonnon--déterministedéterministe

    Original

    Bruité Débruité

    100 200 300 400 500

    100

    200

    300

    400

    500

    100 200 300 400 500

    100

    200

    300

    400

    500

    100 200 300 400 500

    100

    200

    300

    400

    500

  • 4

    Exemple 3 : filtrage déterministeExemple 3 : filtrage déterministe

  • 5

    Exemple 4 : filtrage déterministeExemple 4 : filtrage déterministe

  • 6

    Exemple 5 : opérateurs de lissageExemple 5 : opérateurs de lissage

  • 7

    Exemple 6 : lissage et dérivationExemple 6 : lissage et dérivation

    1200 1400 1600 1800 2000 2200 2400 2600 2800

    0

    10

    20

    30

    40

    50

    60

    70

    80

    90

    Robust Recursive Pressure

    Pressure

    Rob. Rec.

    1200 1400 1600 1800 2000 2200 2400 2600 2800

    -2

    0

    2

    4

    6

    8

    10

    12

    14

    16

    Robust Recursive Gradient

    Gradient

    Rob. Rec.

    5 0 1 0 0 1 5 0 2 0 0 2 5 0

    0 . 2

    0 . 4

    0 . 6

    5 0 1 0 0 1 5 0 2 0 0 2 5 0

    - 1

    0

    1

    5 0 1 0 0 1 5 0 2 0 0 2 5 0

    - 1

    0

    1

  • 8

    Plan de coursPlan de cours

    � Première partie : Filtres linéaires invariants dans le temps

    Concepts de base (rappels, rejoint le cours de systèmes linéaires)

    Filtres à réponse impulsionnelle finie (RIF-FIR)

    Filtres non-linéaires à support fini

    Filtres à réponse impulsionnelle infinie (RII-IIR), récursifs

    Signaux analytiques

    Systèmes multicadences, bancs de filtres

    � Deuxième partie, E. Florian : filtrage adaptatif, filtrage adapté,

    égalisation, synchronisation...

  • 9

    BibliographieBibliographie

    � Bellanger M., Traitement Numérique du Signal – Dunod 1995.

    � Shenoi K., Digital signal processing in Telecommunications -

    Prentice-Hall 1995.

    � Proakis J. G., Digital Communications, Mc Graw-Hill, 1995.

    � Oppenheim & Schafer, Digital Signal Processing

    � J. O. Smith :

    � http://ccrma.stanford.edu/~jos/filters/

  • 10

    Première partie : fPremière partie : filtresiltres linéaireslinéaires invariants invariants dansdans le tempsle temps

    � Concepts de base (notions à maîtriser)

    � 1.1. Les signaux à temps continu (analogiques)

    � Transformée de Laplace

    � Transformée de Fourier

    � Développement en série de Fourier

    � Produit de convolution

  • 11

    1.2. Rappel sur les signaux à temps discret (numériques)

    � La numérisation :

    x(t) => x(nT) ses valeurs à des instants multiples de T

    notation : x(n) = x(nT)

    T est la période d ’échantillonnage. Par def. :

    T = 1/ Fe Fe fréquence d ’échantillonnage

    La TF du signal échantillonné s ’écrit :

    ∑+∞

    −∞=

    −=n

    e TnfXT

    fX )/(1)(

    La TF du signal échantillonné est périodique de période 1/T

  • 12

    Exemple :

  • 13

    � La TF d ’un signal numérique est :

    ∑+∞

    −∞=

    −=

    n

    njenxX

    νπν 2)()(

    ν est la une grandeur sans dimension, appelée fréquence réduite :

    ν = f T = f / Fe

    On défini aussi une pulsation réduite ω = 2πν

    � La TF inverse est :

    � La Transformée en z :

    Soit x(n), n entier, un signal discret.

    νν ω deXnxnj∫

    =21

    21

    )()(

    X(z) = ∑+∞

    −∞=

    n

    nznx )( où z est un nombre complexe.

  • 14

    On note que avec z = e(jω) obtient la TF

    Propriétés de la Tz :

    1. Linéaire Z (a x(n) + b y(n)) = a X(z) + bY(z)

    2. Un retard de k échantillons se traduit par une multiplication de z -k

    3. Tz ( an x(n)) = X(a-1 z)

    Tz ( n x(n)) = - z dX(z)/dz

    Tz (x(-n)) = X(z-1)

    4. x z X zz

    ( ) lim( ) ( )+∞ = −→1

    1 , c’est le théorème de la valeur finale.

    5. x X zz

    ( ) lim ( )0 =→+∞

    , c’est le théorème de la valeur initiale.

  • 15

    1.3. Notion de système numérique linéaire invariant 1.3. Notion de système numérique linéaire invariant

    (dans le temps)(dans le temps)

    � Un système LIT est un système qui convertit une suite x(n) en une

    suite y(n).

    � Linéaire si ax1(n) + bx2(n) est convertie en ay1(n) + by2(n)

    � invariant dans le temps si x(n-k) => y(n-k)

    � Dans l’étude des LIT, on utilise :

    � l’impulsion unité définie par :

    δ(n)= 1 si n = 0 et δ(n)= 0 sinon

    � l’échelon unité défini par :

    Γ(n) = 1 si n ≥ 0 et Γ(n) = 0 si n < 0

  • 16

    � L ’impulsion retardée de k échantillons et de poids x(k) :

    x(k) δ(n - k)

    => un signal peut s ’écrit comme ∑+∞

    −∞=

    −=k

    knkxnx )()()( δ

    � Un système LIT peut se définir par h(n) sa réponse impulsionnelle

    (réponse à δ(n))

    Soit un LIT h(n) :

    la réponse à x(k) δ(n - k) est x(k)h(n-k) (invariance)

    la réponse au signal x(n) est :

    On note aussi y(n) = h(n) ∗ x(n) , produit de convolution

    ∑+∞

    −∞=

    −=k

    knhkxny )()( )(

  • 17

    � Un système LIT causal est tel que h(n) = 0 pour n < 0

    Dans ce cas :

    ∑+∞

    =

    −=0

    )()( )(k

    knxkhny

    � Les TF et les Tz vérifient :

    Y(ν) = H(ν) X(ν) et Y(z) = H(z) X(z)

    Propriété : Pour qu’un LIT soit stable, il faut et il suffit que ∑+∞

    −∞=n

    nh )( soit fini.

  • 18

    2. Les filtres à réponse 2. Les filtres à réponse impulsionnelleimpulsionnelle finiefinie

    � Les filtres à réponse impulsionnelle finie (RIF) sont des LIT.

    � Ils sont définis par une équation selon laquelle la sortie du système

    (ou filtre) est obtenue par sommation pondérée des échantillons

    d ’entrée :

    � Les filtres réalisables sont causaux et de dimension finie

    � Filtre, ou système à mémoire finie (fonction d ’un nombre limité

    d ’échantillon d ’entrée)

    � les h(k) sont appelés les « coefficients » du filtre

    filtredu dimension laest K )()( )(1

    0∑

    =

    −=K

    k

    knxkhny

    ∑+∞

    −∞=

    −=k

    knxkhny )()( )(

  • 19

    � Premier exemple : y(n) = 0.5 ( x(n) + x(n-1) )

    � h(0) = 0.5 et h(1) = 0.5 h(k) = 0 ailleurs

    � La Tz : H(z) = 0.5 (1 + z-1)

    � La TF : H(ν) = 0.5 (1 + e-jω) = 0.5 e-jω/2(ejω/2+e-jω/2) = e-jω/2 cos(ω/2)

    Généralement, on représente H(ν) sous la forme :

    eRenhHjnj

    n

    )()( )( )( ωϕω ων −− ==∑

    +∞

    −∞=

    où R(ω) est réel

    R(ω) est appelé « réponse en amplitude », et ϕ(ω) la réponse en phase

    Dans cet exemple, il est clair que :

    R(ω) = cos(ω/2) et ϕ(ω) = ω/2

  • 20

    -1.0 -0.5 0 0.5 1.00

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    |R(ω)|

    ν

    � Représentation graphique :

    Sous Matlab, on utilise la fonction freqz pour représenter

    directement la réponse en fréquence

  • 21

    2.2. Les filtres à phase linéaires2.2. Les filtres à phase linéaires

    � Un des principaux intérêts des RIF est de pouvoir réaliser des filtres

    à phase linéaire = 1 filtre dont le temps de propagation est

    indépendant de la fréquence

    eRenhHjnj

    n

    )()( )( )( ωϕω ων −− ==∑

    +∞

    −∞=

    filtre à phase linéaire : ϕ(ω) = ϕ0 + ωττ est le temps de propagation de groupe

    Pour déterminer la structure des filtres à phase

    linéaire, on calcule la TF inverse

  • 22

    � On pose ϕ0 = 0

    � R(ω) est une fonction réelle, elle se décompose en :

    R(ω) = P (ω) + I (ω)

    � On fait le changement de variable n -> n + τ

    νωνν ωωτϕω deeeRdeHnhnjjjnj ∫∫

    −−

    ==21

    21

    21

    21

    0)( )( )(

    νω τωϕ deRenhnjj )(

    21

    21

    )( )( 0 −

    − ∫=

    ( ) ( ) ντωτωωω dnjnIPnh ))(sin())(cos( )()( )(21

    21

    −+−+= ∫−

  • 23

    � Si l ’on ne s ’intéresse qu ’aux filtres réels :

    νωωτ dnPnh )cos()(2 )(21

    0∫=+

    � Il est clair que :

    h(n+τ ) = h(-n+τ )

    => symétrie de h(n) par rapport à τ

    � 2 cas de figure si K = 2N + 1 ou K = 2N

    � K = 2N + 1 :

    H(ν) = e- jωN

    ++ ∑

    =

    N

    k

    kkNhNh1

    )cos()( 2)( ω

    Si K = 2N :

    H(ν) = 2 e- jω(N-1/2) ( )

    ++∑

    =

    1

    0

    )2/1(cos)( N

    k

    kkNh ω

  • 24

    � Un raisonnement identique avec ϕ0 = π/2

    H(ν) = - 2j e- jωN

    +∑

    =

    N

    k

    kkNh1

    )sin()( ω

    H(ν) = - 2j e- jω(N-1/2) ( )

    ++∑

    =

    1

    0

    )2/1(sin)( N

    k

    kkNh ω

  • 25

    2.3. Synthèse des filtres RIF2.3. Synthèse des filtres RIF

    � Les RIF sont utilisés souvent pour mettre en forme 1 signal :

    Amplifier certains fréquences, en atténuer d ’autres

    => généralement, un filtre satisfait à des conditions imposées dans

    le domaine fréquentiel.

    => on défini un « gabarit »

  • 26

    � Pour calculer les coefficients, plusieurs méthodes souvent

    implantées dans des logiciels de calcul (Matlab, Cossap, SPW, …)

    0

    1

    1 + δ1

    1 − δ1

    ν1

    δ2

    ν11/2

    filtre idéal

    filtre réel

    gabarit

    |H|

    ν2

    On défini :

    • une bande passante, une bande atténuée

    • une bande de transition ∆ν = ν2 - ν1

  • 27

    � Pour calculer les coefficients du filtre satisfaisant au gabarit,

    plusieurs techniques :

    � Synthèse par fenêtrage

    � Méthode des moindres carrés

    � Autres (technique itérative, …)

    � Le fenêtrage permet de réaliser des RIF à phase linéaire à partir

    d ’une réponse en fréquence idéale

    � Technique simple : TF inverse de Hi(ν) (filtre idéal), puis troncature à un nombre fini de coefficients

  • 28

    � Exemple : Hi(ν) = 1 pour -νc< ν < νc et 0 ailleurs

    1

    11 -

    Hi

    c c

    υ

    υυυ

    ( )

    � On a :

    � La séquence obtenue est infinie, mais "décroissante" lorsque n ->+/- ∝

    )( )(21

    21

    νν ω deHnhnj

    ii ∫−

    = ( ) ( )nn

    nh ci πνπ

    2sin1

    =

  • 29

    � La première idée : tronquer la réponse impulsionnelle obtenue

    Exemple pour νc = 0.25, et pour un nombre de coefficients impair,

    de n= - 10 à n = 10 (21 coefficients)

    -10 -8 -6 -4 -2 0 2 4 6 8 10-0.2

    -0.1

    0

    0.1

    0.2

    0.3

    0.4

    0.5

  • 30

    � Le fait de tronquer la réponse impulsionnelle = multiplier par une

    fenêtre temporelle rectangulaire

    => On a : hr(n) = hi(n) × fe(t)

    Dans le domaine fréquentiel, produit de convolution par la FT de la

    fenêtre,

    ( ) ( )ffkT

    fFEππ2sin

    =

    fe(t) = 1 pour ≤t kT, fe(t) = 0 sinon

  • 31

    � On obtient :

    -1.5/kT -1/kT -0.5/kT 0 0.5/kT 1/kT 1.5/kT0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Lobe principal

    Lobes secondairesLobes secondaires

  • 32

    � On obtient pour la TF du filtre :

    ν0 1/4-1/4

  • 33

    � => une fenêtre temporelle rectangulaire crée des ondulations

    � pour essayer de les réduire ces ondulations, on utilise des fenêtres de

    pondération :

    Fenêtre de Hamming : ( )

    +=

    kT

    ttfe

    πcos46,054,0 pour ≤t kT

    En numérique : ( )

    +=

    k

    nnfeT

    πcos46,054,0 pour -k ≤ n ≤ k

    Fenêtre de Blackmann : ( )

    +

    +=

    k

    n

    k

    nnfeT

    ππ 2cos08,0cos5,042,0 pour -k ≤ n ≤ k.

    Les performances sont les suivantes :

    fenêtre amplitude du lobe secondaire largeur du lobe principal

    rectangulaire -13dB 1/kT

    Hamming -41dB 2/kT

    Blackmann -57dB 3/kT

  • 34

    � Dans la plupart des applications du TNS (grand public, militaires ou

    autres), intervient la notion de coût

    � Généralement, on recherche un compromis entre performances et

    coût

    => De quoi a-t ’on réellement besoin ?

    � Parmi les paramètres essentiels du coût sont :

    � la complexité calculatoire (= nombre d ’ops / unité de temps)

    � la précision nécessaire (= nombre de bits)

    � Pour un RIF, la complexité calculatoire est donnée principalement

    par le nombre de coefficients des filtres

    2.4. Paramètres de réalisation2.4. Paramètres de réalisation

  • 35

    � En analysant 1 grand nombre de filtres, on obtient l ’estimation

    pour un filtre passe-bas :

    Exemple : δ1 = 0.017 ; δ2 = 0.034 ; f1 = 0.10375 ; f2 = 0.14375 ;

    ∆f = 0.04 et Fe = 1

    ( )21

    1010

    1ln3

    2δδν∆

    ≈Ne

    0

    1

    1 + δ1

    1 − δ1

    ν1

    δ2

    ν11/2

    filtre idéal

    filtre réel

    gabarit

    |H|

    ν2

  • 36

    � Un autre paramètre de réalisation est le nombre de bits que

    demande l ’implantation d ’un filtre

    En effet, la complexité (le coût) dépend du nombre de bits du

    calculateur (DSP, FPGA, …)

    � De même que pour Ne, une formule semi-empirique donne :

    { }

    +

    ∆−

    ++≈

    21

    21

    ,min

    1

    1

    2

    1

    2 3

    δδνν

    ννlblblbbc

    � La mise en œuvre d ’un RIF se fait par des circuits qui réalisent des

    opérations d ’addition, de multiplication et de mise en mémoire.

    � Aucune opération réelle n ’étant instantanée, l ’opération de filtrage:

    y(n) = ∑=

    −−k

    i

    inxih2

    0

    )1()(

  • 37

    � On obtient la structure :

    � Pour réaliser le filtrage, il faut 2k + 1 mémoires, 2k + 1

    multiplications et 2k additions

    + + + +

    + + + +

    z z z z z

    h(0) h(1) h(2) h(2k-1) h(2k)

    y(n)

    x(n)x(n-2k-1)

    -1 -1-1 -1-1

  • 38

    Direct form 2Direct form 2ndnd orderorder

  • 39

    Transposed direct form 2Transposed direct form 2ndnd orderorder

  • 40

    Cascade direct formCascade direct form

  • 41

    Direct form (Tapped delay line)Direct form (Tapped delay line)

  • 42

    Transposed direct formTransposed direct form

  • 43

    LinearLinear--phase type 1phase type 1

  • 44

    LinearLinear--phase type 2phase type 2

  • 45

    Symmetric FIR type ISymmetric FIR type I

  • 46

    Symmetric FIR type IISymmetric FIR type II

  • 47

    Autres filtres spécifiques Autres filtres spécifiques

    � Respects des pics d'un signal

    � famille de filtres lissants et dérivateurs : Savitsky-Golay (1964)

    � approximations polynomiales d'ordre K, sur des fenêtres L