6 - PowerPoint PPT Presentation

1 / 105
About This Presentation
Title:

6

Description:

Interruptions 5.1 g n ralit s demande d interruption sauvegarde du contexte traitement de l ... un signal analogique x ... du signal appliquer en ... – PowerPoint PPT presentation

Number of Views:181
Avg rating:3.0/5.0
Slides: 106
Provided by: MesuresP4
Category:

less

Transcript and Presenter's Notes

Title: 6


1
2009/2010
Programmation des systèmes embarqués
Répartition horaire 
Cours - TD  12 h
TP  18 h
  • Auteurs du document 
  •      Myriam Chesneau / Thierry Suaton
  • Responsable du document 
  •     Myriam Chesneau
  • Intervenants
  •      Myriam Chesneau
  • Jean-Noël Martin
  •      

Dernière mise à jour 24/10/2008
2
Programmation des systèmes embarqués
  • Les bases
  • CH 1 . Introduction au microcontrôleur
  • Présentation dun microcontrôleur élémentaire et
    application dans le cadre de linstrumentation
  • CH 2 . Bases de filtrage analogique
  • Rappels sur les représentations temps-fréquence,
    présentation des filtres et gabarits, exemple de
    réalisation dun filtre analogique
  • CH 3. Introduction au filtrage numérique
  • Outils mathématiques utilisés pour le filtrage
    numérique, présentation et principe de
    réalisation des filtres RII et RIF
  • Ouverture
  • en fin de module ISA (instrumentation spécifique
    audionumérique) ouverture sur les DSp et FPGA,
    qui permettent de faire du filtrage temps réel et
    embarqué.
  • En TP 4 implémentation dun filtre sur DSP

3
Ch 1 Introduction au microcontrôleur
  • Un microcontrôleur comprend
  • - Une unité de traitement de linformation de
    type microprocesseur
  • - Des périphériques internes
  • ? Il permet la réalisation dapplications
    autonomes sans ajout de composants externes

4
Présentation du circuit
alimentations
  • 1.1 Schéma de principe

Mémoire FLASH pour stocker le programme (permanent
e)
Mémoire RAM de travail (volatile)
Mémoire EEPROM pour stocker les données
(permanente)
  • Unité
  • décodage instructions
  • traitement
  • calculs

Timer Compteur
Horloge
Ports I/O
Circuits de mise en route et de veille
5
(No Transcript)
6
  • 1.2 Les mémoires
  • La mémoire flash (16F84)
  • contient le programme compilé
  • possède 1024 emplacements de 14 bits (taille
    dune instruction)
  • conserve les données hors tension
  • La RAM
  • permet le stockage des données temporaires
    nécessaires à lexécution du programme
  • possède 68 octets 15 registres spécialisés de 8
    bits
  • son contenu est perdu en cas de coupure

7
  • LEEPROM
  • contient des données produites par le programme
  • conserve les données hors tension
  • 1.3 Unité  centrale 
  • Elle récupère les instructions du programme, les
    décode et les exécute.

8
  • 1.4 Lhorloge
  • Elle reçoit un signal périodique issu dun
    oscillateur, et fabrique la référence  temps 
    du système.
  • Une instruction élémentaire est en général
    exécutée en 1 cycle, soit 4 périodes du signal de
    loscillateur.
  • Avec un oscillateur à 4 MHz, un µc PIC16F84-04
    peut effectuer un million (4 M / 4) instructions
    simples.

9
  • 1.5 Les circuits de mise en route et de veille
  • Ils permettent
  • de réaliser une bonne mise sous tension du
    système,
  • de le mettre en veille en cas de non
    utilisation,
  • de sortir convenablement du mode veille.

10
2. Les périphériques
  • 2.1 Ports dentrées sorties
  • Le port A fournit 5 entrées - sorties RA0 RA4
  • RA0 RA3
  • En entrée comprennent les niveaux TTL
  • En sortie délivrent des niveaux TTL 0 ou 5
    V
  • RA4
  • En entrée trigger de Schmitt pour convertir en
    TTL (cf TD EON)
  • En sortie drain ouvert
  • Peut être connectée à lentrée du timer pour du
    comptage

