Title: 6
12009/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
2Programmation 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
3Ch 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
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.
102. 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 .
163. 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
214. 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
315. Interruptions
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
35En 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
36Ch 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.
37Ce 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.
432. 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
48H(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
503. 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?
574. 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
60En 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.
61Et 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.
62Ch 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)
63Filtre 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
692. 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.
803. 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.
934. 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 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 1035. Mises en œuvre
104 105En guise de conclusion sur les filtres
- Et toujours extrait du même article