Das Codieren der Theorie

Das Codieren der Theorie ist die Studie der Eigenschaften von Codes und ihrer Fitness für eine spezifische Anwendung. Codes werden für die Datenkompression, Geheimschrift, Fehlerkorrektur und mehr kürzlich auch für das Netzcodieren verwendet. Codes werden durch verschiedene wissenschaftliche Disziplinen — wie Informationstheorie, Elektrotechnik, Mathematik und Informatik — zum Zweck studiert, effiziente und zuverlässige Datenübertragungsmethoden zu entwerfen. Das schließt normalerweise die Eliminierung der Überfülle und die Korrektur (oder Entdeckung) Fehler in den übersandten Daten ein.

Es gibt im Wesentlichen zwei Aspekte zum Codieren der Theorie:

  1. Datenkompression (oder, das Quellcodieren)
  2. Fehlerkorrektur (oder, das Kanalcodieren).

Diese zwei Aspekte können in der Kombination studiert werden. Quelle, die Versuche verschlüsselt, die Daten von einer Quelle zusammenzupressen, um es effizienter zu übersenden. Diese Praxis wird jeden Tag im Internet gefunden, wo die allgemeine Schwirren-Datenkompression verwendet wird, um die Netzlast zu reduzieren und Dateien kleiner zu machen. Das zweite, Kanalcodierung, fügt Extradatenbit hinzu, um die Übertragung von Daten robuster zur Störungsgegenwart auf dem Übertragungskanal zu machen. Der gewöhnliche Benutzer kann vieler Anwendungen mit dem Kanalcodieren nicht bewusst sein. Eine typische Musik-CD verwendet den Code des Rohres-Solomon, um für Kratzer und Staub zu korrigieren. In dieser Anwendung ist der Übertragungskanal die CD selbst. Mobiltelefone verwenden auch Codiertechniken, um für das Verblassen und Geräusch der hohen Frequenzradioübertragung zu korrigieren. Datenmodems, Telefonübertragungen und NASA verwenden alle Kanalcodiertechniken, um die Bit, zum Beispiel der Turbocode und die LDPC-Codes durchzubringen.

Das Quellcodieren

Das Ziel des Quellcodierens ist, die Quelldaten zu nehmen und es kleiner zu machen.

Grundsatz

Das Wärmegewicht einer Quelle ist das Maß der Information. Grundsätzlich versuchen Quellcodes, die Überfülle-Gegenwart in der Quelle zu reduzieren, und die Quelle mit weniger Bit zu vertreten, die mehr Information tragen.

Datenkompression, die ausführlich versucht, die durchschnittliche Länge von Nachrichten gemäß einem besonderen angenommenen Wahrscheinlichkeitsmodell zu minimieren, wird Wärmegewicht-Verschlüsselung genannt.

Verschiedene Techniken, die von der Quelle verwendet sind, die Schemas codiert, versuchen, die Grenze des Wärmegewichtes der Quelle zu erreichen. C (x)  H (x), wo H (x) Wärmegewicht der Quelle (bitrate) ist, und ist C (x) der bitrate nach der Kompression. Insbesondere keine Quelle, die Schema codiert, kann besser sein als das Wärmegewicht der Quelle.

Beispiel

Faxübertragung verwendet einen einfachen Lauf-Länge-Code.

Das Quellcodieren schließt auch Eliminierung aller Daten dass überflüssig das Bedürfnis nach dem Sender, ein

das vermindert die für den Übertragungsprozess erforderliche Bandbreite.

Das Kanalcodieren

Das Ziel der Kanalcodiertheorie ist, Codes zu finden, die schnell übersenden, viele gültige Codewörter enthalten und korrigieren oder mindestens viele Fehler entdecken können. Während nicht gegenseitig exklusiv die Leistung in diesen Gebieten ein Handel davon ist. Also, verschiedene Codes sind für verschiedene Anwendungen optimal. Die erforderlichen Eigenschaften dieses Codes hängen hauptsächlich von der Wahrscheinlichkeit von Fehlern ab, die während der Übertragung geschehen. In einer typischen CD ist die Schwächung hauptsächlich Staub oder Kratzer. So werden Codes auf eine durchgeschossene Weise verwendet. Die Daten werden über die Platte ausgedehnt. Obwohl nicht ein sehr guter Code, ein einfacher mehrmaliger Code als ein verständliches Beispiel dienen kann. Nehmen Sie an, dass wir einen Datenblock Bit nehmen (Ton vertretend), und ihn dreimal senden. Am Empfänger werden wir die drei Wiederholungen stückweise untersuchen und eine Majoritätsstimme nehmen. Die Drehung darauf ist, dass wir die Bit in der Ordnung nicht bloß senden. Wir schießen sie durch. Die Datenblock-Bit werden zuerst in 4 kleinere Blöcke geteilt. Dann fahren wir durch den Block Rad und senden ein Bit von Anfang an, dann das zweite usw. Das wird dreimal getan, um die Daten über die Oberfläche der Platte auszudehnen. Im Zusammenhang des einfachen mehrmaligen Codes kann das nicht wirksam scheinen. Jedoch gibt es stärkere bekannte Codes, die beim Korrigieren des "Platzen"-Fehlers eines Kratzers oder eines Staub-Punkts sehr wirksam sind, wenn diese durchschießende Technik verwendet wird.

Andere Codes sind für verschiedene Anwendungen passender. Tiefe Raumkommunikationen werden durch das Thermalgeräusch des Empfängers beschränkt, der mehr von einer dauernden Natur ist als eine bursty Natur. Ebenfalls werden engbandige Modems durch das Geräusch, die Gegenwart im Telefonnetz beschränkt und auch besser als eine dauernde Störung modelliert. Mobiltelefone sind dem schnellen Verblassen unterworfen. Die hohen verwendeten Frequenzen können das schnelle Verblassen des Signals verursachen, selbst wenn der Empfänger einige Zoll bewegt wird. Wieder gibt es eine Klasse von Kanalcodes, die entworfen werden, um das Verblassen zu bekämpfen.

Geradlinige Codes

Algebraische Codiertheorie des Begriffes zeigt das Teilfeld an, Theorie zu codieren, wo die Eigenschaften von Codes in algebraischen Begriffen ausgedrückt und dann weiter erforscht werden.

Algebraische Codiertheorie wird in zwei Haupttypen von Codes grundsätzlich geteilt:

  1. Geradliniger Block codiert
  2. Codes von Convolutional.

Es analysiert die folgenden drei Eigenschaften eines Codes - hauptsächlich:

  • Codewortlänge
  • Gesamtzahl von gültigen Codewörtern
  • die minimale Entfernung zwischen zwei gültigen Codewörtern, mit hauptsächlich die Entfernung von Hamming, manchmal auch andere Entfernungen wie die Entfernung von Lee.

Geradlinige Block-Codes

Geradlinige Block-Codes haben das Eigentum der Linearität, d. h. die Summe irgendwelcher zwei Kennwörter ist auch ein Codewort, und sie werden auf die Quellbit in Blöcken, folglich der Name geradlinige Block-Codes angewandt. Es gibt Block-Codes, die nicht geradlinig sind, aber es ist schwierig zu beweisen, dass ein Code ein guter ohne dieses Eigentum ist.

Geradlinige Block-Codes werden durch ihre Symbol-Alphabete (z.B, binär oder dreifältig) und Rahmen (n, M, d) wo zusammengefasst

  1. n ist die Länge des Kennwortes, in Symbolen,
  2. M ist die Zahl von Quellsymbolen, die verwendet werden, um sofort, zu verschlüsseln
  3. d ist das Minimum hamming Entfernung für den Code.

Es gibt viele Typen von geradlinigen Block-Codes wie

  1. Zyklische Codes (z.B, Codes von Hamming)
  2. Wiederholung codiert
  3. Gleichheit codiert
  4. Polynomische Codes (z.B, BCH Codes)
  5. Rohr-Solomon codiert
  6. Algebraische geometrische Codes
  7. Rohr-Muller codiert
  8. Vollkommene Codes.

Block-Codes werden an den Bereich gebunden, der Problem einpackt, das etwas Aufmerksamkeit im Laufe der Jahre erhalten hat. In zwei Dimensionen ist es leicht sich zu vergegenwärtigen. Nehmen Sie ein Bündel der Penny-Wohnung auf dem Tisch und stoßen Sie sie zusammen. Das Ergebnis ist ein Sechseck-Muster wie ein Nest einer Biene. Aber Block-Codes verlassen sich auf mehr Dimensionen, die nicht leicht vergegenwärtigt werden können. Das starke (24,12) in tiefen Raumkommunikationen verwendeter Code von Golay verwendet 24 Dimensionen. Wenn verwendet, als ein binärer Code (der es gewöhnlich ist) beziehen sich die Dimensionen auf die Länge des Kennwortes, wie definiert, oben.

Die Theorie zu codieren verwendet das N-dimensional Bereich-Modell. Zum Beispiel, wie viele Pennies in einen Kreis auf einer Tischplatte, oder in 3 Dimensionen gepackt sein können, wie viele Marmore in einen Erdball gepackt sein können. Andere Rücksichten gehen in die Wahl eines Codes ein. Zum Beispiel wird Sechseck, das sich in die Einschränkung eines rechteckigen Kastens verpacken lässt, leeren Raum an den Ecken verlassen. Da die Dimensionen größer werden, wächst der Prozentsatz des leeren Raums kleiner. Aber an bestimmten Dimensionen der sich verpacken lassende Gebrauch sind der ganze Raum und diese Codes die so genannten "vollkommenen" Codes. Die einzigen nichttrivialen und nützlichen vollkommenen Codes sind die Entfernung 3 Codes von Hamming mit der Rahmen-Zufriedenheit (2 - 1, 2 - 1 - r, 3), und [23,12,7] binär und [11,6,5] dreifältige Codes von Golay.

Ein anderes Codeeigentum ist die Zahl von Nachbarn, die ein einzelnes Kennwort haben kann.

Betrachten Sie wieder Pennies als ein Beispiel. Zuerst packen wir die Pennies in einem rechteckigen Bratrost ein. Jeder Penny wird 4 nahe Nachbarn haben (und 4 an den Ecken, die weiter weg sind). In einem Sechseck wird jeder Penny 6 nahe Nachbarn haben. Wenn wir die Dimensionen vergrößern, nimmt die Zahl von nahen Nachbarn sehr schnell zu. Das Ergebnis ist die Zahl von Wegen für das Geräusch, um den Empfänger einen Nachbar wählen zu lassen (folglich ein Fehler) wächst ebenso. Das ist eine grundsätzliche Beschränkung von Block-Codes, und tatsächlich allen Codes. Es kann härter sein, einen Fehler einem einzelnen Nachbar zu verursachen, aber die Zahl von Nachbarn kann groß genug sein, so leidet die Fehlweisungswahrscheinlichkeit wirklich.

Eigenschaften von geradlinigen Block-Codes werden in vielen Anwendungen verwendet. Zum Beispiel wird das Einzigartigkeitseigentum des Syndroms-coset von geradlinigen Block-Codes im Gitterwerk-Formen, einem der am besten bekannten sich formenden Codes verwendet. Dieses dasselbe Eigentum wird in Sensornetzen für die verteilte Quelle verwendet, die codiert

Codes von Convolutional

Die Idee hinter einem Convolutional-Code ist, jedes Kennwort-Symbol die belastete Summe der verschiedenen Eingangsnachrichtensymbole sein zu lassen. Das ist in LTI Systemen verwendeter Gehirnwindung ähnlich, um die Produktion eines Systems zu finden, wenn Sie den Eingang und die Impuls-Antwort wissen.

So finden wir allgemein die Produktion des Systems convolutional encoder, der die Gehirnwindung des Eingangs ist, hat gegen die Staaten der Gehirnwindung encoder, Register gebissen.

Im Wesentlichen, convolutional Codes bieten mehr Schutz gegen das Geräusch nicht an als ein gleichwertiger Block-Code. In vielen Fällen bieten sie allgemein größere Einfachheit der Durchführung über einen Block-Code der gleichen Macht an. Der encoder ist gewöhnlich ein einfacher Stromkreis, der Zustandgedächtnis und etwas Feed-Back-Logik, normalerweise XOR Tore hat. Der Decoder kann in der Software oder firmware durchgeführt werden.

Der Viterbi Algorithmus ist der optimale Algorithmus, der verwendet ist, um Convolutional-Codes zu decodieren. Es gibt Vereinfachungen, um die rechenbetonte Last zu reduzieren. Sie verlassen sich auf die Suche nur der wahrscheinlichsten Pfade. Obwohl nicht optimal, wie man allgemein gefunden hat, sie gute Ergebnisse in den niedrigeren Geräuschumgebungen gegeben haben.

Codes von Convolutional werden in voiceband Modems (V.32, V.17, V.34) und in GSM Mobiltelefonen, sowie militärischen und Satellitenkommunikationseinrichtungen verwendet.

Andere Anwendungen, Theorie zu codieren

Eine andere Sorge, Theorie zu codieren, entwirft Codes diese Hilfssynchronisation. Ein Code kann entworfen werden, so dass eine Phase-Verschiebung leicht entdeckt und korrigiert werden kann, und dass vielfache Signale auf demselben Kanal gesandt werden können.

Eine andere Anwendung von Codes, die in einigen Mobiltelefonsystemen verwendet sind, ist Codeabteilung vielfacher Zugang (CDMA). Jedes Telefon wird eine Codefolge zugeteilt, die mit den Codes anderer Kopfhörer ungefähr unkorreliert ist. Wenn man übersendet, wird das Codewort verwendet, um die Datenbit abzustimmen, die die Stimmennachricht vertreten. Am Empfänger wird ein Demodulation-Prozess durchgeführt, um die Daten wieder zu erlangen. Die Eigenschaften dieser Klasse von Codes erlauben vielen Benutzern (mit verschiedenen Codes), denselben Radiokanal zur gleichen Zeit zu verwenden. Zum Empfänger werden die Signale anderer Benutzer zum Demodulator nur als ein auf niedriger Stufe Geräusch erscheinen.

