Extraire une fréquence précise d'une FFT

Bonjours,
Voila ma question, J'ai effectué une FFT sur un signal temporel échantillonné à 1024 S/s  , j'ai donc tout mon spectre de 0 à 500Hz, maintenant j'aimerais en sortir l'amplitude à 50Hz +-3Hz (ceci afin de voir la contribution du réseau électrique dans le spectre de mon signal mesuré) et je ne sais pas vraiment comment m'y prendre, iest-ce qu'il y a un vi déja existant qui fait cela?
J'ai essayé d'utilisé le vi "Multiple Tone Exctract", cela marche mais je le trouve un peu lourd pour mon besoin.
Cordialement
Sébastien Kuenlin
Résolu !
Accéder à la solution.

Bonjour et merci d'avoir posé votre question sur le forum NI.
Effectivement un VI Express tel le "Multiple tone extract" est gourmand, c'est pourquoi il est possible d'utiliser la fonction "Extract Single Tone Information", de plus bas niveau, comme dans l'exemple proposé ci-dessous et en pièce jointe.
En espérant avoir répondu à votre question.
Mathieu TUR
National Instruments France
Mathieu_T
Certified LabVIEW Developer
Certified TestStand Developer
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
LabVIEW Tour
Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014
Pièces jointes :
Mesure d'un ton.vi ‏28 KB

Similar Messages

  • Lancer une séquence d'un programme à une date et heure préscise (mais une seule fois)

    Bonjour à tous, et bien entendu merci de votre aide.
    Je vous explique ma problématique, un peu tordu je dois l'avouer.
         Voilà, je voudrais qu'une partie de mon programme s'exécute le 15  du mois en cours à 23h59 et le 28 ou 30 ou 31 (selon le mois)  à la même heure 23h59.
    A chaque fois que l'on atteint le mileu ou la fin du mois, le programme doit exécuter une fois la séquence.
    Mon problème c'est que je ne vois pas comment faire pour que l'execution ne se fasse qu'une seule fois lorsque l'on atteint cette date. (VI principale qui tourne en boucle)
    Merci d'avance pour vos réponses.

    Hello Sentenza,
    Je te propose de télécharger le vi et de lire les instructions.
    Quelques détails:
    - je n'ai pas fait de Def de Type pour l'Enum pour ne pas avoir à partager plus de fichier dans le post mais il vaut mieux en faire une.
    - j'ai fais un bon d'exemple pour une date, pour plusieurs, vous pourrez partir sur un tableau et avancé au fur et à mesure dans l'indexation.
    Bonne soirée,
    Flo
    Open Diagram First
    Pièces jointes :
    Faire qqchose a l'heure.vi ‏11 KB

  • Lire une fréquence variable, parfois nulle

    Bonjour,
    Je voudrais lire une fréquence avec DAQmx, sur une carte PCI 6624 (compteurs).
    J'arrive à le faire simplement avec le DAQ Express, mais le problème est que cette fréquence varie au cours du temps, et peut, dans certains cas, être nulle. Quand elle est nulle, j'ai une erreur comme quoi le timeout est dépassé.
    Comment puis-je faire pour résoudre ce problème ? Avec les noeuds de propriété ?
    Je voudrais pouvoir lire la fréquence en permanence, et savoir quand elle est nulle, sans avoir d'erreur...
    Merci d'avance.

    Reliez le VI que j'avais posté ici  à la sortie du cluster d'erreur de votre VI Express en définissant son entrée Erreur à annuler selon l'erreur en cas de fréquence nulle (-200474 si je ne m'abuse). Alternativement, le même résultat peut être obtenu en utilisant General Error Handler.vi en définissant ses entrées de la manière suivante :
    exception action : cancel error on match
    exception code : code de l'erreur à ignorer
    La capture d'écran ci-dessous illuste les deux variantes :
    Donnez-moi des nouvelles si le VI Express devait tout de même afficher une boîte de dialogue avec l'erreur et je vous indiquerai alors les opérations suivantes à réaliser.
    Message Edité par JB le 04-07-2008 10:11 AM
    Attachments:
    Example_VI_BD2.png ‏4 KB

  • Problème pour diviser une fréquence : "Timebase is invalid" (PCI-6602) ???

    Bonjour,
    je dispose d'une pci-6602, de CVI 6 et de DAQ Traditionnel.
    Je voudrais diviser une fréquence par 16 à l'aide du compteur 2 (en mode 'toggle', ce qui revient donc à la diviser par 32).
    J'utilise pour cela la fonction 'FrequencyDividerConfig'. je passe en argument de cette fonction 'Use Counter Source', puisque la fréquence que je souhaite diviser est externe (elle provient du compteur 3, et est de 4000 Hz environ). De plus, je relie la sortie du compteur 3 à la source du compteur 2.
    Pourtant, lors de la compilation, j'ai à chaque fois le message "Timebase is invalid". Que dois-je faire pour que ça marche ???
    Je précise que dans le function panel de 'FrequencyDividerConfig', il est écrit en bleu que cette fonction ne peut être utilisée qu'avec les compteurs DAQ-STC et Am9513. Comme les compteurs de ma carte sont des NI-TIO, on pourrait penser que c'est pour cela que j'ai un problème. Mais je pense que ce n'est pas le cas, vu que lorsque je souhaite diviser une timebase interne au compteur (de 20 MHz), cela marche sans problème : on peut donc utiliser cette fonction avec les compteurs NI-TIO !! (Je sais c'est bizarre !!!)
    Merci pour toute aide,
    Julien.

    Bonjour,
    Vous trouverez un exemple de mise en oeuvre d'une division de fréquence en NI-DAQ Traditionnel sous LabWindows/CVI avec une carte NI 660x sur le lien suivant: http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3DDCB56A4E034080020E74861&p_node=DZ52328&p_source=External.
    La valeur que vous fixerez pour les variables ND_COUNT_X permettront de fixer le diviseur pour la fréquence.
    Les masses des compteurs sont communes, il n'est donc pas nécessaire de les relier pour tester cet exemple.
    Cordialement,

  • Lorsqu'on fait l'opération ''Rendu'' d'un séquence vidéo d'une durée de 90 minutes,  ça prend plus de 23 heures pour obtenir le résultat

    Lorsqu’on fait l’opération ‘’Rendu’’ d’un séquence vidéo
    d’une durée de 90 minutes,  ça prend plus de 23 heures pour obtenir le
    résultat
    (On part d’un fichier de 6 Go .AVI vers .MPEG4
    voici la configuration du PC
      Marque
      Dell
      Precision workstation T3500
      CPU
      Intel
      Xeon CPU W3550 @ 3.07GHz 4 core
      RAM
      16 Go
      Disque
      C
      200
      Go SSD (O/S) utilisé à 38 %
      Disque
      D
      256
      Go Data utilisé à 34 %
      Disque
      E
      1000
      Go SATA   Data   utilisé à 10 %
      carte
      vidéo
      AMD
      FirePro V5900 /2 Go
      O/S
      Windows
      7.0 pro  64 bit
      Application
      Adobe
      Premiere CS5 64 bit
    Quel serait la cause de cette lenteur ???
    Merci

    Hi Marcel,
    I'm moving this to the Hardware forum.
    Thanks,
    Kevin

  • Création de rapport lors de l'éxecution d'une SubSéquence

    Bonjour
    Mon problème est le suivant : Lorsque sous TestStand j’exécute une SubSéquence l’interface m’indique le jugement final OK ou KO, mais pas le détail comme les valeurs mesurées.
    Est il possible d’afficher ces valeurs à la fin de l’exécution de la Subséquence, ou encor mieux de générer un rapport xml avec le détail.
    Merci pour vos idées
    Cordialement

    Salut,
    Jette un oeil ici (il me semble que c'est le même genre de problématique)
    Il y a forcément une option (certainement dans les "report options" pour ça). En effet, TS stocke les résultats dans une "result list" de sous séquence, et celle ci est visible et accessible durant l'éxecution de la séquence appelante (une fois la sous séquence éxecutée bien sûr car il s'agit d'une property dite dynamique)
    Je n'ai pas TS d'installé à l'heure actuelle. Si jamais j'ai le temps de l'installer, je ferai le test.
    A+
    Mathieu Steiner, Test System Engineer, Safran Engineering
    CLD, ISTQB

  • Passage de paramètres dans une séquence

    Bonjour à tous,
    J'aurais besoin de vos lumières
    Voila mon problème, jai fais une sous-séquence qui fait appel à une DLL pour piloter un multimètre. Dans cette DLL je fais passer en paramètres des points de connexions qui sont les paramètres de ma séquence . 
    J'aurais souhaité que lorsque je place ma sous-séquence, au lieux de voir apparaître les paramètres que j'ai définis, qu'il y est un bouton qui ma fasse apparaitre une interface graphique ou je viendrais choisir mes points de connexions dans une liste. 
    Pourriez-vous m'aider ?
    Cordialement,

    Pour faire cela, le mieux est de créer des custom step types: http://www.ni.com/white-paper/8300/en/
    Rodéric L
    Certified LabVIEW Architect

  • Générer une séquence TTL

    Bonjour à tous,
    Pour pouvoir trigger une appli externe, je souhaiterais pouvoir créer une interface LV pour générer une séquence TTL 5.0v (via port série? ou adaptateur USB-TTL?)
    Le seul paramétrage requis étant la durée entre chaque impulsion TTL à générer. Pensez vous que cela soit possible? Je connais un peu l'architecture LV mais je ne suis pas familier avec les fonctions gérant les I/O série ou USB.
    merci d'avance pour votre aide

    bonjour à tous,
    pour piloter une ligne du port série, tu peux piloter par exemple la ligne RTS 
    c'est une fonction VISA du port serie
    par contre elle n'est pas en 0 - 5V mais -10 -> + 10V
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Récupérer les résultats d'une séquence de test

    Bonjour,
    Afin de réaliser un rapport d'une séquence de test réalisé, j'utilisais avec TestStand 4 ceci pour savoir si chaque pas de test était réussi ou non : Parameters.ResultList[Local.Index].Status == "passed" ?
    Cela ne fonctionne plus sous TestStand 2010 et je ne trouve pas d'equivalent, est-ce que quelqu'un a une idée de la démarche à réaliser?
    Cordialement
    Ben

    L'expression complète du pas de test est : Parameters.Level == 1 ?Parameters.ResultList[Locals.index].Status == "Passed" ? Parameters.PasReussis +=1 : Parameters.PasReussis : Parameters.PasReussis
    Lorsque j'enlève le ? j'obtiens un unexpected token : Parameters
    C'est une séquence que je dois modifier (je n'ai pas créer cette séquence) et je n'ai pas encore tout assimilé, notamment je ne comprends pas à quoi sert ceci : Parameters.PasReussis : Parameters.PasReussis
    Désolé pour le manque d'info et mes connaissances plus que basique de TestStand.
    Cordialement
    Ben

  • Exécution d'une séquence TestStand via LabView

    Bonjour,
    Je souhaite exécuter une séquence TestStand direcetement depuis un VI en spécifiant uniquement le chemin de la séquence.
    Malgré les exemples trouvés dans le répertoire de TestStand, je ne parviens pas à définir un chemin...
    Quelqu'un a t-il déjà réaliser ce type opération?
    Merci d'avance,
    Thibaud.

    Bonjour Thibaud,
    Voici exactement ce que vous désirez faire mis à part que vous devrez remplacer la commande chemin par une constante.
    Cordialement,
    Romain DUVAL || Application Engineer Specialist ||Certified LabVIEW Architect (CLA) || Certified TestStand Architect (CTA)
    National Instruments France
    Attachments:
    202885.llb ‏955 KB

  • Une séquence png faite en 24 images/secondes est interprétée en 25 is dans première pro, que faire?

    Bonjour,
    lorsque j'importe une séquence image que ce soit TIFF, JPG ou PNG - bien qu'elle soit créée et exportée de manière 100% certaine en 24 images/seconde, Première Pro CC l’interprète et la notifie en 25 is - du coup ça décale avec le son. Ce n'était pas le cas dans Première CS5 sur lequel j'avais commencé mon montage. Suis le seule à rencontrer ce problème? Merci d'avance pour vote aide précieuse!

    Bonjour,
    lorsque j'importe une séquence image que ce soit TIFF, JPG ou PNG - bien qu'elle soit créée et exportée de manière 100% certaine en 24 images/seconde, Première Pro CC l’interprète et la notifie en 25 is - du coup ça décale avec le son. Ce n'était pas le cas dans Première CS5 sur lequel j'avais commencé mon montage. Suis le seule à rencontrer ce problème? Merci d'avance pour vote aide précieuse!

  • Trouver le nombre de test exécutés dans une séquence

    Bonjour,
    je cherche comment trouver le nombre de test qui ont été exécutés dans une séquence (je sais trouver le nombre de test d'une séquence par "GetNumElements(RunState.Sequence.Main )", mais pas l'index du test en cours.
    Merci pour toute aide
    JMC
    JMCe

    Hello JM Cereuil,
    The number of tests(steps) executed in a sequence is allways given by the value of RunState.PreviousStepIndex (zero-indexed). If this value is -1, than no steps where executed in the currently executing sequence.
    Hope this answers your question,
    Silvius
    Silvius Iancu

  • Comment je peux récupérer une chaine de caratères d'un fichier(txt par expl) dans une ligne (spécifiée) et une colonne (aussi spécifiée) avec notre adorable software LABVIEW

    Salut à tous,
    Comment je peux récupérer une chaine de caratères d'un fichier(txt par expl) dans une ligne (spécifiée) et une colonne (aussi spécifiée) avec notre adorable software LABVIEW.
    Thx
    Nizar
    Résolu !
    Accéder à la solution.

    Si ton fichier est un fichier tableur ce qu'a dit yohann me parait le mieux. Par contre si c'est un fichier texte qui contient une chaine au format tableur (sepération avec des tabulations) il faut utiliser "lire un fichier texte" + "Convertir un chaine au format tableur en tableau" et ensuite indexer la case qui t'intéresse.
    Maintenant si tu as un simple fichier texte  et que tu veux lire un couple ligne/colonne qui désigne un caractère précis il faut utiliser "définir la position dans le fichier" en connaissant la largeur de ton fichier texte. et la tu n'as plus qu'à rentrer dans offset: indice_ligne*largeur+indice_colonne comme une vieille réminiscence du c.
    Sebastien DEVISSCHER - Nerys

  • Comment créer une source de cadencement à 1MHz dans une boucle cadencée?

    Comment créer une source de cadencement à 1MHz dans une boucle cadencée?

    Bonjour Julie,
    Je ne comprends pas très bien votre question.
    Tout d'abord, à l'avenir, préférez recréer votre propre post sur le forum, celui-ci datant de 2006, vous pouvez être quasiment sûr que les gens qui y ont participé ne sont plus aussi disponible pour vous répondre.
    D'autre part, le module 8451, qui gère la communication SPI peut gérer des horloges jusqu'à 12MHz, je ne vois pas où est votre problème d'horloge à 1MHz.
    Le problème qui se posait dans le poste d'origine était d'avoir une boucle logicielle qui allait à plus d'1MHz, ce qui est très dur et qui demande du matériel particulier. C'est déjà une limite quasiment inatteignable avec un environnement RT, et il faudra plutot se tourner vers de la technologie FPGA.
    En revanche, si votre besoin est de gérer une comm SPI à 1MHz, vous pouvez très bien avoir le module 8451 qui fait le codage et décodage SPI, et votre programme qui lui tourne à quelques ms pour récupérer ou envoyer de nouvelles données sur le bus!
    J'espère vous avoir éclairé!
    Cordialement,
    Olivier L. | Certified LabVIEW Developer

  • Peut on acheter une revue dans le kiosque avec une carte apple

    Bonjour je voulais savoir si on peut acheter une revue dans le kiosque avec une carte Apple store sans mettre de donner de facturation merci

    You might consider using a case structure with a different case for each different formula script node. You could make the input to the case structure be a enumerated control.
    Creating an Enumerated Type Control
    Use enumerated type controls to give users a list of items from which to select. An enumerated type control, or enum, is similar to a text or menu ring control in that both contain lists of strings through which you can cycle. However, the data type of an enumerated type control includes information about the numeric values and the string labels in the control. The data type of a ring control is numeric.
    Note You cannot allow the user to enter undefined values in enumerated type controls, and you cannot assign specific numeric values to items in enumerated type controls. If you need this functionality, use a ring control.
    You can use an enumerated type control to select the cases of a Case structure.
    The numeric representation of the enumerated type control is 8-, 16-, or 32-bit unsigned integer. Right-click the enumerated type control and select Representation from the shortcut menu to change the representation of the control.
    Ben D.
    Applications Engineer
    National Instruments

Maybe you are looking for

  • Total Newbie Question ... Sorry :-(

    I know it's a windows thing, and I am now converted to Mac but I gotta know this because it's doing my head in. It's a complete stupid green gilled newbie question. When installing new programs on a Mac can you create shortcuts to the programs on the

  • Add Chart to Slide using Automator

    Keynote 08 version 4.0.3 Automator version 2.0.2 (160) I am creating a Keynote presentation with Automator, and I am trying to add a chart to a slide and am encountering an error. Here are the following steps to reproduce the error. 1) Start Automato

  • How to make a slideshow/video similar to the "photo a day" videos?

    I was just wondering what the best way to make a slideshow/video simial to the "photo a day" videos like this one: http://www.youtube.com/watch?v=6B26asyGKDo I'm not looking to do one of my face, I just want to do one of all my photos set to music, i

  • Dynamic size

    hello here is my code ... db[] dbapp = new db[]; compile: [javac] Compiling 12 source files to D:\PADMA\work\APPLIC~1\PRINTING\SOURCE~ 1\build [javac] D:\PADMA\work\APPLIC~1\PRINTING\SOURCE~1\Source\DbController.java:15 6: array dimension missing [ja

  • Increase quantity of Planned Orders upon creation by MRP

    Hello gurus. We want to add a certain percentage to the quantity in Planned Orders when they are created by MRP. So that we can have a "cushion" for whatever waste we may have in Production. We explored the "Assembly Scrap" field in the Material Mast