Partage
  • Partager sur Facebook
  • Partager sur Twitter

Saurez-vous comprendre ?

Mauvaise interpretation de nombre

Anonyme
    13 février 2013 à 23:03:23

    Salut ! 

    Bon en fait, je ne savais aps trop dans quel sujet poster ce problème / défi. C'est un problème que j'ai en ce moment, mais je suis persuadé que quelques uns vont apprécier se casser la tête sur ça.

    Alors Voilà donc: 

    Je fais de l'acquisition analogique sur des lectures 12 bits. Je vous évites les détails, mais il semblerait que le driver que j'utilise interprète mal les données de l'échantilloneur.  J'ai injecté un signal sinusoidal dans mon convertisseur. Normalement, selon mes paramètres, je devrais voir une onde sinusoidale qui va de 0 à 2048 sur une periode de 650 échantillons... ce que j'obtiens c'est ça !

    Oui ou, c,est un sinus ! J'ai marqué la période par des lignes rouges.  On remarque les discontinuités dans la courbes : à mon avis dû à un bit qui varie aux mauvais endroit... vous me suivez ?   Disons qu'on remet les choses à l'endroit en éliminant toutes les discontinuités, j'obtiens un trucs comme ceci (excusez le mauvais travails sur paint).

    On peut voir que ça ressemble beaucoup plus à un sinus et que si j'avais continué le développement, j'aurais obtenu un sinus parfait. il y a donc une logique dans cette mauvaise interprétation de la donnée, mais je en sais pas laquelle.

    J'ai cru au début que c'était des valeurs en code gray, mais je confirme que ce n'est pas ça.

    Quelqu'un sait quel genre d'algorithme peut transformer un signal sinusoïdal en ceci (i.e. première image)?

    • Partager sur Facebook
    • Partager sur Twitter
      14 février 2013 à 13:20:56

      Bonjour,

      Tu devrais poser t'as question sur le forum électronique. Sinon plutôt que de nous éviter les détails, donne les nous. Fréquence et amplitude du signal analogique, fréquence d'échantillonnage, référence du convertisseur, schéma de câblage de la manip, bref tout quoi. Et fais attention à la formulation de tes phrases parce que :

      Pier-Yves Lessard a écrit:

      Je fais de l'acquisition analogique sur des lectures 12 bits.

      Ça ne veut rien dire. Je suppose que tu as voulus dire : "je lis la sortie d'un convertisseur analogique numérique 12 bits".

      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoirbépocode minimal  — Ge0 <3
        14 février 2013 à 14:53:54

        A voir la gueule de tes signaux, je dirais pollution harmonique.

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 février 2013 à 15:48:38

          Pour les détails : 

          Fréquence d'échantillionage : 65Mhz

          Fréquence du signal : 100 Khz

          Schéma : J'en ai pas ! j'utilise la carte FMC107 de 4DSP basé sur le circuit de TI ADS62P28.

          Amplitude 0.5V centré sur 0.5V. La plage d'entrée est de 2V.

          J'avais donné ces infos, mais en les interpétants pour vous : c'est pour ça que j'ai dit que le sinus devait avoir une periode de 650 échantillon et une amplitude qui devrait aller de 0 à 2048.

          Pour la pollution harmonique, je serais surpris. J'ai un génrateur de fréquence qui entre direct dans ma carte d'acquisition avec un câble coaxiale. Difficile de faire mieux.

          La carte est interfacé sur un FPGA Virtex-6 de Xilinx. J'ai utilisé un soft déjà compilé par 4DSP (fournisseur de la carte ADC) pour faire mes acquisition. Je me doute fortement que leur application ne fonctionne pas bien pusque j'y ai déjà trouvé un bug. Leur logiciel interpétaient les données en 16 bits alors que les échantillons étaient 12bits. J'en déduis que c'est un morceau de logiciel qui s'utilise pour leurs différents modèle de cartes... Je supçone franchement que le routage des signaux est mauvais et que les bits ne sont pas au bon endroit dans la valeur.

          Voilà.

          • Partager sur Facebook
          • Partager sur Twitter
            14 février 2013 à 17:16:00

            Je vais déplacer ce sujet dans électronique. DG, c'est vraiment pas le bon forum pour ça, et je pense que les gens les plus à même de te répondre seront là bas. D'ailleurs, tous ceux qui te répondent en viennent.

            • Partager sur Facebook
            • Partager sur Twitter
            64kB de mémoire, c'est tout ce dont j'ai besoin
              14 février 2013 à 17:44:28

              Bon, pour ton problème, je vais partir sur l'hypothèse la plus simple, une histoire de bits mal gérés.

              Tu as un signal sur 12 bits.

              Tu indiques une plage d'entrée de 2V, je suppose donc que ta référence ADC- c'est 0V, et ta référence ADC+, c'est 2V. Donc pour 0V tu devrais avoir 0, et pour 2V, 4095. Pour un signal d'amplitude 0.5V centré sur 0.5V, tu devrais avoir un signal centré sur 1024 d'amplitude 1024. Ton signal est centré sur 1536 et 2560, avec des amplitudes de 256, voir même 128 au dessus de 2688 et 128 en dessous de 2560. (je raproche ce que je vois d'additions de puissances de 2) Le signal corrigé est centré sur 1024 mais a une amplitude de 2048.

              J'ai quelques idées, mais est ce que ce serait possible d'avoir la datasheet de l'ADC et le code qui vient lire l'ADC et founit ces valeurs ?

              • Partager sur Facebook
              • Partager sur Twitter
              64kB de mémoire, c'est tout ce dont j'ai besoin
              Anonyme
                14 février 2013 à 20:00:07

                Pour la datasheet : http://www.ti.com/product/ads62p28

                Par contre, pour le code, comme il s'agit d'un système propriétaire et que ma compagnie a payé un bon montant, je ne peux pas le fournir. Il s'agit d'un API assesz imposant... franchement désolé. J'attend du support du manufacturier, mais ça tarde.

                J'ai posté ici en espérant que quelqu'un puisse me donner une piste.

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  15 février 2013 à 15:54:14

                  Bon voilà, j'ai finalement mit le doit sur le bobo. Il me manquait 1 bit sur deux et la donné était décalé ! Merci !
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Saurez-vous comprendre ?

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown