Cours Programmation Des Systemes Embarques 2010 2011
Transcript of Cours Programmation Des Systemes Embarques 2010 2011
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
1/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus1
IUT ANNECYIUT ANNECYDDpartement Mesures Physiquespartement Mesures PhysiquesCours de Programmation des SystCours de Programmation des Systme Embarqume Embarqus (PSE)s (PSE)Module de spModule de spcialisationcialisation
Mots clefs :
Initiation Microcontrleur PIC16F84 Port Registre Timer ConText ProgrammationC Filtrageanalogique Gabarit Butterworth Filtrage numrique RII RIF Carte dacquisition RponseImpulsionnelle
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
2/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 2
Programmation des systProgrammation des systmes embarqumes embarquss
Les bases
CH 1 . Introduction au microcontrleur :
Prsentation dun microcontrleur lmentaire et application dans le cadre de linstrumentation
CH 2 . Bases de filtrage analogique
Rappels sur les reprsentations temps-frquence, prsentation des filtres et gabarits, exemplede ralisation dun filtre analogique
CH 3. Introduction au filtrage numrique
Outils mathmatiques utiliss pour le filtrage numrique, prsentation et principe de ralisationdes filtres RII et RIF
Ouverture
en fin de module ISA (instrumentation spcifique : audionumrique) ouverture sur les DSp etFPGA, qui permettent de faire du filtrage temps rel et embarqu.
En TP 4 : implmentation dun filtre sur DSP
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
3/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus3
ChCh 1 : Introduction au microcontrleur1 : Introduction au microcontrleur
Un microcontrleur comprend
- Une unit de traitement de linformation de type microprocesseur
- Des priphriques internes
Il permet la ralisation dapplications autonomes sans ajout decomposants externes
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
4/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 4
1.1 Schma de principe
Mmoire
FLASH pour
stocker leprogramme
(permanente)
Mmoire RAM
de travail
(volatile)
Mmoire
EEPROM
pour stockerles donnes
(permanente)
Unit-dcodage instructions
-traitement
-calculs
TimerCompteur
Ports
I/O
Horloge
Circuits de
mise en route
et de veille
alimentations1.1. PrPrsentation du circuitsentation du circuit
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
5/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 5
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
6/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 6
1.2 Les mmoiresLa mmoire flash : (16F84)
contient le programme compil
possde 1024 emplacements de 14 bits (taille dune instruction)
conserve les donnes hors tension
La RAMpermet le stockage des donnes temporaires ncessaires lexcution du programme
possde 68 octets + 15 registres spcialiss de 8 bitsson contenu est perdu en cas de coupure
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
7/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 7
LEEPROM
contient des donnes produites par le programme
conserve les donnes hors tension
1.3 Unit centrale
Elle rcupre les instructions du programme, les dcode et lesexcute.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
8/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 8
1.4 LhorlogeElle reoit un signal priodique issu dun oscillateur, et fabriquela rfrence temps du systme.
Une instruction lmentaire est en gnral excute en 1 cycle,soit 4 priodes du signal de loscillateur.
Avec un oscillateur 4 MHz, un c PIC16F84-04 peut effectuer
un million (4 M / 4) instructions simples.
Horlogeoscillateur
externe : foscfo = fosc/4
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
9/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 9
1.5 Les circuits de mise en route et de veille
Ils permettent
de raliser une bonne mise sous tension du systme,
de le mettre en veille en cas de non utilisation,
de sortir convenablement du mode veille.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
10/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 10
2. Les p2. Les priphriphriquesriques
2.1 Ports dentres sorties :Le port A fournit 5 entres - sorties : RA0 RA4
RA0 RA3 :
En entre : comprennent les niveaux TTLEn sortie : dlivrent des niveaux TTL : 0 ou 5 V
RA4En entre : trigger de Schmitt pour convertir en TTL(cf TD EON)En sortie : drain ouvert
Peut tre connecte lentre du timer pour du comptage
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
11/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 11
Le port B fournit 8 entres sorties
RB0 RB7 dlivrent et reoivent des niveaux TTL
En entre : peuvent tre connectes au 5 V par programme
de plus
RB0 peut tre utilise pour une interruption externe, ellefonctionne alors en trigger de Schmitt
RB6 et RB7 sont utilises pour charger le programme enmmoire (attention, ne pas les utiliser pour une autre tche au moment duchargement)
Si RB4 RB7 sont en entre, on peut dcider par programme degnrer une interruption si la valeur dune de ces entres achang.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
12/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 12
2.2 Le compteur timerLe compteur-timer possde 8 bits.
Il compte les fronts montants ou descendants prsents sur sonentre ( 0,1,. 255=FF)h)
Le timer-compteur est associ un registre TMR0 (Timer 0)
En fin de compte : passage de 255 0, un bit dun registrespcifique est mis 1 : cest le bit de dbordement (overflow).
Clk Out
Compteur
Entre Sortie non
accessible
TMR0
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
13/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 13
Un diviseur de frquence (Prescaler) permet de diviser lafrquence du signal appliquer en entre du compteur
La frquence peut tre divise par 2, 4, 8, 16, 32, 64, 128 ou256.
Clk Out
Compteur
EntreDiviseur
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
14/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 14
Comme le compteur-timer dune carte dacquisition, le compteur
peut tre utilis :
En compteur
Le signal dentre du compteur est externe, il est connect surla ligne 4 du port A
Le compte sincrmente sur chaque front de lhorloge
Il est accessible dans le registre TMR0
Clk Out
Compteur
Entre Diviseur
ou pas
Source
Externe
RA4 = T0CKl
TMR0
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
15/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 15
En timer
Le signal dentre du compteur est celui de lhorloge(fo = fosc/4 = 1 MHz)
Le compte sincrmente sur chaque front de lhorloge
On peut positionner le compte de dpart une valeur choisiedans le registre TMR0.
On utilise le bit de dbordement pour mesurer le temps coulentre le dpart et larrive 0 .
Horlogefosc
fo
Clk Out
Compteur
Diviseur
ou pas
TMR0
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
16/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 16
3. Les registres du PIC3. Les registres du PIC
Les registres spcialiss du PIC permettent
de dfinir le fonctionnement du PIC
de sinformer sur ltat du PIC
de configurer les priphriques
de communiquer (lecture / criture) avec les priphriques
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
17/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 17
3.1 Le registre des interruptionsINTCON
permet le contrle des interruptions et leur localisation et
indique la fin de compte du timer
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
ChangtRB4-7
Intexterne
Dpasttimer
IntChangtRB4-7autorise
Int externe(RB0/INT)autorise
Int dpasttimerautorise
IntEEPROMautorise
Int nonmasquesautorises
TOIF INTF RBIFRBIEINTETOIEEEIEGIE
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
18/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 18
3.2 Les registres des portsTRISA : indique la direction des lignes du port A
1 : entre, 0 : sortie
PORTA : lecture criture du contenu du port A
TRISB : indique la direction des lignes du port B
1 : entre, 0 : sortie
PORTB : lecture criture du contenu du port B
DirRA0
DirRA1
DirRA2
DirRA3
DirRA4
XXX
DirRB0
DirRB1
DirRB2
DirRB3
DirRB4
DirRB5
DirRB6
DirRB7
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
19/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 19
3.3 Les registres du timerTMR0 permet dcrire et de lire le compte du timer/compteur
INTCON permet de connatre ltat du bit de dbordement (
dpassement timer = TOIF = timer output interrupt flag)
OPTION permet de dfinir, entre autres, les paramtres du
timer/compteur
source de lentre du compteur
utilisation du diviseur
valeur du diviseur
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
20/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 20
OPTION
A la mise sous tension, tous les bits sont positionns 1.
Timer :
000 : 2
001 : 4
111 : 256
Slection du diviseur dhorloge
PS2
Watchdog :
000 : 1
001 : 2
111 : 128
PS1 PS0
(*)RB4/TOCKl
RB0 / INT
1 :watchdog
0 : timer
1 : front
0 : front
+
1 :externe(*)
0 : fosc/4
1 : front +
0 : front -
1 : non
0 : oui
Diviseurdhorloge
Frontsourceexterne
Sourcedhorloge
Interruptionexterne
RBi Vcc
PSATOSETOCSINTEDGNOT RBU
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
21/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 21
4. Programmation4. Programmation
4.1 Procdure et logicielsPour utiliser le PIC, il faut respecter les phases suivantes :
1. criture du programme dans un langage volu
2. Traduction du programme en langage PIC (type assembleur :
35 instructions)3. Transfert du fichier obtenu en mmoire flash du PIC
4. Mise en fonctionnement du PIC
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
22/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 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
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
23/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 23
Nous utiliserons
Lditeur de texte ConText pour crire le programme en
langage C : fichier xxx.c, puis partir de cette diteur, nousappellerons :
Cc5x pour la cration du fichier en langage PIC : xxx.exe, puis
NTPicprogVf pour le transfert de ce fichier de lordinateur versla mmoire flash du PIC par liaison srie
Tous ces logiciels sont libres
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
24/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 24
4.2 Adresse des registresChaque registre possde 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 concide avec son
adresse
PORTB = 0b01011100permet dcrire les 8 bits 01011100 ladresse 06 de la RAM
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
25/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 25
On peut utiliser les bases 2, 10 ou 16 :
PORTB = 0b01011100 ;
PORTB =92 ;
PORTB = 0x5C ;
Pour dsigner le bit ni du registre XXX, on utilise XXX.IExemple TRISA.0 dsigne le bit 0 du registre TRISA.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
26/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 26
Grce lajout dun fichier en tte spcial (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.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
27/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 27
On peut ajouter de telles dfinitions au sein du programme :
(en C)
# define TOIF INTCON.2
permet de nommer TOIF le bit n2 du registre des interruptionsINTCON
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
28/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 28
4.3 Exemple de programmation des portsPour utiliser les lignes des ports A et B, il faut :
Dfinir la direction des lignes : entre ou sortie
crire sur les lignes en sortie ou lire les lignes en entre
On peut travailler sur un port en entier ou sur une ligne :TRISA.0 = 0;TRISB.5 = 1;RA0 = RB5;
TRISB = 0b00000000;PORTB = 0b01010101;
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
29/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 29
4.4 Programmation du timer (voir exemples en TD)
Clk Out
CompteurDiviseur
Source
Externe
RA4 = T0CKl
TMR0
Horlogefosc fo
OPTION.4
TOSE : source
edge
OPTION.5
TOCS :
clock
source
OPTION.3
PSA
OPTION.210
PS2 PS1 PS0
prescaler
INTCON.
2
TOIF
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
30/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 30
Remarques complmentaires
On travaille principalement avec des bits ou des octets.
On peut utiliser la reprsentation binaire avec le logiciel ConText
unsigned char octet;octet = 0b11001110;
5 I t ti5 Interruptions
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
31/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 31
5. Interruptions5. Interruptions
5.1 gnralits
programmeutilisateurarrive
interruption
traitement del'interruption :lecture etsauvegarde
ncessit demmoriserl'endroit, les
variables.
1
2
3
4
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
32/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 32
1. demande dinterruption
2. sauvegarde du contexte
3. traitement de l'interruption en excutant des lignes de
programme : lecture et stockage des donnes
4. restitution du contexte et reprise de la tche initiale
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
33/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 33
5.2 Sources dinterruptionLe PIC utilis en possde 4, le programme en cours peut-tre
interrompu si
un front (+ ou -) est prsent sur RB0
une des lignes RB4 RB7 change dtat (lignes places enentre)
le timer atteint la fin de son cycle (dbordement)
une criture dans lEEPROM est termine
Pour utiliser une interruption, il faut
autoriser les interruptions en gnral
autoriser une (ou +) interruptions en particulier
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
34/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 34
5.3 cas du PIC
Voir documentation en TP pour la programmation
En guise dEn guise dintroduction au filtrageintroduction au filtrage
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
35/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 35
En guise dEn guise d introduction au filtrageintroduction au filtrage
Extrait de larticle Le filtrage numrique des signaux nestpas quun filtre analogique numris paru dans la revueMesures n 749 Novembre 2002
Le filtrage est une tape essentielle dans une chanedacquisition de donnes. Il permet disoler une frquenceparticulire ou dliminer des frquences parasites.
Couramment utiliss, les filtres analogiques manquent deprcision et sont limits en types de gabarit disponibles.
Le filtrage numrique na pas ces limitations. Il utilise desalgorithmes de calcul implments dans des DSP ou des FPGA.
Avantages : pas de drive, filtres exotiques, filtres facilementmodifiables
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
36/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus36
ChCh 2. Bases de filtrage analogique2. Bases de filtrage analogique
Un filtre analogique reoit en entre un signal en tension x(t) etdlivre en sortie le signal filtr y(t).
Le filtre modifie le spectre du signal dentre.
11 Ce que vous savez dCe que vous savez djj
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
37/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 37
1.1. Ce que vous savez dCe que vous savez djj
1.1 Reprsentations temps/frquence : rappels
Un signal peut tre dcrit dans le domaine du temps ou dans le
domaine des frquences.
Dans le domaine temporel, on observe s(t) loscilloscope
Dans le domaine frquentiel, on observe S(f) lanalyseur despectre
S(f) est la transforme de Fourier de s(t)Cest une grandeur complexe : module + phase.
On appelle spectre (bilatral) le module de S(f)
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
38/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 38
Exemple :
Informations donnes par le chronogramme :
Informations donnes par le spectre (donn ici pour f>0) :
0.00 0.02 0.04 0.06 0.08 0.10 0.12
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
t
x(t)
0 50 100 150 200 250 300 350 400
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
t
x(t)
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
39/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 39
La FFT est une approximation de la transforme de Fourier dunsignal s(t)
chantillonn Fch
observ sur une dure Tobs ( Tobs = Nch / Fch)
Le module de la FFT de s(t) concide avec |S(f)|
si le signal est convenablement chantillonn et observ.
pour 0 < f < Fch/2.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
40/105
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
41/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 41
Les filtres qui ne ncessitent pas dalimentation sont appels filtrespassifs :
RC
RLC
quartz
lignes imprimes
Les filtres aliments sont appels filtres actifs :
AOP + R + C
Transistors + R + C capacits commutes
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
42/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 42
On sintresse ici la conception de filtres actifs amplificateurs
oprationnels, rsistances et condensateurs, partir dun cahier
des charges prcis : le gabarit.
2. Filtre et gabarit2. Filtre et gabarit
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
43/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 43
2. Filtre et gabaritg
Un filtre permet de traiter diffremment les diffrentescomposantes spectrales dun signal.
FiltreH(f) = Y(f)/X(f)
x(t)X(f)
y(t)Y(f)
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
44/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 44
2.1 Filtre idal - Filtre relUn filtre idal
transmet les composantes situes dans sa bande passante
supprime les composantes situes en dehors de sa bandepassante
Un tel filtre nest pas ralisable.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
45/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 45
Un filtre rel ne supprime pas compltement les composantes horsbande, mais les attnue, dautant plus fortement que son ordre
est lev.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
46/105
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
47/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 47
2.2 Les 4 grandes familles de filtresPasse bas
20 log (|H(f)| chelle log en f|H(f)|
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
48/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 48
Passe haut
20 log (|H(f)| chelle log en f|H(f)|
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
49/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 49
Passe bande
Coupe bande
Rq : se familiariser avec ces deux reprsentations, utilises frquemment et
mlanges .
20 log (|H(f)| chelle log en f|H(f)|
3. R3. Ralisation pratique : cas du passealisation pratique : cas du passe--basbas
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
50/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 50
3.1 Transformation du cahier des charges en gabarit
fp fa0 dB
a dB
b dB
f
20 log T
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
51/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 51
3.2 NormalisationLa normalisation permet dobtenir des rsultats utilisables pour
tous les filtres des 4 familles cites ci-dessus.
on pose
alors
==
=
pp f
fxs
f
jfs
11 >
=
p
a
f
fx
1 x1
0 dB
a dB
b dB
x
20 log T
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
52/105
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
53/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 53
3.4 Choix dune fonction T(x) ayant ce modulePour un filtre de Butterworth -3dB :
T(s) = 1/P(s)
1 + 2,613s + 3,414s + 2,613s3
+ s4
ou (1 + 0,7653s + s)(1 + 1,848s + s)
4
1 + 2s + 2s + s3
ou (1 + s)(1 + s + s)
31 + 2 s + s
2
1 + s1
P(s)Ordre
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
54/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 54
3.5 Choix d'un montage lectronique
1. T(s) -> H(f) avec s = j f/fp
2. T(s) est un produit de fonctions de transfert du premier et dusecond ordre :
les cellules du premier ordre son ralises avec desstructures passives RC.
les cellules du second ordre partir de structures actives.
3. Choix des composants et vrification / gabarit
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
55/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 55
Exemple de cellule du second ordre : la cellule de Sallen Key :
Z4
+
-Z1
Z2
Z3
( )4131314
)1
1
YYZZZZYH
+++=
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
56/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 56
Pour un filtre passe-bas du second ordre
R = Z1 = Z3
Y2 = jC2
Y4 = jC1
212
1
2 2
1
21
1)(
CCRfet
C
Cmavec
f
f
f
fjm
fHp
pp
==
+
=
4. G4. Gnnralisation : passeralisation : passe--haut, passehaut, passe--bandebande
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
57/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 57
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 spcifi ci-dessousles tapes 3 et 4 sont inchanges ( 3.3 et 3.4)
on revient une fonction de transfert par d-normalisation, en
remplaant s par sa valeur en fonction de j, f et fp.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
58/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 58
4.1 Normalisation dun passe haut
11
1
>
=
==
=
=
a
ppp
pf
fxalors
f
fxs
jf
f
f
jfs
20 log H
fa fp0 dB
a dB
b dB
1 x10 dB
a dB
b dB
x
20 log T
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
59/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 59
4.2 Normalisation dun passe-bande
),max( '2
'
1121
12
xxxetsxetfffoetff
fQavec
jf
f
f
jfQs oo
o
===
=
+=
f1 f1 fo f2 f20 dB
a dB
b dB
f
20 log H
1 x10 dB
a dB
b dB
f
20 log T
En guise de conclusion sur les filtresEn guise de conclusion sur les filtresanalogiquesanalogiques
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
60/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 60
Extrait du mme article
Les filtres analogiques se distinguent par
une facilit de mise en uvre,
un fonctionnement des frquences qui peuvent atteindre
quelques gigahertz.Le revers de la mdaille rside dans la sensibilit de ces
composants aux conditions externes (temprature, humidit).
La non-matrise de leurs tolrances nuit galement la prcision
du filtrage surtout dans le cas de filtres exigeants.
Et dEt dintroduction sur les filtres numintroduction sur les filtres numriquesriques
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
61/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 61
Extrait du mme article
Pour saffranchir des limites des composants traditionnels, il existeune alternative : les filtres numriques.
Les judicieux assemblages de rsistances, de capacits,
damplificateurs oprationnels des filtres analogiques sont ici
remplacs par des algorithmes de calcul implments dans des
microprocesseurs DSP ou des composants spcifiques du typeFPGA.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
62/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus62
ChCh 3. Introduction au filtrage3. Introduction au filtragenumnumriquerique
Un filtre numrique reoit en entre une valeur numrique xn etdlivre en sortie une valeur numrique yn fonction de lentre xn,des entres prcdentes xn-i et des sorties prcdentes yn-jIl est dcrit par une quation de rcurrence :
yn = f(xn, xn-i, yn-j)
1.1. Filtre numFiltre numriquerique
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
63/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 63
1.1 DfinitionUn filtre numrique est un algorithme de calcul qui transforme
une squence de nombre {xn}
en une autre squence de nombres : {yn}.
Le calcul algorithmique est effectu par
Le P dun microordinateur
Le DSP dune carte son
Un FPGA ( circuit logique programmable aprs sa conception)
{xn} {yn}Filtrenumrique
La squence dentre {xn} est issue de la discrtisation dun signal
analogique x(t) aux instants nTe : x(nTe) = xn
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
64/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 64
La squence de sortie {yn}, un fois transforme en tension, devient
la signal de sortie y(t) du filtre quivalent.
[1] La discrtisation est double : chantillonnage (temps) et quantification (valeur). Nous ne tenons
pas compte ici de lerreur introduite par cette dernire (lerreur de quantification), on suppose que la
rsolution de convertisseur est suffisamment leve!
Echantillonneur-
Bloqueur (Fch)
+
CAN
Filtre
numrique
{hn} H(z)
{xn} {yn}
CNA
+ Lissage
ventuel
x(t) y(t)Filtre
anti-repliement
(FAR)
x(t) y(t)Filtre
numrique
utilis
analogiquement
1.2 Equation de rcurrence
La relation gnrale entre les squences {xn} et {yn} est
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
65/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 65
g q { n} {yn}
Si les aj sont nuls, le filtre est dit itratif ou non-rcursif
Si les aj ne sont pas nuls, il est dit rcursif.
jn
N
j
j
M
k
knkn yaxby ==
=10
..
NrnnMnMnnnyayayaxbxbxby +++=
......
2211110
1.3 Exemple de filtre non rcursif
quation de rcurrence :2
1+= nnnxx
y
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
66/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 66
Rponse :
Les filtres nonrcursifs sont rponse impulsionnelle finie : RIF
Ils sont toujours stables.
2
xn
n
xn-1
n
yn
n
1.4 Exemples de filtres rcursifs
Ex 1 quation de rcurrence :2
1+= nnnyx
y
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
67/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 67
La rponse limpulsion est hn = (1/2)n
Ce filtre possde une rponse impulsionnelle infinie, mais il est
stable.
1/321/161/81/41/2yn
1/161/81/41/20yn-1
00001xn
43210n
xn
n
yn
n
Ex 2 quation de rcurrence : 1.2 += nnn yxy
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
68/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 68
La rponse limpulsion est hn = (2)n.
La squence de sortie est divergente.Ce filtre possde une rponse impulsionnelle infinie, il est instable.
Les filtres rcursifs sont rponse impulsionnelle infinie : RII
Ils ne sont pas toujours stables.
168421yn
84210yn-1
00001xn
43210n
2. Fonctions de transfert et R2. Fonctions de transfert et Rponseponse ImpImp
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
69/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 69
2.1 Transforme en zOn dfinit la transforme en z dun signal chantillonn {xn}
par
Un formalisme plus complet permet de montrer que la transforme en z estlquivalent, dans le monde numrique, de la transforme de Laplace, loutilmathmatique des signaux causaux de lanalogique.
[ ] +
=
==0
.)(
n
nn
n xzxTZzX
Ex :
Le signal {yn} = {xn-1} a pour transforme en z :
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
70/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 70
( )
)(
...
...
..)(
1
22
11
01
23
12
01
0
1
0
zXz
xzxzxz
xzxzxz
xzyzzY
n
nn
n
nn
+
=
+
=
=
++=
++=
==
xn
nn
yn
n
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
71/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 71
On retiendra la proprit fondamentale :
TZ[xn-1] = z-1 TZ[xn] = z-1.X(z)
Qui stend tout retard :
TZ[xn-k] = z-k TZ[xn] = z-k.X(z)
2.2 Fonction de transfert en z
On dfinit la fonction de transfert dun filtre numrique par :
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
72/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 72
Ex :
La fonction de transfert du filtre numrique qui retarde dune unitscrit alors
1
X(z)
Y(z))( == zzH
X(z) Y(z)Filtre
numrique
X(z)
Y(z))( =zH
Gnralisation un filtre quelconque :
jn
N
j
M
knkn yaxby = ..
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
73/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 73
En regroupant les termes en Y(z) :
=
=
=N
j
jj
M
k
kk zYzazXzbzY
10
)(..)(..)(
jn
j
j
k
knkn yaxby
==
10
..
=
=
+
==N
j
jj
M
k
kk
za
zb
zX
zYzH
1
0
.1
.
)(
)()(
2.3 Rponse impulsionnelle
Soit {hn} la rponse dun filtre une impulsion xn = n
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
74/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 74
La fonction de transfert H(z) du filtre est la transforme en z de hn :
La squence de sortie du filtre peut tre obtenue par convolution de la
squence dentre avec la rponse impulsionnelle :
xn= n
nn
yn=hn
n
[ ]
+
=
==0
.)(
n
nn
n hzhTZzH
+
=
+
= ====
k
knknn
k
knknnn xhxhhxhxy ..
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
75/105
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
76/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 76
RemarqueUn filtre qui, chaque instant nTe, reoit xn et dlivre xn-1retarde le signal dentre de Te.
En utilisant les proprits de la transforme de Fourier :
TF (x(t-a)) = X(f) e-2jfa,
cette opration de retard temporel correspond dans le domainefrquentiel une multiplication par e-2jfTe.
Ce qui justifie le fait de poser z-1 = e-2jfTe pour retourner dans ledomaine analogique.
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
77/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 77
Ex :Soit un filtre issu d'un filtre numrique passe-bas parfait.
Un tel filtre ne remplit son rle que pour des signaux de frquence
f < Fch/2, soit des signaux "convenablement" chantillonns.
Fch/2
|Ht(f)|
f
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
78/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 78
DoTout filtre numrique est prcd d'un filtre passe-bas analogique
qui limine toute composante qui ne satisfait au thorme
d'chantillonnage, cest--dire toute composante de frquencesuprieure Fch/2
2.5 Les types de filtres
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
79/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 79
2.5 Les types de filtres
Un filtre numrique peut tre construit
pour avoir un effet le plus proche possible dun filtreanalogique connu : ce sont les filtres rponse impulsionnelleinfinie, rcursifs.
pour avoir un effet le plus proche possible dun filtre
analogique idal : ce sont les filtres rponse impulsionnellefinie, non-rcursifs.
3. Filtres3. Filtres rrponse impulsionnelle finieponse impulsionnelle finie
3.1 Mthode dchantillonnage de la rponse
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
80/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 80
3.1 Mthode d chantillonnage de la rponseimpulsionnelle
On part d'une fonction de transfert H(f) idale
On calcule sa rponse impulsionnelle h(t) par transforme deFourier inverse
On chantillonne cette rponse pour obtenir {hn}
Ces chantillons sont les coefficients du filtre, ils permettent
dcrire la relation de rcurrence
+
==
kknkn xhy .
Mais
La formule gnrale +
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
81/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 81
La formule gnrale
nest utilisable avec un calculateur que si le nombre de termesde la suite est fini.
La sortie ne peut pas dpendre des entres futures (systmecausal) donc n-k n, soit k 0.
Lquation de rcurrence devient
Elle comporte N termes, les N coefficients non nuls de la rponse
impulsionnelle : RIF.
= = k knkn xhy .
= =++++=
1
0)1(122110
....N
kknkNnNnnnn
xhxhxhxhxhy
Illustration
1. Filtre idal, ici passe-bas de frquence de coupure 100 Hz
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
82/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 82
, p q p
2. Calcul de la rponse impulsionnelle = TF-1(H(f))
Rponse impulsionnelle infinie : non ralisable.
-200 -150 -100 -50 0 50 100 150 200
0.0
0.2
0.4
0.6
0.8
1.0
H(f)
frquence
-0.03 -0.02 -0.01 0.00 0.01 0.02 0.03
-20
0
20
40
60
80
100
h(t)
t
Ncessit de ne garder que la partie essentielle
3. Fentrage de la rponse impulsionnelle :
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
83/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 83
-0.03 -0.02 -0.01 0.00 0.01 0.02 0.03
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
h(t)
t
-0.03 -0.02 -0.01 0.00 0.01 0.02 0.03
-20
0
20
40
60
80
100
h(t)
t
=-0.03 -0.02 -0.01 0.00 0.01 0.02 0.03
-20
0
20
40
60
80
100
h(t)
t
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
84/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 84
ConsquencesTronquer la rponse impulsionnelle, pour obtenir une sommefinie, quivaut multiplier la rponse impulsionnelle par unefentre rectangulaire, donc convoluer la rponse frquentielle
par un sinus cardinal.Consquences : introduction d'oscillations dans les bandespassantes et attnues de la rponse frquentielle etlargissement de la zone de transition.
L'erreur due cette troncature sera attnue en appliquant unefentre de pondration non rectangulaire (ex : Hamming)
4. Echantillonnage de cette rponse pour obtenir hn
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
85/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 85
Consquence
Priodisation de la rponse en frquence 1/Tech
-0.03 -0.02 -0.01 0.00 0.01 0.02 0.03
-20
0
20
40
60
80
100
h(t)
t
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
86/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 86
5. Dcalage pour assurer la causalitConsquence :
Dphasage, linaire en frquence.
-0.01 0.00 0.01 0.02 0.03 0.04
-20
0
20
40
60
80
100
h(t)
t
3.2 Influence des fentres et du nombre de points
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
87/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 87
0 2 4 6 8 10 12 14 16 18 20 22
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50
0.0
0.2
0.4
0.6
0.8
1.0
1.2
f/Fe
Ht(f)
Passe bas idal 21 chantillons fo = 0,3 Fe fentre rectangulaire
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
88/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 88
0 5 10 15 20 25 30 35 40 45 50 55
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50
0.0
0.2
0.4
0.6
0.8
1.0
1.2
f/Fe
Ht(f)
Passe bas idal 51 chantillons fo = 0,3 Fe fentre rectangulaire
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
89/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 89
0 5 10 15 20 25 30 35 40 45 50 55
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50
0.0
0.2
0.4
0.6
0.8
1.0
1.2
f/Fe
Ht(f)
Passe bas idal 51 chantillons fo = 0,3 Fe fentre de Hamming
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
90/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 90
Remarques
Un tel filtre est appel
Filtre rponse impulsionnelle finie (RIF)Filtre itratif ( yn ne dpend que des xn-i) ou non-rcursif
Filtre phase linaire.
Une mthode quivalente celle prsente consiste calculer les
{hn
} par priodisation de H(f) et dcomposition en srie de Fourier,
puis effectuer un fentrage.
3.3 Autres mthodes
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
91/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 91
La mthode de la rponse impulsionnelle finie fait concider les
rponses impulsionnelles souhaite et relle, mais introduit des
erreurs sur la rponse frquentielle.
Une autre mthode permet dtre plus fidle en frquence.Il sagit de la mthode dchantillonnage de la rponse en
frquence souhaite : on impose que la fonction de transfert passe
par certains points de H(f), et n'ondule pas trop entre ces points.
Et toujours extrait du mme article
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
92/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 92
Pour une dtermination optimale des coefficients, on fait appel aux
algorithmes Parks-McClellan et Remez. Cette mthode est base sur une
distribution uniforme de londulation sur lensemble de la bande passante et
de laffaiblissement sur toute la bande de rjection. Les filtres FIR
rsultants ou filtres equiripple sont nettement plus performants que les
filtres FIR fentrs et leur rponse en phase est galement linaire. Lamthode recherche itrativement les paramtres afin quavec un ordre
minimal, le gabarit soit respect au mieux. Par rapport un filtre FIR
fentr, lordre dun filtre FIR equi-ripple est nettement infrieur (
gabarit identique). Londulation dans la bande passante et laffaiblissement
minimal dans la bande de rjection sont configurables sparment.
4. Filtres4. Filtres rrponse impulsionnelle infinieponse impulsionnelle infinie
4.1 Principe
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
93/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 93
On part d'un filtre ralisable 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 2f : 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).
On obtient une fonction de transfert en z que lon peut mettre sous
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
94/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 94
la forme :
Cette expression permet de calculer la valeur de yn en fonction de
xn et des chantillons prcdents :
N
N
MM
zazaza
zbzbzbbzH
++++
++++=
...1
...)(
2
2
1
1
22
110
NnNnnMnMnnn yayayaxbxbxby +++= ...... 2211110
Dmonstration :
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
95/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 95
11
110
1)(
+
+=
za
zbbzH
Remarques :
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
96/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 96
Si les ai sont nuls, on retrouve un filtre RIF avec bi = hi, sinon,un tel filtre possde une rponse implusionnelle infinie.
yn est calcul de manire rcursive (en utilisant les yn-i)
Un tel filtre est appel
Filtre rponse impulsionnelle infinie (RII)
Filtre rcursif
Filtre transversal
4.2 Cas de la transforme bilinaire
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
97/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 97
Le passage de lanalogique au numrique, si les signaux sont
chantillonns la frquence Fch = 1/Te, se fait par :
Cette transformation effectue une compression en frquence : une
frquence f0 dun filtre analogique H(f) devient pour le filtrenumrique Ht(f)
1
1
112
+=zz
Tp
e
)arctan(
1
0 eoet TfTf
=
Ainsi, lintervalle de frquences [0, [ est transform en [0,
F h/2[
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
98/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 98
Fch/2[.
Donc si on souhaite obtenir un filtre numrique Ht(f) de frquence
de coupure fto, il faut partir dun filtre de frquence de coupure :
Remarque :
pour f
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
99/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 99
Filtre passe bas du premier ordre, Fch = 10 000 Hz
Frquence de coupure souhaite = 1 000 Hz
H(f) =
Calcul de la frquence de coupure analogique prvoir :
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
100/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 100
fc =
H(p) =
Transforme bilinaire :
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
101/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 101
H(z) =
Equation de rcurrence :
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
102/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 102
5. Mises en5. Mises en uvreuvre
5.1 Mise en uvre
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
103/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 103
Analog Input 0
chantillonnage +
numrisation CAN
de la carte
dacquisition
Calculateur
PC + programme
Analog Output 0
restitution
CNA de la carte
dacquisition
x(t) xn yn y(t)
5.2 Performances
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
104/105
IUT ANNECY MPh-MC/2010-2011 Programmation de systmes embarqus 104
RIF RII
+ - + -
simple concevoir
stablephase linaire
rponseimpulsionnelle
connuedirectement
nombre decoefficients
lev :retard
sortie/entrebien adapt autemps diffr
transpositiondirecte des
filtresanalogiquesnombre decoefficients
rduit : filtretemps rel
phase nonlinaireinstabilit
possible (si
mauvaiseprcision descoefficients)
-
7/31/2019 Cours Programmation Des Systemes Embarques 2010 2011
105/105