fréquence/période à partir d'une suite ininterrompue de chiffres
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 41

fréquence/période à partir d'une suite ininterrompue de chiffres



  1. #1
    pierre2935

    fréquence/période à partir d'une suite ininterrompue de chiffres


    ------

    bonjour
    j'ai un inclinomètre qui me donne en permanence les valeurs discrètes du roulis et du tangage d'un bateau, en degrés. Ce sont donc des valeurs instantanées plus ou moins sinusoïdales que je peux afficher. Je souhaite avoir des valeurs plus synthétiques, comme la période ou la fréquence, la valeur moyenne, l'amplitude maximum sur un intervalle de temps donné, etc, sachant que ces valeurs peuvent varier selon les conditions de mer.
    Si j'ai les équations, je pourrai écrire un logiciel (libre) permettant d'afficher ces valeurs sur un écran.
    Merci !!
    Pierre

    -----

  2. #2
    minushabens

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Utilise le logiciel R, il est libre. https://ms.mcmaster.ca/~bolker/eeid/...y/Spectral.pdf

  3. #3
    lou_ibmix_xi

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Tu as aussi MATLAB, et son clône libre OCTAVE. C'est dans la même veine que R, mais il me semble beaucou pplus répandue.

  4. #4
    pierre2935

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    merci à minushaben et à toi pour votre réponse rapide ! Mais pour l'utilisation que j'envisage, ni R ni Matlab ne conviennent car je souhaite créer un afficheur qui me donne en permanence la période et l'amplitude maximale sur un intervalle de temps donné : ces valeurs peuvent changer en fonction des conditions de mer et du cap. S'il y a des équations à programmer, cela ne me fait pas peur !
    Pierre

  5. A voir en vidéo sur Futura
  6. #5
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Je te proposerais bien un truc simple et "béta".
    lisser tes données d'entrée pour minimiser le "bruit" au max.
    estimer les dérivées de manière ad hoc, et lister les temps entre chaque annulation. ( 1/2 temps approximatif d'une période )
    en // garder en mémoire la valeur de l'amplitude à chaque annulation de la dérivée. ( 1/2 amplitude globale )
    Dernière modification par ansset ; 06/05/2018 à 10h35.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  7. #6
    minushabens

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    @Pierre2935: et R et Matlab peuvent faire des calculs et afficher des courbes en temps réel. R est open source, tu peux récupérer le code de la transformée de Fourier et de transformées en ondelettes, si tu tiens à développer ton logiciel personnel.

  8. #7
    pierre2935

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    bonjour. En fait, je vais faire d'un côté le calcul basique proposé par ansset et de l'autre un calcul par R afin de vérifier que mes résultats restent cohérents. Le calcul basique se fera en temps réel et à bord du bateau ; le second calcul se fera à terre sur mon ordinateur perso. Je crois me rappeler que matlab nécessite une licence.

    Quand je dis "basique", ce n'est pas péjoratif et c'est plutôt en réaction vis-à-vis de mes étudiants qui donnaient des résultats avec 5 ou 6 chiffres significatifs alors qu'il y a déjà une incertitude sur le 1er chiffre après la virgule (j'étais enseignant dans une vie antérieure) !

    Je vais donc faire un lissage sur les n derniers enregistrements. Cela me rappelle des choses faites il y a plus de 10 ans, j'espère que je vais retrouver les équations mais je n'en suis pas sûr ! De mémoire, si SF représente le signal filtré et S le signal, on a SF(t) = lambda * S(t) + (1-lambda) * SF(t-1), où lambda est un facteur d'oubli compris entre 0 et 1.

    Yapuka !!

    Pierre

  9. #8
    lou_ibmix_xi

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Citation Envoyé par pierre2935 Voir le message
    Je crois me rappeler que matlab nécessite une licence.
    Désolé pour la réponse tardive, j'étais dans la colline.
    Il existe son clône libre et gratuit: OCTAVE.
    Si tu veux trouver des morceaux sur étagère, ou communiquer avec des scienteux, je pense que MATLAB / OCTAVE est plus adapté que R car beaucoup plus répandu.Ce n'est absolument pas un jugement de valeur mais un constat personnel, je ne croise R que chez les statisticiens.

  10. #9
    pierre2935

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    bonjour à tous
    J'ai dû faire une fausse manœuvre et je dois recommencer mon message...
    Je connaissais Scilab et je me rappelle que c'était assez complexe. J'ai peur que extraire les bouts de code appropriés de OCTAVE ou R soit assez difficile et me prenne trop de temps. Pour l'instant, j'écris un code, en C, par la méthode proposée par ansset. Je testerai ensuite par des méthodes plus sophistiquées (OCTAVE ou R), à partir d'enregistrements réalisés à bord (c'est un bateau hybride, avec voiles auxiliaires et moteur diesel).
    Je termine la mise au point d'un système qui stocke les données sur disque SSD, ce qui a l'inconvénient de venir physiquement sur le bateau pour récupérer le contenu du disque. Dans un second temps, je verrai comment récupérer les données de chez moi !
    Un des objectifs est de rendre ces données accessibles de façon à ce que des groupes d'étudiants ou d'élèves puissent les utiliser sur leur lieu de travail pour faire des exercices (vent vrai à partir des données de la girouette et de la vitesse du bateau, rôle des voiles dans l'atténuation du roulis, consommation par mille, émissions de CO2, etc, etc).
    J'ai donc du boulot en perspective !!
    Pierre

  11. #10
    lou_ibmix_xi

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Je connaissais Scilab et je me rappelle que c'était assez complexe. J'ai peur que extraire les bouts de code appropriés de OCTAVE ou R soit assez difficile et me prenne trop de temps. Pour l'instant, j'écris un code, en C, par la méthode proposée par ansset.
    OCTAVE, R et SCILAB sont de difficulté équivalente.... Qui est bien moindre que celle du C !
    Je ne vois pas ce que tu entends par "extraire des bouts de codes", car du doit les écrire et non les extraire.
    Si tu as peur que ce ne soit pas assez efficace (pourquoi pas mais donne un peu de spec pour savoir au pifomètre), ça me semble de toute façon nécessaire pour dégrossir un algo un peu trapu en math avant de l'implémenter en C.... pour (au moins) ces raisons:
    - vérifier que ton algo marche sur de vraies données avant de t'embêter à l'écrire en C
    - avoir une base de comparaison pour vérifier que ton algo en C donne les même résultats que ta maquette en R/MATLAB/SCILAB

    Je te propose de donner un peu plus de spec pour qu'on puisse t'aiguiller plus efficacement.

  12. #11
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Ce passage m'avait échappé :
    Citation Envoyé par pierre2935 Voir le message
    Un des objectifs est de rendre ces données accessibles de façon à ce que des groupes d'étudiants ou d'élèves puissent les utiliser sur leur lieu de travail pour faire des exercices (vent vrai à partir des données de la girouette et de la vitesse du bateau, rôle des voiles dans l'atténuation du roulis, consommation par mille, émissions de CO2, etc, etc).
    Du fait, l'utilisation du C ne semblent pas injustifiés dans cette approche didactique.
    ( et je vois mal ou cela serait "trop" complexe.? )
    Mais par ailleurs :

    Citation Envoyé par lou_ibmix_xi Voir le message
    - vérifier que ton algo marche sur de vraies données avant de t'embêter à l'écrire en C
    - avoir une base de comparaison pour vérifier que ton algo en C donne les même résultats que ta maquette en R/MATLAB/SCILAB
    .
    semble un argument très pertinent.
    résultats proches ou suffisamment proches.
    Dernière modification par ansset ; 15/05/2018 à 10h52.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  13. #12
    minushabens

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Citation Envoyé par lou_ibmix_xi Voir le message
    je pense que MATLAB / OCTAVE est plus adapté que R car beaucoup plus répandu.Ce n'est absolument pas un jugement de valeur mais un constat personnel, je ne croise R que chez les statisticiens.
    apparemment, Matlab domine chez les physiciens et les ingénieurs, R chez les mathématiciens et les biologistes. Le bateau relève plutôt du premier groupe donc il vaut mieux choisir Matlab!

  14. #13
    pierre2935

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    rebonjour
    Ecrire un programme en C est enfantin si j'ai les équations ou l'algorithme, ce n'est donc pas un problème. De plus, il est clair que je testerai mes résultats en comparant avec ceux de méthodes éprouvées.
    Matlab sur un bateau ? Je suppose que cela nécessite de la place mémoire et des ressources, et que c'est surpuissant par rapport aux besoins. Quand on est dans son bureau devant son ordinateur, cela n'a pas d'importance ! mais avec un processeur de type Raspberry qui doit déjà faire pas mal de choses, j'ai des doutes...
    Pierre

  15. #14
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Je ne pense pas que Matlab ( il existe des versions plus ou moins "riches" ) soit si lourd.
    Ceci dit, il peut être intéressant de voir ce que donne un modèle simple.
    Ainsi que ses limites....
    Je suppose que tu es marin, et il est évident que les données dans une mer bien "croisée" seront plus difficiles à décortiquer.
    Parallèlement, avec des vagues assez importantes, le fait de devoir les "enrouler" induira forcement des changements, mais ceux ci seront dus au barreur et non directement à la mer elle-même.
    Tiens nous au courant !
    Cdt
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  16. #15
    lou_ibmix_xi

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Citation Envoyé par pierre2935 Voir le message
    Ecrire un programme en C est enfantin si j'ai les équations ou l'algorithme, ce n'est donc pas un problème.
    Le C est un langage simple on est d'accord, mais du coup il faut te palucher tout les détails (gestion mémoire, typage des données, dépassement de dynamique...), ce qui rends forcément l'écriture de ce genre d'algo plus compliqué qu'avec un langage de haut niveau, fait pour, type MATLAB/R. (pendant un moment mon boulot consistait à traduire le MATLAB des scienteux en C pour tourner sur micro-contrôleur)

    Matlab sur un bateau ? Je suppose que cela nécessite de la place mémoire et des ressources, et que c'est surpuissant par rapport aux besoins. Quand on est dans son bureau devant son ordinateur, cela n'a pas d'importance ! mais avec un processeur de type Raspberry qui doit déjà faire pas mal de choses, j'ai des doutes...
    Pas si sûr, raspberry-pi c'est déjà un sacré bousin, tu peux installer octave sans soucis dessus. Ce qui va plutôt dimensionner l'adéquation d'un langage haut-niveau / bas-niveau sur ce type de machine c'est plus le débit des données, la nécessité du temps réels, le type de traitement blocs/échantillons par échantillons...
    Je n'ai jamais joué avec le raspberry-pi, mais à vu de pif une fréquence d'échantillonnage de 1 à 10Hz est possiblement jouable.
    Pour te donner un exemple perso, j'ai réalisé il y a une dizaine d'année un système opérationnel qui faisait 200ms d'acquisition 12bits/1MHz sur deux canaux, puis inter-corrélation/détection/mesure de déphasage entre les deux canaux faite sous octave, le tout tenant sous moins d'une seconde, et je ne me rappelle pas que la machine était un monstre de l'époque.

    Un dernier détail, si tes étudiants ne sont pas dans un cursus développement informatique, je pense qu'il est plus bénéfique pour eux de manipuler du MATLAB que du C.
    Dernière modification par lou_ibmix_xi ; 15/05/2018 à 12h26.

  17. #16
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    @lou_ibmix_xi:
    Tu nous parles de fréquences qui semblent très élevées ici ( compte tenu du système observé ) , non ?
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  18. #17
    pierre2935

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    la période du roulis est de l'ordre de plusieurs secondes. On a en fait des dynamiques assez lentes. L'idée est de mesurer l'atténuation du roulis quand on met les voiles auxiliaires. C'est un phénomène que tous les "voileux" connaissent par leur pratique. Ici, il s'agit de quantifier ce phénomène de façon à l'introduire comme argument : le roulis est réduit de x à y%, ce qui augmente les conditions de sécurité et de confort. Je connais un journaliste qui a été continuellement malade sur un bateau à moteur et qui n'en revenait pas sur mon bateau hybride, car le vent "appuie" le bateau : il y a une gîte non nulle mais l'amplitude est grandement réduite.
    Pierre

  19. #18
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Citation Envoyé par pierre2935 Voir le message
    (....)
    C'est effectivement le type d'études que j'imaginais.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  20. #19
    lou_ibmix_xi

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Citation Envoyé par ansset Voir le message
    @lou_ibmix_xi:
    Tu nous parles de fréquences qui semblent très élevées ici ( compte tenu du système observé ) , non ?
    Je ne comprends pas ta question...
    Je voulais faire remarquer que la puissance des machines d'aujourd'hui, combiné au fait que MATLAB/OCTAVE est très efficace sur des "opérations blocs" permet souvent de faire des choses "temps-réel" avec ce type d'outils. Et je donnais un exemple personnel, la partie acquisition était en C (à cause de l'interface avec le matériel), enregistrait des WAV stéréo et lançait le traitement OCTAVE qui devait tenir en moins de 500ms puisque nos récurrence était à 1s.

  21. #20
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Citation Envoyé par lou_ibmix_xi Voir le message
    Un dernier détail, si tes étudiants ne sont pas dans un cursus développement informatique, je pense qu'il est plus bénéfique pour eux de manipuler du MATLAB que du C.
    remarque intéressante.
    nous devons être d'une époque différente.
    car je pense l'inverse ( le tout prêt à l'emploi est peut être plus efficace mais rend il plus performant dans la propre recherche d'algorithmes ? et de compréhension )
    Dernière modification par ansset ; 16/05/2018 à 11h19.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  22. #21
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    ps; j'ai vu des élèves taper 15/3 sur leur calculette!
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  23. #22
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Citation Envoyé par lou_ibmix_xi Voir le message
    Je ne comprends pas ta question...
    Je voulais faire remarquer que la puissance des machines d'aujourd'hui, combiné au fait que MATLAB/OCTAVE est très efficace sur des "opérations blocs" permet souvent de faire des choses "temps-réel" avec ce type d'outils. Et je donnais un exemple personnel, la partie acquisition était en C (à cause de l'interface avec le matériel), enregistrait des WAV stéréo et lançait le traitement OCTAVE qui devait tenir en moins de 500ms puisque nos récurrence était à 1s.
    Il me semble que pierre est un marin pragmatique, ( je ne sais si tu connais la voile/mer) et que ses questions sont assez pragmatiques, et pas du l'ordre de "quel est le soft le plus puissant ".
    Par exemple, on s'en fout un peu des 500ms , dans la démarche proposée.
    je veux dire qu'elles tomberont forcement dans le "bruit" ou l'incertitude, et ce n'est pas le but recherché.
    Dernière modification par ansset ; 16/05/2018 à 11h42.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  24. #23
    lou_ibmix_xi

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    remarque intéressante.
    nous devons être d'une époque différente.
    car je pense l'inverse ( le tout prêt à l'emploi est peut être plus efficace mais rend il plus performant dans la propre recherche d'algorithmes ? et de compréhension )
    Si tu n'as pas menti sur ton âge, c'est évident ! Mais si ça peut te rassurer, je me sens plus proche des vieux barbus K&R que de steve jobs. La philosophie unix est ma religion...
    Blague à part, je dis ça de manière pragmatique, je fait de l'embarqué et du système, ma langue maternelle est donc le C. Mais pour le calcul numérique, de mon expérience (IFREMER, CNRS, quelques indus...) c'est bien MATLAB la lingua franca, ça tombe bien c'est l'outils adapté. Mais c'est bien un langage algorithmique du même niveau que Python, il faudra tout de même écrire l'algo. Ca me fait penser que Python/Numpy/SciPy à bien le vent en poupe pour ce type de projet. Avec l'énorme avantage d'être un langage bien plus généraliste. Mais je ne peux m'empêcher de dire que je n'aime pas le Python, je dois être trop vieux pour les langages non typés!

  25. #24
    lou_ibmix_xi

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Il me semble que pierre est un marin pragmatique, ( je ne sais si tu connais la voile/mer) et que ses questions sont assez pragmatiques, et pas du l'ordre de "quel est le soft le plus puissant ".
    Par exemple, on s'en fout un peu des 500ms , dans la démarche proposée.
    je veux dire qu'elles tomberont forcement dans le "bruit" ou l'incertitude, et ce n'est pas le but recherché.
    La spec m'avait échappé. Par contre, si c'est pour étudier un comportement dynamique de bateau, avec des oscillation max de l'ordre de la seconde, shannon dit il faut au moins 2 mesures par seconde pour reconstituer le mouvement.

  26. #25
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    oui, les 500ms sont bien appropriés pour une mesure fine , mais les MHerz ou Gherz ,je ne vois pas trop.
    je me suis mal exprimé.
    Dernière modification par ansset ; 16/05/2018 à 22h29.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  27. #26
    pierre2935

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    bonjour
    sur un bateau on devient très vite pragmatique ! En fait, je prévois deux utilisations de mes données : l'affichage de valeurs, à bord, et l'utilisation à des fins pédagogiques par des élèves ou des étudiants. Dans le premier cas, il me faut des logiciels spécifiques adaptés et en temps réel, que je devrai écrire moi-même ; dans le second cas, toutes les méthodes pourront être utilisées.
    Concrètement, j'aurai des tas de données de type RS232 (NMEA 183, plus précisément) venant de divers appareils. Il faudra donc identifier ce qui vient de l'inclinomètre, extraire des caractéristiques intéressantes (moyenne, période ou fréquence, amplitude) et les afficher. Pour cela, ce sera du C. A tête reposée, c'est-à-dire à terre, sur mon ordinateur, je pourrai vérifier la pertinence de mes algos par des méthodes plus sophistiquées. Mais il n'est pas question d'installer à bord MATLAB, ORACLE ou R.
    Pierre

  28. #27
    ansset
    Animateur Mathématiques

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Citation Envoyé par pierre2935 Voir le message
    bonjour
    sur un bateau on devient très vite pragmatique !(.....)
    c'est exactement dans ce sens que j'ai pris ta question de départ.
    ps: par MP, tu peux me dire ton parcours de "voileux" ?
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  29. #28
    lou_ibmix_xi

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    j'aurai des tas de données de type RS232 (NMEA 183, plus précisément) venant de divers appareils. Il faudra donc identifier ce qui vient de l'inclinomètre, extraire des caractéristiques intéressantes (moyenne, période ou fréquence, amplitude) et les afficher. Pour cela, ce sera du C
    Attention, si tu as besoins de synchroniser plusieurs flux asynchrones, c'est une difficulté qui peut vite être sous-estimée.

    Pour le choix C/haut niveau, avec un raspberry Pi (et au vu des contraintes, et c'est OCTAVE pas ORACLE), l'outils le plus adapté est celui de haut-niveau... modulé avec ton "time-to-market" et ta familiarité avec l'outils. Mais c'est peut-être l'occasion d'apprendre un outils plus adapté que tu pourras transmettre à tes étudiants? Le C est devenu un langage de niche qu'on le veuille ou non, MATLAB/OCTAVE, R ou SciPy sont les outils adaptés pour faire des algo (et moderne pour SciPy). Franchement si le projet pédagogique prime sur le reste, pour moi il n'y a pas photo.

  30. #29
    minushabens

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    Pour moi la question du langage de programmation est secondaire. Par contre quand tu dis que tu vas faire un lissage puis chercher les instants où la dérivée est nulle, etc : ça c'est du bricolage. Il y a une méthodologie éprouvée pour traiter ce genre de questions, qui tourne autour de la transformée de Fourier ou éventuellement en ondelettes, et il n'y a pas lieu de réinventer la roue. Si je t'ai suggéré d'utiliser R (mais Matlab convient aussi ) c'est justement parce qu'il y a dans les deux cas des bibliothèques dédiées au traitement du signal (appelées packages chez R).

  31. #30
    pierre2935

    Re : fréquence/période à partir d'une suite ininterrompue de chiffres

    réponse à ansset qui m'a demandé de lui envoyer un MP : "ansset a dépassé son quota de messages privés et ne peut donc plus accepter de nouveaux messages tant qu'il n'aura pas libéré un peu d'espace."

    réponse aux autres : comme je l'ai dit, il peut y avoir deux types de traitement, l'un chez soi, l'autre sur le bateau. Pour des raisons pratiques, les algos sur le bateau devront être les plus simples et les plus ergonomiques possibles. Le langage a effectivement peu d'importance et j'ai choisi le C parce que je le connais bien. J'ai vu aussi que les algos de FFT étaient très simples à écrire. Je persiste à penser qu'un bout de code permettant d'afficher quelques résultats voulus va prendre moins de place qu'une bibliothèque dédiée. Mais, encore une fois, je distingue ce qui peut être fait à bord de ce qui peut être fait à terre, dans la mesure aussi où ce ne seront pas forcément les mêmes personnes.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Période et fréquence
    Par Lodinna2000 dans le forum Physique
    Réponses: 6
    Dernier message: 22/11/2015, 17h51
  2. Fréquence, amplitude, période
    Par jojo2124 dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 14/08/2015, 06h13
  3. Trouver le rayon à partir de la période
    Par jraaaaaade dans le forum Physique
    Réponses: 8
    Dernier message: 19/04/2015, 02h54
  4. Réponses: 10
    Dernier message: 21/01/2011, 11h59
  5. Fréquence, période, vitesse angulaire, ...
    Par invite3c33d024 dans le forum Physique
    Réponses: 24
    Dernier message: 23/07/2008, 13h09