Académique Documents
Professionnel Documents
Culture Documents
Mohammedia- Casablanca
Ecole Normale Supérieure de l'Enseignement
Supérieur Mohammedia
MANUEL DE
TD & TP
Elaboré par :
M. A. RAIHANI
ECOLE NORMALE SUPÉRIEURE DE L'ENSEIGNEMENT ﺍﻟﻤﺪﺭﺳﺔ ﺍﻟﻌﻠﻴﺎ لأﺳﺎﺗﺬﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺍﻟﺘﻘﻨﻲ
TECHNIQUE DE MOHAMMEDIA
UNIVERSITÉ HASSAN II DE CASABLANCA
ENSET ﺍﻟﻤحﻤﺪيﺔ
ﺟﺎﻣﻌﺔ ﺍﻟحﺴﻦ ﺍﻟﺜﺎﻧﻲ ﺑﺎﻟﺪﺍﺭ ﺍﻟﺒﻴﻀﺎﺀ
Avant-propos
Ce manuel est élaboré dans le cadre de mes activités d’enseignement réalisées au sein de
l’Ecole Normale Supérieure de l’Enseignement Technique de Mohammedia. Il s’agit d’un
recueil d’exercices proposés pour l’assimilation et l’illustration des différents concepts
abordés lors des séances de cours.
En effet, les travaux dirigés (TD) représentent un plus au cours. En fait, de par leur contenu,
ils permettent d’appuyer ce dernier et servir de renforcement à l'application des notions
théoriques qui y sont vues et étudiées afin de permettre aux étudiants de se rendre compte
de la pertinence desdits TDs.
Ainsi, les différents exercices sont conçus pour (1) permettre, aux étudiants, de faire les
applications nécessaires pour mieux s’approprier les informations abordées dans un cours
magistral, (2) leur donner l’occasion d’intégrer les acquis et de promouvoir l’initiative et
l’émulation, (3) de favoriser un environnement sain pour un enseignement/apprentissage
individualisé selon les besoins spécifiques de chaque étudiant et la mise en action d’une
pédagogie différenciée, et en fin, (4) lors de ces travaux de groupes, chaque apprenant aura
l’occasion d’acquérir de nouvelles stratégies d’apprentissage et de les mettre en application
avec les stratégies communes dont il a besoin – associées à ses stratégies personnelles –
pour agir et interagir et participer, ainsi, activement à la réalisation des différentes activités
sous la direction et l’orientation du professeur.
Dans ce cadre, le présent manuel traite des exercices relatifs aux quelques éléments de
modules faisant partie de mes cours :
TD1
Exercice 1:
On considère le montage ci-contre, avec E = 15 V,
RC = 1 kΩ et RE = 250 Ω.
A. Etude statique
1. Après avoir tracé la droite de charge statique et
défini la pente de la droite de charge dynamique,
déterminer l'excursion maximale de la tension de
sortie dans le cas où les coordonnées du point de
fonctionnement sont :
(a) VCE = 5 V.
(b) VCE = 10 V.
2. Déterminer maintenant le point de
fonctionnement que l'on doit choisir pour obtenir
en régime dynamique, une excursion maximale
de la tension sans écrêtage.
3. Tracer IC = f(IB) pour VCE = VCE0 puis déterminer le courant de base pour le point de repos.
4. Déterminer la valeur des résistances R1 et R2 permettant d'obtenir ce point de fonctionnement. On
donne R1 +R2 = 10 kΩ. Vérifier que le courant IB est négligeable devant le courant de pont (dans R1 et
R2). On négligera IB devant IC (VBE = 0.6 V).
5. Déterminer autour du point de fonctionnement déterminé en 3, les valeurs des paramètres hybrides du
transistor.
B. Etude dynamique
1. Dessiner un schéma équivalent au montage, valable en régime dynamique (schéma petits signaux).
On considère l'impédance des condensateurs nulle et h12 = 0.
2. Calculer le gain en tension, l'impédance d'entrée et l'impédance de sortie.
3. On considère le montage chargé par une résistance Rch de 2 kΩ. Calculer le gain en courant et le gain
en tension.
4. Refaire les applications numériques pour h22 = 0.
C. Montage charges réparties
On considère maintenant le montage sans le condensateur CE.
Reprendre l'étude précédente et comparer les résultats. On négligera le terme h22.
Exercice 2:
On considère l'amplificateur à deux étages ci dessous:
SERIE 2
Exercice 1:
1. Sachant que les résistances et tensions d'entrée valent respectivement Rn=n10k et U1n=nV,
calculez la tension de sortie de chacun des circuits de la figure 1.
Exercice 2:
Donner l'expression du gain du montage suivant et préciser ses valeurs limites.
Exercice 3:
1. Considérant le circuit de la figure suivante.
Déterminer, sous la condition R3 = R1 et R4 + R5 =
R2, l'expression du courant IL fourni à la charge RL.
2. Quelle est la fonction ainsi créée ?
3. Sachant que pratiquement on choisit R5 << R4,
proposez des résistances telles que le courant
IL=5mA lorsque U1=-5V.
Exercice 4:
Dans le circuit ci-contre, le transistor agit comme un
commutateur commandé par un signal carré de
fréquence f0=1kHz.
1. Calculez le gain du circuit lorsque le commutateur est
ouvert ou fermé.
2. Dessinez la tension de sortie u2(t) lorsque
𝑢1 (𝑡) = 5 𝑠𝑖𝑛(2𝜋100𝑡).
Exercice 5:
1. Calculez vs en fonction de v1 et v2 dans le cas où R = R', R1 = R'1 et R2 = R'2
2. Quelle est la fonction réalisée ?
Exercice 6:
𝑣𝑠 1
Le circuit suivant a objectif de réaliser la caractéristique suivante : = 𝛼 𝑅 . Le circuit sera étudié en
𝑣𝑒 𝐶
premier lieu par morceau, en effet les montages des amplificateurs 1 et 2 correspondent au même bloc
fonctionnel et l’amplificateur 3 à un autre. Les résistances R0 sont en dehors de ces blocs, elles les relient
entre eux dans le montage final. On donne 𝑅1 = 𝑘. 𝑅2 , 𝑅4 = 𝑙. 𝑅3 et 𝑅′ = 𝑅. Les amplificateurs
opérationnels sont considérés comme idéaux.
𝑣
1. Bloc 1 (AOP1 et 2) Démontrer qu’en régime linéaire, 𝑖 = −𝑘𝑅. Exprimez la tension de sortie v1 en
fonction de v et k. Quelle est la condition pour que l’amplificateur opérationnel ne sature pas ? Que
devient la caractéristique v/i en saturation ?
2. Bloc 1 (AOP 3) Quelle est la fonction réalisée par ce circuit en régime linaire ? Quelle est la
condition sur v1pour que le régime linaire reste valide ?
3. Montage global Redessinez le montage en remplaçant les amplificateurs opérationnels par un
circuit équivalent suivant les résultats des deux questions précédentes. Exprimez alors :
a. v1 en fonction de ve et v2 en fonction de vs,
b. v2 en fonction de ve et ie,
c. v3 en fonction de v1,
d. vs en fonction de v3.
4. A partir des cinq équations obtenues, déterminer les cinq tensions inconnues en supposant ie
donnée. Calculez alors ve en fonction de ie et vérifiez que le circuit réalise la fonction voulue. Que
vaut ?
SERIE 3
Exercice 1:
On considère le montage de la figure 1.
1. Exprimer Vs en fonction de Ve, n et a.
2. Donner le gain maximal et minimal de ce montage
Exercice 2 :
1. Donner l'expression du la tension Vs en fonction des trois entrées dans le cas du montage de la
figure 2.
2. En déduire la fonction du montage.
Exercice 3 :
Soit le montage de la figure 3 :
1. Déterminer les expressions de V1 en fonction de VE1 pour chaque position de l’interrupteur
électronique K qui s’ouvre ou se ferme selon la valeur de V3.
2. Tracer la caractéristique V3 en fonction de V2 du trigger, avec Vsat = 14V et R1 = R2.
3. Tracer en correspondance de temps, V2(t) et V3(t) sur une période d’oscillation, en précisant
l’état de l’interrupteur K.
4. Calculer l’expression de la fréquence d’oscillation en fonction de VE1, Vsat, R et C et la mettre sous
la forme f = α.VE1 où α est une constante.
5. Donner une application de ce montage
Figure 1 Figure 2
Figure 3
SERIE 4
Dans la suite, tous les AOP sont supposés parfaits et sont alimentés avec ±Vcc= ±15V
Exercice 1 :
I. On considère le montage de la figure 1 où l’entrée Vref(t) est un signal en dent de scie de fréquence 𝑓 =
25 𝐾𝐻𝑧 et d’amplitude maximale 10V et l’entrée Ve(t) est un signal sinusoïdal comme l’indique le
graphe de la figure 2.
Figure 1 Figure 2
II. Afin d’éviter les inconvénients du montage de la figure 1, on utilise le circuit de la figure 3 où Vref est
supposée continue et de valeur fixe.
Figure 3
Figure 4
4. Proposer un schéma synoptique de la carte d'acquisition/restitution en précisant le rôle de chaque
bloc.
SERIE 2
Notre étude portera sur les seules parties fonctionnelles FP1, FP2 et FP4
Figure 1
Figure 2
1. Calculer la valeur de R0 pour que le courant Iz à 25°C soit de 15mA.
2. Calculer les coefficients a et b sachant que Vz(T) = a.T + b.
Vs'
Figure 5
Cet étage est constitué d'un échantillonneur-bloqueur (EB) et d'un convertisseur analogique numérique
(CAN). La tension V's est représentée par ue.
Figure 6
VI. Synthèse :
On désire avoir une chaîne de mesure fermée pour de restituer l'évolution de la température du four.
Donner le schéma bloc de la chaine de retour et décrire chacun de ses blocs.
SERIE 1
Exercice 1 :
Ecrire le programme pour additionner deux nombre de 16 bits. Les deux nombres sont stockés
à partir de l’adresse $0100. Le résultat sera stocké à partir de l’adresse $0104.
Exercice 2 :
Stocker le plus grand des deux nombres, se trouvant respectivement aux adresses $0200 et
$0201, à l’adresse $0202.
Exercice 3 :
Recopier les éléments de la liste Lsource, commençant à l’adresse $0500, vers une liste Ldest
qui commence à l’adresse $0600.
Exercice 4 :
Inverser les éléments d’une liste afin que le premier élément prenne la place du dernier et vis
versa, le deuxième avec l’avant dernier et ainsi de suite.
Exercice 5 :
Chercher si le caractère, stocké préalablement à l’adresse $0100, figure parmi les 20 éléments
d’une liste commençant à l’adresse $0102. Si oui on stockera 1 à l’adresse $0101, sinon on y
stockera 0.
Exercice 6 :
Déterminer la fréquence d’apparition d’un caractère, stocké préalablement à l’adresse $0100,
dans une liste de 20 éléments et commençant à l’adresse $0102.
Exercice 7 :
Ajouter un élément à une liste. Cette élément est stocké à Majout ($0300) et dont le rang est
stocké à l’adresse Mrang ($0301).
Exercice 8 :
Supprimer un élément, préalablement stocké à l’adresse Msupp ($0100), d’une liste de 10
élément et commençant à l’adresse $0200.
Exercice 9 :
On désire écrire un programme qui :
lit, caractère par caractère, un bloc mémoire source de 128 caractères (codés en ASCII)
débutant à l'adresse SOURCE ($E000),
trie entre les caractères de code ASCII inférieur à $20 (ce sont les caractères de contrôle
comme ESC, ETX, etc.) et les autres caractères de code ASCII supérieur ou égal à $20
(caractères alphanumériques),
envoie les caractères de contrôle dans un bloc débutant à l'adresse CTRL ($E180), et les
autres caractères dans un bloc débutant à l'adresse ALPHAN ($E100)
SERIE 2
Exercice 1 :
D0…D7
Processeur A12…A15
Décodage
Figure 1
Exercice 2 :
Pour commander un moteur pas-à-pas, il est nécessaire de générer les signaux de commande
conformément aux chronogrammes de la figure 2-b. Les enroulements 1, 2, 3 et 4 du moteur
sont commandés par le PORTA du µC 68HC11 selon la figure 2.a.
Pour pouvoir facilement choisir la combinaison des signaux à envoyer au moteur, il est
commode de placer ces codes dans un tableau TAB, qui se présentera suivant la forme ci-
contre.
Etat 1 2 3 4
TAB $88 ........ ........ ........ ........ $99
Les codes $88 et $99 serviront de "butée" pour que le programme fournisse l'état 1 après l'état
4.
PA4 1
PA5 2 MPP 1
PORT A
PA6 3
PA7 4 + 2
4
68HC11 Figure 2.a
t1 t2 t3 t4 t1
Figure 2.b
2- Donner les directives assembleur pour placer les valeurs hexa correspondant aux différents
états en mémoire "Tab" à partir de l'adresse $0000.
3- Comment configurer le port A ? Donner la suite des instructions pour ce faire.
4- Ecrire le programme "PRG" pour faire tourner le MAP continuellement.
Exercice 2 :
Ecrire un programme pour afficher le chiffre hexadécimal (0-F) placé à la case mémoire
d'adresse $0300 (data) sur un afficheur 7 segments à anode commune (AC). Le schéma de
câblage est donné par la figure 3.
0 a a
f b
Port B g
g e c
7 AC
d
Figure 3
Exercice 2 :
On désire réaliser un affichage sur deux digits des valeurs décimales comprises entre 0 et 99.
Les différentes valeurs (formées par des combinaisons des chiffres 0 à 9) sont supposées
placées à la case mémoire d'adresse $0300 (data). Pour ce faire, on propose une carte
d'affichage conformément au schéma de câblage est donné par la figure 4.
Le principe retenu pour afficher un nombre sur les 2 afficheurs (cathode commune) est le
suivant :
Le microcontrôleur
A7 A6 A5 A4 A3 A2 A1 A0
A5 A4 Afficheur Sélectionné
0 1 1
1 0 2
Figure 4
SERIE 3
Exercice 1 :
A l’aide d’un DSP 16 bits virgule fixe, on aimerait additionner les deux nombres suivants :
a=2.845 et b=4.2989
1- Exprimer les nombres a et b en mode fractionnaire (aq et bq) avec, pour chaque nombre,
la meilleure résolution possible.
2- Déterminer l’erreur absolue de quantification de a et de b.
3- Effectuer la somme des grandeurs quantifiées yq=aq+bq et définir le meilleur format du
résultat.
4- Faire la somme de a et b avant quantification puis exprimer le résultat en mode
fractionnaire y’q dans un format donnant la meilleure résolution possible.
5- Comparer les deux résultats 3- et 4-
Exercice 2 :
On dispose d’un DSP 16 bits virgule fixe et ayant trois plan mémoires : MP(programme),
DM1(mémoire 1 de données) et DM2(mémoire 2 de données). A l’aide ce DSP, on désire
calculer le polynôme suivant :
y a1 x a2 x 2 a3 x 3 avec a1=1.751, a2=3.5625, a3=-2.625 et x 1 , 1 .
1. De quel type d’architecture s’agit-il ?
2. Donner le format le mieux adapté pour coder chacune des 3 constantes.
3. En déduire le format commun pour coder les 3 constantes
4. Exprimer l’équivalent en virgule fixe deux constantes (dans le format normalisé).
5. Déterminer la valeur maximale que peut prendre x. En déduire la valeur maximale de
y.
6. Déterminer la valeur minimale de y.
7. Donner le format de y permettant d’éviter toute saturation lors du calcul de ce
polynôme.
Exercice 3 :
N 1
On désire calculer un filtre RIF d'ordre N : yn ai xn i
i 0
Les coefficients ai ainsi que les échantillons d'entrée xn-i sont codés par des entiers signés Ai et Xi
sur N1=16 bits. Les échantillons de sortie yn sont également codés sur N1 bits.
Les calculs intermédiaires se font par contre à l'aide d'un accumulateur de N2=40 bits.
1. Quelle est la dynamique d'un produit entier Pi=Ai.Xn-i ?
2. Quelle est la dynamique des entiers représentables au sein de l'accumulateur ?
3. Quel est le nombre maximal Nbmax de produits Pi que l'on peut additionner dans l'accumulateur
sans risque de saturation ?
4. On considère un signal audio de qualité HiFi en entrée du filtre (Fe =44.1KHz), quel doit-être
le temps de cycle et la capacité mémoire d’une machine DSP réalisant multiplication et addition
en parallèle pour N=5.
Re(z)
O x
Formule de transformation
Exp.
Alg Alg.
Exp.
x Rez r. cos r z x2 y2
y Imz r. sin x
tan
y
Opérations avec les complexes :
- Addition-soustraction :
Pour additionner (soustraire) deux nombres complexes, la forme algébrique est indispensable.
z1 z 2 x1 i . y1 x 2 i . y 2 x1 x 2 i y1 y 2
z1 z 2 x1 i . y1 x 2 i . y 2 x1 x 2 i y1 y 2
- Multiplication-Division :
z1 .z 2 r1 .e i
1
. r2 .e i r1 .r2 .e i
2 1 2
z1 r1 .e i r1
i
1 e i 1 2
z 2 r2 .e r2
2
- Conjugué complexe :
Pour tout nombre complexe z x i . y , on définit le conjugué complexe z * x i. y .
Re z Re z * , Im z Im z *
z z* , z z *
z z * 2. Re z 2.x
z z * 2.i . Im z 2.i . y
z .z * z 2 x 2 y 2
z / z * e i 2
Tables de trigonométrie :
Formules fondamentales :
1
cos2 x sin2 x 1 1 tan2 x
cos2 x
Formules d’Euler:
cos x i. sin x n cos nx i. sin nx
e ix e ix e ix e ix sin x e ix e ix
cos x i . sin x e ix cos x sin x tg x i ix
2 2i cos x e e ix
2. cos x 1 e i 2 x .e ix
2.i. sin x 1 e i 2 x .e ix
Formules d’addition :
cosa b cos a . cos b sin a . sin b cosa b cos a . cos b sin a . sin b
sina b sin a .cos b cos a . sin b sina b sin a . cos b cos a . sin b
tan a tan b tan a tan b
tana b tana b
1 tan a . tan b 1 tan a . tan b
cos 2 a sin 2 a
sin 2a 2 sin a .cos a
2. cos a 1
2
cos 2a 1- 2 . sin 2 a
2 tan a
1 tan 2 a tan 2a
1 tan 2 a
1 tan 2 a
Dérivées et primitives
a a a
C’est-à-dire :
a a
Exemple :
Soit à calculer I x sin xdx
0
f x x et g ' x sin x
d’où : I x cos x 0 1.cos x .dx sin x 0
On pose : '
f x 1 et g x cos x 0
TRAVAUX DIRIGES
SERIE 1
Exercice 1 :
1. Calculer la valeur moyenne et la valeur efficace d’un signal carré, compris entre 0 et 5V, de rapport cyclique 1/2.
2. Même chose pour un rapport cyclique 1/3.
3. Calculer la valeur moyenne d’un signal sinusoïdal d’amplitude A, défini par :𝑠(𝑡) = 𝐴. 𝑐𝑜𝑠(𝜔𝑡 + 𝜑).
4. Calculer la valeur efficace de ce signal.
Exercice 2 :
Soit x(t) un signal carré logique TTL (état bas : 0V ; état haut : 5V) de rapport cyclique 1/2 et de période T=0,1s.
1. Calculer son énergie sur une période. En déduire son énergie totale.
2. Calculer sa puissance totale et sa puissance moyenne.
3. En déduire sa valeur efficace.
Exercice 3 :
Calculer l’énergie et la puissance totales des signaux suivants (on prendra T=1 quand nécessaire pour les applications
numériques) :
1. Echelon de Heaviside
2. Fonction porte de largeur T et de hauteur 1/T, centrée sur 0
Exercice 4 :
Développer en série de Fourier les signaux suivants :
x2(t)
x1(t) x3(t)
E
E E
-T/4 +T/4 t
Exercice 2 :
T
0 si t
On considère le signal x(t) défini par : x( t ) 2
T
1 si t
2
1- Calculer la transformée de Fourier de x(t).
2- En déduire la TF du signal défini par la figure ci-contre :
Exercice 5 :
Exercice 6 :
On considère un SLIT dont la réponse en fréquence est représentée sur la figure fig.2
H (w )
1
fig.2 w
5 5
2 2
Ce système est attaqué par le signal x(t) représenté à la figure fig.3.
x(t)
1 1 1
1
4 4
fig.3
1- Déterminer la décomposition en série de Fourier du signal d’entrée x(t).
2- Représenter son spectre d'amplitude.
3- En déduire l’expression du signal de sortie y(t). Représenter son spectre d'amplitude.
4- Déterminer la puissance moyenne de x(t) et celle de y(t).
Exercice 7 :
t 0
U 0 cos( 2f 0 t ) si t 2
Soit le signal y( t ) , Calculer la TF de y(t)
t
0 si t 0
2
Exercice 8 :
On considère le signal de la figure suivante :
5- Représenter la dérivée de x(t) notée x'(t).
6- Calculer la transformée de Fourier de x'(t).
7- En déduire celle de x(t).
Exercice 9 :
Soit le signal 𝑥(𝑡)suivant :
𝑥(𝑡) = 4 − √7. cos(2𝜋𝑓 𝑡) + 3. sin(2𝜋𝑓 𝑡) avec 𝑓 = 1𝐾𝐻𝑧.
3. Donner les coefficients de Fourier pour 𝑥(𝑡)
4. Représenter son spectre unilatéral et bilatéral
Exercice 10 :
On attaque un système par une sinusoïde 𝑥(𝑡) d’amplitude 10V et fournit une sinusoïde 𝑦(𝑡) saturée à ±9V. La
figure ci-dessous présente 𝑥(𝑡) et 𝑦(𝑡) avec les spectres correspondants. Sachant que les composantes spectrales
unilatérales fournies par l’analyseur spectral sont les suivantes :
Déterminer :
1- La valeur moyenne de 𝑥(𝑡) et de 𝑦(𝑡).
2- L’amplitude et la fréquence du fondamental
3- La fréquence des différents harmoniques.
4- Si on rejette toute fréquence introduisant une atténuation de 50dB, quelle sera la largeur de la bande occupée
par 𝑦(𝑡).
e K ee
Te 1
Te
H
t t
Te Te
Figure 1 Figure 2 Figure 3
ee Filtre e
Passe-bas
2.1- Comment choisir Fe par rapport à f pour pouvoir retrouver e à partir de ee(t) par un filtrage passe bas idéal ?
2.2- Donner l'expression de e(t) reconstitué pour 0.
Exercice 1 :
On considère le signal numérique xn représenté par la figure 1 :
Figure 1
On prend Te=1s
1. Donner l’expression temporelle de xn ?
2. Calculer sa transformée en z
3. Rappeler la relation entre la sortie d’un moyenneur glissant d’ordre 3 ayant pour sortie yn et pour
entrée xn.
4. Donner les valeurs de la sortie yn pour x0=1, x1=1.5, x2=2, x3=1.8, x4=1.6 et x5=1 .3 ?
Exercice 2 :
Calculer la TZ des signaux suivants et préciser leurs domaines de convergence :
x k 1 pour 0 k k 0
1- où k est entier positif.
x k 0 ailleurs
2- y n n u n n 1u n où α est entier positif.
3-
4-
Exercice 3 :
Calculer la TZ inverse des fonctions suivantes :
1-
2-
3-
2z
4- F1 ( z )
( z 1)( z 0.5)
z
5- F2 ( z ) 2
z 5z 6
b z 1
6- F3 z
1 az 1
Exercice 1 :
Dans cet exercice, on propose de faire l’étude d’un filtre numérique à réponse impulsionnelle finie RIF.
Figure 1 Figure 2
Exercice 2 :
On considère un système linéaire invariant régi par l’équation aux différences suivante :
1
𝑦[𝑘] = [𝑥(𝑘 + 𝑚) + 𝑥(𝑘 + 𝑚 − 1) + 𝑥(𝑘 + 𝑚 − 2)]
3
Où 𝑚 est un paramètre entier.
1- Etudier la stabilité et la causalité de ce système selon les valeurs de 𝑚.
2- Calculer la fonction de transfert en 𝑧 pour 𝑚 = 0 et 𝑚 = 1, et en déduire la réponse fréquentielle.
3- Quel est l’effet de ce système.
Exercice 3 :
Soit le filtre numérique : 𝑦(𝑛) = 𝑦(𝑛 − 1) + [𝑒(𝑛) − 𝑒(𝑛 − 𝑀)]
1- Calculer la fonction de transfert en 𝑧.
2- Montrer que 𝑦(𝑛)peut se mettre sous la forme : 𝑦(𝑛) = ∑ 𝑒(𝑛 − 𝑖)
Exercice 4 :
Soit le filtre numérique RII du premier ordre suivant :
𝑦(𝑛) = (1 − 𝑏). 𝑥(𝑛) + 𝑏. 𝑦(𝑛 − 1) avec 0 < 𝑏 < 1
1- Déterminer la fonction de transfert en z.
2- Déterminer la réponse en fréquence du filtre.
UH2C- ENSET Mohammedia TD Filtres numériques
Exercice 5 :
Exercice 6 :
Les filtres Biquad sont un type de filtre RII bien particulier possédant deux fonctions quadratiques dans leur fonction de
transfert. Ils permettent, en adaptant leurs coefficients, de réaliser la plupart des opérations de filtrage possible, passe-
haut, passe-bas, passe-bande et coupe-bande. Une structure possible de ces filtres est donnée par la figure 2 :
xn a0 yn
+ +
z-1 z-1
a1 + + b1
z-1 z-1
a2 b2
Figure 2
Exercice 7 :
On considère les trois filtres du second ordre :
𝐻 (𝑧) = 𝑏 + 𝑏 𝑧 + 𝑏 𝑧 avec 𝑖 = 0,1,2
1- Donner l’expression de l’équation de récurrence de ces filtres.
2- Donner une structure de réalisation de ces filtres.
3- Soit 𝑀(𝑧) la mise en parallèle de ces filtres : 𝑀(𝑧) = 𝐻 (𝑧) + 𝐻 (𝑧) + 𝐻 (𝑧). Calculer la fonction de transfert
𝑀(𝑧).
4- Donner l’expression d’une mise en cascade de ces filtres notée 𝑁(𝑧).
5- Quelle est la complexité du filtrage de type 𝑁(𝑧) en nombre de multiplications et d’additions.
6- On considère un signal audio de qualité 𝐻𝑖𝐹𝑖 en entrée du filtre 𝑁(𝑧) (𝐹 = 44.1𝐾𝐻𝑧), quel doit-être le temps
de cycle et la capacité mémoire d’une machine DSP réalisant multiplication et addition en parallèle.
UH2MC- ENSET Mohammedia Gisement éolien
SERIE 1
Exercice 1 :
Exercice 2:
Les mesures des vitesses du vents sont résumées dans le tableau suivant :
i 1 2 3 4 5 6 7
vi (m/s) 0 1 2 3 4 5 6
mi 0 0 15 42 76 51 27
1. Calculer p(vi) et F(vi) pour chaque vitesse du vent.
2. Calculer la probabilité pour que la vitesse du vent soit supérieure ou égale à 5m/s.
Exercice 3 :
On réalise des mesures de la vitesse du vent, à une hauteur de10 m, dans un site caractérisé par une
rugosité de 0.25 et un modèle de Weibull ayant c=6m/s et k=1.8.
1. Durant combien d'heures par an la vitesse du vent peut être comprise entre 6.5 et 7.5 m/s ?
2. Donner la probabilité pour que cette vitesse soit supérieure à 5 m/s ?
On installe une éolienne à une hauteur de 30m. A cette hauteur, l'éolienne est caractérisée par une vitesse
de démarrage de 6m/s et une vitesse maximale de 21m/s.
3. Déterminer la durée de fonctionnement de cet appareil pendant 24h ?
4. Donner la probabilité pour que la vitesse excède 30 m/s ?
Exercice 4:
1. Un anémomètre, installé à 10m avec =0.2, indique une vitesse du vent de 5m/s. Calculer la
puissance éolienne spécifique (W/m2) à une hauteur de 50m.
2. On installe un aérogénérateur bipale, de 30m de diamètre, sur un mât de 50m. Calculer le rapport
des puissances bout des pales en position verticales. Conclure.
Exercice 5:
Une éolienne tripale, de diamètre 40m, produit une puissance de 600 KW à une vitesse de 14m/s.
1. Déterminer la vitesse de rotation du rotor (tr/mn) lorsque cette éolienne fonctionne à une vitesse
spécifique de 4 ?
2. Donner la vitesse en bout des pales (m/s).
3. Déterminer le rapport de multiplicateur pour faire tourner le générateur à 1800 tr/mn.
4. En déduire le rendement total de l'éolienne.
Exercice 6 :
La puissance électrique d’une éolienne peut être modélisée par les équations suivantes :
1. Montrer que la puissance électrique moyenne produite par l'éolienne 𝑃 , est de la forme :
𝑃, = 𝐶 .𝑃
On désire installer une éolienne de type MOD-2 (91m de diamètre), à une hauteur de 50m, dans un site
caractérisé par c=9m/s et k=2.3. Les MOD-2 ont une puissance de 2500KW à une vitesse nominale de
12.4m/s à la hauteur du mât.
2. Donner la valeur optimale de VR ?
3. Calculer Cf de votre éolienne optimisée ?
4. Donne la puissance moyenne et l'énergie annuelle produite par une telle éolienne.
SERIE 2
Exercice 1 :
On considère le schéma de la figure suivante :
1. Montrer que la puissance récupérée par l'éolienne est de la forme : 𝑃 = 𝐶 (𝜆). 𝑃 en explicitant
𝑃 et 𝐶 (𝜆) sachant que 𝜆 = .
2. En utilisant l'expression de 𝐶 (𝜆), déterminer la valeur maximale susceptible d'être prise par
𝐶 (𝜆) .
Exercice 2 :
Une station de mesure de la vitesse du vent, placée dans un site (rugosité 0.25) à une hauteur de 10m,
indique les valeurs (fréquences) suivantes :
7m/s (24), 8m/s (72), 9m/s (85), 10m/s (48) et 11m/s (9)
Dans le même site, on installe une éolienne, de diamètre 30m, sur un mât de 50m.
1. Calculer :
a. La vitesse moyenne du vent reçu par notre éolienne.
b. La variance
c. L’écart type
2. Calculer la probabilité d’observer chacune des vitesses et la fonction de distribution cumulative.
On considère les valeurs approchées des paramètres de Weibull à la hauteur du mât : k=2.6 et c=7m/s.
3. Une bonne approximation du paramètre k, pour le site en question, est donnée par :
𝜎 .
𝑘=
𝑣̅
Donner la valeur approchée du paramètre c.
4. Quelle est la probabilité pour que l’éolienne reçoive une vitesse du vent supérieure à 15m/s ?
5. Pour combien d’heures l’éolienne reçoit un vent d’une vitesse comprise entre 12m et 17 m/s ?
6. Pour combien d’heures l’éolienne reçoit un vent d’une vitesse supérieure à 25 m/s ? Conclure
7. Quelle est la vitesse du vent (Vpp) la plus probable pour ce site ?
8. Calculer l’énergie annuelle totale
9. Calculer l’énergie annuelle correspondante à Vpp
10. Conclure
TD : GES A. RAIHANI Page 3
UH2MC- ENSET Mohammedia Gisement éolien
SERIE 3
1) Déterminer les coordonnées locales du soleil pour la journée du 19 Mai 2016 à savoir la hauteur à
midi solaire, l’angle horaire au coucher, l’Azimut au coucher et la durée du jour (en h).
2) On suppose que l’éclairement satisfait l’équation
𝜋. 𝑡
𝐺∗ = 𝐺∗ . sin ( + 𝜑)
∆𝑇
a. Déterminer la phase à l’origine .
b. Calculer l’irradiation quotidienne reçue dans ce lieu la même journée.
On donne l’éclairement énergétique globale G*max =1000 W/m2 à midi TSV et la durée d’insolation
∆T=12.5h.
Avant-propos
Ce manuel est élaboré dans le cadre de mes activités d’enseignement réalisées au sein de
l’Ecole Normale Supérieure de l’Enseignement Technique de Mohammedia. Il s’agit d’un
recueil de quelques manipulations réalisées dans le cadre des Travaux Pratiques (TP) pour
la vérification des savoir-faire expérimentaux.
En effet, les Travaux Pratiques (TP) constituent une partie essentielle de l'enseignement et
de l'apprentissage des concepts abordés dans le cours. En fait, de par leur contenu et
méthodologie suivie, ils permettent de donner une image du fonctionnement des dispositifs
réels et de favoriser un accord avec le processus d’assimilation/accommodation tout en
assurant un état d’équilibre entre une réalité interne et une réalité externe.
Ainsi, les différentes activité proposées sont conçues pour (1) permettre, aux étudiants, de
de rapprocher progressivement les acquis théoriques avec les réalités pratiques, (2)
stimuler la curiosité des étudiants en leur permettant d’observer et de se poser des
questions, (3) de bâtir un environnement sain favorisant le travail en groupes hétérogènes
et par conséquent de vivre le processus d’intégration au sein d’une communauté de travail,
et en fin, (4) lors de ces travaux de groupes, chaque étudiant aura l’occasion de développer
un esprit d'initiative et surtout l’esprit critique quand il s’agit d’analyser et d’interpréter les
résultats. En effet la démarche expérimentale aide d’une part à maîtriser les concepts qui
gèrent le fonctionnement d'un dispositif et d’autre part à articuler les pratiques
expérimentales pour aboutir à une appropriation de connaissances qualifiées de
théoriques.
Dans ce cadre, le présent manuel résume des exercices pratiques relatifs aux quelques
éléments de modules faisant partie de mes cours :
✓ Programmation en Assembleur
✓ Microcontrôleurs et DSPs
✓ Traitement du signal
✓ Gisement éolien et solaire
Afin que l’assembleur s’y retrouve dans ces champs, les premières règles qu’il vous
faut connaître sont les suivantes :
Le label doit commencer au début de la ligne (il peut toutefois être précédé
d’espaces).
Chaque champ est séparé par au moins un espace ; on peut placer plusieurs
pour aérer l’écriture.
La directive EQU associe une valeur à un symbole qui pourra être ensuite utilisée
dans le programme à la place de la constante qu’elle définit.
Exemples :
L’espace mémoire est utilisée pour stocker des constantes (chaînes de caractères,
valeurs numériques, ...) ou des variables. Avant d’employer une variable, il faut
préalablement la déclarer (comme dans tout langage).
DB/DW/DD:
Ces directives sont utilisées pour déclarer les variables : L'assembleur attribue à
chaque variable une adresse. Les noms des variables sont composés d'une suite
de 31 caractères au maximum, commençant obligatoirement par une lettre. Le
nom peut comporter des majuscules, des minuscules, des chiffres, plus les
caractères @, et _. Lors de la déclaration d'une variable, on peut lui affecter une
valeur initiale.
DB (Define byte): elle réserve un espace mémoire d'un octet : donc les
valeurs qu'on peut stocker pour cette directive sont comprises entre 0 et
255 ( pour les nombres non signés ) et de -128 jusqu'à 127 pour les
nombres signés .
Exemple :
Vil DB 12H ; Définit une variable (un octet) de valeur Initiale 12H.
Tab DB 18H, 15H, 13H ; définit un tableau de 3 cases
;(3 octet) Qui démarre à partir de l'adresse TAB.
Mess DB 'ISET' ; définit aussi un tableau mais les valeurs de chaque case
;n'est autre que le code ascii de chaque lettre.
Name DB ? ; définit une variable 8 bits de valeur initiale quelconque.
Exemple :
TT1 DW 500H ; réserve deux cases mémoire (un mot) a partir de ;l'adresse
TT1.
TAB1 DW 10H,11H,14H ; réserve u tableau de 6 cases chaque valeur
sera ;mise sur deux cases
YY DW ? ; réserve un mot dans la mémoire de valeur
initial ;quelconque.
Exemple : ff DD 15500000H
Directive dup :
Dans certains cas, l'adressage indirect est ambigu. Par exemple, si l'on écrit :
Dès lors, on peut afficher le contenu du registre DL. On va faire appel au DOS dont
c’est l’une des spécialités. Pour cela, il faut déclencher ce qu’on appelle une
interruption, et plus exactement l’interruption numéro 21 H.
C’est pourquoi nous avons travaillé avec DL. L’affichage terminé, le dos renvoie
au programme, à l’instruction suivante, celle de la ligne 12.
Dès lors, il faut terminer cette séquence car ce beau 8 a dû s’afficher à l’écran
(5+3). Pour cela, on fait à nouveau appel à l’interruption 21H mais en logeant,
cette fois, 4CH dans AH, ce qui envoie à une séquence rendant la main au DOS.
Avant d'entamer les premiers programmes de TP, on va mettre au point les étapes
à suivre pour créer un programme exécutable.
Edition:
On utilise de texte pour taper le code source en langage assembleur. Ensuite on
enregistre le fichier sous l'extension ".asm".
Compilation:
La compilation du programme traduit le code source en binaire et génère un fichier
"objet". C'est un programme qui n'est pas directement exécutable.
Les programmes des TP sont prévus pour être assemblés avec TASM.
C:\Tasm>tasm/l premier.asm
Turbo Assembler Version 4.1 Copyright (c) 1988, 1996
Borland International
Error messages: faut-il traduire ? là, c’est l’échec complet car les erreurs ne
permettent pas l’assemblage.
Dès lors, et sous DOS, demandez le répertoire de vos fichiers. Vous devez en
trouver deux nouveaux qui sont :
Il s’y ajoute d’ailleurs des numéros de ligne, au début de chacune d’elles. Il s’agit
des propres numéros de l’assembleur, semblables à ceux d’EDLIN ici, mais qui
seront généralement différents. Les codes numériques sont tous en hexadécimal ;
ils sont répartis dans 3 champs :
- Le champ adresse, sur 4 digits. Les adresses démarrent à 0000 et sont
données en valeurs relatives par rapport à 0
- Le champ opération sur 2 ou 4 digits : c’est le code de l’opération à
exécuter. Ainsi MOV DL a été traduit par B2 et ADD DL par 80C2 …
C:\Tasm>tlink premier.obj
Turbo Link Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International
Warning: No stack
C:\Tasm>
Tlink signale une erreur : on n’a pas créé de segment de pile ( Stack ), mais cette
erreur reste sans conséquence.
Après cette opération, Tlink a généré le fichier exécutable souhaité premier.exe.
De plus in généré un fichier listable premier.map dont on va examiner l’intérêt par
la suite.
Exécution:
taper premier.exe (ou premier.com) pour lancer le programme.
C:\Tasm>prog1
8
C:\Tasm>
Turbo Debugger:
Turbo Debug (TD.EXE) est un utilitaire (fourni avec TASM) permettant d'exécuter,
pas à pas, un programme.
Il est ainsi possible de voir l'influence de chaque instruction sur la mémoire et sur
les registres.
Dans le premier programme, nous avons vu que Tlink nous a reproché d’avoir
oublié le segment de pile ; On va en créer un. De la même façon, on va créer un
segment de données mais pour le justifier, on va modifier notre programme
d’addition : les opérandes et la somme vont être rangées en mémoire, dans un
segment de données. Voici comment étaient rédigées nos deux lignes d’addition
précédente :
MOV DL,5
ADD DL,3
On va ainsi écrire :
NOMBRE DB 5
PLUS DB 3
Par contre on est censé ne pas connaître la SOMME, aussi va-t-on le remplacer
par un point d’interrogation ( ?) que l’assembleur comprendra, en écrivant :
SOMME DB ?
- Appeler NOMBRE et le ranger dans l’un des registres disponibles, pour changer,
on va travailler avec l’accumulateur AL
- Appeler PLUS et l’ajouter à AL
- Le résultat étant dans AL, on le range alors en mémoire, à SOMME :
MOV AL,NOMBRE
ADD AL,PLUS
MOV SOMME, AL
Ici, on ne fournit donc plus l’opérande dans l’instruction : on écrit à sa place son
symbole, lequel représente réellement l’adresse mémoire à laquelle se trouve.
Programme complet :
On affecte dons CODE, DONNEES et PILE aux registres CS, DS et SS. Notez
que ce sont les noms que nous avons placés en Label sur les lignes 1, puis 5,
et 11.
IV- Manipulation:
Le but est d'assurer un premier contact avec l'environnement de travail: Edit, Tasm, Tlink
et Turbo Debugger.
Démarche à suivre:
Allez sous DOS, dans le répertoire où vous avez installez TASM (exemple: C:\TASM\ )
ensuite tapez:
tlink premier /v
- L'option /v demande au programme d'utiliser la table des symboles générée par tasm
lors du débugage du programme.
td premier
Examiner les différentes fenêtres de l'interface.
Objectifs :
Notion de procédure et pile
Manipulation des structures de contrôle.
Structure de contrôle :
Les structures tels que if-else, for, while, switch, etc. permettent l’exécution conditionnelle d’un bout de code dépendant
de la valeur d’une variable. Ces structures de contrôle sont implantées au moyen des instructions de branchements
conditionnels et inconditionnels. En effet, lors d’une comparaison, par exemple CMP a,b, le processeur effectue la
soustraction a-b et positionne les indicateurs selon le résultat de telle opération. Ces indicateurs peuvent être :
o ZF : qui =1 si le résultat est nul, sinon, ZF=0,
o CF : =1 s’il y a une retenue, sinon CF=0,
o SF : =1 si le résultat est négatif, sinon, SF=0,
o OF : =1 en cas de débordement de capacité, sinon OF=0.
Ainsi, le branchement qui se réalise relativement à ces flags est un branchement conditionnel qui peut être signé ou non
signé. Un tel branchement peut être réalisé par rapport au compteur CX : JCX (jump if CX=0), JECX (jump if ECX=0).
Les branchements inconditionnels sont réalisés tout le temps, sans aucun test, tel que les instructions CALL ou JMP
(Jump).
Procédure et pile :
Une procédure ou sous-programme est un ensemble d’instructions auquel on fait appel pour réaliser des taches
spécifiques. L'architecture Intel dispose d'instructions pour l'appel de sous-programmes (CALL) et pour le retour de
sous-programmes (RET).
L'instruction CALL pousse l’adresse de l’instruction suivante sur la pile et saute à l’adresse spécifiée par l’opérande.
Sa syntaxe est la suivante :
call etiquette
call eax
call dword ptr [ebx]
L'instruction RET dépile l’adresse de retour au sommet de la pile, la place dans EIP. L'exécution se poursuit donc à
cette adresse.
En effet, une procédure peut être de type :
FAR : dans ce cas, la procédure n’est située dans le même segment que le code. Dans ce cas, le RET porte sur
2 adresses : celle du début de segment où est située la procédure (adresse qui ira dans le CS) et l’adresse
du du déplacement dans ce segment qui ira dans IP.
NEAR : située dans le même segment que le code. Dans ce cas, le RET porte juste sur le IP (CS restant
inchangé).
Remarque : Le SP, pointeur de pile, désigne toujours la prochaine cellule libre.
Passage des paramètres aux sous-programmes
Un sous-programme nécessite des données sur lesquelles il doit opérer. Ces données sont fournis par la programme
appelant (principal) et le sous-programme doit produire des résultats qu’il devra transmettre au programme appelant.
Ainsi, ces données peuvent être passées au SP de deux manières différentes : valeur ou adresse
Passage par valeur
La valeur numérique du paramètre est passée au sous-programme. Ainsi, le sous-programme ne peut pas modifier le
paramètre en mémoire, car il ne connaît pas son adresse.
Passage par référence, par adresse ou par pointeur
C’est l’adresse du paramètre qui est passée au sous-programme. C’est le cas pour les structures, les tableaux, les chaînes.
Dans ce cas, le sous-programme connaît l’adresse mémoire du paramètre et peut en principe le modifier.
o Passage par registres
On dispose des six registres eax, ebx, ecx, edx, edi et esi pour le passage des paramètres. Cette méthode est la plus rapide
puisqu’elle minimise les accès à la mémoire.
Exemple :
Calcul de la somme de deux nombres de 16 bits et qui sont passés par AX et BX :
TP2 1 A. RAIHANI
UH2MC-ENSET Mohammedia Programmation en assembleur
Exercice 1 :
Refaire l’exercice pour additionner deux nombres en utilisant les trois procédures suivantes ;
Main : qui réalise l’addition
Convert : qui réalise la conversion en code ASCII
Disply : réalise l’affichage à l’écran
TP2 2 A. RAIHANI
UH2MC-ENSET Mohammedia Programmation en assembleur
TP2 3 A. RAIHANI
UH2MC-ENSET Mohammedia Programmation en assembleur
TP2 4 A. RAIHANI
UNIVH2C – ENSET M - M.RAIHANI
Chaque image sur l’écran, trouve son reflet en mémoire ; plus précisément à
chaque point de l’image correspond une zone en mémoire.
1- Mode caractères.
Chaque caractère est codé sur deux octets, l’un pour le code ASCII et l’autre
pour des particularités d’affichage dénommées Attributs :
Intensité :
Mode monochrome : 0 = Simple 1 = Double
Normal 0 0 0 0 1 1 1
Double intensité 0 0 0 1 1 1 1
Souligné 0 0 0 0 0 0 1
Souligné double intensité 0 0 0 1 0 0 1
Vidéo inversé 1 1 1 0 0 0 0
7 6 5 4 3 2 1 0
0 = Fixe
1 = Clignotant Arrière plan Avant plan
COURS D’ASSEMBLEUR
UNIVH2C – ENSET M - M.RAIHANI
Mode Couleur :
Noir 0 0 0 0 0 0 0
Bleu 0 0 1 0 0 0 1
Vert 0 1 0 0 0 1 0
Cyan 0 1 1 0 0 1 1
Rouge 1 0 0 0 1 0 0
Magenta 1 0 1 0 1 0 1
Marron 1 1 0 0 1 1 0
Blan 1 1 1 0 1 1 1
Gris 1 0 0 0
Bleu clair 1 0 0 1
Vert Clair 1 0 1 0
Cyan Clair 1 0 1 1
Rouge Clair 1 1 0 0
Magenta Clair 1 1 0 1
Jaune 1 1 1 0
Blanc Vif 1 1 1 1
COURS D’ASSEMBLEUR
UNIVH2C – ENSET M - M.RAIHANI
EXTRA SEGMENT
EXTRA ENDS
MOV AX,ECRAN
MOV ES,AX
CALL EFFACE
CALL AFFICHE
…
PRINCIPALE ENDP
CODE ENDS
END PRINCIPALE
COURS D’ASSEMBLEUR
UNIVH2C – ENSET M - M.RAIHANI
CODE SEGMENT
ASSUME CS:CODE,SS:PILE
ETOILE PROC FAR
MOV AH,15 ; la page active apparaîtra dans BH
INT 10H ; le premier des appels
MOV AH,0 ; pour définir le mode
INT 10H
MOV CX,1 ; compte de caractères à écrire
MOV DL,0 ; curseur sur la colonne 0
MOV DH,5 ; curseur sur rang‚e 5
CURSEUR: MOV AH,2 ; positionnement du curseur
INT 10H
MOV AL,2AH ; choix du caractère "*"
MOV AH,10 ; pour l'afficher
INT 10H
INC DL ; colonne suivante
CMP DL,50 ; a t - on les 50 "*"?
JNE CURSEUR
MOV AH,4CH
INT 21H
ETOILE ENDP
CODE ENDS
END ETOILE
Application : Animation
Animer consiste à :
- Afficher quelques choses
- Maintenir cet affichage durant un délai
- L’effacer rapidement, puis
- Le réafficher à côté, de façon à simuler un processus de déplacement
- Recommencer…
Ecrire la suite des instructions permettant le déplacement de l’astérisque
sur une ligne.
COURS D’ASSEMBLEUR
UH2MC-ENSET Mohammedia Projet : Programmation en assembleur
I- Objectifs :
L’objectif de ce projet est de faire établir une liaison entre deux ordinateurs en utilisant un câble
null-modem.
On rappelle qu’on peut accéder au port série par la voie de la programmation système de trois
façons:
Par le DOS;
Par le BIOS;
Directement en contrôlant le matériel.
Dans notre cas, on s’intéressera à la dernière méthode. Ainsi, on étudiera les protocoles mis en
oeuvre dans ce cas :
La trame asynchrone, observation et tests ;
Le protocole matériel RTS/CTS
Le protocole logiciel Xon/Xoff
II- Réalisation du TP :
Vous devez réaliser la connexion et écrire les programmes de communication. Le projet se
décompose de plusieurs parties non entièrement indépendantes. Pour ce faire, on procèdera
comme suit :
- Pour la partie A, on devra réaliser et tester ses programmes sur un seul PC (liaison
monoposte).
- Pour les parties B et C, deux PC sont nécessaires.
- La programmation doit être réalisée en assembleur. Les indications fournies sont en langage
C.
GL-SID1 1/ 4 A. RAIHANI
UH2MC-ENSET Mohammedia Projet : Programmation en assembleur
III- Préparation :
1. Faites une recherche bibliographique sur la RS232
2. Donnez la structure d’une trame asynchrone (RS232) (telle qu’on l’observerait sur un
oscilloscope) pour les caractéristiques suivantes :
Caractère émis : «A» de code ASCII 65 sur 8 bits.
Parité impaire (odd parity)
1 bit stop.
IV- Manipulation :
A- Test de ligne
On désire transmettre une information d’un ordinateur à l’autre, mais il est préférable de tester au
préalable la ligne par une sorte de commande "ping" (demande de réponse).
Pour éviter de monopoliser deux machines, et pour tester les programmes en évitant les problèmes
dues à la ligne elle même, on peut aussi tester liaison en local en câblant un "bouchon" c'est à dire en
rebouclant la sortie de l'interface série sur son entrée.
GL-SID1 2/ 4 A. RAIHANI
UH2MC-ENSET Mohammedia Projet : Programmation en assembleur
L’équipement en réception, lorsque son buffer est presque plein, informe l’émetteur en désactivant le
signal RTS ; lorsque le buffer est à nouveau prêt à recevoir des données, il réactive cette ligne;
l’émetteur reçoit cette information sur sa ligne CTS. Cette liaison fonctionne en halfduplex (émission
et réception simultanée) et peut être gérée matériellement par scrutation (polling) ou interruption.
Le récepteur stoppe
l’émetteur (envoi) qui doit XOFF = $13
attendre le code de Xon
1011101
XOFF= Buffer plein 0101010
XON = Buffer vide 1010100
1000000
BUFFER
1000011
1111111
0111010
1010101
Le récepteur déclenche 0101010
l’émetteur (envoi) qui 1010101
recommence l’envoi des 101010
données tout en testant si le XON =$11
code de XOFF n’arrive pas
GL-SID1 3/ 4 A. RAIHANI
UH2MC-ENSET Mohammedia Projet : Programmation en assembleur
Émission Réception
Emit Xon
Réception Xon
non
oui
Réception car i
Emit car i non
oui
oui
Dernier car ? non Car de fin
oui
non
i=128 Vidange buffer jusqu’à i
i+1 non
oui
Emit Xoff
Réception Xoff
non
oui Vidage buffer (i=1)
Fin Fin
GL-SID1 4/ 4 A. RAIHANI
HOW-TO Setup THRSim11 to Simulate the M68HC11 EVB
Jason Bales, 28 Aug 2006
ECE 447, Fall 2006
George Mason University
This document will guide you through setting up THRSim11 to properly simulate the
Motorola 68HC11 Evaluation Board (EVB) that comes in the lab kit for ECE 447 offered
at George Mason University in Fall of 2006. It assumes you have already correctly
installed THRSim11 and you have access to the buffalo.h header file.
You should get a screen similar to [Figure 1] with the MASON splash in the background.
Now we need to setup the memory map in THRSim11. Because we are simulating the
Evaluation Board (EVB), the simulation setup will actually need to write data in what is
normally ROM on the EVB. THRSim11 will stop us from writing to memory that is
designated as ROM, so for simplicity, we will set everything to RAM.
Verify you are selecting the correct menu item by referring to [Figure 2].
Figure 2, Memory Configuration menu item
3. Click YES
THRSim11 will nicely ask you if you are sure you want to exit
4. Click EXIT
The THRSim11 Memory Configuration Tool will now open. Follow this procedure to set
the address space to RAM. Afterwards verify that your configuration matches [Figure 3].
5. Select User defined from the drop down box in the top left of the window
6. Uncheck all ROMx enabled sections in the second row
7. Set the Ram sections according to this table:
RAM0 is by default always enabled. We are using the RAM1 section to make the rest of
memory RAM. Note that this covers all of memory space except for a small section
$01FF-$1FFF. This is fine. Some of that area is for memory mapped I/O. Ensure that
the remaining RAM and ROM sections are unchecked. It is also OK to leave the LCD
enabled checked if you like, but do not change any of the addresses in the third row (IO
and LCD).
Figure 3, Memory Configuration Tool
THRSim11 will reload and is now ready to simulate your code. If all you are doing is
setting THRSim11 up to simulate, you are done. If you are ready to simulate actual
program code then follow the remaining steps.
We need to include a single header file in our application for our code to simulate
properly.
Now you are almost ready to simulate the EVB with Buffalo running on it. Compile your
code as normal in the SciTE editor and run it.
THRSim11 will open if it isn t already running and bring your code up. You are now
ready to start the simulation.
UH2C - ENSETM TP microcontrôleur
Exercice 1:
Ecrire un programme pour afficher le chiffre hexadécimal (0-F) placé à la case mémoire d'adresse $0300
(data) sur un afficheur 7 segments à anode commune. Le schéma de câblage est donné par la figure ci-contre.
0 a a
f b
Port B g
g e c
7 AC
d
Avec l’interrupteur principal (Q1), on active le système d’alarme et tous les capteurs et contacts sont alors
surveillés. Une LED de contrôle verte (I3) indique la « disponibilité ».
Lorsqu'un (ou plusieurs) des contacts à la porte (Q2) et aux fenêtres (Q3 et Q4) sont activés, la LED rouge (I1)
doit clignoter et l’alarme (I2) doit retentir. Le système d’alarme reste activé jusqu’à ce que vous ayez acquitté
le signal, c’est-à-dire jusqu’à ce que le système d’alarme soit désactivé avec l’interrupteur principal. L’alarme
acoustique se désactive cependant au bout de 10 secondes.
Dès que le capteur d’environnement (Q5) est activé, la diode LED rouge d’alarme doit clignoter.
Une alarme d’environnement se termine quand vous la désactivez avec l’interrupteur principal ou quand
l’intrus s’éloigne.
2. Montage :
Proposer une configuration pour la connexion des différents actionneurs et capteurs.
3. Analyse
Après une analyse du problème, on peut dresser l’ébauche conceptuelle sur la page 4.
4. Programme et sous-programmes :
Le programme de gestion de l’alarme sera constitué de trois parties :
- SP clignote : Allume la LED alarme pendant 0.5s et l’éteint pendant 0.5s. Ce sous-
programme sera appelé par Clignote.
- SP alarme : réalise une temporisation de 0.5s sera appelé par Tempo.
- Programme principal : main
Solution :
– Donner le programme et les sous-programmes répondant aux exigences du cahier des chrages et
respectant l'ébauche conceptuelle précitée.
Informations complémentaires :
o Microcontrôleur 68HC11 avec fréquence de 8 MHz
o 0,5 µs par cycle de machine
Système d’alarme
SP alarme
Décrémenter
Activer LED Ready compt2
Contacts non
Compt2=0 ? non
actifs ?
Charger état
Décrémenter
Démarrer compteur capteur
compt1
10s et tonalité environnement
d’alarme vibreur
EN
non non Compt2=0 ?
Capteur
actif ?
LED alarme
clignote
Return
LED alarme
clignote
In. Pr.
Actif ?
SP Clignote
Désactiver LED
alarme
In. Pr. non
Actif ?
SP alarme
LED alarme
clignote Return
1. Objectifs :
Dans cette manipulation, on va découvrir la manipulation du port série du 68HC11. Pour ce faire, on se servira
toujours le simulateur THRSim11, qui met à la disposition de l’utilisateur un certain nombre de périphériques
pour le test et l’évaluation de son programme tel que l’interface de communication série (SCI) pour la réception
et l’émission d’un caractère
2. Interface de communication série (SCI) :
3.1. Exercice 1 : Transmission d’un caractère
Le principe de notre programme est le suivant :
Après l’initialisation du SCI, le caractère à transmettre (T par exemple) est chargé dans accB. Ensuite, l’état du
drapeau TDRE (registre de données de transmission vide) est testé dans une boucle. Lorsque TDRE est vrai, le
contenu de accB est stocké dans le SCDR (registre de données de communication série). Cette opération
réinitialise automatiquement TDRE.
Une première ébauche du programme «Transmit.asm » peut être :
START LDX #REGBAS
LDAA #%00110000
STAA BAUD,X
LDAA #%00000000
STAA SCCR1,X
LDAA #%00001100
STAA SCCR2,X
LABEL2 LDAB #'T'
* Emettre le caractère au terminal
LABEL3 LDAA SCSR,X
ANDA #%10000000
BEQ LABEL3
* ici le reg. de transmission est vide
STAB SCDR,X
BRA LABEL2
SWI
Démarche :
o Ouvrez THRSim11 et Fermez la fenêtre Commandes.
o Afficher les registres série : View, Registers, Serial ;
o Afficher le récepteur série : Viw, Serial Receiver ;
o Assemblez « Ttransmit.asm » ;
o Définir des points d'arrêt sur STAB SCDR, et sur SWI.
o Réinitialiser les registres : bouton RESET
o Définir des étiquettes standard : Label / Set Standard Labels.
o Définir l'affichage de A, BAUD, SCCR1, SCCR2 et SCSR en binaire.
o On obtient un écran ressemblant à ceci: (Capture de la figure 1).
Figure 1
Que signifie la valeur de réinitialisation de SCSR ?
Exécution :
o Appuyer sur le bouton RUN.
o Indiquer la condition pour que le programme sort de la boucle
o Le programme accède à la ligne : STAB SCDR, X
o Cette ligne est un point d'arrêt. En ce moment, l'écran ressemble à ceci: (Capture de la figure 2)
Figure 2
o Passez manuellement à la ligne suivante pour enregistre B dans SCDR.
o L'écran ressemble à ceci: (Capture de la figure 3)
Figure 3
o Interpréter et conclure
o Appuyer sur RUN une autre fois
o Que constatez-vous ?
o Appuyer sur RUN 2 fois
o Conclusion
Démarche :
o Ouvrir THRSim11 et Fermez la fenêtre Commandes.
o Afficher les registres de ports et les registres série.
o Afficher émetteur série
o Assemblez « Recept.asm »
o Définir les points d'arrêt sur LDAB SCDR, X et SWI.
o Réinitialiser les registres.
o Définir des étiquettes standard.
o Définir l'affichage de BAUD, SCCR1, SCCR2, SCSR et l’accA sur binaire.
o Votre écran devrait ressembler à ceci : (Capture de la figure 4)
Figure 4
o Exécuter le programme
o Justifier le déroulement en boucle du programme
o Tapez le caractère T dans la fenêtre de l'émetteur série et appuyez sur Send
o Interpréter le résultat
o Avancer manuellement et relever le changement des différents contenus
o Exécuter le programme pour plusieurs caractères
1. Présentation de la maquette :
Un moteur pas à pas entraîne un dispositif de positionnement. Pour la commande avec le microcontrôleur 68HC11, le
module de moteur pas à pas offre trois entrées :
• "CLOCK" : À chaque fois qu’un signal est réinitialisé ( "1-0- transition" ) à l’entrée “Clock1“, le
moteur se déplace d’un ‘pas’.
"SENS DE ROTATION" : À cette entrée “ R /L “, le sens de rotation souhaité peut être spécifié :
o "1" pour la droite,
o "0" pour la gauche.
• "PORTEE" : cette entrée “H / F “ définit la portée à réaliser :
o "1" pour un demi-pas,
o "0" pour un pas complet.
Le mot "111xxxxx" indique par exemple le mode de fonctionnement "Demi-pas / rotation à droite"
(x signifie ici “0“ ou “1“ au choix).
Important :
Il faut prévoir une temporisation de 100µs entre chaque pas du moteur.
2. Montage expérimental :
Matériel requis :
Qté Désignation Identifiant
1 Plate-forme avec module d’alimentation en courant +5V SO4000-1E
1 Alimentation enfichable CA 90...230V, 45..65Hz, CC 9V, SO4000-1F
630mA
1 Module PSD2-FLASH à contrôleur 68HC11 I SO4000-1I
1 Adaptateur de 8 bits SO4000-1K
1 Moteur pas à pas avec disque de codage SO4000-2B
1 Unité de pilote de bus SO4000-1V
1 Unité de commutation SO4000-1R
Montage :
Travail demandé :
Un compte rendu du projet est à rendre au terme de la réalisation. Ce compte rendu, rédigé par groupe de
travail, doit traiter les points suivants :
5- On a enregistré dans un tableau une séquence de mouvements complète comprenant plusieurs pas, avec mode
de fonctionnement et fréquence différents. Le début et la fin du tableau reçoivent $FD respectivement $FE
comme caractéristique.
ADRESSE CONTENU
10 $FD (Début de la table)
11 $C0 (Phase 1)
12 $5
13 100
14 $80 (Phase 2)
15 10
16 100
17 $40 (Phase 3)
18 15
19 100
1A 0 (Phase 4)
1B 20
1C 100
1D $FE (Fin de la table)
6- Programmez un tableau qui accélère le moteur pas à pas avec un régime s’élevant jusqu’à une fréquence
maximale de 250 Hz et qui réduit ensuite la fréquence jusqu’à l’arrêt, créant ainsi une « rampe de démarrage et
de freinage ».
fréquence
300
200
100
0
Pas
Dans un tunnel routier, 4 capteurs de substances toxiques I1...I4 mesurent la pollution de l’air. Selon les besoins, la
commande doit activer et désactiver 3 turbines d’aération. Un système de feux de circulation régule la circulation dans
le tunnel quand les 4 turbines d’aération sont activées.
Notamment en cas de bouchon dans le tunnel, le système de feux de circulation en interdit l’entrée. Un embouteillage
est saisi par une boucle de détecteur de proximité I5 qui surveille le trafic.
Phase 1 2 3 4
Durée (s) 1 10 1 10
LED rouge (Port1 7)
LED orange (Port1 6)
LED verte (Port1 5)
2. Montage expérimental :
Matériel requis :
Montage :
Travail demandé :
Un compte rendu du projet est à rendre au terme de la réalisation. Ce compte rendu, rédigé par groupe de
travail, doit traiter les points suivants :
I- Réalisez une analyse des problèmes pour la commande des feux de circulation et répondez aux questions
suivantes :
Q1 :
Quelles sont les valeurs de sortie des différentes phases de feux en séquence binaire, en représentation
hexadécimale ou comme chiffre décimal ? Remplissez le tableau de valeurs suivant :
Phase Durée (s) b7 b6 b5 b4 b3 b2 b1 b0 Hex Déc
1
2
3
4
Fin
Q2 :
Donnez la suite des instructions pour écrire la valeur de sortie et la durée comme tableau dans la
mémoire RAM (à partir de l’adresse 30h).
Q3 :
Comment choisir la fin du tableau ?
II- Pour préparer la commande des feux de circulation, créez à partir de l’adresse $F800 un sous-programme
DELAY qui retarde avec une base temps de 1 seconde et attend plusieurs secondes selon le paramètre
<DelayTime> transmis. Ce paramètre est à recharger à partir de la table de séquences déjà remplie (à partir
de l’adresse 30h).
Exemple : DelayTime=10, on refait DELAY 10 fois, donc une temporisation de 10s.
Sachant que :
Fréquence d’horloge : 8Mhz
Cycle de machine : 0.5µs
Déterminez le contenu des compteurs de boucles pour assurer cette temporisation de 1s.
Donner l’organigramme correspondant.
SP DELAY
III- Développez un sous-programme qui passe en revue une fois les 4 phases des feux.
SP LIGHTS
SYSTEME TUNNEL
Structure du programme :
On vous fournit ci-joint une ossature du programme en précisant un certain nombre de constantes utilisées
dans le programme.
;*******************************************************************
;* Projet: "Commande d’une aération de tunnel" *
*
;* configuration matérielle *
;* P0.1 Ventilateur M1 *
;* P0.2 Ventilateur M2 *
;* P0.3 Ventilateur M3 *
;* *
;* P0.5 Feu "Vert" *
;* P0.6 Feu "Orange" *
segment code
ORG 0
; Entrées et sorties:
Green equ %00100000 ; P0.5 Feu "Vert"
Red equ %10000000 ; P0.7 Feu "Rouge"
Crash equ %10000000 ; P1.7 (touche) accident/embouteillage dans le tunnel
;///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
segment code
ORG $F800
DELAY :
;=====================================================================
; SP: INIT
; Objet: Initialiser les ports E/S P0 et écrire tableau 4 phases de feux dans mémoire RAM
; Appel: par MAIN
;=====================================================================
INIT:
;=====================================================================
; SP: SENSOR>[SumSen]
; Objet: Compter le nombre de capteurs actifs en incrémentant SumSen
; Appel: par MAIN
; Entrées: Port1.0-3 (=capteurs)
;=====================================================================
SENSOR:
;=====================================================================
; SP: VENTI(SumSen)
; Objet: Activer ou désactiver les ventilateurs selon le nombre des capteurs actifs
; Appel: par MAIN
; Sorties: Port0.1-3 (=ventilateurs)
;=====================================================================
VENTI:
;=====================================================================
; SP: LIGHTS
; Objet: Parcourir les 4 phases des feux à partir du tableau et appelle le SP DELAY
; Appel: par MAIN
; Sorties: Port0.5-7 (=feux)
;=====================================================================
LIGHTS:
;=====================================================================
; SP: STOP
; Objet: En cas d’accident/embouteillage dans le tunnel, feu sur « rouge » et activer tous
; les ventilateurs, appelle le SP DELAY
; Appel: par MAIN
; Sorties: P0.1-3,5-7 (=feux et ventilateurs)
;=====================================================================
STOP:
;=====================================================================
; SP: FREE
; Objet: Commuter le feu au « vert » après un embouteillage et appelle le SP DELAY
; Appel: par MAIN
; Sorties: P0.5-7 (=feux)
;=====================================================================
FREE:
;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
MAIN:
Objectifs :
Travail demandé :
Un compte-rendu est à remettre à la fin des séances de TP. Dans ce compte-rendu, vous devez :
développer succinctement votre réflexion.
commenter votre code MatLab.
interpréter les résultats obtenus.
traiter les exercices non réalisés au laboratoire.
CI-SEER 1 1 A.RAIHANI
Université Hassan II de Casablanca- ENSET Mohammedia Traitement du signal : TP
Prg1 : Prg2 :
fs = 10000 ; t = -1:0.00001:1 ;
t = 0:1/fs:1.5 ; x2 = tripuls(t,0.04) ;
y = square(2*pi*50*t) ; plot(t,x2),
plot(t,y), axis([-0.1 0.1 -0.2
axis([0 0.1 -1.2 1.2]) 1.2])
grid grid ;
Prg3 : Prg4 :
fs = 10000 ; x=0:0.001:4*pi ;
t = 0:1/fs:1.5 ; y=sin(x) ;
y1 = sawtooth(2*pi*50*t) ; plot(x, y) ;
plot(t,y1); axis([0 4*pi -1.2 1.2])
axis([0 0.1 -1.2 1.2]); ;
grid; grid ;
CI-SEER 1 2 A.RAIHANI
Université Hassan II de Casablanca- ENSET Mohammedia Traitement du signal : TP
La transformée de Fourier de ce signal est réalisée sur un certain nombre d’échantillons Nf.
Le résultat de la TF est un signal 1D de Nf coefficients. Chaque coefficient représente l'amplitude
d'un signal sinusoïdal d'une fréquence correspondant à la position de ce coefficient. La précision de
la TF (plus petite différence notable entre deux fréquences) est la largeur d'une bande de fréquence
qui représentée par un coefficient. En effet, lorsque deux signaux ont une fréquence qui est trop
proche l'une de l'autre, ils sont représentés sur la TF par le même coefficient. La précision de la TF,
Fe
qui correspond à la est donnée par : f Hz
Nf
Le Nf ne doit pas être choisit trop grand pour deux raisons. La première, c'est que la TF est
relativement coûteuse en temps de calcul (O(nlog n)), ce qui fait que, pour un signal échantillonné à
44.1 kHz, il faut 65536 échantillons pour identifier une fréquence avec une précision inférieure à 1
Hz. La seconde, c'est que la TF n'a de sens que si le signal est périodique sur un grand nombre
d'échantillons, ce qui n'est pas toujours le cas (p.ex. 65536 échantillons = 1.5 seconde de signal).
La TF étant symétrique, elle possède une partie positive et une partie négative. Un fftshift est
donc nécessaire pour obtenir un graphique ressemblant à celui ci-contre :
La fréquence de chaque pic d de la TF est donc donnée par : freq d .f Hz
Etant donné la symétrie de la norme de la TF, seuls Nf/2 coefficients sont significatifs. La fréquence
maximale (correspondant bien au théorème de Shanon) est donc donnée par :
Nf Fe
Fmax ( 1) * f
2 2
Avec Matlab, cela donne :
i=1; % position de départ de l’analyse fréquentielle
Nf=8192; % 8192 échantillons
df=Fe/Nf ; % largeur de bande de freq d'un coef.
fmax=(Nf/2-1)*df; % fréquence maximale en Hz
ft=abs(fft(x(i:i+Nf-1))); % norme de la TF
plot(1:Nf, fftshift(ft)); % peut être affiché en Hz avec 0:df:fmax
[dummy d]=max(ft(1:Nf/2)); % recherche du coef maximum (=signal dominant)
d=d(1)-1; % -1 car les tableaux matlab débutent à 1
freq=d*df ; % freq dominante trouvée par la TF en Hz
CI-SEER 1 3 A.RAIHANI
Université Hassan II de Casablanca- ENSET Mohammedia Traitement du signal : TP
En augmentant le nombre Nf, on peut obtenir la fréquence de départ (440 Hz) avec la précision désirée
Application :
Soit le script Matlab suivant :
close all
clear all
[W1, Fs, nbits] = wavread('diapason.wav');
wavplay(W1,Fs); % permet de jouer un signal sur la carte son
plot(W1); % zoomez et remarquez l’aspect ‘‘sinusoidal’’
fW1=fft(W1);
figure
plot(abs(fW1));
figure
plot(abs(fftshift(fW1))); % zoomez sur la partie centrale
figure
plot(log(abs(fftshift(fW1))));
figure
semilogy(abs(fftshift(fW1)));
grid on
[X,indice]=max(abs(fW1));
l=length(W1);
Exécuter ce code ;
Zoomer pour remarquer l’aspect sinusoïdal
Vérifiez la validité de la formule de Parseval.
À quelle fréquence correspond le plus grand pic dans le spectre ? Pouvez-vous retrouver
quelle est la note jouée ?
Etude préliminaire :
On considère le signal analogique (continu) suivant :
y (t ) sin(2t ) 0.3 sin(20t )
Quelle est la plus haute fréquence présente dans ce signal ? Quel est la fréquence d’échantillonnage
minimale pour satisfaire la condition de Nyquist ?
Soit les commandes Matlab suivantes :
.
close all
clear all
fe=100;
T=[0:1/fe:5];
Y=sin(2*pi*T)+0.3*sin(20*pi*T);
plot(T,Y), grid on
Ce code a pour effet de dessiner la représentation du signal échantillonné à la fréquence fe, sur 5
périodes.
Diminuez la valeur de la fréquence d’échantillonnage, mais en la gardant plus grande que
la fréquence de Nyquist. Observez que vous pouvez vérifier la fréquence de la composante
du signal y en comptant le nombre de maxima locaux sur une période.
Que se passe-t-il lorsque la fréquence d’échantillonnage est égale à la fréquence de Nyquist
?
Et lorsque la fréquence d’échantillonnage est inférieure à la fréquence de Nyquist ?
Comptez les maxima
locaux : que pensez-vous du résultat ?
CI-SEER 1 4 A.RAIHANI
Université Hassan II de Casablanca- ENSET Mohammedia GE-SEER2 : Traitement du signal
Introduction :
Un filtre numérique est un système linéaire permanent, fonctionnant en temps discret, dont l’objet est de
modifier d’une façon précise le contenu fréquentiel (spectral) d’une séquence appliquée à l’entrée de ce
système. En effet, un filtre doit laisser passer certaines fréquences, alors qu’il doit en atténuer (voire
éliminer) d’autres. Ainsi, on distingue quatre filtres de base :
les filtres passe-bas laissent passer les fréquences inférieures à une fréquence de coupure fc et
bloquent celles qui lui sont supérieures,
les filtres passe-haut bloquent les fréquences inférieures à une fréquence de coupure fc et laissent
passer celles qui lui sont supérieures,
les filtres passe-bande laissent passer les fréquences autour d’une fréquence centrale f0 (ou
comprises entre f1 et f2) et bloquent les autres,
les filtres réjecteur-de-bande bloquent les fréquences autour d’une fréquence centrale f0 (ou
comprises entre f1 et f2) et laissent passer les autres.
Cette partie du TP utilise le logiciel de simulation Matlab pour faire:
la synthèse des filtres : conception numériques des filtres à partir d’un gabarit analogique prédéfini.
l’analyse des filtres : caractérisation de ses filtres par les réponses en fréquences, indicielle,
impulsionnelle.
Travail demandé :
Un compte-rendu est à remettre à la fin des séances de TP. Dans ce compte-rendu, vous devez :
développer succinctement votre réflexion.
commenter votre code MatLab.
interpréter les résultats obtenus.
traiter les exercices non réalisés au laboratoire.
Partie 1 : Analyse des filtres numériques
Exercice 1 : Etude d’un filtre numérique passe-bas premier ordre :
Pour réaliser un filtre passe-bas FIR simple (qui atténue les fréquences élevées du signal), il suffit
d'effectuer la moyenne des valeurs entre l'échantillon présent et l'échantillon précédent, tel qu'il est exprimé
par l'équation : y n 0.5 x n 0.5 x n 1
Intuitivement, on peut comprendre l'effet passe-bas de cette opération puisqu'en effectuant la moyenne, on
atténue des variations brusques du signal, ce qui résulte en un lissage du signal d'entrée.
1. Tracer la réponse en fréquence de ce filtre en considérant 512 points et une fréquence
d’échantillonnage de 2000 Hz, 8000 Hz puis 16 000 Hz (freqz, plot)
2. Déterminer la fréquence de coupure à -3dB pour chaque cas. Conclure
3. Etudier le comportement d’un filtre passe-bas d’ordre 1 pour deux signaux sinusoïdaux de
fréquences respectives : 1000 Hz et 200 Hz. (butter, filter)
Exercice 3 :
On désire étudier le filtre décrit par la fonction de transfert suivante :
1
H z avec a1=-1.0690 et a2=0.5831
1 a1 z a 2 z 2
1
-0dB
-3dB
-40dB
f (Hz)
4KHz 5KHz
Figure 1
A- Synthèse de filtres IIR numériques :
1- Filtre de Butterworth :
- Déterminez l'ordre minimal du filtre satisfaisant ce gabarit (buttord).
- A partir de là, récupérez la fonction de transfert en Z associée (butter).
- Observez le module de la réponse en fréquence (freqz)
- Fixez la fréquence d'échantillonnage à 10 kHz et refaites les points précédents. Que se passe t-il ?
Commentez.
2- Filtre de Tchebychev de type I
- Déterminez l'ordre minimal du filtre satisfaisant ce gabarit (cheb1ord).
- A partir de là, récupérez la fonction de transfert en Z associée (cheby1).
- Observez le module de la réponse en fréquence (freqz)
3- Filtre de Tchebychev de type II
- Déterminez l'ordre minimal du filtre satisfaisant ce gabarit (cheb2ord).
- A partir de là, récupérez la fonction de transfert en Z associée (cheby2).
TP : Simulation Matlab A. RAIHANI Page 2
Université Hassan II de Casablanca- ENSET Mohammedia GE-SEER2 : Traitement du signal
Le compte-rendu est un rapport de synthèse du travail réalisé au cours d'une séance de TP. Il s'agit avant tout
d'un document de travail pour votre usage personnel résumant les différentes tâches réalisées au laboratoire
ou sur PC et permet d'autre part, à l’enseignant de vérifier que le travail a été effectué correctement et que les
étudiants ont bien compris les concepts et les notions associés aux thèmes étudiés. La présentation et
l'interprétation des résultats, la proposition de solutions pour obtenir de meilleurs résultats constituent les
points forts d'un compte rendu de TP. Un CR doit obligatoirement contenir une introduction et une
conclusion.
Important :
Un CR est personnel et toute ressemblance, en totalité ou en partie,
entre des rapports conduira à une note 0/20
Le plan typique de votre compte rendu doit respecter et contenir les points suivants :
1. Introduction générale :
L’introduction présente brièvement l’objectif du TP sujet d’étude. Cette partie est très importante car
une introduction bien rédigée, et qui présente clairement l’intérêt de la manipulation, donne au lecteur
une impression favorable pour la suite. Il s'agit de décrire le problème posé et définir les objectifs de
l’activité à atteindre
2. Cœur du rapport :
L’énoncé de TP est organisé selon une progression logique. Il peut généralement contenir plusieurs
exercices qui doivent vous amener à comprendre un point particulier du thème abordé. Par
conséquent, vous devez traiter chaque exercice à part et en tirer les enseignements nécessaires. Ainsi,
pour chaque exercice, il faut traiter les points suivants :
Démarche suivie :
Il s'agit de faire un rappel théorique des notions abordées dans l'exercice en question et de
décrire la démarche suivie pour la résolution et la présentation des résultats attendus. Une telle
étude doit intégrer, outre une description détaillée des différentes données utilisées et leur
structure, les outils à utiliser éventuellement pour la conduite du TP.
Pratique et présentation des résultats :
Il s'agit de traiter l’ensemble des questions et de présenter clairement les résultats relatifs à
chaque travail demandé. Les résultats doivent être présentés sous forme de tableaux et
graphiques avec des légendes claires et lisibles.
Interprétation et discussions des résultats
Il s'agit dans cette partie de discuter la corrélation entre la théorie et la pratique. Le cas échéant,
il faut apporter des améliorations de la solution proposée pour aboutir aux résultats attendus.
TP1 :
Gisement éolien
(Etude statistique, modélisation de la vitesse du vent et potentiel éolique)
Ce TP consiste à illustrer et mettre en œuvre les concepts vus en cours. Il s'agit d'organiser, traiter et d'analyser
les mesures éoliques en vue de déterminer le potentiel énergétique du site sujet d'étude. Les différentes étapes
de cette étude s’appuient sur les mesures éoliques fournies par notre station de mesure en exploitant les outils
statistiques et un logiciel dédié. Pour ce faire, on suivra les phases suivantes :
Faire les prétraitements nécessaires pour les mesures brutes
Caractériser la vitesse du vent du site étudier
Chercher le modèle de cette vitesse en utilisant les études statistiques et les modélisations dédiées.
Estimer le potentiel énergétique de tel site.
N.B:
Les mesures, sujettes d'étude, vous seront fournies au laboratoire et concernent des mesures annuelles.
L'étude peut s'étendre au-delà des lignes directives proposées.
Un rapport individuel est à rendre à la fin du TP. Dans ce rapport, vous devez vous rendre-compte par
rapport au travail demandé. Ainsi, il est nécessaire de faire une étude montrant la touche de l'élève-
ingénieur.
On annexe, on vous fournit un document pouvant servir de support d'étude.
II. Prétraitement :
Avant de commencer l'analyse et la caractérisation du régime du vent, il s'avère nécessaire de réaliser quelques
traitements préliminaires dans le but réduire le temps de traitement. En effet, en fonction de la période
d'échantillonnage (Archive Period), le nombre d'échantillon peut être trop important et peut entraîner une
saturation de la mémoire de la machine de traitement surtout lorsqu'on passe sur une analyse annuelle
(8760h!!!).
Le but est, donc, de réduire le nombre d'échantillons sans trop perdre d'informations (on pense à l'estimation
énergétique).
Approche :
Pour la nouvelle période d'échantillonnage, conserver la même structure de données en retenant les
informations suivantes :
La vitesse moyenne du vent
La direction la plus dominante sur cette période
La moyenne et le max des vitesses maximales
La moyenne et le max des différentes températures
TP3 :
Gisement solaire
La connaissance de ce gisement est d’un intérêt majeur pour concevoir et dimensionner les systèmes
énergétiques solaires. Ainsi, un bon dimensionnement n’est possible que si les mesures sont disponibles
d’une manière continue dans l’espace et dans le temps. La meilleure manière pour cela est de disposer
d’une série de mesures continues du rayonnement solaire arrivant au sol. En effet, avant d’arriver au
sol, ce rayonnement subit des variations physiques en traversant l’atmosphère en interagissant avec les
constituants gazeux et solides de la couche atmosphérique : ozone, vapeur d’eau et autres gaz,
molécules d’air, aérosols et les nuages. Notons, par ailleurs, que l’atmosphère joue un rôle essentiel pour
la vie sur Terre car il permet de garder un équilibre de température à la surface de la terre, absorbe une
grande partie du rayonnement ultraviolet du soleil, dangereux pour les yeux et la peau et provoque la
combustion d’un grand nombre de météorites sauf les très grosses.
Dans ce TP nous allons découvrir d’une part, (i) l’effet de l’atmosphère sur le rayonnement solaire et
d’autre part, (ii) l’étude et la simulation des paramètres astronomiques nécessaires pour une meilleure
interception de l’énergie au niveau du sol. En effet, la connaissance de la position du soleil dans le ciel à
tout instant et en tout lieu, les heures de lever et de coucher ainsi que la trajectoire du soleil dans le ciel
au cours d’une journée permettent d’évaluer le gisement solaire pour un site donné.
1. Graphiques :
1.1. Représenter, dans le même graphique, 𝑊 et 𝑅𝑎𝑦 en fonction de
1.2. Représenter, dans le même graphique, 𝑊 et 𝐴𝑒𝑟 en fonction de
1.3. Représenter, dans le même graphique, 𝑊 et 𝐸𝑎𝑢 en fonction de
1.4. Représenter, dans le même graphique, 𝑊 et 𝐷𝑖𝑓 en fonction de
1.5. Représenter, dans le même graphique, W, Dif-1.5, Dif-2 et Dif-3 en fonction de
2. Indiquer le pourcentage occupé par chaque couleur, et calculer l’atténuation produite dans 1.1, 1.2,
1.3 et 1.4. Interpréter les résultats.
3. Comparer la diffusion globale par rapport produit des 3 autres diffusions (Ray, Aeo et Eau). Conclure
4. Interpréter le graphe de la figure de 1.5
Remarque :
- Pour le format de l’axe des abscisses, il faut choisir les options suivantes :
- Limites : minimum =0.1 et maximum=10 ;
- Unités : Principale=10 et secondaire=10 ;
- L’axe vertical coupe : valeur de l’axe=0.1 ;
- Echelle logarithmique, base =10