www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage LUT


Autor: Andreas R. (08fresh15)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hallo1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joachim B. (jojo84)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Andreas R. (08fresh15)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.