35
Rapport. Le traitement du signal au sein du site Gironde de la Direction G´ en´ erale de l’Armement. TdSI, Master 1. Auteur : BOURGEOIS Jean. Tuteur : BASTIN St´ ephane. Universit´ e Bordeaux 1. 351 cours de la Lib´ eration 33405 TALENCE Cedex. www.u-bordeaux1.fr. 1

Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Embed Size (px)

Citation preview

Page 1: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Rapport.

Le traitement du signal au sein du siteGironde de la Direction Generale de

l’Armement.

TdSI, Master 1.

Auteur : BOURGEOIS Jean.

Tuteur : BASTIN Stephane.

Universite Bordeaux 1.351 cours de la Liberation 33405 TALENCE Cedex.

www.u-bordeaux1.fr.

1

Page 2: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Table des matieres

1 Presentation de l’organisme. 41.1 La Direction Generale de l’Armement. . . . . . . . . . . . . . . . . . . . . . 4

1.1.1 Presentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.2 Domaines d’activites. . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Le site Gironde DGA/EM. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.1 Historique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.2 Domaines d’activites. . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.3 Situation actuelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.4 Presentation du service. . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Missions effectuees dans l’organisme. 72.1 Formations en traitement du signal. . . . . . . . . . . . . . . . . . . . . . . 72.2 Codage du filtre RIF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 Analyse du code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.2 Caracteristique du filtre. . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.3 Modification proposee. . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3 Comparatif logiciel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Analyse critique. 213.1 Acclimatation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 Connaissances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Apport du stage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4 Impact de la RGPP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Annexe 1 : formation en traitement du signal niveau debutant. 24

5 Annexe 2 : formation en traitement du signal niveau initie. 48

6 Annexe 3 : ancien code de calcul des coefficients de filtre RIF. 74

7 Annexe 4 : nouveau code de calcul des coefficients de filtre RIF. 78

2

Page 3: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Remerciements.

En liminaire, je tiens a remercier en la personne de mon tuteur, Stephane BASTIN,le site gironde de la Direction Generale de l’Armement Essais de Missile (DGA/EM)pour la qualite de l’accueil qui m’a ete reserve au sein de l’entreprise et pour les faciliteset opportunites qui m’ont ete offertes tout au long de ce stage. Je remercie egalementMonsieur Stephane YGORRA, maıtre de conference a l’universite de Bordeaux 1, qui, achaque fois, a repondu favorablement a mes sollicitations.

3

Page 4: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Introduction.

Ce rapport a pour objectif de presenter le stage en entreprise, de la premiere annee demaster en traitement du signal, effectue du 10 mai au 27 juillet 2012 sur le site Gironde de laDirection Generale de l’Armement. Ce stage a vocation a donner une premiere experiencede l’entreprise aux etudiants et leur permettre de mettre en pratique les savoirs acquis toutau long de l’annee. Par ailleurs, en qualite de militaire, j’attendais de ce stage la decouvertede la partie moins visible du ministere de la defense. Apres avoir presente l’entreprise, jedetaillerai l’ensemble des taches qui m’ont ete confiees puis je terminerai par une analysecritique du stage.

1 Presentation de l’organisme.

1.1 La Direction Generale de l’Armement.

1.1.1 Presentation.

La DGA a ete creee en 1961 par le General de GAULLE. Cet organisme, compo-sante essentielle de l’outil de defense, appartient integralement au ministere de la defense.elle a suivi en permanence, depuis sa creation, les changements d’orientation fixes parle Livre blanc sur la defense et la securite nationale. Les dernieres en date lui imposantde tenir compte, entre autres, du durcissement de la menace balistique, de l’aggravationconsiderable des cyber-menaces, de la generalisation des � menaces asymetriques �, del’affirmation de nouvelles puissances...La DGA,1er investisseur de l’Etat, en quelques chiffres :

– Effectif de la DGA : 12000 employes repartis sur une vingtaine d’implantations enFrance,

– 80 programmes d’armement en cours,– 695 millions d’euros pour preparer l’avenir,– 7964 millions d’euros pour equiper les forces armees,– 6500 millions d’euros pour promouvoir les exportations,

4

Page 5: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

1.1.2 Domaines d’activites.

Sa mission premiere est l’equipement des forces armees. Elle agit donc en qualite demaıtre d’œuvre des programmes d’armement. A cet effet, la DGA est responsable de laconception, de l’acquisition et de l’evaluation des systemes qui equipent les forces armees.Son action couvre toute la duree de vie de ces programmes. Au fil des decennies, sondomaine d’action s’est accru. Elle participe a la preparation de l’avenir en evaluant et enanticipant les menaces et les risques futurs pour adapter les capacites technologiques etindustrielles. Enfin, elle contribue activement a la promotion des exportations d’armementtant sur l’aspect controle pour le respect des engagements internationaux de la Franceque sur l’aspect economique pour le developpement des entreprises de defense. la DGA estegalement un expert referent dans des domaines tels que la prospective technologique dedefense, la connaissance et le modelage de la base industrielle et technologique de defense.

1.2 Le site Gironde DGA/EM.

Figure 1 – Tir d’un propulseur de missile balistique.

1.2.1 Historique.

Le Centre d’Achevement et d’Essais des Propulseurs et Engins (CAEPE) a ete officiel-lement cree en 1967. Ses origines sont liees a la decision prise en 1959 de doter la Franced’une force de dissuasion nucleaire independante.Le CAEPE resulte en fait de la reunion de l’annexe du Centre d’Essais des Propulseurs

5

Page 6: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

(CEPr) de Saclay mise en place en 1960 et du Centre d’Achevement des Propulseurs etEngins (CAPE) actif depuis 1961.A l’aube de son cinquantieme anniversaire, la DGA, sous la contrainte de la ReformeGenerale des Politiques Publiques (RGPP) a opere une vaste reorganisation de son em-preinte au sol. Dans le cadre de la modernisation de la DGA, Le 1er janvier 2011,le CAEPE,implante a Saint-Medard-en-Jalles, est devenu le troisieme site du centre DGA Essais demissiles deja present dans les Landes a Biscarrosse et en Mediterranee a Toulon et l’Ile duLevant.Le site d’un effectif d’environ 250 personnes est implante sur 3 zones dont 2 sont loca-lisees a Saint-Medard-en-Jalles et 1 a Saint-Jean d’Illac. L’ete marquera la fin de la cessiondes zones A et B a Herakles et le regroupement de la partie administrative sur les zonestechniques C et D.

