INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Umrechnung/Skalierung: 1D-Array(U32) -> 1D-Array(Dbl)



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

18.07.2011, 15:39
Beitrag #1

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
Umrechnung/Skalierung: 1D-Array(U32) -> 1D-Array(Dbl)
Guten Tag,

Ich habe mal wieder eine konzeptionelle Phase beim Meditieren über meinen bisher geschrieben Quellcode gehabt. Dabei ist mir durch eine Analyse des "Profile" (Tools) aufgefallen, dass die Kanalwert-Umrechnungen (relativ) viel Rechenzeit in Anspruch nehmen. Bei hohen Messfrequenzen und vielen Kanälen kann es eine kritische Größe für den Mess-PC darstellen; daher dieser Post.

Ausgangssituation: ein 2D-Array, das zyklisch hereinkommt (Messung kommt über DMA). Nach einer Dezimierung soll nun jeder 1D-Kanal abweichend umgerechnet werden. Aktuell verwende ich dafür die LabVIEW-Funktionen wie z.B. "Divide" und "Add". Bei manchen Umrechnungen gibt es die Besonderheit, das der Umrechnungsfaktor einer Potenz von 2 enspricht; da dividiere ich aber dennoch. (Multiplizieren würde ja mit einem Bitshift gehen)

Ich werde noch den Formelknoten ausprobieren um mir selbst ein Bild von der Alternative zu machen...

Was sind eure Erfahrungen zum Thema effektives Umrechnen von Messdaten? Gibt es eine beste Methode?


Mit bestem Dank
Erik Brenncke


ps.: wie bekommt man eigentlich Code-Schnipsel in diesem neuen Look in den Post. Ich meine diese Snippets.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.07.2011, 15:56 (Dieser Beitrag wurde zuletzt bearbeitet: 18.07.2011 15:57 von NWOmason.)
Beitrag #2

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Umrechnung/Skalierung: 1D-Array(U32) -> 1D-Array(Dbl)
(18.07.2011 15:39 )erik.brenncke schrieb:  Was sind eure Erfahrungen zum Thema effektives Umrechnen von Messdaten? Gibt es eine beste Methode?

Meine Skalierungen mache ich gerne im Code mit den normalen LabVIEW Arithmetikfunktionen. Wobei ich noch nichts kompliziertes skalieren musste. Also meist nur einen linearen Offset oder ähnliches.

(18.07.2011 15:39 )erik.brenncke schrieb:  ps.: wie bekommt man eigentlich Code-Schnipsel in diesem neuen Look in den Post. Ich meine diese Snippets.

Am besten so: <KLICK> Big Grin

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.07.2011, 16:05
Beitrag #3

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Umrechnung/Skalierung: 1D-Array(U32) -> 1D-Array(Dbl)
Danke für deinen Snippet-Hinweis! Echt genial einfach! Blush

Zitat:Meine Skalierungen mache ich gerne im Code mit den normalen LabVIEW Arithmetikfunktionen. Wobei ich noch nichts kompliziertes skalieren musste. Also meist nur einen linearen Offset oder ähnliches.
Die Berechnungen an sich sind fast schon trivial, aber bei der schieren Masse an Daten zur Laufzeit, kann es halt eng werden mit der Prozessorauslastung. Daher suche ich nach der "besten" Methode. Dann bin ich mir sicher, dass ich eine neue CPU im Mess-PC brauche.

Danke für die schnelle Antwort.
Erik Brenncke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.07.2011, 08:00
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Umrechnung/Skalierung: 1D-Array(U32) -> 1D-Array(Dbl)
Hallo Erik,

Zitat:Ich werde noch den Formelknoten ausprobieren
Der wird nicht schneller sein als ein simples Multiply/Add-Paar.

Wenn du hier evtl. von DAQmx-Inputs redest: dort kannst du für jeden Kanal eine eigene Skalierung erstellen, die dann gleich im Treiber angewendet wird...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.07.2011, 09:12
Beitrag #5

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Umrechnung/Skalierung: 1D-Array(U32) -> 1D-Array(Dbl)

Akzeptierte Lösung

Guten Morgen GerdW,

in der Tat, der Formelknoten ist nicht schneller. Leider handelt es sich nicht um einen DAQmx-Kanal. Wie beschrieben sind es u32-Daten, die über einen DMA-Transfer hereinkommen (FPGA2Host-FIFO).
Ich bedanke mich für die Antworten.

Fazit: die LV-Primitives sind die beste Lösung. Sollte es zu einer zu hohen CPU-Auslastung kommen, muss halt die Datenmenge begrenzt werden.

Erik Brenncke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Array aus Clustern simcum 6 3.461 26.10.2023 08:39
Letzter Beitrag: GerdW
  Array Bearbeitung simcum 4 3.425 04.03.2022 09:59
Letzter Beitrag: Kiesch
  2D Array einzelne Zeilen in anderes Array michi96 2 2.834 15.12.2021 10:53
Letzter Beitrag: michi96
  HTML als 2D Array ares2013 5 2.978 18.11.2021 19:50
Letzter Beitrag: GerdW
  Maximalwert aus Array speichern Hans96 3 4.227 15.07.2021 14:56
Letzter Beitrag: Hans96
  Array mit Array auslesen und Array erzeugen Harry2000 10 7.507 08.05.2021 06:32
Letzter Beitrag: Martin.Henz

Gehe zu: