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:

Zahlenumwandlung



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!

09.01.2016, 20:59
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.471
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Zahlenumwandlung
Hallo Ludwig,

ja, die Nutzung eines LSRs ist bei signed integers ein Fehler.
Aber "Scale by Power of 2" ist auf dem FPGA ein Bitshift, noch dazu ohne Resourcenverbrauch!
Und Slevin will auf einem FPGA resourcenschonend arbeiten…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.01.2016, 23:56
Beitrag #12

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Zahlenumwandlung
(09.01.2016 17:52 )IchSelbst schrieb:  Zumindest die 8086-Prozessoren (ich gehe davon aus, alle anderen auch) kennen zwei Typen von Schiebebefehlen: der eine heißt SAR "Shift Arithmetic right", der andere SHR "Shift Logic Bit Right".
Sehr gut, das hilft weiter. Zur Veranschaulichung, wie SAR funktioniert, hier ein Bild aus Wikipedia, "arithmetic shift"
   
SAR ist damit identisch mit einer Division durch 2, und zwar auch bei negativen Integerwerten. Die Funktion SAR gibt es in Labview nicht. Man kann sie sich aber aus zwei in Labview verfügbaren anderen Shift-Funktionen zusammenbasteln. (Variante 5 im Bild unten)
Damit dürfte auch das Geheimnis um Gerds "schicken" Code gelüftet sein Big Grin
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.01.2016, 11:36 (Dieser Beitrag wurde zuletzt bearbeitet: 10.01.2016 11:41 von IchSelbst.)
Beitrag #13

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Zahlenumwandlung
(09.01.2016 23:56 )Lucki schrieb:  Die Funktion SAR gibt es in Labview nicht.
Es anders zu sehen, bringt viele Vorteile.

LabVIEW fällt unter "deklaratives Programmierparadigma", also nicht unter "imperatives Programmierparadigma". Imperativ heißt, die Programmiersprache kennt auf Programmierer-Ebene den Befehl SAR (zumindest manche).

Deklarativ heißt in diesem Falle nichts anders als "beschreiben": Der Programmierer platziert (irgendwohin) Elemente (ich will mal noch nicht sagen "Objekte"), die vom Menschen aus gesehen intuitiv sind, z.B. die Addition. Dann schließt der Mensch an die beiden Eingänge im Allgemeinen "Typ-identische", oft auch nur "Typ-verträgliche"(!) "Instanzen" an: Der Typ wäre z.B. Obst, Instanzen wären dann Birne und Apfel. Das Ergebnis wäre Marmelade. Man kann an Addition natürlich auch die Typen Integer, Float, Array of Zahl, etc. anschließen (warum man nicht Strings "addieren" kann, ist mir deklarativ gesehen noch immer ein Rätsel) Kaum einer wird Typ-unverträgliche Instanzen anschließen: Apfel und Fußabstreifer. Das Ergebnis wäre ein gebrochenes Herz, pardon Pfeil.

Die Addition, die ich ja nur wegen des guten Beispiels der Marmelade gewählt habe, ersetzen wir nun durch die 2er-Potenz-Multiplikation.

Das Problem, das LV jetzt hat, ist: Wie bekommt ich - eigentlich mein Kompiler - das "deklarative Format" in ein "imperatives Format", das der Prozessor versteht, der letztendlich die 2er-Potenz-Multiplikation durchführen soll. Der Kompiler wird also die Eingänge begutachten (vergleiche http://www.ni.com/tutorial/11472/de/, siehe http://www.labviewforum.de/Thread-Speich...n-LabView) und sich letztendlich überlegen, mit welchem Prozessorbefehl oder mit welcher Prozessorbefehl-Sequenz er dieses "Element" am besten abbilden kann. Der Kompiler wird sich also für einen SAR entscheiden genau in dem Falle, wenn x eine Ganzzahl ist.

Man kann eigentlich gar nicht sagen, LV kennt den Prozessorbefehl SAR oder kennt ihn nicht. Die Programmierer-Ebene, auf der deklariert wird, ist komplett abstrahiert von der imperativen Ausführungsebene.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.01.2016, 13:47 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2016 09:39 von Lucki.)
Beitrag #14

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Zahlenumwandlung
(10.01.2016 11:36 )IchSelbst schrieb:  
(09.01.2016 23:56 )Lucki schrieb:  Die Funktion SAR gibt es in Labview nicht.
.
Ich meinte natürlich: SAR gibt es nicht in der Funktions-Palette. (Weil es dort überflüssig ist. SAR ist nämlich in der viel universelleren Funktion "Mit Potenz von 2 multiplizieren" als Spezialfall für n=-1 enthalten)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2016, 08:47 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2016 08:49 von GerdW.)
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.471
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Zahlenumwandlung
Hallo Ludwig,