Figure 2 – Implantations du site Gironde DGA/EM.

Avec le rattachement du CAEPE, les activites de DGA Essais de missiles couvrentdesormais l’ensemble du cycle de vie des missiles et propulseurs, de la conception a leurretrait de service.

1.2.2 Domaines d’activites.

Parmi ces missions, le site participe, entre autres, au developpement des systemesd’armes a base de missiles en apportant la preuve du bon fonctionnement dans des condi-tions reelles. Il valide la classification OTAN, dans le domaine de la securisation et dela vulnerabilite des munitions et missiles assurant ainsi la qualite des systemes d’armesa leurs promoteurs et utilisateurs. Enfin, il qualifie en � urgent operationnel � les arme-ments.

6

Page 7: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

A cet effet, il dispose de bancs d’essais equipes d’appareils de capteurs de tout type quivont enregistrer le comportement des propulseurs lors d’incendie, de chute, de perfora-tion par un projectile, ou tout simplement de leur combustion dans l’atmosphere ou dansl’espace.

1.2.3 Situation actuelle.

Actuellement, le site Gironde de Saint-Medard-en-Jalles et son terrain d’essais de Saint-Jean d’Illac (ex CAEPE) realise les expertises et essais au sol et en vol simule de propulseursqui seront integres aux futurs missiles de croisieres et balistiques. Il intervient egalementsur la securisation et le vieillissement des propulseurs, munitions et systemes autopropulsescomplets.

1.2.4 Presentation du service.

J’ai ete integre au sein de la section Moyens Informatiques Mesures du DepartementInformatique Essais de la Division Technique. cette section est chargee de la mise en placede l’informatique scientifique et technique (IST) dediee a l’instrumentation et aux mesures.A ce titre, la section assure :

– la mise en place des materiels et des outils logiciels IST sur le site,– le maintien en condition operationnel des moyens logiciels et materiels IST,– la mise en place des reseaux d’essais ainsi que les moyens de sauvegarde.Dans ce service, j’ai travaille dans la cellule en charge du developpement du logiciel

Systeme d’Aide au Depouillement de l’Informatique d’Essai (SADIE). Ce logiciel est dediea la lecture multi-format des mesures d’acquisition provenant de l’ensemble des appareils demesure puis a leur exploitation au travers d’une palette d’outils particulierement fournie(analyse frequentielle, filtrage, echantillonnage, spectre,...). Cette cellule composee de 2personnes est dirigee par mon tuteur.

2 Missions effectuees dans l’organisme.

Afin de pouvoir travailler dans de bonnes conditions, j’ai dispose d’un bureau et d’unposte informatique.Deux missions principales m’ont ete confiees. Tout d’abord, il m’a ete demande de realiser2 seances de formations en traitement du signal, niveau debutant et initie, sur le logicielSADIE. Puis, je devais ”depoussierer” un code, en langage C, destine au calcul des coef-ficients d’un filtre a reponse impulsionnelle finie (RIF). En cours de stage, j’ai par ailleursparticipe a l’elaboration d’un rapport portant sur un comparatif logiciel.

2.1 Formations en traitement du signal.

L’objectif de ces formations a ete different en fonction du niveau de maıtrise des par-ticipants. Pour les debutants, il s’agissait d’une decouverte du logiciel SADIE et de sescapacites. La seance devait leur permettre de mieux comprendre l’utilite de ce logicielet les raisons qui guident les directeurs d’essais dans le parametrage initial des differentscapteurs.Pour les inities, il s’agissait d’expliciter les operations qui se cachent derriere les traite-ments qu’ils appliquent aux mesures avant de les livrer aux industriels ayant commanditesl’essai.Ces seances, d’un jour, se sont deroulees du 2 au 5 juillet. Il y a eu 2 seances pour les

7

Page 8: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

debutants et 2 seances pour les inities.Pour realiser ces seances, j’ai eu a ma disposition :

– Une salle equipee d’un tableau blanc,– 6 ordinateurs portables,– un video projecteur.J’ai monte ces seances sous forme de travaux pratiques afin que les participants puissent

manipuler le logiciel. Aussi, au prealable, j’ai realise des polycopies contenant :– Un quizz (uniquement pour les inities),– Le cours,– La macro-commande associee,– Le corrige complet avec les figures attendues.Pour les inities, la seance commencait par un quizz non corrige qui ne servait que de

constat initial. En fin de seance, ce quizz etait repris par chacun. Le but etant bien en-tendu que chacun puisse repondre a la totalite des reponses a l’issue de la formation. Lesseules difficultes que j’ai rencontre furent la maıtrise du logiciel SADIE et l’adaptation al’auditoire. En effet, apres avoir du, au cours de l’annee passee, integrer la programmationen C et partiellement en JAVA, digerer MATLAB, SCILAB et un peu OCTAV etenfin rediger tous mes compte-rendus en LATEX, un nouveau logiciel me tendait les bras.L’assimilation de SADIE et de ses fonctionnalites est bien plus simple car c’est un outildedie disposant d’interfaces specifiques a chaque traitement applique a la mesure. Il suffita l’utilisateur de remplir les champs et de cocher les options pour executer la tache. Seul lemode macro-commande, equivalent a l’editeur de MATLAB, demande un apprentissageun peu plus long.

8

Page 9: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Figure 3 – Exemple d’interface d’execution de la transformee de Fourier.

L’adaptation a l’auditoire releve plus d’un probleme de semantique. En effet, les ver-sions successives des polycopies ont ete corrigees dans ce sens afin de ne pas perturber lesparticipants sur les termes couramment utilises sur le site.Le suivi des formations sur le site a fait l’objet d’une enquete de satisfaction que chaqueparticipant devait remplir. Quelque soit le niveau de maıtrise, les seances semblent avoirete appreciees et une demande unanime de renouvellement de ce type de formation a etesignifiee.

2.2 Codage du filtre RIF.

Le logiciel SADIE integre plusieurs options de filtrage. Parmi celles-ci, la plus cou-ramment utilisee demeure le filtrage RIF passe-bas. En effet, lors des essais de propulseurs,la frequence 50Hz et ses harmoniques s’additionnent a la mesure et altere ainsi la precisiondes releves.

9

Page 10: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Figure 4 – Interface de filtrage RIF passe-bas et passe-haut.

L’objectif qui m’a ete donne etait d’interpreter le code original datant d’une vingtained’annees et de le modifier si necessaire.

2.2.1 Analyse du code.

La fonction creant le filtre s’appuie sur 5 arguments : 1 a 2 frequences de coupuresen fonction du type de filtre, 1 frequence d’echantillonnage, 1 largeur de coupure et 1attenuation dans la bande attenuee.

2.2.1.1 Structure du code.

Le code, figurant dans l’annexe 3, contient une fonction principale nommee CalculRif(STR RIF∗str rif) qui calcule les coefficients du filtre a partir des caracteristiques definies et de lareponse impulsionnelle. Pour cela, la fonction InitParamRIF (STR RIF ∗str rif) appelle2 fonctions secondaires CalculNfiltRif(STR RIF∗str rif) et CalculRepImp(STR RIF∗str rif). La premiere determine la fenetre a utiliser et son nombre de coefficients et ladeuxieme calcule les coefficients de la reponse impulsionnelle dont la valeur peuvent etreponderee par la fonction Ponderation RepImp(STR RIF ∗ str rif).L’ensemble des parametres du filtre etant stockes dans une structure STR RIF ∗ str rifinitialisee des le debut par la fonction InitParamRIF (STR RIF ∗ str rif).

10

Page 11: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

2.2.1.2 Formules mathematiques associees.

L’ordre des paragraphes ci-apres est conforme a la procedure de realisation du filtretelle qu’elle apparait dans les fonctions.

2.2.1.2.1 Determination de la fenetre.

En liminaire, le programmeur a declare l’ensemble des fenetres existantes avec leursparametres afferents (nom, largeur du lobe principal et attenuation en decibels).

type de fenetre largeur lobe principal attenuation

rectangulaire 2 21

Bartlett 4 25

Hanning 4 44

Hamming 4 53

Blackmann 6 74

Ensuite, il verifie la coherence des valeurs des frequences de coupures avec le type defiltre choisi et la frequence d’echantillonnage. Les frequences sont elles-memes recalculeesen frequences reduites. Pour determiner la fenetre, il calcule la valeur en dBs par la formule−20log(attenuation) de l’attenuation demandee et la compare aux valeurs predefinies pourchacune des fenetres repertoriees.Le test s’arrete des que la valeur est inferieure ou egale a la reference lue. Par correspon-dance, il obtient le nom de la fenetre.exemple :Si attenuation = 0.05 on obtient −20log(0.05) = 26dBs ≤ 44dBs =⇒ Hanning

2.2.1.2.2 Calcul de l’ordre du filtre.

L’ordre du filtre est calcule par a la formule suivante :

N =largeur

fc2 − fc1

Si l’ordre est impair, il procede a un reajustement au degre immediatement inferieur. Sil’ordre depasse une valeur maximale, il arrete la procedure de calcul. Enfin, il calculed’emblee la valeur du retard a corriger N ∗ Te = Tr en secondes.

2.2.1.2.3 Calcul des coefficients de la reponse impulsionnelle.

Pour calculer les coefficients, il calcule ceux-ci comme-ci c’etait un filtre passe-bas quietait demande ; puis, si le type est different, il les modifie. De plus, il n’en calcule que lamoitie puis complete par la suite en appliquant une symetrie.Ceux-ci sont calcules initialement par la formule suivante :

coef(k) =sin(2πfc1k) + sin(2πfc2k)

2πk ∗ (1− (2k ∗ (fc2 − fc1))2

11

Page 12: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

pour k = 0 on obtient :

coef(0) =2πfc1 + 2πfc2

2π ∗ (1− (2k ∗ (fc2 − fc1))2

Puis, le programmeur applique egalement une correction d’amplitude lorsque

|2π ∗ (1− (2k ∗ (fc2 − fc1))2| ≤ 10−10

Dans ce cas les coefficients concernes sont recalcules comme suit :

coef(k) =sin(πk ∗ |2π ∗ (1− (2k ∗ (fc2 − fc1))2|) ∗ (fc1 + fc2

4k ∗ |2π ∗ (1− (2k ∗ (fc2 − fc1))2|

S’il faut un passe-haut, il leur applique la correction suivante :

coef(k) = −coef(k)

S’il s’agit d’un passe-bande, il les modifie ainsi :

coef(k) = coef(k) ∗ 2cos(πk(fc1 + fc2))

Enfin, s’il s’agit d’un coupe bande, il leur applique le traitement suivant :

coef(k) = coef(k) ∗ 2cos(πk(fc1 + fc2))

2.2.1.2.4 Calcul des coefficients de la fenetre de ponderation.

Le calcul des coefficients de la fenetre de ponderation n’est pas effectue a part. lescoefficients trouves precedemment sont directement multiplies par le ponderateur. Ce quidonne :

type fenetre calcul

rectangulaire aucun

Bartlett coef(k) = coef(k) ∗ (1 + 2kN+1)

Hanning coef(k) = coef(k) ∗ (0.5 + 0.5cos( 2πkN+1))

Hamming coef(k) = coef(k) ∗ (0.54 + 0.46cos( 2πkN+1))

Blackmann coef(k) = coef(k) ∗ (1− 0.5cos( 2πkN+1)− 0.08cos( 4πk

N+1))

2.2.1.2.5 Mesure de correction.

Enfin, il applique une correction afin que la reponse frequentielle soit egale a 1 pourf = 0Hz pour les filtres passe-bas et coupe-bande.

2.2.2 Caracteristique du filtre.

Lorsque l’on regarde la formule de calcul de la reponse impulsionnelle, il apparait que lecode realise la somme de 2 filtres passe-bas ponderes par le denominateur (1− (2k ∗ (fc2−fc1))

2. Je n’ai trouve de justification a cette ponderation dans aucune documentation.

12

Page 13: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Figure 5 – Coefficients du filtre RIF.

On constate que l’allure de la courbe ressemble a un sinus cardinal. Le denominateuraccentue l’amortissement des lobes secondaires.Dans le domaine frequentiel, on obtient la figure ci-apres.

13

Page 14: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Figure 6 – Transformee de Fourier des coefficients.

Le calcul des coefficients de la fenetre de ponderation donne, en raison de la correspon-dance des formules, les memes resultats que d’autres filtres. La precision sur les valeursdes constantes de la fenetre de Blackman ne modifie pas l’allure generale de la courbe.

2.2.3 Modification proposee.

Ne sachant pas dans quelle mesure je pouvais corriger ce code, j’ai propose a mon tuteurde realiser le code avec les connaissances que j’avais acquises. J’ai conserve les parametresde la fonction initiale et remplace les portions de code qui ne me semblaient pas claires etcorrectement structurees. De plus, j’ai separe volontairement le calcul des coefficients dela reponse impulsionnelle de ceux de la fenetre de ponderation pour gagner en lisibilite.

2.2.3.1 Algorithme implemente.

J’ai repris les formules de bases de calcul de la reponse impulsionnelle ideale figurantdans le tableau ci-dessous.

14

Page 15: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Type de filtre hN (k), k 6= 0 hN (0)

Passe-bas sin(πkfc)πk 2fc

Passe-haut − sin(πkfc)πk 1− 2fc

Passe-bande sin(πkfmax)πk − sin(πkfmin)

πk 2(fmax − fmin)

Rejecteur de bande − sin(πkfmax)πk − sin(πkfmin)

πk 1− 2(fmax − fmin)

Pour les fenetres, j’ai change, d’une part, la valeur des coefficients de la fenetre deBlackman et, d’autre part, la largeur des lobes principaux de l’ensemble des fenetres.J’ai propose l’implementation de nouvelles fenetres mais le besoin n’etait pas justifie carl’attenuation utilisee par defaut est fixee a 0.05% et correspond a la fenetre de Von Hann.Celle-ci figurant par ailleurs parmi les 5 deja implementees.Les modifications apportees sont donc.Concernant la fenetre de Blackman dont la formule est la suivante (N etant l’ordre dufiltre) :

wN (k) = niveau+ amplitude1 ∗ cos( 2πk

N + 1) + amplitude2 ∗ cos( 4πk

N + 1)

constantes ancienne valeur nouvelle valeur

niveau 0.42 0.4266

amplitude 1 0.5 0.4965

amplitude 2 0.08 0.076

Concernant les valeurs de la largeur du lobe principal :

type de fenetre ancienne valeur nouvelle valeur

rectangulaire 2 1.8

Bartlett 4 4

Hanning 4 6.2

Hamming 4 6.6

Blackmann 6 11

2.2.3.2 Codage et comparatif.

2.2.3.2.1 Codage.

J’ai d’abord code l’ensemble sous MATLAB puis mon tuteur l’a implemente dansSADIE. La difficulte de codage en C reside dans l’architecture du logiciel et l’utilisa-tion quasi-systematique des pointeurs de tableau et structures. Ces notions ont certes eteabordees au premier semestre mais je suis bien loin d’en avoir la meme maıtrise qu’unprogrammeur de metier. L’ensemble du code sous MATLAB et en C figure dans l’annexe4.

15

Page 16: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

2.2.3.2.2 Comparatif.

Dans la figure ci-dessous figure les 2 series de coefficients. Les differences principalesentre l’ancien code et le nouveau reside dans l’amortissement plus rapide des lobes secon-daires de la reponse impulsionnelle et l’amplitude plus importante des premiers coefficients.Ceci s’explique par la presence au denominateur du terme de ponderation precise aupara-vant.

Figure 7 – Comparaison de la valeur des coefficients.

Il n’y a pas entre les 2 filtres de grandes differences d’effet sur une mesure. L’ancienfiltre (en rouge) de par sa ponderation donne, cependant, plus de dynamique au filtrage.Cependant, le nouveau code, retenu par mon tuteur, est plus fidele a l’allure generale dela mesure.

16

Page 17: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Figure 8 – Effet comparatif des filtres sur une mesure.

La difficulte principale de cette analyse de code a ete, pour moi, de comprendre etd’interpreter le code en langage C. Le fait de ne pas trouver de formule equivalente dansquelque reference que ce soit m’a un peu perturbe et c’est pourquoi j’ai propose de lerefaire entierement en fonction de mes connaissances.

2.3 Comparatif logiciel.

Enfin, en cours de stage, mon tuteur m’a demande mon opinion sur un eventuel rem-placement de SADIE par un logiciel equivalent existant deja sur le marche.

Figure 9 – Les logiciels en concurrence.

17

Page 18: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Parmi les logiciels concurrents certains ont ete crees pour Aerospatiale (DYNAWORKSou encore d’autres sites de la DGA (CEDRE, ORIGIN). D’autres comme TRACK-REPORT sont utilises par l’industrie automobile pour les mesures de crash-test. Cepen-dant, RGPP oblige, l’heure est a la rationalisation des couts et la mutualisation est derigueur. Certains logiciels comme MATLAB ont ete ecartes d’office en raison de leurcout prohibitif et de l’existence de logiciel open source equivalent comme SCILAB.

2.3.0.3 Les criteres discriminants.

Le classement ci-dessous n’est pas par ordre de priorite bien que l’aspect budgetairedemeure bien souvent l’argument numero 1.

– Le cout d’acquisition et de maintien en condition operationnel,– L’ergonomie (convivialite, accessibilite),– L’assistance technique (delai, competence),– L’adaptabilite a l’emploi et capacite d’evolution,– La reprise des donnees existantes,– La planification des taches de conception et deploiement,– Les limites de l’abandon consenti de fonctionnalites actuelles,– L’impact sur les utilisateurs du passage d’un outil dedie a un produit generaliste.Toute la difficulte de remplacer SADIE est de trouver un logiciel possedant les memes

fonctionnalites. En effet, celui-ci a fait l’objet d’un cahier des charges specifique lie audeveloppement de la derniere generation de missiles balistiques.

2.3.0.4 Fonctionnalites.

Le logiciel doit permettre :– de charger et de stocker les mesures en base de donnees,– de leur appliquer des calculs ou traitements,– d’en extraire des vues ou resultats pour les rapports d’essai,– de les exporter pour les transmettre aux industriels clients.Le logiciel d’exploitation d’essais utilise et manipule des donnees qui appartiennent a

trois familles : les mesures, les macro-commandes, les planches de trace.Les mesures sont issues des essais ou tirs realises au Centre d’Essais Missiles Site Gi-

ronde. Elles sont la traduction fidele des enregistrements realises sur des moyens d’acquisi-tion. Une fois remontees en base, elles sont systematiquement utilisees en tant que donneesd’entree dans des traitements au cours de l’exploitation de l’essai. Les donnees resultantesde ces traitements sont egalement enregistrees dans la base de donnees a proximite desmesures.

18

Page 19: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Figure 10 – Le gestionnaire de mesures.

Les macro-commandes sont utilisees pour enregistrer des series de calcul, pouvantutiliser des instructions conditionnelles, des fonctions iteratives et autorisant l’appel ad’autres macro-commandes.

Figure 11 – Exemple de macro-commande.

Les planches sont utilisees pour l’impression des courbes de mesures en adoptant desmodeles de documents qui seront integres dans des rapports d’essais. L’operateur pa-rametre la mise en page, la disposition des courbes, leur echelles, les zooms etc. Ces infor-mations sont enregistrees dans des fichiers planches en base de donnees.

19

Page 20: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Figure 12 – Gestionnaire de planches.

Figure 13 – Visualisation 2d.

Figure 14 – Visualisation 3d.

Toutes ces donnees sont disponibles sur le reseau de l’application et une gestion desdroits en definit les limites d’acces a l’ensemble des utilisateurs.

20

Page 21: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

2.3.0.5 Traitements.

Les traitements disponibles sous SADIE :– operations arithmetiques, trigonometriques, statistiques,– operations d’echantillonnage,– fonction de filtrage (RIF, RII, FFT),– analyse frequentielle,– generations analytiques (polynomes, bruit, ...),– Calcul de spectre de choc,– Calculs aerodynamiques,– Calcul de flux de capteur peau mince / peau epaisse,– operations sur les thermos-couples,– visualisation en 2 et 3 dimensions,

De plus, SADIE integre une interface de visualisation en 2 et 3 dimensions et disposed’un outil de gestion automatique des unites dans le systeme international.

Aucun des pretendants n’offre a ce jour un tel degre d’aboutissement et de simplicited’utilisation. le seul qui pourrait, sous reserve de multiples corrections et de l’abandond’une partie des fonctionnalites, remplace SADIE est DYNAWORKS.

3 Analyse critique.

Le fait d’etre en formation continue n’a pose aucun probleme. La plupart des employesexterieurs a la section pensaient que je venais d’etre mute. Cela a d’ailleurs d’emblee ameneune relation entre tuteur et stagiaire beaucoup moins paternelle et plus de collaborateura collaborateur.

3.1 Acclimatation.

Cette periode d’integration s’est deroulee dans de tres bonnes conditions. Apres lapresentation de l’ensemble du personnel des bureaux avec lequel j’avais a traiter ou toutsimplement cohabiter, j’ai eu rapidement l’occasion d’assister a un tir de propulseur enconditions de vol dans l’espace. C’etait une reelle opportunite car cela faisait 2 ans que cetype de tir n’avait plus ete realise.J’ai ainsi pu avant le tir, assister a la fin de la preparation de l’essai et l’ensemble dudispositif m’a ete explicite par le responsable de la conduite du tir.Par la suite, j’ai quasi-systematiquement ete invite a assister aux essais et ce jusqu’a laderniere semaine du stage.Pour faciliter mon integration et afin de m’impliquer pleinement dans les taches quim’etaient confiees, mon tuteur m’a laisse organiser entierement les journees de formationen traitement du signal. Cela oblige bien evidemment a etablir des contacts et formaliserdes demandes. J’ai bien apprecie cette relative autonomie.

3.2 Connaissances.

Les cours sur les signaux deterministes, la programmation et le codage des filtresnumeriques m’ont ete particulierement utiles pour mener a bien les 2 premieres mis-sions confiees. Je regrette cependant d’avoir ete plus dans une situation de ”maitre” qued’”eleve”. Je ne dis pas cela vis a vis de mon tuteur mais pour la population a laquellej’ai ete confrontee lors des seances d’instruction. Je suis conscient des differences entre

21

Page 22: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

l’universite et l’entreprise mais je souhaiterais dans un prochain stage poursuivre mon ap-prentissage dans le domaine du traitement du signal. Ceci, afin d’assimiler un maximumde connaissances avant de rejoindre mon futur poste.

3.3 Apport du stage.

Etant militaire a la base, je ne suis pas etranger au monde de l’armement. Cependant,j’ignorais tout des activites de la DGA et plus encore du site Gironde. J’ai appris au coursde ce stage comment cette entite fonctionne et quels sont leurs objectifs. C’est un mondetres procedurier ou le serieux et la discipline sont de rigueur. Les procedures de mise afeu sont repetees et rejouees avant les tirs. En effet, un essai ne pas etre arrete une foisque le propergol est allume. Avant chaque tir, l’appareillage est systematiquement visite,re-etalonne. Les bancs d’essais et l’integralite de leurs equipements font l’objet de visitesperiodiques de validation. Cela me rassure d’autant plus quand a la qualite, la robustesseet la fiabilite des munitions et armements que les forces utilisent.

3.4 Impact de la RGPP.

Phenomene recurrent dans les ministeres, les economies semblent etre au cœur de toutesles discussions et decisions. Lors de la formation en traitement du signal, la remarque qui estrevenue le plus souvent etait que ce genre de stage est bien trop rare. Le nombre de journeede formation par employe est en baisse significative depuis plusieurs annees. Par ailleurs,le comparatif logiciel est motive principalement pour des questions de rationalisation decouts. Enfin, la redefinition de l’empreinte au sol de la DGA s’inscrit pleinement dans lecadre de la reorganisation de l’outil de defense.

Conclusion.

J’ai particulierement apprecie ce stage car bien qu’appartenant au ministere de ladefense, j’avais beaucoup d’idee recues sur la DGA. Les fonctions que je devrais etre amenea occuper vont impliquer des relations avec la DGA et le monde des industriels gravitantautour du pole de defense. Aussi, c’est sans conteste un veritable atout que d’avoir eu unapercu de la sorte. Le fait de savoir que l’armement fait l’objet d’un tel suivi et d’une tellemise a l’epreuve de sa conception a sa mise en service est rassurant pour l’utilisateur queje represente.

22

Page 23: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

Table des figures

1 Tir d’un propulseur de missile balistique. . . . . . . . . . . . . . . . . . . . 52 Implantations du site Gironde DGA/EM. . . . . . . . . . . . . . . . . . . . 63 Exemple d’interface d’execution de la transformee de Fourier. . . . . . . . . 94 Interface de filtrage RIF passe-bas et passe-haut. . . . . . . . . . . . . . . . 105 Coefficients du filtre RIF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Transformee de Fourier des coefficients. . . . . . . . . . . . . . . . . . . . . 147 Comparaison de la valeur des coefficients. . . . . . . . . . . . . . . . . . . . 168 Effet comparatif des filtres sur une mesure. . . . . . . . . . . . . . . . . . . 179 Les logiciels en concurrence. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1710 Le gestionnaire de mesures. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1911 Exemple de macro-commande. . . . . . . . . . . . . . . . . . . . . . . . . . 1912 Gestionnaire de planches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2013 Visualisation 2d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2014 Visualisation 3d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

23

Page 24: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

4 Annexe 1 : formation en traitement du signal niveau debutant.

24

Page 25: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

5 Annexe 2 : formation en traitement du signal niveau initie.

25

Page 26: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

6 Annexe 3 : ancien code de calcul des coefficients de filtreRIF.

/∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ ∗∗ ∗∗ NOM DE LA FONCTION : ∗∗ −−−−−−−−−−−−−−−−−−−− ∗∗ ∗∗ CalculRepImp old . ∗∗ ∗∗ BUT : ∗∗ −−−−− ∗∗ Calcu le l a reponse i m p u l s i o n n e l l e du f i l t r e . ∗∗ Cette reponse depend : ∗∗ − de l a nature du f i l t r e : ∗∗ − passe−bas , ∗∗ − passe−haut , ∗∗ − passe−bande , ∗∗ − coupe−bande ; ∗∗ − de son type : ∗∗ − r e c t a n g u l a i r e , ∗∗ − b a r t l e t t , ∗∗ − hamming , ∗∗ − hanning , ∗∗ − blackmann . ∗∗ Le r e s u l t a t e s t s tocke dans l a t a b l e adr rep impul se . ∗∗ ∗∗ PARAMETRES D’ENTREE : ∗∗ −−−−−−−−−−−−−−−−−−−−− ∗∗ ∗∗ l e s in f o rmat i ons sont e n r e g i s t r e e s dans l e s champs ∗∗ de s t r r i f dans l ’ odre su ivant : ∗∗ − f c 1 : ∗∗ premiere f r equence de coupure ; ∗∗ − f c 2 : ∗∗ deuxieme f r equence de coupure ; ∗∗ − somme fr : ∗∗ somme des f r equence s r e l a t i v e s ∗∗ s i f i l t r e PASSE BANDE RIF ou f i l t r e ∗∗ COUPE BANDE RIF. ∗∗ − n f i l t : ∗∗ nombre de po in t s du f i l t r e ; ∗∗ − t y p e f e n e t r e : ∗∗ type de f e n e t r e employe par l e f i l t r e . ∗∗ ∗∗ PARAMETRES DE SORTIE : ∗

26

Page 27: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

∗ −−−−−−−−−−−−−−−−−−−−− ∗∗ − s t r r i f : ∗∗ − rep impulse : ∗∗ adre s s e de base du tab leau contenant ∗∗ l a reponse i m p u l s i o n n e l l e du f i l t r e . ∗∗ − c a r a c t e r e de c o n t r o l e : ∗∗ − OK: ∗∗ tout s ’ e s t b ien passe ; ∗∗ − PBME: ∗∗ probleme l o g i c i e l . ∗∗ VARIABLES GLOBALES : ∗∗ −−−−−−−−−−−−−−−−−−−− ∗∗ Aucune . ∗∗ FONCTIONS APPELEES : ∗∗ −−−−−−−−−−−−−−−−−−−− ∗∗ Aucune . ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗/

i n t CalculRepImp old (STR RIF ∗ s t r r i f ){

i n t c o n t r o l e = OK;

while (1 ){

i n t n f i l t = s t r r i f −>n f i l t , t y p e f e n e t r e = s t r r i f −>t y p e f e n e t r e ;DONNEE TB fc1 = s t r r i f −>fc1 , f c 2 = s t r r i f −>fc2 , pi somme f = PI ∗ s t r r i f −>somme fr ;void ∗memoire = NULL;DONNEE TB ∗ rep impulse = NULL;r e g i s t e r DONNEE TB ∗ p t c o e f f = NULL;DONNEE TB c t e d e l t a f = 2 ∗ PI ∗ 4 ∗ ( f c 2 − f c 1 ) ∗ ( f c 2 − f c 1 ) , num1 = 0 , num2 = 0 , den = 0 ;DONNEE TB t1 = 0 , t2 = 0 ; /∗ v a r i a b l e s de t r a v a i l ∗/long t a i l l e = 0 ;i n t i , k ;DONNEE TB c t e t 1 = 2 ∗ PI / (DONNEE TB) ( n f i l t + 1) , c t e t 2 = 4 ∗ PI / (DONNEE TB) ( n f i l t + 1 ) ;DONNEE TB deux PI f1 = 2 ∗ PI ∗ fc1 , deux PI f2 = 2 ∗ PI ∗ f c 2 ;t a i l l e = n f i l t ∗ s i z e o f (DONNEE TB) ;memoire = NULL;RESERVATION MEMOIRE ( t a i l l e , memoire ) ;rep impulse = (DONNEE TB ∗) memoire ;s t r r i f −>rep impulse = RepimpulseRif = repimpulse ;

for ( i = 0 , p t c o e f f = repimpulse ; i <= n f i l t / 2 ; i ++, p t c o e f f++){

k = i − n f i l t / 2 ;

i f ( k != 0){

num1 = SIN TB ( deux PI f1 ∗ k ) / k ;num2 = SIN TB ( deux PI f2 ∗ k ) / k ;

27

Page 28: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

}else{

num1 = deux PI f1 ;num2 = deux PI f2 ;

}

den = 2 ∗ PI − ( c t e d e l t a f ∗ (DONNEE TB) ( k ∗ k ) ) ;

i f (FABS TB ( den ) < 1E−10){∗ p t c o e f f = SIN TB ( PI ∗ k ∗ ( f c 1 + f c2 ) ) / (4 ∗ k ) ;

}else∗ p t c o e f f = (num1 + num2) / den ;

switch ( s t r r i f −>t y p e f i l t r e ){case PASSE HAUT RIF :∗ p t c o e f f = −∗p t c o e f f ;i f ( i == n f i l t / 2)∗ p t c o e f f += 1 ;break ;

ca se PASSE BANDE RIF :∗ p t c o e f f ∗= 2 ∗ COS TB ( pi somme f ∗ k ) ;break ;

ca se COUPE BANDE RIF:∗ p t c o e f f ∗= −2 ∗ COS TB ( pi somme f ∗ k ) ;i f ( i == n f i l t / 2)

∗ p t c o e f f += 1 ;}

/∗ a p p l i c a t i o n de l a f e n e t r e de ponderat ion ∗/

switch ( t y p e f e n e t r e ){case TYPE BARTLETT:∗ p t c o e f f ∗= (1 + 2 .0 ∗ k / ( double ) ( n f i l t + 1 ) ) ;break ;

ca se TYPE HANNING:t1 = COS TB ( c t e t 1 ∗ k ) ;∗ p t c o e f f ∗= (NIVEAU MOYEN HANNING + AMPLITUDE HANNING ∗ t1 ) ;break ;

ca se TYPE HAMMING:t1 = COS TB ( c t e t 1 ∗ k ) ;∗ p t c o e f f ∗= (NIVEAU MOYEN HAMMING + AMPLITUDE HAMMING ∗ t1 ) ;break ;

ca se TYPE BLACKMANN:t1 = COS TB ( c t e t 1 ∗ k ) ;

28

Page 29: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

t2 = COS TB ( c t e t 2 ∗ k ) ;∗ p t c o e f f ∗= (NIVEAU MOYEN BLACKMANN +

AMPLITUDE BLACKMANN 1 ∗ t1 +AMPLITUDE BLACKMANN 2 ∗ t2 ) ;

}{

r e g i s t e r DONNEE TB ∗ p t i n f = &repimpulse [ n f i l t / 2 − 1 ] ,∗pt sup = &repimpulse [ n f i l t / 2 + 1 ] ;

i n t i max = n f i l t / 2 − 1 ;for ( i = 0 ; i < i max ; i++)∗pt sup++ = ∗ p t i n f −−;

}/∗ mod i f i c a t i on de repimpulse [ n f i l t /2 ] pour avo i r dans l e cas

d ’ un passe bas ou d ’ un stop bande une reponse f r e q u e n t i e l l ee g a l e a 1 en f=0 Hz ∗/

i f ( s t r r i f −>t y p e f i l t r e == PASSE BAS RIF | | s t r r i f −>t y p e f i l t r e == COUPE BANDE RIF){

DONNEE TB somme = 0 ;i f ( Correct ionRep != OK)

break ;

for ( i = 0 , p t c o e f f = repimpulse ; i < n f i l t ; i++){

somme += repimpulse [ i ] ;}

i f (somme != 1){

rep impulse [ n f i l t / 2 ] += 1 − somme ;}

}break ;

}

return c o n t r o l e ;}

29

Page 30: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

7 Annexe 4 : nouveau code de calcul des coefficients de filtreRIF.

/∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ ∗∗ ∗∗ NOM DE LA FONCTION : ∗∗ −−−−−−−−−−−−−−−−−−−− ∗∗ ∗∗ CalculRepImp . ∗∗ ∗∗ BUT : ∗∗ −−−−− ∗∗ Calcu le l a reponse i m p u l s i o n n e l l e du f i l t r e . ∗∗ Cette reponse depend : ∗∗ ∗∗ − de l a nature du f i l t r e : ∗∗ − passe−bas , ∗∗ − passe−haut , ∗∗ − passe−bande , ∗∗ − coupe−bande ; ∗∗ − de son type : ∗∗ − r e c t a n g u l a i r e , ∗∗ − b a r t l e t t , ∗∗ − hamming , ∗∗ − hanning , ∗∗ − blackmann . ∗∗ ∗∗ Le r e s u l t a t e s t s tocke dans l a t a b l e adr rep impul se . ∗∗ ∗∗ PARAMETRES D’ENTREE : ∗∗ −−−−−−−−−−−−−−−−−−−−− ∗∗ ∗∗ l e s in f o rmat i ons sont e n r e g i s t r e e s dans l e s champs ∗∗ de s t r r i f dans l ’ odre su ivant : ∗∗ − f c 1 : ∗∗ premiere f r equence de coupure ; ∗∗ − f c 2 : ∗∗ deuxieme f r equence de coupure ; ∗∗ − somme fr : ∗∗ somme des f r equence s r e l a t i v e s ∗∗ s i f i l t r e PASSE BANDE RIF ou f i l t r e ∗∗ COUPE BANDE RIF. ∗∗ − n f i l t : ∗∗ nombre de po in t s du f i l t r e ; ∗∗ − t y p e f e n e t r e : ∗∗ type de f e n e t r e employe par l e f i l t r e . ∗

30

Page 31: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

∗ ∗∗ PARAMETRES DE SORTIE : ∗∗ −−−−−−−−−−−−−−−−−−−−− ∗∗ − s t r r i f : ∗∗ − rep impulse : ∗∗ adre s s e de base du tab leau contenant ∗∗ l a reponse i m p u l s i o n n e l l e du f i l t r e . ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗/

i n t CalculRepImp (STR RIF ∗ s t r r i f ){

i n t c o n t r o l e = OK;

while (1 ){

i n t N = s t r r i f −>n f i l t , t y p e f e n e t r e = s t r r i f −>t y p e f e n e t r e ;DONNEE TB fc1 = s t r r i f −>fc1 , f c 2 = s t r r i f −>f c 2 ;DONNEE TB fmin = fc1 , fmax = fc2 ;void ∗memoire = NULL;DONNEE TB ∗ rep impulse = NULL;r e g i s t e r DONNEE TB ∗ p t c o e f f = NULL;long t a i l l e = 0 ;i n t i , j ;DONNEE TB deux PI f1 = 2 ∗ PI ∗ f c 1 ;DONNEE TB deux PI fmin = 2 ∗ PI ∗ fc1 , deux PI fmax = 2 ∗ PI ∗ f c 2 ;t a i l l e = N ∗ s i z e o f (DONNEE TB) ;memoire = NULL;RESERVATION MEMOIRE ( t a i l l e , memoire ) ;rep impulse = (DONNEE TB ∗) memoire ;s t r r i f −>rep impulse = RepimpulseRif = repimpulse ;

p t c o e f f = repimpulse ;j = −N/2 ;

switch ( s t r r i f −>t y p e f i l t r e ){

case PASSE BAS RIF :case PASSE HAUT RIF :

for ( i = 0 ; i < N; i ++, j++){

i f ( j == 0)∗ p t c o e f f++ = 2 ∗ f c 1 ;

else∗ p t c o e f f++ = SIN TB ( deux PI f1 ∗ j ) /(M PI ∗ j ) ;

}break ;

ca se PASSE BANDE RIF :case COUPE BANDE RIF:

for ( i = 0 ; i < N; i ++, j++)

31

Page 32: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

{i f ( j == 0)∗ p t c o e f f++ = 2 ∗ ( fmax − fmin ) ;

else∗ p t c o e f f++ = (SIN TB ( deux PI fmax ∗ j ) − SIN TB ( deux PI fmin ∗ j ) ) /(M PI ∗ j ) ;

}

break ;}

p t c o e f f = repimpulse ;j = −N/2 ;

switch ( s t r r i f −>t y p e f i l t r e ){

case PASSE HAUT RIF :case COUPE BANDE RIF:

for ( i = 0 ; i < N; i ++, j ++, p t c o e f f++){

i f ( j == 0)∗ p t c o e f f = 1 − ∗ p t c o e f f ;

else∗ p t c o e f f ∗= −1;

}break ;

}break ;

}

return c o n t r o l e ;}

/∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ ∗∗ ∗∗ NOM DE LA FONCTION : ∗∗ −−−−−−−−−−−−−−−−−−−− ∗∗ ∗∗ Ponderation RepImp . ∗∗ ∗∗ BUT : ∗∗ −−−−− ∗∗ Ponderation de l a reponse i m p u l s i o n n e l l e du f i l t r e . ∗∗ ∗∗ Cette reponse depend e s s e n t i e l l e m e n t : ∗∗ − du type de l a f e n e t r e : ∗∗ − r e c t a n g u l a i r e , ∗∗ − b a r t l e t t , ∗

32

Page 33: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

∗ − hamming , ∗∗ − hanning , ∗∗ − blackmann . ∗∗ Le r e s u l t a t e s t s tocke dans l a t a b l e adr rep impul se . ∗∗ ∗∗ PARAMETRES D’ENTREE : ∗∗ −−−−−−−−−−−−−−−−−−−−− ∗∗ ∗∗ l e s in f o rmat i ons sont e n r e g i s t r e e s dans l e s champs ∗∗ de s t r r i f dans l ’ odre su ivant : ∗∗ − rep impulse [ ] : ∗∗ c o e f f i c i e n t s de l a rep i m p u l s i o n n e l l e ∗∗ − f c 1 : ∗∗ premiere f r equence de coupure ; ∗∗ − f c 2 : ∗∗ deuxieme f r equence de coupure ; ∗∗ − somme fr : ∗∗ somme des f r equence s r e l a t i v e s ∗∗ s i f i l t r e PASSE BANDE RIF ou f i l t r e ∗∗ COUPE BANDE RIF. ∗∗ − n f i l t : ∗∗ nombre de po in t s du f i l t r e ; ∗∗ − t y p e f e n e t r e : ∗∗ type de f e n e t r e employe par l e f i l t r e . ∗∗ ∗∗ PARAMETRES DE SORTIE : ∗∗ −−−−−−−−−−−−−−−−−−−−− ∗∗ − s t r r i f : ∗∗ − rep impulse : ∗∗ adre s s e de base du tab leau contenant ∗∗ l a reponse i m p u l s i o n n e l l e du f i l t r e . ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗/

i n t Ponderation RepImp (STR RIF ∗ s t r r i f ){

i n t c o n t r o l e = OK;

#i f d e f DEBUG 1sprintf ( chaine , ”Debut de f o n c t i o n ” ) ;AFFICHAGE MESSAGE ( chaine ) ;#e n d i f

while (1 ){

i n t N = s t r r i f −>n f i l t , t y p e f e n e t r e = s t r r i f −>t y p e f e n e t r e ;

DONNEE TB ∗ rep impulse = NULL, ∗ p t c o e f f = NULL, t1 = 0 , t2 = 0 ;

i n t i , j ;

33

Page 34: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

DONNEE TB n i v b l a c = 0 .4266 , amp blac 1 = 0 .4965 , amp blac 2 = 0 . 0 7 6 ;

DONNEE TB c t e t 1 = 2 ∗ PI / (DONNEE TB) (N +1) ,c t e t 2 = 4 ∗ PI / (DONNEE TB) (N +1);

rep impulse = s t r r i f −>rep impulse ;

p t c o e f f = repimpulse ;j = −N/2 ;

/∗ a p p l i c a t i o n de l a f e n e t r e de ponderat ion ∗/

for ( i = 0 ; i < N; i ++, j ++, p t c o e f f++){

switch ( t y p e f e n e t r e ){case TYPE BARTLETT:

#i f d e f DEBUG 1sprintf ( chaine , ”BARTLETT : [%d /%d ] avant f e n e t r a g e : c o e f = %22.20 f ” , i , N, ∗ p t c o e f f ) ;AFFICHAGE MESSAGE ( chaine ) ;#e n d i f

∗ p t c o e f f ∗= (1 + 2 .0 ∗ j / ( double ) (N + 1 ) ) ;

#i f d e f DEBUG 1sprintf ( chaine , ”BARTLETT : [%d /%d ] apres f e n e t r a g e : c o e f (%22.20 f ) = ∗ (% f ) [1 + 2 ∗ k(%d )/(N(%d ) + 1 ) ] ” ,

i , N, ∗ p t c o e f f , ( double ) ( 1 + 2 ∗ j / ( double ) (N + 1 ) ) , j , N) ;AFFICHAGE MESSAGE ( chaine ) ;#e n d i f

break ;

ca se TYPE HANNING:t1 = COS TB ( c t e t 1 ∗ j ) ;

∗ p t c o e f f ∗= (NIVEAU MOYEN HANNING + AMPLITUDE HANNING ∗ t1 ) ;break ;

ca se TYPE HAMMING:t1 = COS TB ( c t e t 1 ∗ j ) ;

∗ p t c o e f f ∗= (NIVEAU MOYEN HAMMING + AMPLITUDE HAMMING ∗ t1 ) ;break ;

ca se TYPE BLACKMANN:t1 = COS TB ( c t e t 1 ∗ j ) ;t2 = COS TB ( c t e t 2 ∗ j ) ;

34

Page 35: Rapport. - Institut de Mathématiques de Bordeauxpjaming/stagetdsi2012/bourgeois.pdf · Ce rapport a pour objectif de pr esenter le stage en entreprise, ... la connaissance et le

∗ p t c o e f f ∗= ( n i v b l a c + amp blac 1 ∗ t1 + amp blac 2 ∗ t2 ) ;}

{

/∗ mod i f i c a t i on de repimpulse [N/2 ] pour avo i r dans l e casd ’ un passe bas ou d ’ un stop bande une reponse f r e q u e n t i e l l ee g a l e a 1 en f=0 Hz ∗/

i f ( s t r r i f −>t y p e f i l t r e == PASSE BAS RIF | | s t r r i f −>t y p e f i l t r e == COUPE BANDE RIF){

DONNEE TB somme = 0 ;

i f ( Correct ionRep != OK)break ;

for ( i = 0 , p t c o e f f = repimpulse ; i < N; i++){

somme += repimpulse [ i ] ;}

i f (somme != 1){

rep impulse [N / 2 ] += 1 − somme ;}

}break ;

}return c o n t r o l e ;

}

35