Sciences de l'ingénieur et du numérique, électronique et communications

Mois : décembre 2022

Codage : IA vs étudiant de BTS

J’ai testé pour vous l’IA ChatGPT d’OpenAI dont tout le monde parle en ce moment. Moi qui suis fan de S-F, j’ai trouvé cela vraiment intéressant, je n’ai pas été déçu ! J’ai essayé de voir si cet IA avait ou pas le niveau d’un étudiant de BTS Systèmes numériques sur du codage en C ou un exercice d’électronique. Je vous raconte ça ici…

OpenAI

Logo OpenAI

Après avoir vu passer plusieurs articles intéressants, je me suis inscrit sur le site OpenAI. Il faut laisser une adresse mail et un numéro de téléphone. Cela permet d’accéder gratuitement à plusieurs outils dont ChatGPT, l’IA avec laquelle on peut converser et DALL-E 2 une IA qui produit une image correspondant à la description que vous écrivez. L’inscription est très rapide. J’ai d’abord essayé ChatGPT.

ChatGPT en BTS SN ?

J’ai demandé à ChatGPT de se présenter :

peux tu te présenter en quelques mots ?
Je suis Assistant, un grand modèle de langage entraîné par OpenAI. Je suis une intelligence artificielle conçue pour répondre aux questions et aider à résoudre les problèmes des gens. Mon savoir est limité à la date de coupe de 2021 et je n'ai pas accès à Internet pour effectuer des recherches ou accéder à de nouvelles informations. Je suis là pour vous aider à trouver des réponses et à comprendre les sujets qui vous intéressent. N'hésitez pas à poser des questions ou à demander de l'aide !

Je me suis demandé : « Est-ce que ChatGPT pourrais faire un bon étudiant de BTS Systèmes numériques ?« .

Lettre de motivation

Il faudrait d’abord passer la première étape : ParcourSup ! J’ai donc demandé à l’IA de rédiger une lettre de motivation. Voici ce que ca donne

Lettre de motivation pour aller en BTS Systèmes numériques électronique et communication
Lettre de motivation BTS SN-EC

Alors là, chapeau ! J’ai été impressionné. Rien à dire sur le style, c’est clair et concis. Aucune faute d’orthographe. Sur le fond, rien à dire non plus, franchement, la plupart des lettres de motivation que nous recevons sont moins intéressantes que celle-ci. Du coup, je vais être bien embêté cette année lorsque il va falloir trier les dossiers à la prochaine commission Parcoursup. Si une lettre de motivation est pertinente et sans faute d’orthographe est-ce le candidat qui l’a rédigé ou ChatGPT ?

Une question d’électronique

Et les connaissances ? J’ai fait un test avec une question d’électronique simple, avec une LED, une question du genre de celle qu’on pose en devoir :

Représenter le schéma et calculer la valeur de la résistance permettant d’allumer une led verte (VD = 2,1 V) avec un courant de 15 mA avec une tension d’alimentation de 12 V.
Pour représenter le schéma et calculer la valeur de la résistance nécessaire pour allumer une LED verte avec un courant de 15 mA et une tension d'alimentation de 12 V, vous pouvez utiliser la formule suivante:

R = (V - VD) / I

où R est la résistance en ohms, V est la tension d'alimentation en volts, VD est la tension en volts à laquelle la LED doit être alimentée pour s'allumer, et I est le courant en ampères.

En utilisant cette formule, vous pouvez calculer la valeur de la résistance nécessaire comme suit:

R = (12 - 2,1) / 0,015 = 633,3 ohms

Pour une précision accrue, vous pouvez arrondir cette valeur à la résistance la plus proche disponible dans votre boîte à outils, comme 630 ohms ou 640 ohms.

Voici un schéma représentant ce circuit:

Voltage source (12 V) -- R (630 ohms) -- LED (verte) -- GND

Vous pouvez utiliser un multimètre pour vérifier que la résistance que vous avez sélectionnée est correcte et que la LED s'allume avec un courant de 15 mA.

J'espère que ces informations vous seront utiles! N'hésitez pas à me poser d'autres questions si vous avez besoin d'aide ou si vous avez des doutes.

Voila une réponse intéressante ! J’aimerais bien que mes étudiants rédigent comme cela lors des devoirs surveillés ! C’est bien expliqué. Bon, le schéma c’est léger, il ne sait pas dessiner mais c’est juste, bien qu’il ne précise pas où sont l’anode et la cathode. Pareil pour les résistances proposées 630 et 640 ne sont pas des valeurs normalisées mais franchement, c’est pas mal du tout ! Mon collègue et moi travaillons dur pour que nos étudiants arrivent à faire ce calcul juste en première année.

Coder en C

J’ai demandé à l’IA de résoudre des exercices simples en langage C que je pose en évaluation de TP en milieu de première année.

Le code est juste, bien aéré. La variable temporaire qui permet de stocker la donnée a été judicieusement nommée temp. L’énoncé a été bien compris. L’IA complète sa réponse avec un petit commentaire décrivant le fonctionnement du programme. C’est parfait !

On en essaye un plus dur ? Voici l’énoncé :

1°) Écrire un programme qui demande de saisir une chaîne de caractères (maximum 100 caractères)
en utilisant gets.
2°) Le programme doit ensuite re-afficher la chaîne saisie avec un message (Ex : « Vous avez saisi :
toto ») en utilisant printf.
3°) Ensuite le programme doit déterminer le nombre de caractères de la chaîne et l’afficher. On
utilisera une boucle while et on détectera le caractère de fin de chaîne.
4°) Enfin le programme doit vérifier si le dernier caractère est un s ou un S. Si c’est n’est pas le cas,
il doit alors écrire : « le mot saisi semble être au singulier ! ». Sinon, il écrit : « le mot saisi semble
être au pluriel ! ». Il doit alors créer une nouvelle chaîne de caractère égale au mot amputé du s ou S
et afficher cette chaîne avec le message « Au singulier ce mot s’ecrit ... ».

Voici le programme que j’ai obtenu (je l’ai mis en forme avec Carbon).

Le programme est commenté (ce que ne font pas souvent les étudiants). Les variables portent des noms pertinents. Le programme est juste. Il fait juste deux fois l’affichage du nombre de caractères avec deux méthodes mais c’est vrai que l’énoncé pourrait le laisser croire.

À chaque fois, la réponse est quasi instantanée…

Ces deux manips nous montrent que l’IA code aussi bien, voire mieux qu’un étudiant de BTS en milieu de première année et surtout beaucoup plus vite !

Analyser un programme

OK, l’IA code bien mais est-elle capable d’analyser un programme ? Je l’ai fait plancher sur un exercice posé en devoir écrit. Voici l’exercice.

Et voici la réponse de ChatGPT :

Q.1) Les variables chaine et compte sont toutes deux des variables de type char.

Q.2) Le programme utilise une boucle while pour compter le nombre de caractères de la chaîne de caractères saisie par l'utilisateur. La variable compte contient le nombre de caractères de la chaîne à la ligne 16.

Q.3) Le programme utilise une boucle for pour parcourir chaque caractère de la chaîne de caractères et vérifie si le caractère est compris entre 'a' et 'z' inclus. Si c'est le cas, le caractère est converti en majuscule en lui soustrayant 32.

Q.4) Lorsque l'on exécute le programme et que l'utilisateur saisit "abBA!", le programme affiche "Controle !", "Saisir un mot en minuscule :", "Avant : abBA! compte : 5", "Apres : ABBA!".

Bravo ! Le programme est bien analysé. Il n’a juste pas très bien répondu à la question 1 : compte est un entier et chaine est une chaine de 100 caractères maximum. Mais c’est bien rédigé, et il a bien compris ce que faisait le programme, ce qui n’était pas le cas de la plupart de mes étudiants lorsque j’avais posé cette question en devoir !

Et qui on est, hein ?

Je termine souvent les articles par l’expression « Et qui on est, hein ? ». C’est une expression qu’on emploie souvent en Corse. L’IA est-elle capable de comprendre ce qu’elle veut dire ?

Une exclamation qui sous entend que la personne qui parle est confiante ou sure d’elle-même. C’est plutôt bien vu !

Le sens de l’humour ?

Est-ce que ChatGPT a le sens de l’humour ? J’ai testé.

raconte moi 4 blagues d'électroniciens
Pourquoi les électroniciens ne font jamais d'erreurs ? Parce qu'ils ont toujours un oscilloscope sous la main pour vérifier leurs circuits !
Pourquoi les électroniciens sont-ils toujours si calmes et posés ? Parce qu'ils savent que s'ils ne le sont pas, ils risquent de finir en court-circuit !
Pourquoi les électroniciens ont-ils toujours l'air si concentrés ? Parce qu'ils savent que s'ils relâchent leur attention, ils pourraient finir en surtension !
Pourquoi les électroniciens ont-ils toujours l'air si professionnels ? Parce qu'ils savent que s'ils ne le sont pas, ils risquent de finir en court-jus !
Blagues d’IA

Vous trouvez, ça drôle ? Moi, non. C’est nul !

Heureusement, mes étudiants ont bien plus d’humour !

DALL-E 2

J’ai aussi essayé DALL-E 2. Je lui ait demandé de me dessiner un professeur d’électronique et d’informatique (Digital art). Voici l’image que j’ai obtenu.

Un professeur d’électronique et d’informatique Digital Art

Est-ce que cette image me ressemble ?

Le gars a un peu la gueule de travers, c’est un défaut courant lorsque l’IA invente des visages. Sinon, la coupe de cheveux, les lunettes et la barbe de quelques jours matchent assez bien ! Les écrans et le prototype improbable aussi ! Que ceux qui me connaissent donnent leur avis !