Eine andere allgemeine Klasse von Codes ist die automatische mehrmalige Bitte (ARQ) Codes. In diesen Codes fügt der Absender Überfülle zu jeder Nachricht für die Fehlerüberprüfung gewöhnlich hinzu, indem er Kontrolle-Bit hinzufügt. Wenn die Kontrolle-Bit mit dem Rest der Nachricht nicht im Einklang stehend sind, wenn es ankommt, wird der Empfänger den Absender bitten, die Nachricht wiederzuübersenden. Alle außer den einfachsten Fernnetz-Protokollen verwenden ARQ. Allgemeine Protokolle schließen SDLC (IBM), TCP (Internet), X.25 (International) und viele andere ein. Es gibt ein umfassendes Forschungsgebiet zu diesem Thema wegen des Problems, ein zurückgewiesenes Paket gegen ein neues Paket zu vergleichen. Ist es ein neues, oder ist es eine Weitermeldung? Normalerweise numerierende Schemas, werden als in TCP verwendet.

Gruppenprüfung

Gruppe, die Gebrauch prüft, codiert auf eine verschiedene Weise. Denken Sie eine große Gruppe von Sachen, in denen ganz wenige auf eine besondere Weise verschieden sind (für z.B. Fehlerhafte Produkte oder angesteckte Testthemen). Die Idee von der Gruppenprüfung ist zu bestimmen, welche Sachen durch das Verwenden so weniger Tests wie möglich "verschieden" sind. Der Ursprung des Problems hat seine Wurzeln im Zweiten Weltkrieg, als die USA-Armeeluftwaffen seine Soldaten für Syphilis prüfen mussten. Es ist aus einem bahnbrechenden Vortrag von Robert Dorfman entstanden.

Das analoge Codieren

Information wird analog in den Nervennetzen des Verstands, in der analogen Signalverarbeitung und analogen Elektronik verschlüsselt. Aspekte des analogen Codierens schließen analoge Fehlerkorrektur, analoge Datenkompression ein. analoge Verschlüsselung

Das Nervencodieren

Das Nervencodieren ist ein neuroscience-zusammenhängendes Feld, das damit betroffen ist, wie sensorische und andere Information im Gehirn durch Netze von Neuronen vertreten wird. Die Hauptabsicht, das Nervencodieren zu studieren, soll die Beziehung zwischen dem Stimulus und der Person oder dem Ensemble neuronal Antworten und die Beziehung unter der elektrischen Tätigkeit der Neurone im Ensemble charakterisieren. Es wird gedacht, dass Neurone sowohl digitale als auch analoge Information verschlüsseln können, und dass Neurone den Grundsätzen der Informationstheorie und Kompresse-Information folgen, und entdecken und Fehler in den Signalen korrigieren, die überall im breiteren und Gehirnnervensystem gesandt werden.

Siehe auch

  • Das Codieren des Gewinns
  • Bedeckung des Codes
  • Fehlerkorrekturcode
  • Gruppe, die prüft
  • Entfernung von Hamming, Gewicht von Hamming
  • Informationstheorie
  • Lee-Entfernung
  • Das Raumcodieren und MIMO in der vielfachen Antenne-Forschung
  • Das Raumungleichheitscodieren ist das Raumcodieren, das Repliken des Informationssignals entlang verschiedenen Raumpfaden übersendet, um die Zuverlässigkeit der Datenübertragung zu vergrößern.
  • Raumeinmischungsannullierung, die codiert
  • Das Raummehrfachcodieren
  • Zeitachse der Informationstheorie, der Datenkompression und des Fehlers, der Codes korrigiert
  • Liste von algebraischen Codiertheorie-Themen
  • Gefaltetes Rohr-Solomon codiert

Referenzen

  • Vera Pless (1982), Einführung in die Theorie von Fehlerkorrekturcodes, John Wiley & Sons, Inc., internationale Standardbuchnummer 0-471-08684-3.
  • Elwyn R. Berlekamp (1984), Algebraische Codiertheorie, der Ägäische Park Press (verbesserte Auflage), internationale Standardbuchnummer 0894120638, internationale Standardbuchnummer 978-0894120633.
  • Randy Yates, ein Codiertheorie-Tutorenkurs.

Bohlen-durchstoßen Sie Skala / Crimp
Impressum & Datenschutz