Tach zusammen,
mein Arbeitskollege und ich grübeln gerade darüber, wie man mathematisch
herleiten kann, welche Segmente man mindestens auslesen muss um alle
Zahlen von 0 - 9 zurücklesen zu können. Wir sind durch rumprobieren
darauf gekommen, dass Segement c und d nicht nötig sind um die Zahlen
von 0 - 9 eindeutig zu bestimmen. Aber wie könnte man da mehr
systematisch rangehen um das herauszufinden?
Gruß
Nils
Bin kein Mathematiker, aber ein einfacher "Algorithmus" wäre, angesichts
der kleinen Datenmenge, immer ein Bit wegzulassen, dann zu prüfen, ob
sich einer der 10 Datensätze wiederholt. Wenn ja: Bit wird benötigt,
anderes Bit weglassen und erneut probieren. Wenn nein, diesen Zustand
als neuen Ausgangszustand annehmen und um ein weiteres Bit kürzen. Bis
diese Aktion mit jedem der ursprünglichen Bits keinen Erfolg mehr
bringt, dann sind nur die übrig, die nicht redundant sind.
War ja nur nach dem Prinzip gefragt. Macht doch keinen Unterschied wie
die Anzeige geartet ist...
KV Diagramm ist schon mal ein Hinweis. Schau ich mir mal an. Schönen
Dank!
Der Sinn der Uebung ist mir nicht ganz klar, aber eine einfache
geschlossene Formel faellt mir dazu momentan nicht ein. Du musst eben
einen Zeichensatz entsprechend definieren, der sich mit dem verwendeten
deckt und dann schauen welche Elemente dadurch eliminiert werden
koennen.
Vielleicht laesst sich da ein Reduktionsverfahren ueber den Potenzmengen
der Elemente verwenden wenn man sich die 7-Segment-Anzeige als einen
Zustandsautomaten betrachtet und die Segmente selber die Zustaende
darstellen... ;)
Dadurch werden automatisch alle unnoetigen Zustaende eliminiert und auch
unnuetze Wegstrecken (die zum selben Ergebnis fuehren), damit hast Du
den minimalen Erkennungsalgorithmus ableitbar gemacht.
Durch Ausprobieren mit einer Exceltabelle erfährt man, dass die Segmente
c und d nicht abgefragt werden müssen, um eindeutig auf den Wert
schließen zu können.
Nils schrieb:> Ach so einfach geht das :-) Da muss ich aber erstmal n Stündchen drüber> nachdenken...
Ja gell? Hehe
Ein Vorteil zur Excel-tabelle bietet das Verfahren auch noch, denn Du
hast die zeitliche Achse mit in Beruecksichtigung genommen, wenn Dein
Erkenner sehr schnell ist und nicht alle Elemente gleich angelegt werden
sparst Du Dir ggf. noch mehr...
@Nils,
natürlich kann man das 'mathmatisch' herleiten. Du musst Dir nur eine
entsprechende Logik ausdenken, die den von Dir gewünschten Encoder
realisieren kann. Die kannst du mit Boolscher Algebra beschreiben. Dort
würden sich dann durch vereinfachen der Gleichungen die Signale
wegkürzen die auf das Ergebnis der Gleichung keinen Einfluss haben.
Sascha
Sascha Weber schrieb:> @Nils,>> natürlich kann man das 'mathmatisch' herleiten. Du musst Dir nur eine> entsprechende Logik ausdenken, die den von Dir gewünschten Encoder> realisieren kann. Die kannst du mit Boolscher Algebra beschreiben. Dort> würden sich dann durch vereinfachen der Gleichungen die Signale> wegkürzen die auf das Ergebnis der Gleichung keinen Einfluss haben.
In meinem Tietze/Schenk ist eine solche Schaltung abgedruckt.
Nach meiner Erinnerung braucht man ca. 30 Dioden pro Stelle.
Gruss
Harald
der Gedanke dass 3 Bit mit zwei Zuständen nicht reichen um 10 Werte
eindeutig zu beschreiben, also quasi das minimum ist einfach
herzuleiten.
Es werden 4 Bit a 2 Zustände benötigt um 10 Werte eindeutig zu
beschreiben. Wenn man es also schafft 3 Segmente zu elemenieren, dann
hat man sein Ziel erreicht, wobei es erstmal egal ist welche das
letztendlich sind...
Das ist zwar noch keine Lösung, aber eine Einkreisung der Problematik.
TS
Eine eigene Frage?
Dieser Thread ist über 14 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.