schön, dass du so schönen Code für ein SAR entworfen hast.
Leider ist der nicht gerade resourcensparend auf einem FPGA (und verursacht aufgrund Schieberegister auch noch Latenzen)…

Sowas dagegen ist resourcensparend:
   
(Die Konstanten "8" und "12" sind hier nur zum "abzählen, die können weg. Der Rest belegt keine FPGA-Resourcen.)

Ansonsten gilt weiterhin Beitrag #6: "damit landet man nämlich … beim Vorschlag von Jens 'Scale By Power of 2' "

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2016, 09:22
Beitrag #16

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Zahlenumwandlung
(11.01.2016 08:47 )GerdW schrieb:  Ansonsten gilt weiterhin Beitrag #6: "damit landet man nämlich … beim Vorschlag von Jens 'Scale By Power of 2' "
Und damit das mal hervorgehoben wird, habe ich mir erlaubt, dies als Lösung zu markieren...

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.12.2020, 16:01
Beitrag #17

Stephan235 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Mar 2015

2015, 2018
2017
DE


Deutschland
RE: Zahlenumwandlung
Hallo,

dieses Thema möchte ich gern nochmals aufgreifen.

Mit dem Sine Wave Gen. möchte ich gern auf FPGA Ebene (cRIO-9035) ein 800Hz Sinus
mit einem NI-Modul 9263 auf einem AO ausgeben.

Als Grundlage habe ich das "Sin Wave.lvproj" aus den Beispielen genommen.

Grundlegend funktioniert das auch, am Ausgang soll aber ein Sinus von 0-5 V ausgegeben werden.
Über Faktor und Offset bekomme ich das so nicht hin.
Was muss ich noch beachten?

LG
Stephan


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.12.2020, 16:20
Beitrag #18

GerdW Offline
______________
LVF-Team

Beiträge: 17.471
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Zahlenumwandlung
Hallo Stephan,

Zitat:Grundlegend funktioniert das auch, am Ausgang soll aber ein Sinus von 0-5 V ausgegeben werden. Über Faktor und Offset bekomme ich das so nicht hin.
Was muss ich noch beachten?
Was bekommst du den hin?
Was für ein Signal erhälst du momentan am Ausgang?
Was funktioniert an Faktor/Offset nicht?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.12.2020, 16:34
Beitrag #19

Stephan235 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Mar 2015

2015, 2018
2017
DE


Deutschland
RE: Zahlenumwandlung
Hallo Gerd,

am Oszi sehe ich ein 800 Hz Sinussignal, aber nur von 0-600 mV.
(Amplitude Offset = 0, Faktor Skalierung 0,0001)

Wenn ich mit den Eingangsparametern spiele komme ich gerade nicht an's Ziel.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.12.2020, 17:50
Beitrag #20

GerdW Offline
______________
LVF-Team

Beiträge: 17.471
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Zahlenumwandlung
Hallo Stephan,

aus dem SinusFGen kommt ein Integer heraus. Dieses wird mit einem fetten CoercionDot mit einem FXP multipliziert: welche Datentypen kommen hier zum Einsatz?

Hat dir schon mal jemand gesagt, das man Bilder mit LabVIEW ganz schlecht editieren/debuggen kann?

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


Gehe zu: