Gray Code

Neue Frage »

Auf diesen Beitrag antworten »
Digital Gray Code

Meine Frage:
Hallo eine neue Aufgabe bei der ich allerdings noch keine Ansätze hab :

Zu entwickeln ist ein Umcodierer ,der die den dezimalen abwerten 2-5 entsprechenden Codeworte des Gray Code in die entsprechenden Codeworte des BCD Code umwandelt .

Beachten sie das die 16 möglichen Kombinationen des Gray Code damit nicht voll ausgenutzt werden .

Für Tipps wäre ich dankbar.

Meine Ideen:
Leider nicht
 
Auf diesen Beitrag antworten »
eulerscheZahl

Das hatten wir doch so schon mit Aiken. Du kannst die Tabelle (Beitrag von Karlito, Gestern, 17:47) kopieren, aus den Zahlen 5-8 die Folge 2-5 machen und den Aiken Code durch den Gray Code ersetzen. Der Rest bleibt gleich.
Auf diesen Beitrag antworten »
Javaneu

Wie lauten denn die Zahlen 2-5 vom Gray Code ?
Auf diesen Beitrag antworten »
Karlito

Hallo javaneu,

die Werte kann man im Gray-Code-Artikel von Wikipedia in einer Tabelle finden, die mit 4-Bit-Gray-Code überschrieben ist.

Beachte, dass diese mit 0 beginnt zu zählen.

Gruß,

Karlito
 
Auf diesen Beitrag antworten »
javaneu

[latex]  y_1 = \overline{x_3}*  \overline{x_2} *x_1*x_0 +  \overline{x_3}*  \overline{x_2}*x_1 \overline{x_0}+  \overline{x_3}*x_2*x_1*x_0 [/latex]

[latex]   y_2   =   \overline{x_3}*x_2*x_1*    \overline{x_0}        [/latex]


[latex]   y_3   =   \overline{x_3}*  \overline{x_2} *x_1*x_0+ \overline{x_3}*\overline{x_2}*x_1* \overline{x_0} +\overline{x_3}*x_2*x_1*\overline{x_0} [/latex]

[latex]   y_0   =   \overline{x_3}* \overline{x_2} *x_1*   \overline{x_0}+\overline{x_3}*x_2*x_3*\overline{x_0}  [/latex]


y_1 soweit vereinfacht , wie kann es weiter gehen falss das richtig ist?

[latex]  \overline{x_3}*(x_1*(\overline{x_2}+x_2*x_0))  [/latex]
Auf diesen Beitrag antworten »
Karlito

Ich stelle fest, dass ich dir einen suboptimalen Weg gezeigt habe (mir fehlt ein wenig die Übrung, da ich es lange nicht mehr machen musste). Es ist besser aus der Tabelle die KV-Tafel abzulesen. Andernfalls bekommst Du große Probleme bei der Bestimmung der optimalen Formeln.

Wichtig wäre also, dass Du verstehst, wie man KV-Tafeln aufstellt. Schau mal ob Du auf youtube was Gutes findest. Ich habe leider gerade anderweitig zu tun und kann nicht dabei helfen.

Sorry und Gruß,

Karlito
Auf diesen Beitrag antworten »
javaneu

Vielleicht meldet sich ja Eulersche Zahl morgen zu Wort ?
Auf diesen Beitrag antworten »
Javaneu

Kannst du nicht bisse erklären wie man das mit KV Diagramm machen kann ?
Auf diesen Beitrag antworten »
Karlito

Wenn ich Zeit und Lust dazu finde und euler nicht schnerller ist als ich, mache ich das heute Abend.

Gruß,

Karlito
Auf diesen Beitrag antworten »
eulerscheZahl

Ich schreibe derzeit in der Firma an meiner Bachelorarbeit, da habe ich nicht so oft Zeit, hier reinzuschauen, wie während des Semesters in der Hochschule.

Zunächst mal machen x3 und y3 keinen Sinn, da man die Zahlen mit 3 Bit ausdrücken kann.
Für jede der 3 Ausgangsvariablen y0, y1, y2 muss ein eigenes KV Diagramm erstellt werden.
Ein KV Diagramm wird so gefüllt: du schaust für jeden Wert des Ausgangs (also für die Zahlen 2-5), welche Eingangskombination vorliegt. Dann musst du im KV das passende Feld finden (in meinem Bild bedeutet das grau hinterlegte, dass die Variable dort 1 ist, sonst ist sie 0). Die fehlenden Felder werden üblicherweise mit - oder x gekennzeichnet - das bedeutet, hier darf eine 0 oder 1 stehen. Anschließend werden möglichst große Rechtecke ("Schleifen") mit Kantenlänge 2^n eingezeichnet, die 1er umfassen, aber keine 0er enthalten dürfen. Von denen werden die Funktionsterme abgelesen und oder-verknüpft stellen sie die vereinfachte Funktion dar.

Ich habe das mal für y2 gemacht. Versuche dich bitte mal selbst an den anderen beiden - falls es nicht klappt, beschreibe so genau wie möglich, wo du scheiterst.
Auf diesen Beitrag antworten »
javaneu

Die y Werte deiner tabelle euler sind anders als die von Karlito ?

Welche Werte hast du da eingetragen ?

Hast du anstatt y2 die Werte von y 3 geschrieben ?
Auf diesen Beitrag antworten »
eulerscheZahl

Bist du vertraut mit dem Dualsystem?
In der anderen Aufgabe solltest du die Zahlen von 5-8 umwandeln, jetzt sind es die von 2 bis 5. Das sind dann auch binär andere Zahlen.

y3 ist ersatzlos gestrichen, da man keine 4 Bit braucht, um Zahlen <8 darzustellen.
Auf diesen Beitrag antworten »
javaneu

Nur so ich habe nach der anderen Tabelle es so gemacht .

Würde das so inhaltlich stimmen ?

Wo stehen die Zahlen denn die man wählen muss für Binärcode ?
Auf diesen Beitrag antworten »
javaneu

Weisst du woher ich wissen soll welche Werte ich jeweils für y wählen soll?

Das verstehe ich nicht so ganz.
Auf diesen Beitrag antworten »
eulerscheZahl

Wenn die Felder in de Funktion nicht festgelegt sind, schreibst du eben keine 0 rein.
Wenn du das Dualsystem nicht kennst, schaue bei den üblichen Verdächtigen, z.B. google/wikipedia.
Auf diesen Beitrag antworten »
eulerscheZahl

Y ist eben der BCD Code (ist für einstellige Zahlen gleich den Binärcode).
Auf diesen Beitrag antworten »
javaneu

Hast du einen link zu einer tabelle oder so ?

Die ich immer anwenden kann ?

Weil ich hab da unter dualzahlen keine Tabelle oder so gefunden?

Ist das eingefügte bild wenigstens der tabelle entsprechend richtig?
Auf diesen Beitrag antworten »
eulerscheZahl

für den Link siehe meinen Beitrag von 18:01, aber hier ist er nochmal: Link.

Du hast die Zahlen korrekt in die Tabelle führt, dann aber fälschlicherweise die leeren Felder mit 0 ergänzt. Dadurch wird die Vereinfachung des Terms nicht das Optimum sein.
Auf diesen Beitrag antworten »
javaneu

Ah jetzt verstehe ich es .

Ich probier mal jetzt y1 und y0 und poste dann mal mein Ergebnis.
Auf diesen Beitrag antworten »
javaneu

Stimmt es so Euler ?

Wenn ja wie gehe ich weiter vor ?
Auf diesen Beitrag antworten »
eulerscheZahl

Sieht gut aus.
Als nächstes zeichnest du Rechtecke ein, die eine Kantenlänge von 1, 2 oder 4 haben. Sie dürfen dabei auch an einem Rand herausgehen und am gegenüberliegenden wieder reinkommen. Ziel ist es, alle 1en einzusammeln. Dabei kann es vorkommen, dass du mehr als ein Rechteck brauchst. Die leeren Felder darfst du mit einschließen, die 0en nicht.
Auf diesen Beitrag antworten »
javaneu

Weiter weiss ich gerade nicht?

Schade das man hier nicht fotos posten kann .
Auf diesen Beitrag antworten »
eulerscheZahl

Du sollst doch keine Schleifen um die 0er machen.
Auf diesen Beitrag antworten »
javaneu

Ich verstehe nicht so genau warum du die leeren Bereiche mit der 1 zusammengefasst hast ?

Kann man das immer so machen ? Und wie geht es jetzt genau weiter ?
Auf diesen Beitrag antworten »
Karlito

Die leeren Felder sind so genannte Don't-Care-Felder. Es ist also egal welchen Wert sie einnehmen und so kann man sie auch mit einkringeln.

Gruß,

Karlito
Auf diesen Beitrag antworten »
javaneu

Ok jetzt verstehe ich es . Habt ihr auch noch paar tips wie ich weiter vorgehen soll?

Jetzt muss ich doch irgendwie die zusammengefassten Gleichungen aufschreiben oder ?
Auf diesen Beitrag antworten »
eulerscheZahl

Ja, jetzt musst du die Terme der Schleifen ablesen.
Dazu schaust du dir jeweils x0, x1 und x2 an.
Wenn sich die Variable innerhalb einer Schleife ändert, kommt sie in der Gleichung nicht vor. Bleibt sie während der kompletten Schleife auf 1, ist sie gesetzt, bei 0 wird sie negiert.

Nehmen wir als Beispiel die untere Schleife bei y0:
x0 ist für beide Felder auf 1, kommt also im Term vor (ebenso x2). x1 ist sowohl 1 als auch 0, kommt daher nicht vor. Daher gilt für die Schleife: [latex]x_0\cdot x_2[/latex].
Auf diesen Beitrag antworten »
javaneu

Bei y1 die Gemeinsamkeit ist ja nur , dass bei allen x2 nicht dabei ist ?

Ist das dann die Lösung ?
Auf diesen Beitrag antworten »
eulerscheZahl

Genau, y1 = ¬x2
Auf diesen Beitrag antworten »
Javaneu

Du meinst wohl y0 oder ?

Und für y2 ist = auch x2nicht
Auf diesen Beitrag antworten »
eulerscheZahl

Nein, ich meinte das schon so, wie ich es geschrieben habe.
[latex] y_2 = x_2[/latex]
[latex] y_1 = \overline{x_2}[/latex]
[latex] y_0 = x_0 \cdot x_2 + \overline{x_0} \cdot \overline{x_2}[/latex]
Auf diesen Beitrag antworten »
Javaneu

Sorry stimmt . Ich hatte mich bei der Reihenfolge vertan .

Damit ist die Aufgabe fertig oder ?
Auf diesen Beitrag antworten »
eulerscheZahl

Ja.
Auf diesen Beitrag antworten »
javaneu

Danke Euler .

Ich werde zwar gleich noch eine Aufgabe posten ,bei der ich probleme hab, kannst ja gegebenfalls tipss geben falls du Ahnung hast.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »