VB & Maths ... Calculer un signal Triangle

psy4meuh Messages postés 23 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 23 août 2006 - 9 juil. 2003 à 11:33
cs_kimbo Messages postés 1 Date d'inscription jeudi 11 décembre 2003 Statut Membre Dernière intervention 2 novembre 2004 - 2 nov. 2004 à 14:55
Voilà, je voudrait remplir un tableau de valeurs pour générer un signal triangle.... mais je n'obtiens pas tout a fait ce que je veux... le signal est un peu déformé...
Voici la formule que j'utilise (pour remplir mon tableau de valeurs) :

phi =  modulo(i * FreqCar / 200, 2 * pi)
If phi > pi * 2 * (CarreIt.Value / 100) Then
            TabData3(i) = Amp * (1 - (2 * (phi - (2 * pi * (CarreIt.Value / 100)))) / ((2 * pi) - (2 * pi * (CarreIt.Value / 100))))
Else
        TabData3(i) = Amp * ((2 * phi) / ((2 * pi) * ((CarreIt.Value / 100) - 1)))
            End If


En algo ca donne ca:

SI phi < 2 * pi * D ALORS y(i) = A * (2 * phi / 2 * pi * D - 1)
SINON y(i) = A * (1 - 2 * (phi - 2 * pi * D) / (2 * pi - 2 * pi * D))

Si qqn peut m'éclairer ... je pense que ma formule est bonne, mais retrancri en VB j'suis pas sûr...

Merci d'avance !!

7 réponses

psy4meuh Messages postés 23 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 23 août 2006
9 juil. 2003 à 11:36
Au fait, ca sera plus clair si je rajoute ca:
y(i) --> valeur à l'index I
A --> amplitude (V)
pi --> 3.1415...
phi --> phase
D --> cycle
f --> frequence (Hz)
0
Ickik Messages postés 193 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 10 mars 2010 2
10 juil. 2003 à 11:17
Le plus simple pour avoir un signal pur est de passer par les transformees de fourrier

Je peux te fournir les calculs mais seulement pour demain.
Si ça te dis!
0
psy4meuh Messages postés 23 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 23 août 2006
10 juil. 2003 à 11:30
Oui, je veux bien, @+
0
Ickik Messages postés 193 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 10 mars 2010 2
11 juil. 2003 à 10:17
Voila, j'arrive!

S(x)= T/4 + A * somme de n variant de 0 à l'infinie de (2 * T * cos( ( ( 2*n+1 ) * 2 * pi * x) / T ) ) / ( ( 2 * n + 1 )^2 * pi^2 )

je resume ou plutot je developpe

S(x) = T/4 +
A * 2 * T * cos ( (2*pi*x)/T)) / pi +
A*2*T*cos((6*pi*x)/T)/(9*pi^2) +
A*2*T*cos((10*pi*x)/T)/25*pi^2 +
A*2*T*cos( ( (2*n+1) * 2 * pi * x ) / T ) / ((2*n+1)^2*pi^2)

A = amplitude du signal
T = periode du signal
pi = 3.1416 enfin PI quoi!
n = variable definie par la somme
x = variable, il peut etre remplace par t dans ton cas.
t c'est meme mieux

c'est un petit algorithme, plus tu veux de precision, plus il faut aller loin dans les n.

j'ai pas essayé de la tracer avec la calculatrice mais ça devrait etre bon, dans les calculs. Si jamais c'est pas le signal triangulaire que tu voulais dis-le et envoit-moi une image de ton signal deforme, je verrais s'il est possible de le traiter.

Verifie quand meme si tu as une calculatrice graphique ou un logiciel style matlab, maple, ....

Amuse-toi bien sous vb
Bonne prog
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ickik Messages postés 193 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 10 mars 2010 2
16 juil. 2003 à 15:56
ça t'as aidé??????
ou c'est pas ce que tu voulais!
@+
0
cerede2000 Messages postés 71 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 6 septembre 2013
10 août 2004 à 20:29
salut je veut representer un signale triangle en C j'ai essayer avec ton algo mais ca marche pas tu peu m'aider sil te plait merci!!
0
cs_kimbo Messages postés 1 Date d'inscription jeudi 11 décembre 2003 Statut Membre Dernière intervention 2 novembre 2004
2 nov. 2004 à 14:55
je veux faire des animations sur vb6.0 est ce que kelk1 peut m'aider
0
Rejoignez-nous