Igor, générer un signal acoustique au spectre continu en fréquence
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Igor, générer un signal acoustique au spectre continu en fréquence



  1. #1
    invite21619b8c

    Igor, générer un signal acoustique au spectre continu en fréquence


    ------

    Bonjour,
    En 3eme année de licence de physique, j'ai un projet de TP à mener à bien, qui porte sur la propagation d'une onde acoustique dans un guide à onde.

    Il s'agit de montrer que, selon la forme du guide (sans rentrer dans les détails), certaines plages de fréquence sont interdites et ne sont pas enregistrées par le micro en sortie, alors qu'ells étaient bien émises par le haut parleur en entrée.

    L'article scientifique dont j m'inspire dit qu'il faut générer un signal acoustique au spectre continu en fréquence, entre une certaine fréquence min et fréquence max, modulé par une enveloppe gaussienne (dans sa représentation temporelle).

    Mon problème, c'est qu je ne parviens pas à créer une telle wave avec igor pro. j'ai bien essayé d'intégrer (à la main, je suis très néophyte de igor...) $cos(\omega * t)$, sur l'intervalle en fréquence qui m'intéresse, ce qui donne $(sin(\omega_max * t) - sin(\omega_min * t)) / t$ mais le graphe obtenu ne prend que des amplitudes négatives, et est très étalé dans le temps, ce qui m'amène à penser que j'ai fait une erreur quelque part....

    Dans un second temps, je ne sais pas comment imposer ensuite à mon signal une enveloppe gaussienne, une étendue temporelle très limitée, ni même comment générer ensuite physiquement le signal avec igorpro, et un ordi branché à un haut parleur.

    Merci d'avance de votre aide précieuse, c'est un peu la panique. Aussi, d'avance navré si je me suis trompé de sous forum pour poster ce message.

    -----

  2. #2
    Sethy

    Re : Igor, générer un signal acoustique au spectre continu en fréquence

    Je m'y colle, bien que je sois chimiste, nul n'est parfait.

    Quand je lis ton message, j'ai l'impression (peut être à tort) que tu ne maitrises pas très bien la transformée de Fourier.

    Il y a une relation directe entre la largeur dans la gamme de fréquence et la durée du signal, l'une étant inversement proportionnelle à l'autre. Donc, au plus tu domaine de fréquence sera restreint, au plus l'étendue du signal dans le temps sera importante et inversement.

    D'autre part, si tu as un problème de signe, c'est probablement du à la phase. Essaye de la modifier, en rajoutant un léger déphasage , dans ton expression .

  3. #3
    invite21619b8c

    Re : Igor, générer un signal acoustique au spectre continu en fréquence

    Bonjour Sethy,
    Merci pour ta réponse; et pour l'astuce du changement de phase notamment.

    Je sais en effet que l'étendue temporelle est inversement proportionnelle à l'étendue en fréquence. Mais comment construire une telle wave?

    J'ai bien essayé de régler artificiellement la durée de l'impulse, en insérant des points au début et à la fin de la wave, après avoir rentrée cette formule dans l'invite de commande, mais j'ai l'intuition que ce n'est vraiment pas la bonne démarche... Et effectivement sa FFT ne donne que deux pics en fréquence aux extrémités du graphe...
    Une autre solution artificielle serait de créer une wave qui vaut 1 sur toute la gamme de fréquence qui m'intéresse, et 0 ailleurs, et d'en faire la transformée inverse; mais j'ai encore le sentiment que c'est n'importe quoi, et de toute façon la fenêtre FFT de Igor ne semble pas accepter mes waves comme candidates valides pour une transformée inverse.

    J'ai vu que Igor propose des outils pour fabriquer des distributions aléatoires (noise), et je me demande si je n'ai pas besoin de passer par là pour concevoir un son "réel". Car c'est ça mon objectif: créer un son à passer dans un haut parleur (donc dans un format audio) pour qu'il traverse un guide à onde modifié, et pour pouvoir enregistrer et analyser le signal sortant du guide, afin de démontrer que le spectre de ce dernier a perdues certaines fréquences (par rapport au passage dans un guide à onde non modifié). Pour ça il me faut un bruit blanc(?), contenant une bande de fréquence entre 150 et 2000Hz; le rapport (la division quoi) de la FFT du signal sortant du guide à onde modifié par la FFT du signal sortant du guide à onde non modifié devrait montrer des gaps fréquentiels nets.

    Après relecture de mes sources, je vois que je m'était trompé dans le précédent message à propos de "l'enveloppe gaussienne dans sa représentation temporelle", je n'ai pas besoin de ça; en revanche, cet article dont je m'inspire dit avoir utilisé "la dérivée seconde d'une gaussienne avec une étendue temporelle d'environs 20ms telle que sa transformée de fourier contienne des composantes significatives en fréquence jusqu'à 2200Hz"...
    Je suis donc en train de tenter de dériver des gaussiennes en ce moment même. ça à l'air de plutôt bien marcher (la fft montre comme résultat un genre de gaussienne asymétrique allant environs de 0 à 5000Hz; mais j'ai encore l'impression de bidouiller sans savoir ce que je fait, et je ne vois pas comment contrôler l'étendue de ma fft en fonction des paramètres de la gaussienne de base...
    Et surtout, je ne sais pas ensuite comment faire de ça un fichier audio!! Igor permet-il cela ou dois-je passer à mathlab?

  4. #4
    Sethy

    Re : Igor, générer un signal acoustique au spectre continu en fréquence

    Comme tu l'as sans doute compris, je ne connais ni Igor, ni mathlab ...

    Par contre, si j'avais ce genre de soucis, je construirais une fonction proche de la réponse que je voudrais et j'en calculerais la transformée de Fourier.

    Soit en partant d'une fonction analytique (A = f(T)) et en intégrant sur papier, soit en partant d'une fonction numérique et en intégrant numériquement pour obtenir la distribution de fréquence.

  5. A voir en vidéo sur Futura
  6. #5
    invite1e1a1a86

    Re : Igor, générer un signal acoustique au spectre continu en fréquence

    Bonjour,

    Il me parait plus simple dans un premier temps de générer une onde sinusoïdale (pendant un temps suffisamment long) et de regarder ce que tu captes en sortie. On variant la fréquence d'entrée, tu peux point par point calculer la réponse à chaque fréquence.

    Si tu souhaite faire tout d'un coup (ce qui est proposer par ton article), il faut utiliser la transformée de fourier inverse. Multiplier par une enveloppe gaussienne permet seulement de lisser les bords.
    Bon travail.

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/02/2015, 13h25
  2. spectre discret, spectre continu
    Par invite87431254 dans le forum Physique
    Réponses: 9
    Dernier message: 17/12/2013, 20h26
  3. différence entre spectre de raies et spectre continu
    Par invite4fd13f11 dans le forum Physique
    Réponses: 4
    Dernier message: 24/04/2010, 19h31
  4. générer un signal créneau à partir d'un signal sinusoidale
    Par invitee2f3230c dans le forum Électronique
    Réponses: 12
    Dernier message: 08/01/2010, 13h46
  5. Générer un signal triangle à partir d'un signal carré : problème
    Par invite4450428a dans le forum Électronique
    Réponses: 8
    Dernier message: 04/01/2010, 00h59