Hallo Alice,
was genau macht dein VI da eigentlich???
- Deine FOR-Loop berechnet 100mal die Kreuzkorrelation der
selben Signale und addiert das Ergenis auf. Wozu?
- Du berechnest außerhalb nochmal die Kreuzkorrelation der
selben Signale. Insgesamt würde hier einmal rechnen ausreichen...
- Dann berechnest du den Mittelwert von 100 identischen Rechenergebnissen. Was soll das bringen?
Eigentlich willst du doch den Mittelwert von 100 gemessenen Signalen (d.h. 100 Aufrufen des DAQ-Assi) berechnen. Warum machst du das dann nicht?
Dein gemittelter Graph zeigt nur das halbe Korrelationssignal. Warum wohl? Wie hatte ich oben geschrieben:
Zitat:Dein Datenpaket "Array" sollte immer die gleiche Anzahl Werte enthalten, sonst gibt es Probleme beim Mitteln...
Also hat eines der beteiligten Arrays weniger Werte als die anderen, was zu den erwähnten Problemen führt. Sowas kann man übrigens beim Debugging mit Sonden leicht herausfinden. Tipp: Die Kreuzkorrelation erzeugt größere Datenmengen als die Ursprungsdaten. Es ist also nicht unbedingt sinnvoll, das Schieberegister mit einem Array mit "Anzahl Punkte" zu initialisieren...
Tipp:
- Man kann die Stopp-Bedingung der While-Loop invertieren (einfach drauf klicken). Dann braucht man keine extra Negation...
- THINK DATAFLOW