Banque PT Modélisation PT 2015Sujet et corrigé
- Induction électromagnétique et couplage de bobines
- Circuits en régime sinusoïdal forcé et impédance complexe
- Schémas numériques d'Euler pour équations différentielles
- Codes correcteurs d'erreurs
- Bases de données et langage SQL
Téléchargements
- Rapport du jury : non disponible
Présentation du sujet
Informatique et modélisation, banque PT 2015 : système RFID à 13,56 MHz et titre de transport sans contactAfficher ou masquer la section
Présentation du sujet
Le sujet étudie les systèmes d'identification par radiofréquence (RFID), illustrés par la carte de transport sans contact. La partie modélisation étudie le couplage magnétique entre la bobine du lecteur et celle de la puce, et la tension reçue par la puce selon la fréquence et les composants du circuit. La partie informatique simule la démodulation d'amplitude du signal reçu, met en oeuvre un code de Hamming pour corriger les erreurs de transmission, teste l'autorisation de passage d'un voyageur, puis écrit des requêtes SQL d'exploitation des données.
- 1Partie I : modélisation du couplage RFID à 13,56 MHzOn étudie le champ magnétique créé par la bobine du lecteur, le couplage mutuel avec la bobine de la puce, l'impédance du circuit et les conditions pour que la tension reçue par la puce soit suffisante.
- 2Partie II, section 1 : simulation de la démodulation d'amplitudeOn simule numériquement, par un schéma d'Euler, la tension de sortie d'un détecteur d'enveloppe à diode et circuit RC, pour extraire le message binaire transmis par la puce.
- 3Partie II, section 2 : détection et correction d'erreursOn étudie le bit de parité puis le code de Hamming (7,4), qui permet de détecter et de corriger une erreur unique dans un message de sept bits.
- 4Partie II, section 3 : autorisation de passageOn écrit des fonctions qui lisent un fichier de données du titre de transport et déterminent si un passage doit être autorisé selon plusieurs règles de priorité.
- 5Partie II, section 4 : exploitation des donnéesOn écrit des requêtes SQL pour exploiter une base de données de passages, de points de passage et de titres de transport.
Ces sujets peuvent vous intéresser
Lecture du sujet en ligne
L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.Afficher ou masquer la section
Lecture du sujet en ligne
Epreuve d'Informatique et Modélisation
Durée 4 h
L'usage de calculatrices est interdit.
AVERTISSEMENT
L'épreuve comporte deux parties qui peuvent être traitées indépendamment l'une de l'autre. Une première partie modélisation (durée conseillée 1 H 30 ) et une seconde informatique (durée conseillée 2 H 30 )
Les explications des phénomènes étudiés interviennent dans la notation au même titre que les développements analytiques et les applications numériques ; les résultats exprimés sans unité ne seront pas comptabilisés.
Tout au long de l'énoncé, les paragraphes en italiques ont pour objet d'aider à la compréhension du problème.
Tout résultat fourni dans l'énoncé peut être admis et utilisé par la suite, même s'il n'a pas été démontré par le (la) candidat(e).
Les applications numériques, effectuées sans calculatrice, pourront supporter des arrondis ou simplifications judicieux.
Les progrès réalisés dans le domaine de l'électronique ont permis son développement et son intégration dans de nombreux domaines. Aujourd'hui, la RFID (du fait de son prix et de la taille des étiquettes) prend une place de plus en plus importante dans la vie courante, et d'un simple fonctionnement en mode tout-ou-rien, au stockage et au traitement d'informations, les applications couvrent des domaines allant de la télédétection (identification d'animaux, antivols, localisation...) aux transactions de la vie courante: par exemple dans les systèmes de contrôle d'accès aux transports en commun, type passe Navigo de la RATP pour le métro parisien. Les puces RFID tentent aujourd'hui de supplanter les codes à barres en jouant de leurs avantages, à savoir qu'il est possible d'écrire, d'effacer et de réécrire les données stockées dans une puce un grand nombre de fois, que leur portée peut être supérieure aux lecteurs optiques utilisés pour les codes à barres, et que la communication peut se faire à travers certains obstacles contrairement aux systèmes à lecture optique.
- Un TAG passif (dénommé TAG par la suite) ou étiquette intelligente (aussi appelé transpondeur), associé à l'élément à identifier. Il est capable de répondre à une demande venant d'un lecteur. Le TAG n'a pas d'alimentation de type batterie ou pile mais est autoalimenté par l'onde électromagnétique reçue.
- Une station de base ou lecteur RFID qui a pour mission d'identifier le TAG. Le lecteur envoie une onde électromagnétique en direction de l'élément à identifier, cette onde alimente le TAG qui peut alors communiquer avec le lecteur grâce à sa puce électronique interne. En retour, le lecteur reçoit l'information renvoyée par le TAG.

II existe plusieurs familles de systèmes RFID dont le principal critère de différentiation est la fréquence de fonctionnement. Les système RFID utilisent des bandes de fréquence à 125 kHz (bande BF),
| Bande | Fréquence | Portée | Pouvoir de Pénétration dans un conducteur |
| BF | 125 kHz | + | ++++ |
| HF | 13.56 MHz | ++ | +++ |
| UHF |
|
+++ | ++ |
| UHF |
|
++ | + |
En fonction des différentes fréquences, les principes physiques mis en œuvre ne sont pas les mêmes et le problème aborde certains aspects de la communication.
PREMIERE PARTIE
Système RFID à
13.56 MHz en couplage magnétique
I.A Les fréquences utilisées en RFID
I.A2. Que signifient bande HF et bande UHF ? Pourquoi dit-on que la fréquence
I.A3. Pourquoi les ondes UHF portent plus loin que les ondes HF et les ondes BF ?
I.A4. Pourquoi le pouvoir de pénétration des ondes dans un conducteur augmente quand la fréquence baisse?
I.A5. Pourquoi tous les systèmes RFID HF utilisent-ils la même fréquence de
I.B Modélisation d'un système RFID à
13.56 MHz : la carte à puce sans contact.

I.B2. Quelle est la direction du champ magnétique
.jpg)
I.B3. Donner une expression du flux propre
I.B4. Rappeler la définition de l'inductance propre
Pour les applications numériques prendre:

