Forum: Mikrocontroller und Digitale Elektronik Touch Screen Ermittlung/Berechnung


von TouchApprentice (Gast)


Lesenswert?

In den diversen Sourcen von Touch-Screens wird zum Ermitteln des
X/Y Wertes gemittelt, oder es wird sortiert und nach dem Sortieren
der mittlere Wert als bestes Ergebnis genommen.

Wer kann was dazu sagen was besser ist? Sortieren oder Mitteln?
Dass das Mitteln sicher schneller ist kann ich mir vorstellen,
aber welcher Algorithmus ist besser, genauer? Ist bei gleicher
Anzahl von Sampling-Werten der eine oder der andere grundsätzlich
besser? Hängt vielleicht auch vom Prozessor ab ob er schnell
dividieren kann (bei der Mittelung).

Vielleicht hat jemand Erfahrungswerte oder kann von der Theorie
her etwas dazu sagen? Gibt es vielleicht noch andere Algorithmen?

von Stefan F. (Gast)


Lesenswert?

Um den Mittelwert zu bilden, musst du dividieren.
Den mittleren Wert hingegen kannst du ohne Division ermitteln. 
Vielleicht geht das mit weniger CPU Takten, also auch mit weniger 
Energieverbrauch.

Ansonsten, einfach laut Nachgedacht: Ich stelle mit für eine Achse 
folgende Messwerte vor: 1,2,1,9,1

Der Mittelwert daraus ist 2,8.
Der mittlere Wert ist hingegen 1.

Und ich glaube, das zweite Ergebnis ist besser, denn die 9 ist ganz 
offensichtlich ein Ausreißer, der weit von den anderen Messungen 
abweicht.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Multi-Touch? Oder nur einer?

von Wolfgang (Gast)


Lesenswert?

Stefan U. schrieb:
> Und ich glaube, das zweite Ergebnis ist besser, denn die 9 ist ganz
> offensichtlich ein Ausreißer, der weit von den anderen Messungen
> abweicht.

Um nicht auf Ausreißer reinzufallen, wurde der Median erfunden.

von asdf (Gast)


Lesenswert?

Stefan U. schrieb:
> Ansonsten, einfach laut Nachgedacht: Ich stelle mit für eine Achse
> folgende Messwerte vor: 1,2,1,9,1
>
> Der Mittelwert daraus ist 2,8.
> Der mittlere Wert ist hingegen 1.
>
> Und ich glaube, das zweite Ergebnis ist besser, denn die 9 ist ganz
> offensichtlich ein Ausreißer, der weit von den anderen Messungen
> abweicht.

Wenn die Messwerte lauten würden: 1,2,9,1,1 dann wäre 9 der mittlere 
Wert, obwohl die 9 offensichtlich der Ausreisser ist. Und wo der 
Ausreisser steht in der Messreihe, das weißt du vorher nicht. Deswegen 
ist der mittlere Wert nur in deinem Beispiel (zufällig) die beste Wahl.

von HFstark (Gast)


Lesenswert?

Stefan U. schrieb:
> Den mittleren Wert hingegen kannst du ohne Division ermitteln.
> Vielleicht geht das mit weniger CPU Takten, also auch mit weniger
> Energieverbrauch.

Falsch gedacht. Natürlich muss man - um den mittleren Wert zu
erhalten, die Messreihe sortieren. Wie in meinem Eingangs-Post
erwähnt. Und das kostet Zeit ...

von Sascha W. (sascha-w)


Lesenswert?

@asdf,
der mittleren Wert nimmt man logischer Weise erst nach dem Sortieren!
Aus 1,2,1,9,1 wird 1,1,1,2,9



an sonsten geht dividieren schneller wenn man für die Anzahl der 
Messwerte eine Potenz von 2 verwendet, dann lässt sich die Division 
durch ein paar Schift's erledigen.

Sascha

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

Überlege dir auch, ob du überhaupt irgendwelche Mittelwerte benötigst. 
Ein TouchPanel mit bspw. 12Bit liefert dir 4096 Werte. Bei einer 
horizontalen Bildschirmauflösung von bspw. 800 Pixeln und einem Daumen 
der wohl mindestens 20 Pixel breit ist, lohnt sich da irgendeine Art der 
Mittelwertbildung? Ob du nun auf x = 244 oder x = 253 touchst ist meist 
nicht noch belang.

Wenn das Touchen in meinem Projekt die CPU möglichst wenig belasten 
soll, würde ich die Mittelwertbildung sein lassen. Kommt eben darauf an, 
was du haben möchtest.

von HFstark (Gast)


Lesenswert?

Reginald L. schrieb:
> lohnt sich da irgendeine Art der Mittelwertbildung?

Sie lohnt sich nicht, nein sie muss sein da das einzelne
Sampling-Ergebnis zu starken Schwankungen unterworfen
und zu ungenau ist. Aus eigener Erfahrung .....

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

HFstark schrieb:
> Sie lohnt sich nicht, nein sie muss sein da das einzelne
> Sampling-Ergebnis zu starken Schwankungen unterworfen
> und zu ungenau ist. Aus eigener Erfahrung .....

Hier habe ich andere Erfahrungen gemacht. Kommt auf die Hardware und auf 
die Programmierung an. Und auf die Dicke des Daumens ;)

Beim XPT2046 sowie beim FT5206 hole ich mir die erstbesten Werte. Ok, 
beim FT5206 muss man sagen, dass hier schon der Chip die Arbeit abnimmt. 
Der XPT gibt wohl aber die Rohwerte aus.

von HFstark (Gast)


Lesenswert?

Reginald L. schrieb:
> Beim XPT2046 sowie beim FT5206 hole ich mir die erstbesten Werte. Ok,
> beim FT5206 muss man sagen, dass hier schon der Chip die Arbeit abnimmt.
> Der XPT gibt wohl aber die Rohwerte aus.

Ja der XPT2046 ist meistens drauf. Aber entscheidend für die
Genauigkeit ist ja der Touch Screen selbst, und da steckt man
nicht drin was der abliefert. Gut wenn der FT5206 von sich aus
schon Intelligenz aufbringt, ich kenne ihn nicht ...

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

HFstark schrieb:
> Aber entscheidend für die
> Genauigkeit ist ja der Touch Screen selbst

Ob der Threadersteller hier vom TouchPanel selbst redet, oder von der 
Ausgabe eines Chips, erschließt sich leider nicht. Und welcher Chip was 
macht, weiß man meist auch nicht.
Klar, wenn deine Rohwerte bei dir unbrauchbar sind, dann muss man die 
eben irgendwie mitteln. Ich wollte mit meinem Beitrag auch lediglich 
nahelegen, dass man sich zuallererst fragen solle, ob dies notwendig 
ist. Bei meinen ersten TouchPanel-Erfahrungen habe ich mir Sheets zum 
Mitteln und Kalibrieren Tagelang angeschaut und Code geschrieben. Nur um 
am Ende festzustellen, dass die Rohwerte absolut ausreichend sind.

von TouchApprentice (Gast)


Lesenswert?

Danke für euere Beiträge.

Ich werde mir das nochmal genauer anschauen ob die Mittelung
überhaupt erforderlich ist.

Gretchenfrage wäre für nach wie vor ob die Mittelung gegenüber
der Sortierung/Mittenfindung Vor- oder Nachteile bietet.

Ganz "schlimm" wird es bei den Arduino Displays die gar keinen
Touch Controller haben. Bei solchen wird dann mittels ADC
eine Spannungsmessung gemacht (vorher der Screen mittels TTL
Signal unter Spannung gesetzt) und daraus der Widerstand/
Touch-Wert ermittelt. Oh mir graust es .... ich schätze da
braucht es ganz sicher irgendeine Mittelwertbildung.

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

TouchApprentice schrieb:
> Gretchenfrage wäre für nach wie vor ob die Mittelung gegenüber
> der Sortierung/Mittenfindung Vor- oder Nachteile bietet.

Da kann zumindest ich nicht weiterhelfen. Mit Mathematik tue ich mir 
jedes mal schwer.

TouchApprentice schrieb:
> Ganz "schlimm" wird es bei den Arduino Displays die gar keinen
> Touch Controller haben. Bei solchen wird dann mittels ADC
> eine Spannungsmessung gemacht (vorher der Screen mittels TTL
> Signal unter Spannung gesetzt) und daraus der Widerstand/
> Touch-Wert ermittelt. Oh mir graust es .... ich schätze da
> braucht es ganz sicher irgendeine Mittelwertbildung.

Möchtest du ein TouchPanel entwickeln oder betreiben? Sofern du keines 
auf den Markt bringen möchtest, benutzt du einfach einen dafür 
geeigneten Controller. So wie jeder andere auch. Naja, es bleibt 
natürlich noch die Möglichkeit, dass du die Herausforderung suchst, das 
würde ich natürlich auch noch verstehen :)

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.