-
Série de Fourier
Bonjour à tous,
Je suis en BTS Techniques Physiques pour l'Industrie et Laboratoires et durant ses vacances j'ai un programme à faire sur Labview mais je ne sais pas du tout comment le faire. Voilà l'intitulé : "Concevoir un programme qui permet la synthèse d'un signal alternatif carré, à partir de signaux issus de sa décomposition en série de Fourier. Un choix sera possible sur l'amplitude du signal et de son nombre d'harmoniques. "
Si quelqu'un a une idée je suis preneur. J'ai déjà regardé sur le forum s'il y avait quelque chose et il y avait déjà quelque chose mais cela ne correspond pas à mon sujet.
Merci de votre aide.
-
Ça dépend, quel est ton niveau en labview ? Saurai-tu concevoir un sommateur de signaux type waveform pour commencer ?
-
Je suis novice en labview, a vrai dire il faut qu'on cherche par soi même pour faire nos projets et sur celui-ci j'en ai vraiment aucune idée de comment faire. Pour répondre à ta question, non je ne serais pas faire ça a vrai dire je n'ai pas encore utilisé le type waveform.
-
Ah !
Une waveform = 1 tableau de point + 1 dt +1 t0
Ce n'est pas bien compliqué. Sachant que tu ne peux additionner que 2 waveforms qui ont le même dt et le même nombre de points, logique, pour être cohérent.
Tu maitrise les boucles et les conditions ?
-
Pour les boucles et les conditions, ça va je maitrise assez.
-
Alors moi je vois bien une boucle while avec un registre à décalage et une waveform circulant à l'intérieur.
A l'intérieur de la while, une structure condition qui, sur VRAI, faire la somme d'un waveform générée avec celle du registre etc...etc.. etc...
Tu en pense quoi ?
En face avant, un affichage temporel et spectral bien sûr
-
Je suis assez d'accord malgré le fait que j'ai du mal a voir le waveform.
Mais aussi je vois pas ou est la série de Fourier la dedans.
-
Fourier dit : n'importe quel signal se décompose en une série de signaux sinusoïdaux. Jusque là on est d'accord ??
Donc avec une série des sinusoïde de fréquences et d'amplitudes différentes, si on fait les bons choix de valeur, on doit pouvoir arriver à créer un signal carré alternatif. Voila le but de ton projet il me semble. Toujours d'accord ?
Rappel : un signal bruité = un signal clair + du bruit. Il s'agit la d'une vraie addition !
Maintenant, la waveform :
Imagine une sinusoide de fréquence 1 Hz échantillonnée à 1000 ech/seconde (soit 1kHz). Ca veut dire qu'en l'espace d'une seconde, on aura 1000 points, et que l'on verra une seule période. On est d'accord ?
Donc sur labview, cette waveform sera composée de :
1 tableau de 1000 points (appelé Y et ayant pour valeur sinus x)
1 valeur de dt (c'est a dire le delta temps qui sépare 2 points, vu qu'on est échantilloné à 1000 ech/s, dt vaudra 1/1000=0.001)
1 valeur de t0 (temps initial de la waveform, par défaut 0, pas la peine d'y toucher).
Les infos sur l’échantillonnage d'une waveform sont très importantes. Fais quelques essais avec.
-
1 pièce(s) jointe(s)
Salut
Voici un VI version LV2009.
Bien entendu tu dois comprendre ce VI. Aides toi du bouton avec une ampoule a coté du bouton lancement, pour bien le comprendre. Si jamais tu as une question (ou une erreur dans le programme) n'hesite pas a poser la question.
Bon courage :ccool:
N'oublis pas de mettre le post :resolu: si c'est ok
-
Du pré-maché... super.... :aie:
-
Merci beaucoup eaglewatch de ton programme! Désolé je viens juste de le voir maintenant...
En effet ce que tu m'as faits est ce que je voulais même un peu plus. Du coup, j'ai juste modifié quelque truc afin de pouvoir mieux comprendre et que je puisse l'expliquer plus facilement. Sinon c'est exactement ça!
Maintenant, je dois aussi le faire avec un signal triangulaire. Il me suffit juste de trouver la formule et ça devrait être bon.
Merci beaucoup en tout cas !
-
Par contre, si tu pouvais juste m'aider pour le signal triangulaire. J'ai un problème car dans la formule il faut faire (-1)^i. Or dans Labview je ne sais pas comment faire une puissance.
J'avais pensé à faire une condition car le signe dépend de i. Donc si i est pair alors c'est égale à 1 sinon c'est égale à -1. Mais la aussi je suis bloqué je sais pas comment faire pour dire que i est pair ou impair.
Merci de ton aide.
-
Ne te casse pas la tête avec des pairs ou impaires. ;)
Dans Labview tu as une fonction "puissance de X" que tu trouvera dans Mathématiques >> Elementaires >> Exponentielles.
A+
-
1 pièce(s) jointe(s)
J'avais déjà découvert cette fonction mais j'ai essayé et je n'ai pas réussi.
Si tu veux jeter un œil à ce que j'ai fait, je te joins mon programme.
-
1 pièce(s) jointe(s)
Voila le VI. Tu divisais pas (2n+1)^2.
Pour info dans une boucle fort, si tu n'utilises pas la structure evenement, ajoute la fonction "attendre" sinon tu utilisera toute la capacité de ton processeur pour rien.
A+
-
Merci beaucoup de ton aide.
Si je peux me permettre j'ai juste une dernière question. Je n'ai pas totalement compris à quoi servait la rampe.
-
la fonction rampe te permet de créer un tableau 1D avec un valeur de depart, un increment et une valeur de fin.
EX :
valeur depart = 1
increment = 0.1
valeur fin = 10
ca donne un tableau [1; 1.1; 1.2; 1.3; 1.4; 1.5; .......; 9.8; 9.9; 10]
dans ton cas la rampe te permet de creer un tableau 1D correspondant a ta variable t.
A+