J-0
00m
00j
00h
00min
00s

Version interactive avec LaTeX compilé

Banque PT Modélisation PT 2016

Notez ce sujet en cliquant sur l'étoile
0.0(0 votes)
Logo banque-pt
2025_09_04_b9c9d81536ddfb325e26g

Epreuve d'Informatique et Modélisation de Systèmes Physiques

Durée 4 h
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, d'une part il le signale au chef de salle, d'autre part il le signale sur sa copie et poursuit sa composition en indiquant les raisons des initiatives qu'il est amené à prendre.

L'usage de calculatrices est interdit.

AVERTISSEMENT

Il est conseillé de répartir votre temps de composition comme suit :
  • 1h30 : pour lire et traiter la partie modélisation (parties I et II),
  • 2 h 30 : pour lire et traiter la partie informatique (parties III et IV).
La présentation, la lisibilité, l'orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront pour une part importante dans l'appréciation des copies. En particulier, les résultats non justifiés ne seront pas pris en compte. Les candidats sont invités à encadrer les résultats de leurs calculs.

Étude d'un tensiomètre électronique

I Présentation

Dans le domaine médical, la pression artérielle est l'un des paramètres les plus surveillés dans le cadre des maladies cardio-vasculaires. En effet, quand la pression artérielle est trop élevée, pendant des durées très longues, le muscle cardiaque finit par se fatiguer jusqu'à atteindre des insuffisances cardiaques sévères ; on parle d'hypertension.
A l'inverse, une tension trop basse conduit à sous-alimenter les organes et peut conduire à des étourdissements ou évanouissements. L'hypotension n'est généralement pas considérée comme une maladie.
Communément, la mesure de la pression artérielle se fait par la détermination de deux valeurs classiques : la pression systolique (pression la plus élevée suite à la contraction du cœur) et la pression diastolique (pression la moins élevée après le relâchement du cœur quand celui-ci se remplit de sang).
Pour mesurer ces pressions, le médecin utilise classiquement la méthode du brassard associé à son stéthoscope. Le médecin gonfle le brassard jusqu'à couper la circulation sanguine dans le bras. Le médecin pose ensuite le stéthoscope sur l'artère et dégonfle progressivement le brassard. Dès qu'il écoute le sang passer à nouveau dans l'artère, il mesure la pression systolique sur le manomètre associé au brassard. Puis il continue à dégonfler le
Figure 1 Tensiomètre utilisé en milieu hospitalier.
brassard jusqu'à ne plus écouter aucun bruit, là il lit la pression diastolique.
On peut également mesurer ces pressions avec un tensiomètre électronique (voir figure 1). Il existe des modèles simples pour les particuliers et des modèles beaucoup plus complets dans le cadre des milieux médicaux.
Les applications numériques seront données avec 1 chiffre significatif, sauf contre-ordre.

II Etude du capteur de pression

II. 1 Etude du capteur : modélisation de la déformation de la membrane

Le principe du capteur de pression repose sur l'effet piézorésistif (voir figure 2). La cellule sensible du capteur est constituée d'une membrane se déformant sous l'effet de la force appliquée par un micro-vérin. Le micro-vérin applique une force F proportionnelle à la pression du brassard. Sur la membrane sont fixées 4 jauges de déformation. Les résistances électriques de ces jauges varient sous l'effet d'une déformation. Puis cette variation de résistance est transformée en tension électrique au moyen d'un circuit de conditionnement.
L'objectif de cette partie est de relier la pression du brassard à la tension mesurée dans le circuit de conditionnement en fonction des différents paramètres caractéristiques du capteur.
On cherchera également à montrer que le capteur permet d'avoir une précision de moins d'un mmHg .
Figure 2 - Principe de fonctionnement du capteur et de la mesure.
En première approximation, la membrane peut être modélisée par une poutre de longueur encastrée à chacune de ses extrémités soumise à un effort d'intensité en son milieu (figure 3(a)).
Les caractéristiques de la poutre sont :
  • : le module d'Young
  • : la surface de la section droite de la poutre
  • : le moment d'inertie de la section autour de l'axe ( )
  • : l'épaisseur de la membrane
    est le centre d'inertie de la section droite de la poutre.
    On note .
    On suppose que le déplacement de la section droite est .
    La force appliquée par le vérin est notée .
    Les effets de la pesanteur sont négligées.
    Le modèle est considéré comme plan.
Figure 3 - Modèle poutre de la membrane
Pour simplifier le calcul de la déformée de la membrane, on adopte le modèle donné sur la figure 3(b). On supposera que la liaison en bloque la translation suivant et la rotation suivant .
Q1. Justifier pourquoi le modèle de la figure 3(b) est équivalent à celui de la figure 3(a). Justifier l'intérêt de cette simplification en déterminant le degré d'hyperstatisme des deux modèles.
On notera les torseurs des actions mécaniques au niveau des liaisons sous la forme :
, le torseur de cohésion est noté coh
(action de la partie droite sur la partie gauche).
Q2. Isoler le tronçon de poutre compris entre l'abscisse [ ]. Ecrire l'équation issue du principe fondamental de la statique permettant d'obtenir la relation entre le moment fléchissant , l'effort tranchant et une (ou des) inconnue(s) de la liaison en .
Effectuer un second isolement et écrire l'équation nécessaire permettant d'exprimer l'effort tranchant en fonction de .
En déduire la relation entre le moment fléchissant , l'effort et une (ou des) inconnue(s) de la liaison en .
On rappelle que la relation de comportement reliant le moment de flexion au déplacement est . On se place dans les hypothèses de Navier-Bernoulli en petits déplacements, on a ainsi la rotation de la section droite autour de l'axe ( ).
Q3. Après intégration, montrer que le déplacement se met sous la forme où vous préciserez les expressions des constantes et en fonction des paramètres du modèle en éliminant les inconnues de la liaison en .
On rappelle que le problème étant hyperstatique, le moment de flexion est exprimé en fonction d'inconnues de liaisons qui seront déterminées en appliquant les conditions limites.
On rappelle que la déformation dans une section droite de la poutre est donnée par .
Q4. Montrer que la déformation sur la peau supérieure de la membrane ( ) se met sous forme , où vous préciserez les expressions des constantes et en fonction des paramètres du modèle.
Quatre jauges de déformation sont disposées sur la peau extérieure de la membrane (voir figure 4).
Figure 4 - Disposition des jauges de déformation sur la membrane.
Q5. Quelle serait la position idéale des jauges de déformation? En pratique elles sont placées en et en , donner la valeur des déformations de ces jauges et montrer que où vous donnerez l'expression de en fonction des paramètres du modèle.

II. 2 Choix des jauges de déformations

Les jauges de déformation disposées sur la membrane (voir figure 4) subissent une déformation proportionnelle à l'intensité de la force appliquée par le piston : .
On cherche maintenant à déterminer la relation entre la variation de la résistance de la jauge de déformation et l'effort presseur .
Considérons une jauge de déformation de forme parallélépipédique constituée d'un matériau homogène de résistivité (s'exprimant en ). On note sa longueur, et ses dimensions transversales, sa section droite (voir figure 5).
Figure 5 - Jauge de déformation
La résistance électrique de ce corps d'épreuve s'exprime au moyen de la relation .
Q6. Lorsque la jauge d'épreuve est soumise à une force appliquée parallèlement à , elle se déforme: et subissent de petites variations valant respectivement et . Exprimer la variation relative de résistance électrique .
Les variations de et de et ne sont pas indépendantes : avec une constante dépendant du matériau, appelée coefficient de Poisson.
Q7. Exprimer en fonction de et .
Dans le cas d'un métal, est lié à la variation du volume selon la loi , avec une constante appelée constante de Bridgman.
Q8. Montrer que peut s'écrire sous la forme :
é
Dans le cas d'un semi-conducteur, est lié à la contrainte selon la loi , avec une constante appelée constante de piézorésistivité; de plus, le module de Young du matériau lie la contrainte et la déformation
Q9. Exprimer le facteur de jauge dans le cas d'un semi-conducteur.
On donne :
  • Pour le cuivre : ;
  • Pour le silicium : .
Q10. Évaluer le facteur de jauge dans le cas du cuivre et dans le cas du silicium. Commenter.
Q11. Quel phénomène peut induire une erreur sur la mesure de la contrainte?

II. 3 Circuit de conditionnement : pont de Wheatstone

Les 4 jauges semi-conductrices identiques, de résistance à l'équilibre, sont fixées sur la membrane (voir figure 4). La déformation de la jauge placée en vaut donc .
La déformation des jauges conduit à une variation ou d) de leur résistance. Les 4 jauges sont branchées en pont de Wheatstone, alimenté sous une tension . Les bornes A et B sont branchées à un amplificateur de résistance d'entrée très grande.
Figure 6 - Pont de Wheatstone
Q12. Déterminer l'expression de la tension en fonction des paramètres du pont.
A l'équilibre le pont est réglé de manière à avoir .
Q13. Déterminer la variation de tension lorsque les résistances subissent des variations en fonction des variations .
Q14. La jauge 1 correspond à la résistance . Déterminer la position qu'il convient de donner aux autres jauges dans le pont de Wheatstone (autrement dit faire le lien entre les jauges 2,3 et 4 avec les résistances , et du pont).
Q15. Exprimer la tension en fonction de et du facteur de jauge .
On considère un capteur de pression constitué d'une membrane en silicium ayant les caractéristiques suivantes :
  • surface
  • longueur ;
  • épaisseur ;
  • module d'Young ;
  • moment d'inertie de la section .
