LabVIEWForum.de - Erfassung der Nulldurchgänge eines Sweepsignals

LabVIEWForum.de

Normale Version: Erfassung der Nulldurchgänge eines Sweepsignals
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo LV-Freunde,

Ich möchte gerne immer einen Trigger auslösen, wenn mein Anregungssignal (Sweep-Sinus) neu beginnt.
Als entscheidendes Merkmal des Neustarts der Sweep-Anregung wollte ich die ansteigende Frequenz nutzen --> die zeitliche Folge der Nulldurchgänge wird immer kürzer bis zum Neustart.

Gibt es eine Möglichkeit in LabVIEW die Nulldurchgänge einfach zu erfassen um sie dann zu vergleichen?

Ich habe erstmal versucht mir selbst eine Suche nach Nulldurchgängen zu programmieren (siehe VI) - scheine dabei aber Fehler gemacht zu haben, da der Trigger zum falschen Zeitpunkt auslöst und manchmal die Routine in einer der Schleifen hängen bleibt.

Idee: while trigger = false
if y(i-1) < 0

if y(i) >= 0

j= j+1;
t(j) = t(y(i));
if (t(j) - t(j-1)) > (t(j-1) - t(j-2))

start Trigger = true;
end
end
end

Lv85_img[attachment=13783]

Gruß Sebastian
Die Triggerbedingung aus dem Sweep-Signal selbst zu erzeugen wird immer Krampf sein, eine gute Lösung gibt es nicht, wie Du hier auch an der Anzahl der bisher eingegangenen Antworten sehen kannst.

Für ein saubere Löung sehe ich zwei Ansätze:[list]
[*]Jeder Sweepgenerator hat doch zusätzlich einen Sägezahn-Ausgang als x-Achsen-Information (=Frequenz). Dieses Signal, und nicht den Sweep, für die Triggerung verwenden. (Oder aber, wie üblich, ohne irgendetwas zu triggern, gleich dieses Signal als X-Achse verwenden)<>
[*]Alternativ würde ich den Sweep mit einem der analog Ausgänge der Messkarte selbst erzeugen. Dann braucht man überhaupt keinen keinen Trigger, um AI- und AO- Task miteinander zu synchronieren, und die Synchronisierung ist - wenn man alles richtig gemacht hat - absolut perfekt.<>
[st]
' schrieb:Die Triggerbedingung aus dem Sweep-Signal selbst zu erzeugen wird immer Krampf sein, eine gute Lösung gibt es nicht, wie Du hier auch an der Anzahl der bisher eingegangenen Antworten sehen kannst.

Für ein saubere Löung sehe ich zwei Ansätze:[list]
[*]Jeder Sweepgenerator hat doch zusätzlich einen Sägezahn-Ausgang als x-Achsen-Information (=Frequenz). Dieses Signal, und nicht den Sweep, für die Triggerung verwenden. (Oder aber, wie üblich, ohne irgendetwas zu triggern, gleich dieses Signal als X-Achse verwenden)<>
[*]Alternativ würde ich den Sweep mit einem der analog Ausgänge der Messkarte selbst erzeugen. Dann braucht man überhaupt keinen keinen Trigger, um AI- und AO- Task miteinander zu synchronieren, und die Synchronisierung ist - wenn man alles richtig gemacht hat - absolut perfekt.<>
[st]


Vielen Dank für den Tipp mit dem Sägezahnausgang - das hat mir die Sache wesentlich vereinfacht.
Referenz-URLs