LabVIEWForum.de - Bei manchen Frequenzen wird Signal falsch erzeugt.

LabVIEWForum.de

Normale Version: Bei manchen Frequenzen wird Signal falsch erzeugt.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich hätte da ein Problem und da ich nicht auf die Lösung komme, wollte ich euch mal fragen ob ihr mir dort vielleicht weiter helfen könnt?!

Mit dem Programm "Signal" erzeuge ich ein Signal welche diese Form besitzt _/°_/°_/ (die Kreise bitte als hohe Striche deuten) :-)

t1-t10 entsprechen der Dauer der jeweiligen 0/1V-Perioden und der Flankendauer.

Nun klappt das Programm bei einigen Frequenzen (z.B. 1,2,10) problemlos.

Bei einigen wie z.B. 3,7,9,11 gibt es jedoch Probleme und es wird ein falsches Signal ausgegeben.

Der Fehler scheint darin zu leigen, dass in die Arrays ab bestimmten Werten, falsche Werte weitergeben werden. Ich bin jedoch noch nicht drauf gekommen warum dies so ist.

Hat vielleicht jemand ne Ahnung wie das Probelm zu lösen ist?

Zum Laufen des Programms müsst ihr in das Input-CLuster Werte eingeben (Muss immer insgesamt 1 = 100% der Peridodendauer ergeben!)


Vielen Dank euch im Voraus!

Beste Grüße,
Alex
Da fehlen noch x SubVIs...

Gruß, Jens
Wenn man das VI genügend entrümpelt, dann funktioniert es schon..
Lv86_img[attachment=17518]
Hallo Lucki,

vielen Dank für das tolle Programm!

Da ich gern die Zeiten t9 & t10 nach belieben ein und aus schalten würde, muss ich ja den Faktor (4) ändern. Wenn ich jedoch t9 einschalte klappt es nicht mehr (da aus Zeile 5 ja nur der erste Wert benötigt wird). Aufgrund dessen würde (müsste) ich den Inhalt der For-Schleife etwas ändern, dazu muss ich den Inhalt jedoch erst verstehen :-)

Den Großteil des Programms denk ich verstanden zu haben, nur einen kleinen Teil bekomm ich einfach net hin.

Kannst du mir da evtl. nochmals kurz weiter helfen?

Hab den entsprechenden Teil rot markiert auf dem Bild das ich angehängt hab.

Vielen Dank im Voraus!

Beste Grüße,
Alex





EDIT: Wenn ich Frequenzen einstelle im hohen Kiloherz-Bereich (50 kHz) erscheint kein SIgnal mehr. Es ist doch ok wenn ich dann einfach den Faktor (x1000) vorne vergrößere!?
' schrieb:Den Großteil des Programms denk ich verstanden zu haben, nur einen kleinen Teil bekomm ich einfach net hin.

Kannst du mir da evtl. nochmals kurz weiter helfen?

Hab den entsprechenden Teil rot markiert auf dem Bild das ich angehängt hab.

Das Signal bsteht insgesamt 10 Abschnitten: Gerade/Anstieg/Gerade/Abfall ...
Bei der Erzeugung in der Schleife erzeuge ich immer die beiden Abschnitte Gerade/Schräge in einem Schleifendurchlauf, so daß es also 5 Schleifendurchläufe gibt. Die beiden in jedem Schiefendurchlauf erzeugten Teilarrays hänge ich immer an den betehenden Array im Schieberegister an.
Der gerade Teilaray wird einfach mit "Array initialsieren" erzeugt, der schräge Teil mit der Rampenfunktion.

War aber im Rückblick nicht die beste Idee, man hätte auch den geraden teil mit der Rampe machen können. (Ansfangswert = Endwert). Vergiss es also und lege dieses VI zugrunde:
Lv86_img[attachment=17528]

Gruß Ludwig
Wow,

vielen Dank Ludwig. Hab nun noch eine If-Abfragung eingebaut um den Faktor zu bestimmen damit bei niedrigen Frequenzen (<100 Hz) ein niedriger Faktor (damit Array nicht zu voll wird) steht und bei hohen Frequenzen (50 kHz) ein hoher Faktor (damit ein Signal angezeigt wird).

Das Programm ist echt Top!

Vielen Dank nochmal für deine Hilfe.

Beste Grüße,
Alex
Zu Deiner PN-Anfrage: Wenn es darum geht, die Phase noch zu drehen, dann würde ich einfach das Array entsprechend rotieren:
8.6 [attachment=17559]
Referenz-URLs