I.B6. Exprimer les tensions
I.B7. Ecrire trois équations liant les tensions complexes
I.B8. Mettre
Application numérique : donner l'ordre de grandeur de la tension efficace de
On insère un condensateur
I.B9. En négligeant
I.B10. En appliquant la loi de Faraday et avec les approximations adéquates, indiquer quel est l'ordre de grandeur de la valeur numérique du champ efficace
I.B11. Faire un bilan de puissance sur le schéma de la figure 4 en modifiant

I.B12. Montrer que pour
I.B13. Montrer alors que l'amplitude de la tension u
Deuxième partie : Informatique. Modélisation d'un système de titres de transport sans contact
- simuler la récupération d'un message binaire à partir de la tension captée par le lecteur (Partie 1);
contrôler l'intégrité du message récupéré et corriger les erreurs éventuelles (Partie 2),
- déterminer si un voyageur est autorisé ou non à franchir un point de contrôle (Partie 3),
- traiter les informations recueillies par le système afin d'améliorer le service (Partie 4).
Les algorithmes demandés seront réalisés, au choix, dans le langage Python ou le langage Scilab. Le candidat doit précsier en tête de partie le langage choisi et s'y tenir. On supposera que tout module nécessaire à l'utilisation des fonctions usuelles (pi, sin...) a été importé.
Simulation numérique de la démodulation d'amplitude par le lecteur

Q2. Écrire une fonction init_E (T,£) prenant pour arguments la liste

- de calculer
s(t_(i + 1)) en utilisant l'équation correspondant à la valeur de la variable à l'instantt_(i,) , - puis de tester la condition correspondante à partir de la valeur de
s(t_(i + 1)) et, si elle n'est plus vérifiée, de mettre à jour la variable.
Le résultat est stocké dans une listeS avecS[i] = s(t_i) .
Q3. Donner une approximation de(ds)/(dt)(t_i) en fonction des(t_i), s(t_(i + 1)) etΔt_– = t_(i + 1) − t_i en utilisant la formule d'Euler explícite. En déduire, dans le cas où la diode est bloquée à l'instantt_i , la relation de récurrence donnants(t_(i + 1)) en fonction des(t_i) ,τ etΔt .

.jpg)
.jpg)
Pour distinguer l'état "haut" de l'état "bas" de la tension
Q8. Indiquer, pour chacun des trois résultats, s'il est possible d'identifier un tel seuil, et donc si la récupération du message binaire semble réalisable sí l'on se base uniquement sur ce résultat. Conclure sur le critère que doit respecter le pas de temps d'une simulation temporelle pour que les résultats de celle-cí aient une chance d'être pertinents.
Vérification de l'intégrité des données et correction des erreurs
2.1. Bit de parité
- 0 si la donnée contient un nombre pair de 1 (et, donc, si ses bits sont de somme paire),
1 si la donnée contient un nombre impair de 1 (et, donc, si ses bits sont de somme impaire).
Après réception de la donnée, le récepteur recalcule le bit de parité et le compare à celui que l'émetteur lui a adressé. Si la donnée n'a pas été altérée lors de la transmission, alors les deux bits de parité sont forcément identiques.
Q9. Donner les bits de parité associés aux représentations binaires des entiers 5, 16 et 37.
Q10. Écrire une fonction parite (bits) prenant pour argument une liste bits constituée d'entiers valant 0 ou 1 et retournant l'entier 0 ou 1 correspondant à son bit de parité.
Q11. Donner un exemple d'erreur n'étant pas détectable par cette technique. Si une erreur a été détectée, est-il possible de la corriger sans retransmettre la donnée?
2.2. Code de Hamming
-
p_1 est le bit de parité du triplet(d_1, d_2, d_4) ,
> p_2 est le bit de parité du triplet(d_1, d_3, d_4) ,
> p_3 est le bit de parité du triplet(d_2, d_3, d_4) .
Le message encodé, que l'on transmet, s'écrit alors comme suit: (p_1, p_2, d_1, p_3, d_2, d_3, d_4 ).
Q12. Écrire une fonction encode_hamming (donnee) prenant pour argument une liste donnee de quatre bits (représentés par des entiers valant 0 ou 1 ) et retournant une liste de bits contenant le message encodé. On pourra appeler Ia fonction pari te (bits) précédemment définie.
Le contrôle après réception d'un message ainsi encodé est relativement simple. On pourrait naturellement recalculer les trois bits de parité de la donnée et les comparer aux valeurs transmises, mais la technique proposée par Hamming est de calculer les trois bits de contrôle suivants, notés (c_1, c_2, c_3 ), à partir du message complet (données et bits supplémentaires), noté (m_1, …, m_7 ) : -
c_1 est le bit de parité de l'ensemble (m_4, m_5, m_6, m_7 ), -
c_2 est le bit de parité de l'ensemble (m_2, m_3, m_6, m_7 ), -
c_3 est le bit de parité de l'ensemble (m_1, m_3, m_5, m_7 ).
dans le cas particulier où l'erreur est unique, le mot de contrôle donne la représentation binaire de la position de cette erreur en numérotant à partir de 1 . Par exemple, si
Utilisation des données de la puce pour autoriser ou non le passage
| 49987654 |
|
|
|
|
|
|
|
|
(première et dernière zone de validité, date de fin de validité)
(dates, heures et identifiants des lieux des trois derniers passages)
la première ligne contient un entier servant à identifier le titre de transport,
- le réseau de transport est divisé en plusieurs zones numérotées, et le titre n'est valide que dans un ensemble de zones contigües; la seconde ligne contient les bornes de l'intervalle dans lequel le titre est valide (ici, il s'agit des zones 1 à 3 incluses) ainsi que la date de fin de validité du titre au format aaaa-mm-jj (ici, ils'agit du 31 août 2015),
- les trois lignes suivantes contiennent des données relatives aux trois derniers passages effectués à l'aide du titre : date, heure (au format hh:mm:ss sur 24 heures) et identifiant entier du point de passage (gare, arrêt...).
fichier = open('0001.txt')
lignes = fichier.readlines()
fichier.close()
# Ligne 1: recuperation de l'identifiant du titre
id_titre = int(lignes[0])
# Ligne 2 : recuperation des donnees du titre de transport
donnees_titre = lignes[1].rstrip('\n').split(',')
zones = [ int(donnees_titre[0]), int(donnees_titre[1]) ]
ch date fin = donnees titre[2].split('-')
date_fin = [ int(ch_date_fin[0]), int(ch_date_fin[1]), int(ch_date_fin[2]) ]
Sous Scilab
fichier = mopen('0001.txt')
lignes = mgetl(fichier)
mclose(fichier)
// Ligne 1: recuperation de l'identifiant du titre
id_titre = strtod(lignes(1))
// Ligne 2 : recuperation des donnees du titre de transport
donnees_titre = strsplit(lignes(2),',')
zones = [ strtod(donnees_titre(1)), strtod(donnees_titre(2)) ]
ch_date_fin = strsplit(donnees_titre(3),'-')
date_fin = [ strtod(ch_date_fin(1)), strtod(ch_date_fin(2)), strtod(ch_date_fin(3)) ]
| Indice |
|
|
|
|
|
|
|
| Contenu | Année | Mois | Jour | Heures | Minutes | Secondes | Point de passage |
- Zone (entier) : indique la zone dans laquelle se trouve le lecteur,
- Id_Point (entier) : indique l'identifiant du point de passage où se trouve le lecteur,
- Liste_noire (liste d'entiers) : contient les identifiants des titres ayant été déclarés perdus, volés ou détériorés par leurs propriétaires, et devant donc être refusés,
- Maintenant (liste de six entiers) : contient la date et l'heure au format ci-dessus [année, mois, jour, heures, minutes, secondes].
- l'identifiant du titre n'est pas dans la liste noire du lecteur,
- la zone du lecteur appartient à l'intervalle de validité du titre,
la date du jour est antérieure à la date de fin de validité du titre,
- si l'une des trois dernières validations a été effectuée au même point de passage que celui où est installé le lecteur, elle doit avoir été effectuée il y a plus de 450 secondes (ceci afin de décourager l'utilisation frauduleuse d'un même titre par plusieurs voyageurs).
Enfin, lorsqu'un passage est refusé, un message apparaît sur un afficheur LCD pour donner la raison du refus. Cet afficheur possède une seule ligne et il faut donc définir des priorités au cas où plusieurs des conditions ci-dessus ne seraient pas remplies. L'ordre de priorité et les messages correspondants sont donnés ci-dessous :
- "Titre refusé" si l'identifiant est dans la liste noire,
- "Non valide dans cette zone" si le lecteur est hors des zones de validité du titre,
- "Titre expiré" si la date de fin de validité du titre est dépassée,
- "Titre déjà validé" si le titre a déjà été validé dans le même lieu il y a moins de 450 secondes.
Exploitation des données enregistrées par le système
- la table passages dédiée aux passages des voyageurs, constituée des champs :
- date qui contient la date du passage au format aaaa-mm-jj,
- heure qui contient l'heure du passage au format hh:mm:ss,
- id_point qui est l'identifiant (entier) du point de passage,
- id_titre qui est l'identifiant (entier) du titre de transport utilisé ;
la table points dédiée aux points de passage, constituée des champs (entiers) :
- id qui est l'identifiant du point de passage (clé primaire),
- zone qui est le numéro de la zone où se trouve le point de passage,
- ligne qui est le numéro de la ligne sur laquelle se trouve le point de passage ;
et la table titres dédiée aux titres de transport, constituée des champs (entiers) :
- id qui est l'identifiant du titre de transport (clé primaire),
- zone_min qui est la plus petite zone couverte par le titre,
- zone_max qui est la plus grande zone couverte par le titre.
Par exemple, certaines lignes desservant majoritairement des zones d'activités ou des établissements d'enseignement connaissent une forte baisse de leur fréquentation en été, ce qui permet d'alléger le service ; pour choisir la période concernée, il faut connaître précisément l'évolution de la fréquentation au cours de l'été, ainsi que sa répartition au cours de la journée.
Questions fréquentes
4 questionsSur quels chapitres porte ce sujet d'informatique et modélisation banque PT 2015 ?Afficher ou masquer la section
Questions fréquentes
4 questionsSur quels chapitres porte ce sujet d'informatique et modélisation banque PT 2015 ?
Il porte sur l'induction électromagnétique et les circuits en régime sinusoïdal pour la partie modélisation, et sur les schémas numériques, les codes correcteurs d'erreurs et les bases de données pour la partie informatique.
Les deux parties sont-elles indépendantes ?
Oui, l'énoncé précise que la partie modélisation et la partie informatique peuvent être traitées indépendamment l'une de l'autre.
Faut-il maîtriser un langage de programmation particulier ?
Les algorithmes peuvent être écrits au choix en Python ou en Scilab, à préciser en tête de partie.
Qu'est-ce que le code de Hamming étudié dans ce sujet ?
C'est un code (7,4) qui ajoute trois bits de parité à quatre bits de données pour détecter et corriger automatiquement une erreur unique de transmission.
Pas de description pour le moment
