Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage LUT


von Andreas R. (08fresh15)


Lesenswert?

Hallo Forengemeinde,
ich beschäftige mich seit einigen Wochen mit dem Programmieren von 
PIC's.
Beim stöbern durch's Netzt lese ich auch immer wieder den Begriff
Lookup Tabel.
Mit diesem Begriff kann ich nicht wirklich was anfangen und ich frage 
mich wozu man das benötigt.
Wäre wohl jemand so nett zu erklären, wozu man ein Lookup Tabel benötigt 
bzw. wo so eine Funktion zum Einsatz kommt.

von Hallo1 (Gast)


Lesenswert?

Hallo

es kommt zum Beispiel bei der CRC zum Einsatz.
Es sind einfach vorher belegte Tabellen für Funktionen, auf die man 
während der Laufzeit direkt zugreifen kann ohne es vorher auszurechnen.

Bei CRC ist es so das alle CRC Werte für alle möglichen Kombinationen 
hinterlegt sind. Das spart später Rechenzeit. Dafür braucht man mehr 
Speicherplatz für die Tabelle.

von Mario (Gast)


Lesenswert?

Ich kenne den PIC nicht, aber eine LUT-Table kommt da zum Einsatz, wo 
man einen Wertebereich auf einen anderen Wertebereich abbilden will. Man 
kann z.B. Kennlinien abbilden. In der Bildverarbeitung kommt so etwas 
häufig zum Einsatz (z.B. Gamma-Korrektor).

Üblicherweise ist es eine 2-dimensionale Tabelle. Ein gutes Beispiel ist 
der Artikel LED-Fading, wo die Kennlinie des Auges bei der PWM 
berücksichtigt wird.

von Joachim B. (jojo84)


Lesenswert?

Moin,

also in LUTs legst du eigentlich im allgemeinen Werte ab, die per 
Software schwierig oder zu langsam zu ermitteln wären.

Ein einfaches Beispiel wäre eine Sinus-Funktion. Angenommen du willst 
eine Sinusfunktion digital beschreiben, dann mußt du sie ja in kleine 
Stückchen einteilen, z.B. in 360 Stücke (pro Grad ein Schritt), mit 
einer Amplitude von 0-255.
Jetzt kannst du natürlich für jeden Grad (z.B. 90°) den Sinuswert online 
berechnen. Das kostet aber Zeit. Darum kann st du z.B. in Excel diese 
360 Werte errechnen lassen, und speicherst sie dann in deinem Programm 
in einem Array ab. Wenn du jetzt den Sinuswert von 90° haben möchtest 
mußt du gar nicht mehr rechnen, sondern kannst einfach das 89. 
Arrayelement nehmen :) .

Klar soweit?

Gruß

von Andreas R. (08fresh15)


Lesenswert?

Vielen Dank für Eure Beiträge.
Dank Euch habe ich das jetzt verstanden, wofür die Lookup Tables da 
sind.
Ich bin wirklich Beeindruckt, wie schnell man hier Hilfe bekommt.

Gruß Andreas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.