01.08.2008, 16:17
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
[attachment=13783]
Gruß Sebastian
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
[attachment=13783]
Gruß Sebastian