11
  • Le port B fournit 8 entrées sorties
  • RB0 RB7 délivrent et reçoivent des niveaux TTL
  • En entrée peuvent être connectées au 5 V par
    programme
  • de plus
  • RB0 peut être utilisée pour une interruption
    externe, elle fonctionne alors en trigger de
    Schmitt
  • RB6 et RB7 sont utilisées pour charger le
    programme en mémoire (attention, ne pas les
    utiliser pour une autre tâche au moment du
    chargement)
  • Si RB4 à RB7 sont en entrée, on peut décider par
    programme de générer une interruption si la
    valeur dune de ces entrées a changé.

12
  • 2.2 Le compteur timer
  • Le compteur-timer possède 8 bits.
  • Il compte les fronts montants ou descendants
    présents sur son entrée ( 0,1,. 255FF)h)
  • Le timer-compteur est associé à un registre TMR0
    (Timer 0)
  • En fin de compte passage de 255 à 0, un bit
    dun registre spécifique est mis à 1 cest le
    bit de débordement (overflow).

TMR0
13
  • Un diviseur de fréquence (Prescaler) permet de
    diviser la fréquence du signal à appliquer en
    entrée du compteur
  • La fréquence peut être divisée par 2, 4, 8, 16,
    32, 64, 128 ou 256.

14
  • Comme le compteur-timer dune carte
    dacquisition, le compteur peut être utilisé
  • En compteur
  • Le signal dentrée du compteur est externe, il
    est connecté sur la ligne 4 du port A
  • Le compte sincrémente sur chaque front de
    lhorloge
  • Il est accessible dans le registre TMR0

TMR0
15
  • En timer
  • Le signal dentrée du compteur est celui de
    lhorloge(fo fosc/4 1 MHz)
  • Le compte sincrémente sur chaque front de
    lhorloge
  • On peut positionner le compte de départ à une
    valeur choisie dans le registre TMR0.
  • On utilise le bit de débordement pour mesurer le
    temps écoulé entre le départ et larrivée à 0 .

16
3. Les registres du PIC
  • Les registres spécialisés du PIC permettent
  • de définir le fonctionnement du PIC
  • de sinformer sur létat du PIC
  • de configurer les périphériques
  • de communiquer (lecture / écriture) avec les
    périphériques

17
  • 3.1 Le registre des interruptions
  • INTCON
  • permet le contrôle des interruptions et leur
    localisation et
  • indique la fin de compte du timer

GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
Int non masquées autorisées Int EEPROM autorisée Int dépast timer autorisée Int externe (RB0/INT) autorisée Int Changt RB4-7 autorisée Dépast timer Int externe Changt RB4-7
1 oui 0 non 1 oui 0 non 1 oui 0 non 1 oui 0 non 1 oui 0 non 1 oui 0 non 1 oui 0 non 1 oui 0 non
18
  • 3.2 Les registres des ports
  • TRISA indique la direction des lignes du port
    A1 entrée, 0 sortie
  • PORTA lecture écriture du contenu du port A
  • TRISB indique la direction des lignes du port
    B1 entrée, 0 sortie
  • PORTB lecture écriture du contenu du port B

X X X Dir RA4 Dir RA3 Dir RA2 Dir RA1 Dir RA0
Dir RB7 Dir RB6 Dir RB5 Dir RB4 Dir RB3 Dir RB2 Dir RB1 Dir RB0
19
  • 3.3 Les registres du timer
  • TMR0 permet décrire et de lire le compte du
    timer/compteur
  • INTCON permet de connaître létat du bit de
    débordement ( dépassement timer TOIF timer
    output interrupt flag)
  • OPTION permet de définir, entre autres, les
    paramètres du timer/compteur
  • source de lentrée du compteur
  • utilisation du diviseur
  • valeur du diviseur

20
  • OPTION
  • A la mise sous tension, tous les bits sont
    positionnés à 1.

NOT RBU INTEDG TOCS TOSE PSA PS2 PS1 PS1 PS0
RBi à Vcc Interruption externe Source dhorloge Front source externe Diviseur dhorloge Sélection du diviseur dhorloge Sélection du diviseur dhorloge Sélection du diviseur dhorloge Sélection du diviseur dhorloge
1 non 0 oui 1 front 0 front - 1 externe() 0 fosc/4 1 front 0 front 1 watchdog 0 timer Timer 000 2 001 4 111 256 Timer 000 2 001 4 111 256 Watchdog 000 1 001 2 111 128 Watchdog 000 1 001 2 111 128
RB0 / INT () RB4/TOCKl Timer 000 2 001 4 111 256 Timer 000 2 001 4 111 256 Watchdog 000 1 001 2 111 128 Watchdog 000 1 001 2 111 128
21
4. Programmation
  • 4.1 Procédure et logiciels
  • Pour utiliser le PIC, il faut respecter les
    phases suivantes
  • Écriture du programme dans un langage évolué
  • Traduction du programme en langage PIC (type
    assembleur 35 instructions)
  • Transfert du fichier obtenu en mémoire flash du
    PIC
  • Mise en fonctionnement du PIC

22
  • Le positionnement dune broche du PIC permet de
    choisir entre les modes
  • Chargement du programme (PGN) pour la phase 3
  • Normal (RUN) pour la phase 4

23
  • Nous utiliserons
  • Léditeur de texte ConText pour écrire le
    programme en langage C fichier xxx.c, puis à
    partir de cette éditeur, nous appellerons
  • Cc5x pour la création du fichier en langage PIC
    xxx.exe, puis
  • NTPicprogVf pour le transfert de ce fichier de
    lordinateur vers la mémoire flash du PIC par
    liaison série
  • Tous ces logiciels sont libres

24
  • 4.2 Adresse des registres
  • Chaque registre possède une adresse dans la RAM
  • Exemple PORTB est un registre 8 bits situé à
    ladresse 06 de la RAM
  • Dans le logiciel utilisé, le nom dun registre
    coïncide avec son adresse
  • PORTB 0b01011100permet décrire les 8 bits
    01011100 à ladresse 06 de la RAM

25
  • On peut utiliser les bases 2, 10 ou 16
  • PORTB 0b01011100
  • PORTB 92
  • PORTB 0x5C
  • Pour désigner le bit ni du registre XXX, on
    utilise XXX.I
  • Exemple TRISA.0 désigne le bit 0 du registre
    TRISA.

26
  • Grâce à lajout dun fichier en tête spécial
    (16f84.h), un nom est associé à chaque bit de
    certains ports
  • RA0 1
  • équivaut à
  • PORTA.0 1
  • et permet de mettre à 1 le bit 0 du port A sans
    modifier les autres.

27
  • On peut ajouter de telles définitions au sein du
    programme
  • (en C)
  • define TOIF INTCON.2
  • permet de nommer TOIF le bit n2 du registre des
    interruptions INTCON

28
  • 4.3 Exemple de programmation des ports
  • Pour utiliser les lignes des ports A et B, il
    faut
  • Définir la direction des lignes entrée ou
    sortie
  • Écrire sur les lignes en sortie ou lire les
    lignes en entrée
  • On peut travailler sur un port en entier ou sur
    une ligne
  • TRISA.0 0TRISB.5 1RA0 RB5
  • TRISB 0b00000000PORTB 0b01010101

29
  • 4.4 Programmation du timer (voir exemples en TD)

INTCON.2 TOIF
OPTION.210 PS2 PS1 PS0 prescaler
OPTION.5 TOCS clock source
OPTION.4 TOSE source edge
OPTION.3 PSA
30
  • Remarques complémentaires
  • On travaille principalement avec des bits ou des
    octets.
  • On peut utiliser la représentation binaire avec
    le logiciel ConText
  • unsigned char octet
  • octet 0b11001110

31
5. Interruptions
  • 5.1 généralités

32
  • demande dinterruption
  • sauvegarde du contexte
  • traitement de l'interruption en exécutant des
    lignes de programme lecture et stockage des
    données
  • restitution du contexte et reprise de la tâche
    initiale

33
  • 5.2 Sources dinterruption
  • Le PIC utilisé en possède 4, le programme en
    cours peut-être interrompu si
  • un front ( ou -) est présent sur RB0
  • une des lignes RB4 à RB7 change détat (lignes
    placées en entrée)
  • le timer atteint la fin de son cycle
    (débordement)
  • une écriture dans lEEPROM est terminée
  • Pour utiliser une interruption, il faut
  • autoriser les interruptions en général
  • autoriser une (ou ) interruptions en particulier

34
  • 5.3 cas du PIC
  • Voir documentation en TP pour la programmation

35
En guise dintroduction au filtrage
  • Extrait de larticle Le filtrage numérique des
    signaux nest pas quun filtre analogique
    numérisé paru dans la revue Mesures n 749
    Novembre 2002
  • Le filtrage est une étape essentielle dans une
    chaîne dacquisition de données. Il permet
    disoler une fréquence particulière ou déliminer
    des fréquences parasites.
  • Couramment utilisés, les filtres analogiques
    manquent de précision et sont limités en types de
    gabarit disponibles.
  • Le filtrage numérique na pas ces limitations. Il
    utilise des algorithmes de calcul implémentés
    dans des DSP ou des FPGA.
  • Avantages pas de dérive, filtres exotiques,
    filtres facilement modifiables

36
Ch 2. Bases de filtrage analogique
  • Un filtre analogique reçoit en entrée un signal
    en tension x(t) et délivre en sortie le signal
    filtré y(t).
  • Le filtre modifie le spectre du signal dentrée.

37
Ce que vous savez déjà
  • 1.1 Représentations temps/fréquence rappels
  • Un signal peut être décrit dans le domaine du
    temps ou dans le domaine des fréquences.
  • Dans le domaine temporel, on observe s(t) à
    loscilloscope
  • Dans le domaine fréquentiel, on observe S(f) à
    lanalyseur de spectre
  • S(f) est la transformée de Fourier de s(t)Cest
    une grandeur complexe  module phase.
  • On appelle spectre (bilatéral) le module de S(f)

38
  • Exemple
  • Informations données par le chronogramme
  • Informations données par le spectre (donné ici
    pour fgt0)

39
  • La FFT est une approximation de la transformée de
    Fourier dun signal s(t)
  • échantillonné à Féch
  • observé sur une durée Tobs ( Tobs Néch / Féch)
  • Le module de la FFT de s(t) coïncide avec S(f)
  • si le signal est convenablement échantillonné et
    observé.
  • pour 0 lt f lt Féch/2.

40
  • 1.2 Filtres analogiques
  • En électricité et en électronique, on a déjà
    rencontré des filtres analogiques
  • Filtre passe-bas RC
  • Filtre résonnant RLC
  • Filtre actif AOP R C

41
  • Les filtres qui ne nécessitent pas dalimentation
    sont appelés filtres passifs
  • RC
  • RLC
  • À quartz
  • À lignes imprimées
  • Les filtres alimentés sont appelés filtres actifs
  • AOP R C
  • Transistors R C
  • À capacités commutées

42
  • On sintéresse ici à la conception de filtres
    actifs à amplificateurs opérationnels,
    résistances et condensateurs, à partir dun
    cahier des charges précis le gabarit.

43
2. Filtre et gabarit
  • Un filtre permet de traiter différemment les
    différentes composantes spectrales dun signal.

FiltreH(f) Y(f)/X(f)
x(t) X(f)
y(t) Y(f)
44
  • 2.1 Filtre idéal - Filtre réel
  • Un filtre idéal
  • transmet les composantes situées dans sa bande
    passante
  • supprime les composantes situées en dehors de sa
    bande passante
  • Un tel filtre nest pas réalisable.

45
  • Un filtre réel ne supprime pas complètement les
    composantes hors bande, mais les atténue,
    dautant plus fortement que son ordre est élevé.

46
  • Un gabarit représente les bornes de gain admises
    dans diverses bandes de fréquence.
  • Bande passante  gain nominal (0 dB souvent)
    erreur maximum admise (a)
  • Bande atténuée  gain maximum admissible  b
  • Bande passante fp et bande atténuée fa.(sélecti
    vité k fp/fa)
  • Rq  rien nest précisé sur un tel gabarit en
    termes de phase.

Exemple du filtre passe-bas de fréquence de
coupure fp à  a  dB.
47
  • 2.2 Les 4 grandes familles de filtres
  • Passe bas

H(f) 20 log (H(f) échelle log en f

48
  • Passe haut

H(f) 20 log (H(f) échelle log en f

49
  • Passe bande
  • Coupe bande
  • Rq  se familiariser avec ces deux
    représentations, utilisées fréquemment et
     mélangées .

H(f) 20 log (H(f) échelle log en f

50
3. Réalisation pratique cas du passe-bas
  • 3.1 Transformation du cahier des charges en
    gabarit

51
  • 3.2 Normalisation
  • La normalisation permet dobtenir des résultats
    utilisables pour tous les filtres des 4 familles
    citées ci-dessus.
  • on pose
  • alors

52
  • 3.3 Choix dune fonction T(x)
  • T(x) doit passer dans la canal défini par le
    gabarit.
  • Exemple
  • Fonction de transfert de Butterworth pour a -3
    dB 
  • , n ordre du
    filtre
  • Pour x 1 ( f fp) TdB (1) -3 dB. n
    est choisi pour obtenir TdB (x1) ? b
  • Autres fonctions Bessel, Tchebychev

53
  • 3.4 Choix dune fonction T(x) ayant ce module
  • Pour un filtre de Butterworth -3dB
  • T(s) 1/P(s)

Ordre P(s)
1 1 s
2 1 ?2 s s²
3 1 2s 2s² s3 ou (1 s)(1 s s²)
4 1 2,613s 3,414s² 2,613s3 s4 ou (1 0,7653s s²)(1 1,848s s²)
54
  • 3.5 Choix d'un montage électronique
  • 1. T(s) -gt H(f) avec s j f/fp
  • 2. T(s) est un produit de fonctions de transfert
    du premier et du second ordre 
  • les cellules du premier ordre son réalisées
    avec des structures passives RC.
  • les cellules du second ordre à partir de
    structures actives.
  • 3. Choix des composants et vérification / gabarit

55
  • Exemple de cellule du second ordre la cellule
    de Sallen Key 

56
  • Pour un filtre passe-bas du second ordre
  • R Z1 Z3
  • Y2 jC2?
  • Y4 jC1?

57
4. Généralisation passe-haut, passe-bande
  • Dans le cas dun filtre passe-haut, passe bande
    ou coupe-bande,
  • la normalisation permet de se ramener à un
    gabarit normalisé de type passe- bas, comme
    spécifié ci-dessous
  • les étapes 3 et 4 sont inchangées ( 3.3 et
    3.4)
  • on revient à une fonction de transfert par
    dé-normalisation, en remplaçant s par sa valeur
    en fonction de j, f et fp.

58
  • 4.1 Normalisation dun passe haut

20 log? T?
20 log? H?
fa fp
1 x1
0 dB a dB
0 dB a dB
x
b dB
b dB
59
  • 4.2 Normalisation dun passe-bande

20 log? H?
20 log? T?
1 x1
f1 f1 fo f2 f2
0 dB a dB
0 dB a dB
f
f
b dB
b dB
60
En guise de conclusion sur les filtres
analogiques
  • Extrait du même article
  • Les filtres analogiques se distinguent par
  • une facilité de mise en œuvre,
  • un fonctionnement à des fréquences qui peuvent
    atteindre quelques gigahertz.
  • Le revers de la médaille réside dans la
    sensibilité de ces composants aux conditions
    externes (température, humidité).
  • La non-maîtrise de leurs tolérances nuit
    également à la précision du filtrage surtout
    dans le cas de filtres exigeants.

61
Et dintroduction sur les filtres numériques
  • Extrait du même article
  • Pour saffranchir des limites des composants
    traditionnels, il existe une alternative les
    filtres numériques.
  • Les judicieux assemblages de résistances, de
    capacités, damplificateurs opérationnels des
    filtres analogiques sont ici remplacés par des
    algorithmes de calcul implémentés dans des
    microprocesseurs DSP ou des composants
    spécifiques du type FPGA.

62
Ch 3. Introduction au filtrage numérique
Un filtre numérique reçoit en entrée une valeur
numérique xn et délivre en sortie une valeur
numérique yn fonction de lentrée xn, des entrées
précédentes xn-i et des sorties précédentes
yn-j Il est décrit par une équation de récurrence
yn f(xn, xn-i, yn-j)
63
Filtre numérique
  • 1.1 Définition
  • Un filtre numérique est un algorithme de calcul
    qui transforme
  • une séquence de nombre xn 
  • en une autre séquence de nombres yn.
  • Le calcul algorithmique est effectué par
  • Le µP dun microordinateur
  • Le DSP dune carte son
  • Un FPGA ( circuit logique programmable après sa
    conception)

64
  • La séquence dentrée xn est issue de la
    discrétisation dun signal analogique x(t) aux
    instants nTe x(nTe) xn
  • La séquence de sortie yn, un fois transformée
    en tension, devient la signal de sortie y(t) du
    filtre équivalent.
  • 1 La discrétisation est double
    échantillonnage (temps) et quantification
    (valeur). Nous ne tenons pas compte ici de
    lerreur introduite par cette dernière (lerreur
    de quantification), on suppose que la résolution
    de convertisseur est  suffisamment  élevée!

65
  • 1.2 Equation de récurrence
  • La relation générale entre les séquences xn et
    yn est
  • Si les aj sont nuls, le filtre est dit itératif
    ou non-récursif
  • Si les aj ne sont pas nuls, il est dit récursif.

66
  • 1.3 Exemple de filtre non récursif
  • Équation de récurrence
  • Réponse
  • Les filtres nonrécursifs sont à réponse
    impulsionnelle finie RIF
  • Ils sont toujours stables.

67
  • 1.4 Exemples de filtres récursifs
  • Ex 1 équation de récurrence
  • La réponse à limpulsion est hn ½ (1/2)n
  • Ce filtre possède une réponse impulsionnelle
    infinie, mais il est stable.

n 0 1 2 3 4
xn 1 0 0 0 0
yn-1 0 1/2 1/4 1/8 1/16
yn 1/2 1/4 1/8 1/16 1/32
xn
n
yn
n
68
  • Ex 2 équation de récurrence
  • La réponse à limpulsion est hn (2)n.
  • La séquence de sortie est divergente.
  • Ce filtre possède une réponse impulsionnelle
    infinie, il est instable.
  • Les filtres récursifs sont à réponse
    impulsionnelle infinie RII
  • Ils ne sont pas toujours stables.

n 0 1 2 3 4
xn 1 0 0 0 0
yn-1 0 1 2 4 8
yn 1 2 4 8 16
69
2. Fonctions de transfert et Réponse Imp
  • 2.1 Transformée en z
  • On définit la transformée en z dun signal
    échantillonné xn par
  • Un formalisme plus complet permet de montrer que
    la transformée en z est léquivalent, dans le
    monde numérique, de la transformée de Laplace,
    loutil mathématique des signaux causaux de
    lanalogique.

70
  • Ex
  • Le signal yn xn-1 a pour transformée en z

xn
yn
n
n
n
71
  • On retiendra la propriété fondamentale
  • TZxn-1 z-1 TZxn z-1.X(z)
  • Qui sétend à tout retard
  • TZxn-k z-k TZxn z-k.X(z)

72
  • 2.2 Fonction de transfert en z
  • On définit la fonction de transfert dun filtre
    numérique par
  • Ex
  • La fonction de transfert du filtre numérique qui
    retarde dune unité sécrit alors

73
  • Généralisation à un filtre quelconque
  • En regroupant les termes en Y(z)

74
  • 2.3 Réponse impulsionnelle
  • Soit hn la réponse dun filtre à une impulsion
    xn ?n
  • La fonction de transfert H(z) du filtre est la
    transformée en z de hn
  • La séquence de sortie du filtre peut être obtenue
    par convolution de la séquence dentrée avec la
    réponse impulsionnelle

xn dn
ynhn
n
n
n
75
  • 2.4 Filtre équivalent Ht
  • En ajoutant les convertisseurs adéquats, on
    obtient, à partir du filtre numérique
    (algorithme) un filtre équivalent utilisable avec
    des signaux analogiques, et qui peut donc
    remplacer un filtre analogique
  • On déduit la fonction de transfert du filtre
    analogique Ht ainsi constitué en remplaçant z-1
    par e-2j?fTe e-2j?f/Féch dans H(z).
  • Conséquence
  • Ht(f) est périodique de période Féch, comme
    e-2j?f/Féch .

76
  • Remarque
  • Un filtre qui, à chaque instant nTe, reçoit xn et
    délivre xn-1 retarde le signal dentrée de Te.
  • En utilisant les propriétés de la transformée de
    Fourier TF (x(t-a)) X(f) e-2j?fa, cette
    opération de retard temporel correspond dans le
    domaine fréquentiel à une multiplication par
    e-2j?fTe.
  • Ce qui justifie le fait de poser z-1 e-2j?fTe
    pour retourner dans le domaine analogique.

77
  • Ex
  • Soit un filtre issu d'un filtre numérique
    passe-bas parfait.
  • Un tel filtre ne remplit son rôle que pour des
    signaux de fréquence f lt Féch/2, soit des signaux
    "convenablement" échantillonnés.

Ht(f)
f
Féch/2
78
  • Doù
  • Tout filtre numérique est précédé d'un filtre
    passe-bas analogique qui élimine toute composante
    qui ne satisfait au théorème d'échantillonnage,
    cest-à-dire toute composante de fréquence
    supérieure à Féch/2

79
  • 2.5 Les types de filtres
  • Un filtre numérique peut être construit
  • pour avoir un effet le plus proche possible dun
    filtre analogique connu ce sont les filtres à
    réponse impulsionnelle infinie, récursifs.
  • pour avoir un effet le plus proche possible dun
    filtre analogique idéal ce sont les filtres à
    réponse impulsionnelle finie, non-récursifs.

80
3. Filtres à réponse impulsionnelle finie
  • 3.1 Méthode déchantillonnage de la réponse
    impulsionnelle
  • On part d'une fonction de transfert H(f) idéale
  • On calcule sa réponse impulsionnelle h(t) par
    transformée de Fourier inverse
  • On échantillonne cette réponse pour obtenir hn
  • Ces échantillons sont les coefficients du filtre,
    ils permettent décrire la relation de récurrence

81
  • Mais
  • La formule générale nest utilisable avec un
    calculateur que si le nombre de termes de la
    suite est fini.
  • La sortie ne peut pas dépendre des entrées
    futures (système causal) donc n-k ? n, soit k
    ? 0.
  • Léquation de récurrence devientElle comporte N
    termes, les N coefficients non nuls de la réponse
    impulsionnelle  RIF.

82
  • Illustration
  • 1. Filtre idéal, ici passe-bas de fréquence de
    coupure 100 Hz
  • 2. Calcul de la réponse impulsionnelle
    TF-1(H(f))
  • Réponse impulsionnelle infinie  non réalisable.

83
  • Nécessité de ne garder que la partie
     essentielle 
  • 3. Fenêtrage de la réponse impulsionnelle

84
  • Conséquences
  • Tronquer la réponse impulsionnelle, pour obtenir
    une somme finie, équivaut à multiplier la réponse
    impulsionnelle par une fenêtre rectangulaire,
    donc à convoluer la réponse fréquentielle par un
    sinus cardinal.
  • Conséquences  introduction d'oscillations dans
    les bandes passantes et atténuées de la réponse
    fréquentielle et élargissement de la zone de
    transition.
  • L'erreur due à cette troncature sera atténuée en
    appliquant une fenêtre de pondération non
    rectangulaire (ex Hamming)

85
  • 4. Echantillonnage de cette réponse pour obtenir
    hn
  • Conséquence
  • Périodisation de la réponse en fréquence à 1/Tech

86
  • 5. Décalage pour assurer la causalité
  • Conséquence
  • Déphasage, linéaire en fréquence.

87
  • 3.2 Influence des fenêtres et du nombre de points

88
(No Transcript)
89
(No Transcript)
90
  • Remarques
  • Un tel filtre est appelé
  • Filtre à réponse impulsionnelle finie (RIF)
  • Filtre itératif ( yn ne dépend que des xn-i) ou
    non-récursif
  • Filtre à phase linéaire.
  • Une méthode équivalente à celle présentée
    consiste à calculer les hn par périodisation de
    H(f) et décomposition en série de Fourier, puis
    effectuer un fenêtrage.

91
  • 3.3 Autres méthodes
  • La méthode de la réponse impulsionnelle finie
    fait coïncider les réponses impulsionnelles
    souhaitée et réelle, mais introduit des erreurs
    sur la réponse fréquentielle.
  • Une autre méthode permet dêtre plus fidèle en
    fréquence.
  • Il sagit de la méthode déchantillonnage de la
    réponse en fréquence souhaitée on impose que la
    fonction de transfert passe par certains points
    de H(f), et n'ondule pas trop entre ces points.

92
  • Et toujours extrait du même article
  • Pour une détermination optimale des coefficients,
    on fait appel aux algorithmes Parks-McClellan et
    Remez. Cette méthode est basée sur une
    distribution uniforme de londulation sur
    lensemble de la bande passante et de
    laffaiblissement sur toute la bande de
    réjection. Les filtres FIR résultants ou filtres
    equiripple sont nettement plus performants que
    les filtres FIR fenêtrés et leur réponse en phase
    est également linéaire. La méthode recherche
    itérativement les paramètres afin quavec un
    ordre minimal, le gabarit soit respecté au mieux.
    Par rapport à un filtre FIR fenêtré, lordre dun
    filtre FIR equi-ripple est nettement inférieur
    (à gabarit identique). Londulation dans la bande
    passante et laffaiblissement minimal dans la
    bande de réjection sont configurables séparément.

93
4. Filtres à réponse impulsionnelle infinie
  • 4.1 Principe
  • On part d'un filtre réalisable en analogique, de
    fonction de transfert H(f), obtenue comme
    expliqué dans le cours "filtrage analogique".
  • On exprime la fonction de transfert obtenue H(f)
    en fonction de la variable de Laplace p j? j
    2?f  H(p)
  • On remplace la variable p par une fonction de z,
    cette transformation doit permettre d'obtenir
    Ht(f) le plus proche possible de H(f).

94
  • On obtient une fonction de transfert en z que
    lon peut mettre sous la forme
  • Cette expression permet de calculer la valeur de
    yn en fonction de xn et des échantillons
    précédents 

95
  • Démonstration 

96
  • Remarques 
  • Si les ai sont nuls, on retrouve un filtre à RIF
    avec bi hi, sinon, un tel filtre possède une
    réponse implusionnelle infinie.
  • yn est calculé de manière récursive (en utilisant
    les yn-i)
  • Un tel filtre est appelé
  • Filtre à réponse impulsionnelle infinie (RII)
  • Filtre récursif
  • Filtre transversal

97
  • 4.2 Cas de la transformée bilinéaire
  • Le passage de lanalogique au numérique, si les
    signaux sont échantillonnés à la fréquence Féch
    1/Te, se fait par 
  • Cette transformation effectue une compression en
    fréquence  une fréquence f0 dun filtre
    analogique H(f) devient pour le filtre numérique
    Ht(f)

98
  • Ainsi, lintervalle de fréquences 0, ? est
    transformé en 0, Féch/2.
  • Donc si on souhaite obtenir un filtre numérique
    Ht(f) de fréquence de coupure fto, il faut
    partir dun filtre de fréquence de coupure
  • Remarque 
  • pour f ltlt Féch, cette compression est très faible.

99
  • 4.3 Exemple (à compléter en TD)
  • Filtre passe bas du premier ordre, Féch 10 000
    Hz
  • Fréquence de coupure souhaitée 1 000 Hz
  • H(f)

100
  • Calcul de la fréquence de coupure analogique à
    prévoir 
  • fc
  • H(p)

101
  • Transformée bilinéaire
  • H(z)

102
  • Equation de récurrence 

103
5. Mises en œuvre
  • 5.1 Mise en œuvre

104
  • 5.2 Performances

105
En guise de conclusion sur les filtres
  • Et toujours extrait du même article
Write a Comment
User Comments (0)
About PowerShow.com