LabVIEWForum.de
Signalverlaufsgraph und Lücken in der Darstellung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Signalverlaufsgraph und Lücken in der Darstellung (/Thread-Signalverlaufsgraph-und-Luecken-in-der-Darstellung)



Signalverlaufsgraph und Lücken in der Darstellung - twols - 29.11.2012 16:02

Hallo Leute!

Ich zerbreche mir den Kopf an dem Signalverlaufsgraph und komme nicht weiter.. Wenn ich ein kontinuierliches Signal darstelle, dann kommen manchmal total komische Signalwerte vor, die eigentlich nicht existieren. Das passiert beim Fensterwechsel in Windows oder manchmal einfach so (durch Multitasking bedingt?). Stört echt unheimlich, da manchmal kaum von den tatsächlichen Werten zu unterscheiden.

Beispiel des Problems als Bild.

[attachment=42427]

[attachment=42426]


RE: Signalverlaufsgraph und Lücken in der Darstellung - Kasi - 05.12.2012 08:27

Ich kann das Problem nicht reproduzieren.

Aber ich kann was zu deinem Programm und damit zur möglichen Fehlerursache sagen:
Du gibst hier Werte in den Sinus, die jeweils "50" voneinander entfernt sind! FÜNFZIG! Der gute Sinus hat für einen Umlauf 2 Pi, also gerade mal runde 6. Mit deinen fünfziger-Schritten landest du dann bei 50 / 2 pi, also etwa 7.95 Umläufen. Damit weichst du jedesmal 0.05 Umläufe von einer Periode ab, was dann so aussieht, als würdest du dich an einem Sinus entlangbewegen, aber in Wirklichkeit machst du schreckliches "Undersampling", überspringst also knapp acht Sinusperioden mit jedem Schleifendurchlauf.
Um das zu illustrieren kannst du ja mal "47" für eine schöne Schwebung oder "44" für einen extrem langsameren Durchlauf statt 50 eingeben.

Vorschlag: Sinus vernünftig berechnen, also statt der momentanten Zeit in Millisekunden eher über Laufindex "i" / 5, damit kriegst du für 100 Durchläufe gute drei "echte" Sinusperioden auf den Graphen.
Und dann nochmal schauen, ob der Fehler noch immer auftritt. Alternativ kannst du auch den Millisekunden-Timerwert durch 250 teilen, um den gleichen Effekt zu erzielen.