Q16. Etablir la relation entre la tension et la pression , puis définir et exprimer la sensibilité de ce capteur de pression en fonction de et .
Q17. Quelle est la tension obtenue pour une pression de 50 kPa ?

III Traitement numérique des informations

Le capteur fournit une tension qui va subir un traitement informatique par une carte de commande. L'objectif de cette partie est de mettre en place les différents algorithmes permettant de déterminer les pressions diastolique et systolique ainsi que le pouls du patient après avoir filtré numériquement le signal. L'utilisation en milieu hospitalier nécessite la sauvegarde des différentes données dans une base de données afin de réaliser un meilleur suivi du patient.
Les algorithmes demandés au candidat peuvent être réalisés dans le langage Python ou dans le langage Scilab; toutes les questions seront traitées dans le même langage.
Veillez à apporter les commentaires suffisants à la compréhension de votre programme et à utiliser des noms de variables explicites.

III. 1 Numérisation du signal

Le signal issu du conditionnement est amplifié pour donner la tension fournie par le capteur ; cette tension est numérisé par un convertisseur analogique-numérique. La tension mesurée appartient à pour une pression comprise entre . La pression affichée est en mmHg , on rappelle que .
La résolution de l'affichage de la pression est de 1 mmHg , cependant la numérisation du signal nécessite une précision plus importante de l'ordre de maximum.
Le constructeur a, à sa disposition, des convertisseurs analogique-numérique (CAN) dotés d'une résolution de 10 bits, 12 bits et 16 bits.
Q18. Déterminer en justifiant votre réponse la résolution du (ou des) CAN permettant de respecter le critère de précision.
On cherche à déterminer la quantité de mémoire nécessaire pour stocker une mesure.
Une mesure peut durer jusqu'à 60 s . La fréquence d'échantillonnage est de 1000 Hz .
L'ensemble des valeurs de la mesure va être stocké dans un tableau.
Q19. Choisir un type de stockage pour les valeurs parmi les types suivants : entier relatif codé sur 8, 16, 32 ou 64 bits, entier non signé codé sur 8, 16, 32 ou 64 bits, réel codé sur 32 ou 64 bits. En déduire la quantité de mémoire nécessaire pour stocker le tableau, exprimée en octets octet bits .

III. 2 Filtrage numérique du signal

La fréquence d'échantillonnage est notée , la période d'échantillonnage est notée . Le signal numérisé est stocké dans une liste de taille , notée Ue, contenant l'ensemble des valeurs accessible par la commande avec en Python et par la commande avec en Scilab.
Pour simplifier les notations, toute fonction du temps évaluée au temps sera notée au lieu de .
Le signal numérisé est filtré pour supprimer les bruits de mesure et permet d'obtenir le signal filtré numérique sous forme d'une nouvelle liste Uf.
Le filtre numérique retenu est un filtre du 2nd ordre modélisé par l'équation différentielle
On choisit et .
Q20. Justifier succinctement le choix de ces valeurs sachant que la fréquence cardiaque est au maximum de 190 pulsations par minute.
Pour résoudre cette équation différentielle, on utilise le schéma numérique d'intégration de Newmark :
et sont des paramètres de la méthode.
Q21. En introduisant les relations du schéma de Newmark dans l'équation différentielle exprimée au pas de temps , montrer que la relation de récurrence peut se mettre sous la forme suivante : avec .
Vous exprimerez et en fonction de .
Afin d'analyser les propriétés de la méthode de Newmark, on résout l'équation différentielle pour un second membre simple avec différents pas de temps, pour un réglage des paramètres et fixé. Les résultats sont synthétisés sur la figure 7.
Q22. Qualifier la stabilité du schéma d'intégration en fonction du pas de temps.
On définit l'erreur du schéma d'intégration par . Le tableau suivant donne l'évolution de l'erreur en fonction du pas de temps.
0,01 0,001 0,0001
0,05 0,005 0,0005
Q23. Etant donné l'évolution de l'erreur, proposer un ordre de convergence associé à la méthode de Newmark dans la configuration donnée.
Figure 7 - Evolution de la solution en fonction de la valeur du pas de temps .
Dans le cadre de l'acquisition numérique, la période d'échantillonnage est fixée, donc le pas de temps d'intégration aussi. On rappelle que la fréquence d'échantillonnage est de 1000 Hz . Q24. Conclure quant à la qualité du calcul du signal filtré.
Q25. Ecrire une fonction newmark (gamma, beta,omega, z,e, Te) qui prend en argument les paramètres et de la méthode, les paramètres et du filtre, le signal à filtrer et la période d'échantillonnage . Cette fonction retourne le signal filtré sous la forme d'une liste de même taille que la variable e. On supposera les conditions initiales nulles. On pourra utiliser directement les constantes et en les supposant définies comme variables globales.
Q26. Proposer une amélioration de la fonction newmark afin de minimiser la taille des variables intermédiaires, donner la nouvelle fonction. Si vous pensez avoir déjà un algorithme optimal, précisez-le sur votre copie en justifiant.

III. 3 Détermination des pressions systolique, diastolique

Les courbes de la pression mesurée brute et filtrée sont données sur la figure 8. L'objectif de cette partie est d'analyser la courbe afin d'extraire les données recherchées. On dispose de deux tableaux : data contenant la pression mesurée filtrée et t contenant le temps associé à chaque mesure (les données sont rangées par temps croissant).
Pour déterminer la pression systolique, il faut parcourir la courbe; celle-ci présente des successions de bosses et de creux qui seront respectivement nommés maximum local et minimun local. La pression systolique correspond à la valeur du maximum local où le critère est vérifié pour la première fois en parcourant minimum_local les données par temps croissant.
Q27. Ecrire une fonction pression_systolique(data) qui prend en argument les données mesurées filtrées et qui retourne la pression systolique. On supposera qu'il est toujours possible de trouver la pression systolique dans le tableau data.
Figure 8 - Pression artérielle mesurée brute et filtrée.
La pression diastolique correspond à la valeur du maximum local où le critère est vérifié pour la dernière fois en parcourant minimum_local les données par temps croissant et que le maximum local reste supérieur à 40 mmHg pour éviter de détecter un bruit numérique.
Q28. Ecrire une fonction pression_diastolique(data) qui prend en argument les données mesurées filtrées et qui retourne la pression diastolique. On supposera qu'il est toujours possible de trouver la pression diastolique parmi dans le tableau data.

IV Stockage et analyse des résultats

Le tensiomètre est utilisé dans le domaine hospitalier lors des visites régulières des infirmières dans les chambres des patients. Le tensiomètre doit permettre d'enregistrer les différentes constantes pour chaque patient. Après utilisation, le tensiomètre est connecté au réseau de l'hôpital et synchronise ses mesures avec la base de données des patients.
La base de données est composée de plusieurs tables dont :
  • patients avec les attributs :
  • id : identifiant associé à un patient, clé primaire
  • numero_secu : le numéro de sécurité sociale du patient
  • nom : le nom du patient
  • prenom : le prénom (ou les prénoms) du patient
  • adresse1 : adresse du patient
  • adresse2 : complément d'adresse du patient
  • code_postal : code postal de la ville du patient
  • ville : ville du patient
  • date_de_naissance : date de naissance du patient
  • telephone : numéro de téléphone
  • ...
  • mesures avec les attributs:
  • id : identifiant associé à une mesure, clé primaire
  • type : le type de mesure stockée : résultat d'analyse sanguine, pression artérielle, radio...
  • datetime : la date et l'heure de l'examen sous la forme '2016-01-01
  • pid : identifiant du patient associé à la mesure
  • pdias : pression diastolique en mmHg .
  • psyst : pression systolique en mmHg .
  • pouls : pouls en pulsations par minute.
Remarque : Les tables contiennent bien d'autres attributs, la base de données d'autres tables, seuls les éléments nécessaires à la suite ont été mis en place.
Q29. Rappeler en quelques lignes l'utilité d'une clé primaire dans chacune des tables et dire si un autre attribut des tables aurait pu servir de clé primaire.
Pour le besoin du suivi médical des patients, les médecins doivent pouvoir avoir accès à l'évolution des constantes en fonction du temps lors d'une hospitalisation.
A l'aide d'une interface graphique non étudiée ici, le médecin peut sélectionner les données à extraire entre deux dates qui seront stockées dans les variables time1 et time2 stockées dans le format de datetime. Il souhaite tracer les évolutions des pressions systolique, diastolique et le pouls entre ces deux dates.
Q30. Donner la requête SQL à envoyer au serveur de gestion de la base de données permettant de récupérer la valeur des champs datetime, pdias, psyst et pouls entre les deux dates time1 et time2 (stockées dans le format de datetime).
La requête précédente renvoie toutes les mesures sans distinction de type de mesures et sans que ce soit lié à un unique patient.
Le médecin a sélectionné un patient avec son identifiant unique id, cette valeur est stockée dans la variable id_patient.
Q31. Donner la requête SQL à envoyer au serveur de gestion de la base de données permettant de récupérer la valeur des champs précédents entre les deux mêmes dates, pour le patient id_patient et pour un type de mesures 'tension'.
La requête est envoyée et traitée à l'aide d'une fonction traitement_requete(requete) qui retourne un tableau resultat_requete dont la première colonne est le champ datetime, la deuxième le champ psyst, la troisième le champ pdias et la dernière pouls.
On supposera pour simplifier que la valeur de la colonne datetime est comprise comme un entier par le langage de programmation retenu et qu'il peut être utilisé directement comme abscisse des graphiques à produire dans la question suivante.
Q32. Donner la séquence d'instructions permettant de tracer un graphique comportant l'évolution des pressions diastolique et systolique ainsi que le pouls en fonction du temps. Vous veillerez à mettre des titres et légendes sur le graphique. Vous utiliserez des styles de lignes différents pour chaque ligne dont vous expliciterez en commentaire le résultat visuel (couleur, type de trait : continu, pointillé...). Des éléments de documentation sont donnés en annexe page 11.
A coté du graphique, le médecin souhaite avoir les valeurs minimale, maximale, moyenne et médiane de chacune des constantes.
Q33. Ecrire une fonction analyse(valeurs) qui prend en argument une liste de valeurs et qui retourne le minimum, le maximum et la moyenne.
Q34. Déterminer la complexité de votre fonction analyse(valeurs) en fonction de la taille de la liste de valeurs notée dans le meilleur et le pire des cas. Vous calculerez pour cela le nombre de comparaisons et d'opérations (addition, soustraction, division, multiplication) réalisées.
Q35. A l'aide d'une méthode de tri de votre choix que vous expliciterez, écrire une fonction mediane(valeurs) qui prend en argument une liste de valeurs et qui renvoie la valeur de la médiane.
Q36. Déterminer la complexité de votre fonction dans le meilleur et dans le pire des cas en comptant le nombre de comparaisons effectuées. Votre méthode est-elle efficace? Justifier.
Le médecin souhaite obtenir les nom, prénom et le numéro de téléphone des patients qui ont eu une pression systolique supérieure strictement à 160 mmHg , une pression diastolique supérieure strictement à 110 mmHg , avec un pouls compris strictement entre 100 et 150 .
Q37. Ecrire la requête SQL à envoyer au serveur de gestion de la base de données permettant de répondre à la demande du médecin.

V Annexe - documentation partielle

Les syntaxes entre le langage Python et Scilab sont tout à fait similaires pour les cas standards. La documentation officielle partielle suivante, issue de Python, peut être utilisée dans les deux langages.
En Python, on supposera que les fonctions ont été importées et sont directement utilisables.

V. 1 Tracer une courbe plot (*args,**kwargs)

Plot lines and/or markers to the Axes. args is a variable length argument, allowing for multiple x , y pairs with an optional format string ( fmt ). For example, each of the following is legal :
plot(x, y) # plot x and y using default line style and color
plot(x, y, 'bo') # plot x and y using blue circle markers
An arbitrary number of groups can be specified, as in :
plot(x1, y1, 'g^', x2, y2, 'g-')
Return value is a list of lines that were added.
By default, each line is assigned a different style specified by a 'style cycle'.
The following format string characters are accepted to control the line style or marker :
character description
',' solid line style
,_, dashed line style
'-.' dash-dot line style
dotted line style
point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
,^, triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
character description
tri_left marker
tri_right marker
, 's' square marker
'p' pentagon marker
' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
' ' vline marker
'_' hline marker
The following color abbreviations are supported :
character color
'b' blue
'g' green
'r' red
'c' cyan
'm' magenta
'y' yellow
'k' black
'w' white
Line styles and colors are combined in a single format string, as in 'bo' for blue circles.

V. 2 Titres et légende

xlabel(s): Set the x axis label of the current axis with the string s .
ylabel(s): Set the axis label of the current axis with the string .
title(s) : Set a title of the current axes with the string .
legend(*args) : Places a legend on the axes. args must be a list of string.
Banque PT Modélisation PT 2016 - Version Web LaTeX | WikiPrépa | WikiPrépa