ANALYSE D’UN LOGICIEL

Manifestement, ma critique apportée au logiciel du mini fréquencemètre en page précédente est certainement trop sévère. Il ne s’agit que d’une « vision totalement personnelle que je me dois de justifier », mais surtout à laquelle il faut apporter une pondération méritée. Analysons le programme sur le plan de la qualité opérationnelle, ensuite nous tirerons des conclusions objectives en vue de l’améliorer : Quand le module est mis sous tension, il se présente en annonçant la version V 1.0 affichage sur lequel on observe le manque d’élégance pour les lettres « q » et « y ». Puis après un délai d’une seconde, il entre en action. La Fig.1 le montre habillé d’un petit coffret « bricolé en local » (Nous reviendrons sur cet aspect particulier du projet en cours d’études.) qui démontre la facilité d’aboutir à un module compact. On observe immédiatement que l’afficheur LCD n’est utilisé que sur une ligne, celle du haut reste désespérément vierge, alors que rien n’interdit d’y afficher la valeur de la période par exemple. En langage C une telle modification est élémentaire et se code en trois lignes, ce serait bien dommage de s’en priver.

– Au fait, la valeur affichée est-elle de 1.002.387 MHz ou de 100.238.7 kHz ?

Le thème des points décimaux a déjà été abordé. Sur ce point nous avons donc ajouté une amélioration logicielle tout à fait méritée pour ce petit module très bien agencé techniquement.

Pour répondre à la question posée ci-dessus, la réponse est ni 1.002.387 MHz ni de 100.238.7 kHz mais 1.000.000 Hz à ± 1Hz. La mesure est donc fausse sur quatre des chiffres affichés. Sur le plan opérationnel c’est assez ennuyeux, car tout technicien sait qu’un système numérique est toujours imprécis sur le dernier chiffre significatif, mais logiquement et sauf cas particulier  les autres doivent être fiables.
Avant de conclure, il importe de préciser que toute mesure doit s’entourer de précautions élémentaires, et en particulier s’assurer que ce n’est pas la source évaluée qui est en cause, c’est à dire ici le générateur qui fournirait des signaux « fantaisistes ». Pas d’inquiétude à ce titre. Le générateur utilisé est piloté quartz et précis à 10-6. Comme faire confiance à un seul appareil n’est techniquement pas concevable, je dispose dans mon laboratoire d’au moins cinq générateurs tous pilotés quartz dont l’un est en enceinte thermostatée. Ils sont régulièrement vérifiés par battement d’hétérodynage sur des stations radio étalon émettant sur ondes courtes. Tous ont aboutit aux mêmes résultats. On observe que l’imprécision est proportionnelle à la fréquence ce qui laisse à penser que c’est le délai du temps de mesure qui est mal calibré. L’analyse du programme confirme cette hypothèse.
Conclusions : Le programme animant ce produit commercial est disponible sur internet et a été écrit par monsieur Jim Lindblom. L’auteur précise dans les lignes 83 à 86 qu’il a rencontré un bug et apporté une correction, sans pour autant en comprendre réellement la cause. Plusieurs remarques d’ordre personnel s’imposent, je les souhaite pertinentes :
• Avouer ainsi ses limites est un gage fort d’honnêteté et de rigueur,
• Bien que comportant pas mal de faiblesses, ce programme présente le grand mérite d’exister et surtout d’être mis en ligne.
x     À chacun ensuite d’en tirer profit.
• Compte tenu des restrictions apportées dans mes remarques, j’imagine que Jim Lindblom n’est pas un ingénieur logiciel, je le crois plus comme un
x     amateur avisé qui s’engage dans des voies pas simple du tout de la programmation. Il a de plus le mérite d’assumer en rendant public le résultat
x     de ses expérimentations. Merci Monsieur Jim Lindblom, c’est grâce à votre programme que j’ai osé chercher à comprendre les TIMERS et abouti
x     à une précision au moins mille fois meilleure. Ce produit commercialisé vous est donc redevable …

Cher lecteur, pour que vous puissiez apprécier le travail de défrichage effectué par Jim, je vous livre son source, vous évitant ainsi d’avoir à le chercher sur Internet. Il est totalement disponible en ligne, je ne l’ai renommé P01_FrequencyCounter.ino que pour l’insérer dans la liste ordonnée des autres programmes expérimentaux qui vous seront proposés dans cette « aventure ».

>>> Page suivante.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *