Process 1 : Générateur

1) La documentation vous a t'elle permis de réimplémenter le processus originel?

Oui (mais bien sûr il est difficile d'en être sûr sans tests adéquats).

2) Quelles difficultés, liées à la documentation où à des insuffisances de celle ci, avez vous rencontrées durant la réimplémentation du processus?

- Absence de données de test
- Difficultés de compréhension de certains symboles mathématiques : parties entières (j'ai compris en cherchant sur le net, je n'avais jamais rencontré ces symboles)
- Je n'ai pas bien compris comment se définissait fs. Est-ce que c'est un paramètre de chaque process ou une variable globale etc.
- J'ai eu des doutes sur la nécessité ou non d'aller voir dans le code : la partie mathématique était-elle censée suffire ou non ? A posteriori il semble que oui mais je me suis longuement posé la question. Même chose pour le schéma bloc.
- J'ai eu beaucoup de mal à m'y retrouver sur l'ordre et les valeurs d'initialisation des variables. S'il est bien précisé que S(t<0)=0 pour tout S, les choses ne sont par contre pas claires pour t=0. De même l'ordre dans lequel les initialisations doivent avoir lieu ne correspond pas du tout à l'ordre dans lequel les variables sont définies, c'est perturbant.

3) Avez vous été aidé dans cette tâche en faisant appel à des ressources extérieures à la documentation mathématique, et différentes de celles habituellement utilisées par vous dans votre activité (par exemple, expert personne physique, ressource "en ligne" spécifique au traitement du signal audio...)

Oui, j'ai utilisé des ressources extérieures : Wikipedia pour les symboles mathématiques.

4) A votre avis, une évolution de la documentation permettrait elle de résoudre ce ou ces difficultés (pour chacune des difficultés rencontrées, avec éventuellement une piste pour ces évolutions, non obligatoire) :

- L'ajout de données de test et d'une explication de chaque symbole mathématique utilisé me paraît indispensable.
- Le traitement de fs par Faust mériterait d'être expliqué. Par exemple, je me suis demandé si l'on devait présenter au processeur l'input tel quel ou l'input déjà samplé.
- Il serait utile d'écrire clairement que tout ce qu'il y a après la définition mathématique (schéma bloc et code notamment) est simplement donné à titre indicatif « au cas où ».
- Le code C listé contient beaucoup de fonctions qui ne sont en fait pas utilisées dans le processeur décrit, s'y retrouver n'est pas facile surtout sur une version papier.
- Si l'ordre d'initialisation était donné cela pourrait simplifier la réimplémentation, mais on finit par s'y retrouver en cherchant. Même chose pour les valeurs d'initialisation (j'ai cru devoir les choisir moi même mais en fait en y revenant je vois qu'il n'y a pas d'ambiguïté, seulement ma propre confusion face à une présentation un peu complexe !)

5) A l'issue de cette expérience, diriez vous que :

La réimplémentation a posé des problèmes mineurs qui peuvent être résolus avec des améliorations de la documentation.

Process 2 : Delay

1) La documentation vous a t'elle permis de réimplémenter le processus originel?

Oui (mais bien sûr il est difficile d'en être sûr sans tests adéquats).

2) Quelles difficultés, liées à la documentation où à des insuffisances de celle ci, avez vous rencontrées durant la réimplémentation du processus?

- Absence de données de test
- Difficultés de compréhension de certains symboles mathématiques : bitwise AND notamment (j'ai dû aller regarder dans le code) mais aussi parties entières (j'ai compris en cherchant sur le net, je n'avais jamais rencontré ces symboles)
- Je n'ai pas bien compris comment se définissait fs. Est-ce que c'est un paramètre de chaque process ou une variable globale etc.
- J'ai eu des doutes sur la nécessité ou non d'aller voir dans le code : la partie mathématique était-elle censée suffire ou non ? A posteriori il semble que oui mais je me suis longuement posé la question. Même chose pour le schéma bloc.
- Je ne comprends toujours pas ce que signifie la ligne « test2/echo 1000 », mais elle n'a pas l'air d'être essentielle ! De même il n'est pas évident de savoir ce que signifient les chaînes « milliseconds » et « feedback » à côté de la définition des us1 et us2.

3) Avez vous été aidé dans cette tâche en faisant appel à des ressources extérieures à la documentation mathématique, et différentes de celles habituellement utilisées par vous dans votre activité (par exemple, expert personne physique, ressource "en ligne" spécifique au traitement du signal audio...)

Oui, j'ai utilisé des ressources extérieures : Wikipedia pour les symboles mathématiques, documentation de C pour le bitwise AND.

4) A votre avis, une évolution de la documentation permettrait elle de résoudre ce ou ces difficultés (pour chacune des difficultés rencontrées, avec éventuellement une piste pour ces évolutions, non obligatoire) :

- L'ajout de données de test et d'une explication de chaque symbole mathématique utilisé me paraît indispensable.
- Le traitement de fs par Faust mériterait d'être expliqué. Il semble par exemple que l'utilisation d'une fs trop faible puisse faire crasher le programme test2.
- Il serait utile d'écrire clairement que tout ce qu'il y a après la définition mathématique (schéma bloc et code notamment) est simplement donné à titre indicatif « au cas où ».
- J'aurais aimé plus d'explications dans le paragraphe sur les us1 et us2, comme dit plus haut certaines infos sont difficiles à comprendre et m'ont fait me poser des questions.
- Le code C listé contient beaucoup de fonctions qui ne sont en fait pas utilisées dans le processeur décrit, s'y retrouver n'est pas facile surtout sur une version papier.

5) A l'issue de cette expérience, diriez vous que :

La réimplémentation a posé des problèmes mineurs qui peuvent être résolus avec des améliorations de la documentation.