Bravo l’artiste !

Et maintenant, qu’est-ce qu’on fait ?

Oui, après cette expérience, que fait-on ?

On continue à enseigner comme avant, comme si ce truc n’existait pas ?

Personnellement, lorsque je lirai une bonne lettre de motivation, je ne pourrais m’empêcher d’avoir un doute. Qui a écrit cette lettre : un jeune humain ou une IA ?

Est-ce pertinent de demander à un étudiant un exercice de codage à la maison ?

Doit-on continuer à coder comme avant ? À apprendre à coder comme avant ?

Et cette IA va progresser. Ca va très vite dans ce domaine. Et plus on l’utilise, plus elle progresse !

Quelles tâches seront sous-traitées aux IA dans le futur ?

Quels seront les boulots des humains dans le futur ?

Je vous laisse méditer cela en cette période de vœux et de nouvelle année !

Et qui on est, hein ?

Au-delà du spectre…

Non, ce n’est pas une histoire de fantômes, il s’agit bien d’électronique ! C’est un TP sur un analyseur de spectres. On va faire ici des mesures radio. Des mesures de puissance et de bande passante en RF.

Le TP

C’est un TP de BTS SN (Systèmes numériques) 2° année. Le texte du TP est ici :

En plus des fonctions classiques de l’analyseur de spectre, nous utilisons ici deux fonctions de mesures spécifiques : la fonction « channel power » et la fonction « occupied bandwidth » .

La fonction « Channel power »

Mesurer une puissance à l’analyseur ? Facile, me diriez-vous, il suffit de mesurer l’amplitude de la raie avec un marqueur ! Certes, sur un signal CW (continuous wave, un sinus quoi), c’est facile : il n’y a qu’une seule raie et on mesure l’amplitude de cette raie. Mais quand on a plusieurs raies ou un spectre compact ? On fait comment, chef ?

C’est là qu’on utilise la fonction « Channel power » . Cette fonction permet de mesurer toute la puissance dans une bande de fréquence donnée (dans un canal).

Voici la mesure effectuée sur un signal FM. Le générateur FM est configuré comme suit :

P = 0 dBm ; fréquence porteuse = 100 MHz ; modulation FM ; Excursion de fréquence Δf = 100 kHz ; fréquence du signal modulant 10 kHz.

Génrateur HF réglé en modulation FM
Générateur HF

Voici le spectre obtenu et la mesure de puissance.

Mesure de puissance d'un générateur HF modulé en FM
Mesure puissance signal FM

L’analyseur mesure -0.35 dBm (pour 0 dBm affichés). La bande de mesure est visualisée par la flèche à deux pointes. Bien entendu, tout le signal doit être compris dans la bande de mesure.

Voici un autre exemple de mesure sur un signal TNT.

Mesure de puissance sur modulateur TNT
Mesure puissance modulateur TNT

La source est un modulateur TNT réglé à -16 dBm. Joli, non ?

La fonction « Occupied bandwidth »

Une autre fonction utile est la mesure de la bande occupée par un signal. On peu faire ça à vue de nez (a bisto de nas, comme on dit en Occitanie), en comptant les carreaux mais on peut faire plus scientifique !

C’est la fonction « Occupied Bandwidth » .

Voyons ce que ca donne avec le signal modulé en fréquence.

Mesure bande utile signal FM
Mesure de la bande utile d’un signal FM

L’appareil donne deux mesures. La mesure à 99% : l’analyseur détermine la bande dans laquelle on trouve 99% de la puissance totale et la largeur à -26 dB du maximum du spectre.

La mesure est elle cohérente ? Vous souvient-il de la règle de Carson ? Non ? Voici ce que nous dit Wikipedia :

La règle de Carson, énoncée en 1922 par l’ingénieur d’AT&T John R. Carson, permet d’évaluer la largeur de bande passante d’un signal modulé en fréquence.

Dans le cas d’un signal modulant sinusoïdal, le signal modulé présente un spectre en raies (signal périodique). En ne gardant alors que les raies contenant au moins 98 % de la puissance du signal modulé, on obtient l’expression: B = 2(Δf+fm)

Alors ça marche ? Ici Δf = 100 kHz et fm = 10 kHz, on devrait trouver B = 2(100+10) = 220 kHz. On en mesure 236 ! C’est pas trop mal (on est à 99% pas à 98%).

Voyons ce que cela donne avec notre modulateur TNT.

Mesure bande utile modulateur TNT

On mesure 7,955 MHz à -26 dB pour une bande donnée à 8 MHz.

Intéressant ces mesures, non ?

Notre analyseur de spectre n’est pas tout neuf. On sauvegarde les mesures sur une diskette 3,5 pouces. Mais il marche encore très bien !

Et qui on est, hein !

© 2024 Louis Reynier

Theme by Anders NorenUp ↑

Consentement à l'utilisation de Cookies selon le RGPD avec Real Cookie Banner