LabVIEWForum.de - Frage zur While Schleife

LabVIEWForum.de

Normale Version: Frage zur While Schleife
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Da ich noch immer ein kleines Problem mit meiner Messkarte habe, wollte ich nachfragen ob diese Lösung geht:

Ich habe mir eine While schleife gebaut, um genau eine Periode meines Signals in den Speicher abzulegen.
Im moment klappt das nur bedingt. Wird meine Frequenz des Signals zu gering sind die 8MSa der Karte zu schnell voll.

Da ich in dem VI, welches mir den Sinus erzeugt die Sampelrate nicht automatisch mit dereingegebenen frequenz ändern kann suche ich nach anderen Möglichkeiten.

Die andere Idee war, einfach eine oder zwei perioden des Signals in den Speicher legen und die Sampelrate der Messkarte so zu verändern, dass die gewünschte frequenz rauskommt, da habe ich noch keine richtige Idee, wie sich das berechnen ließe.


Für Fragen, Anregungen und nützliche Kommentare bin ich dankbar.


Gruß

Bart


Lv09_img2
Nein, Du kannst aus 2 Frequenzen keine andere mischen. Ich kann in Deinem VI keine Karte sehen.
Die Messkarte ist in dem VI nicht mit aufgeführt, weil das noch ein großer Wust hinten angehängt wäre.


Die Messkarte selber hat eine samplingrate, mit der sie die Datenpunkte aus dem Speicher ausließt und darstellt. Im Moment
müssen die beiden Samplingraten von LV und DAQ gleich sein, damit auch die Frequenz des VIs rauskommt.
Meine Überlegung ist, ob ich der Karte nicht eine Periode eines Signals in den Speicher schreibe und wenn ich die samplingrate der Karte im Bezug auf die von LV erhöhe, sollte sich doch die Frequenz verkleinern, oder sehe ich das falsch?
(gleich mal ausprobieren...)


Gruß
Bart
Also, ich weiß jetzt gerade nicht so, was Du genau hören willst, aber prinzipiell geht das je nach Hardware.

Ich mach das so auf einem FPGA, hinterlege eine Periode meines Signals mit x Samples, berechne dann mit y/x (y = interne Samplerate der Messkarte bzw. Taktrate des FPGAs) die Zeitdifferenz zwischen zwei Samples, die ausgegeben werden, Looptimer auf die Ausgabeschleife und fertig.

Performance-Verbesserung bekommt man bei FPGA-VIs über Pipelining und eine geschickte Sampleanzahlwahl (bei Potenzen von 2 muss man zum Ansprechen des Speichers nicht teilen, sondern kann eine deutlich schneller implementierbare Bitschiebeoperation nutzen. Wenn man vorher noch die Anzahl der Perioden multipliziert und dieselbe Schleife entsprechend häufiger durchlaufen lässt, spart man sich auch Overhead einer Schleife, was das ganze auch noch ein bisschen schneller macht...

Viel Erfolg,

ch
Referenz-URLs