

Die Erfindung betrifft ein Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten.The invention relates to a method for restoring lost and / or damaged data.
Es ist bekannt, dass Daten während der Übertragung, z. B. über einen rauschbehafteten Kanal durch verschiedene Fehlerkorrekturschemata geschützt werden können. Zu diesem Zweck werden m Paritätspakete durch einen Encoder erzeugt, die k Informationspaketen hinzugefügt werden, sodass n = k + m Codewortpakete über den Kanal übertragen werden. Unter Verwendung der übertragenen Paritätsinformationen können verlorengegangene und/oder beschädigte Daten wiederhergestellt werden. Ein Codierschema, das aus dem Stand der Technik bekannt ist, ist Fountain Coding. Fountain Coding kann z. B. auf Packet Level angewandt werden und ist eine einfache und effiziente Technik, um eine zuverlässige Übertragung in einem Kommunikationssystem zu gewährleisten (
Es ist ferner aus dem Stand der Technik bekannt, Daten durch eine Konkatenation eines MDS-Codes und eines Fountain Codes zu schützen. Dies ist z. B. beschrieben in der Veröffentlichung –
Eine Klasse einfacher und effektiver Fountain Codes ist bspw. gegeben durch Linear Random Fountain Codes (LRFC) über Galois Felder höherer Ordnung, die beschrieben sind in –
Software-Implementierungen von Packet Level Encodern und Decodern sind besonders attraktiv, da sie keine großen Anstrengungen für das Design/die Implementierung erfordern und sie mehr Flexibilität im Vergleich zu Hardware-Implementierungen erlauben. Software Module können einfach in einer Hardware-Architektur implementiert werden, die nicht speziell designt wurde, um Packet Level Coding zu unterstützen. Da Software Packet Level Encoder und Decoder auch dazu bestimmt sind, auf energiebeschränkten Plattformen zu laufen (z. B. on-board Units von Raumschiffen, Landungsschiffen, Rovern, Orbitern in erdnahen und Deep-space Missionen, Satelitten) sind effiziente Verfahren notwendig.Software implementations of packet level encoders and decoders are particularly attractive because they do not require much design / implementation effort and allow more flexibility compared to hardware implementations. Software modules can be easily implemented in a hardware architecture that was not specifically designed to support packet level coding. Since software packet level encoders and decoders are also designed to run on energy-constrained platforms (eg on-board units of spaceships, dropships, rovers, orbiters in near-earth and deep-space missions, satellites) efficient procedures are necessary.
Die Generatormatrix einer Konkatenation eines MDS Codes und eines Linear Random Fountain Codes, wie sie aus dem Stand der Technik bekannt ist, ist unten dargestellt, als eine Konkatenation zweier Matrizen G' und G''.The generator matrix of a concatenation of an MDS code and a Linear Random Fountain Code, as known in the art, is shown below, as a concatenation of two matrices G 'and G ".
G' ist eine k × n MDS Matrix und G'' ist eine k × l Generator Matrix eines Fountain Codes. Da der Linear Random Fountain Code ein ratenloser Code ist, kann die Anzahl l der Spalten von G'' prinzipiell unendlich ansteigen.G 'is a k × n MDS matrix and G "is a k × 1 generator matrix of a fountain code. Since the Linear Random Fountain Code is a non-random code, the number 1 of the columns of G "can in principle increase infinitely.
Das Kodieren wird somit durchgeführt als c = u·G wobei u in Reihenvektor ist, der die k Eingangssymbole enthält und c ein Reihenvektor ist, der die n + l Ausgangssymbole enthält.The coding is thus performed as c = u * G where u is in row vector containing the k input symbols and c is a row vector containing the n + 1 output symbols.
Auf der Empfängerseite wird ein Unterset von m Symbolen empfangen. Wir bezeichnen durch J = {j1, j2, ..., jm} das Set der Indizes an den Symbolen von c, die empfangen wurden. Der empfangene Vektor y ist daher gegeben durch y = (y1, y2, ..., ym) = (cj1, cj2, ..., cjm) und er kann in Bezug gesetzt werden zu dem Quellblock u als y = u·G ~. Hier bezeichnet G ~ die k m Matrix zusammengesetzt durch die Spalten von G mit den Indizes in J, d. h.On the receiver side, a subset of m symbols is received. We denote by J = {j1 , j2 , ..., jm } the set of indices on the symbols of c that have been received. The received vector y is therefore given by y = (y1 , y2 , ..., ym ) = (cj1 , cj2 , ..., cjm ) and it can be related to the source block u as y = u · G ~. Here G ~ denotes the km matrix composed of the columns of G with the indices in J, ie
Die Wiederherstellung von u wird reduziert auf das Lösen des Systems von m = k + δ linearer Gleichungen in k Unbekannten G ~T·uT = YT mit der Matrix des Systems in (2), die umgeschrieben werden kann, wie es in (3) dargestellt ist, wobei m' die gesammelten Ausgangssymbole, die zu dem MDS Code gehören, sind. Somit kann man G ~T, wie unten dargestellt partitionieren.The restoration of u is reduced to solving the system of m = k + δ linear equations in k unknown G ~T · uT = YT with the matrix of the system in (2), which can be rewritten as described in ( 3), where m 'is the collected output symbols associated with the MDS code. Thus one can partition G ~T as shown below.
Das Decodieren gemäß dem Stand der Technik besteht aus dem Lösen des Gleichungssystems G ~T·uT = YT, dessen Matrix in (3) dargestellt ist, mit Gauss'scher Elimination. Somit ist u ein Reihenvektor, der die k Eingangssymbole enthält, y ist der empfangene Vektor und G ~T ist die Matrix des Systems. Insbesondere gehören m' Gleichungen zu dem MDS Code und die verbleibenden Gleichungen gehören zum Fountain Code. Weitere Hintergrundinformationen, die die vorliegende Erfindung betreffen, sind in den folgenden Veröffentlichungen beschrieben:
Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten bereitzustellen, wobei Daten mit einer verringerten Berechnungskomplexität wiederhergestellt werden können.It is an object of the present invention to provide a method for recovering lost and / or corrupted data whereby data can be restored with reduced computational complexity.
Diese Aufgabe wird erfindungsgemäß gelöst durch die Merkmale des Anspruchs 1.This object is achieved by the features of claim 1.
Gemäß der erfindungsgemäßen Methode werden Daten von einer Sendevorrichtung zu einer Empfangsvorrichtung übermittelt, wobei Daten kodiert werden durch einen Encoder, der mit der Sendevorrichtung verbunden ist. Daten werden übertragen über einen Übertragungskanal, der z. B. ein Broadcasting Netzwerk in einem Satellitenszenario ist. Jeder passende Übertragungskanal kann verwendet werden. Die übertragenen Daten werden dekodiert durch einen Decoder, der mit der Empfangsvorrichtung verbunden ist, wobei verlorengegangene und/oder beschädigte Daten während des Dekodierens wiederhergestellt werden.According to the inventive method, data is transmitted from a transmitting device to a receiving device, data being encoded by an encoder connected to the transmitting device. Data is transmitted via a transmission channel, the z. B. is a broadcasting network in a satellite scenario. Any suitable transmission channel can be used. The transmitted data is decoded by a decoder connected to the receiving device, recovering lost and / or damaged data during decoding.
Eine Generatormatrix wird für das Codieren und Decodieren verwendet, wobei Daten kodiert werden durch eine Konkatenation eines MDS Codes und eines Fountain Codes. Gemäß der Erfindung hat die Generator Matrix des MDS Codes eine Vandermonde oder Cauchy Struktur. Während des Decodierens ist ein wichtiger Schritt das Berechnen der inversen Matrix der Vandermonde oder Cauchy Matrix. In diesem Schritt kann die spezielle Struktur einer Vandermonde oder Cauchy Matrix ausgenutzt werden, um die Berechnungskomplexität für das Berechnen der inversen Matrix zu verringern. Die Vorteile des erfindungsgemäßen Verfahrens verglichen zum Stand der Technik werden im Folgenden gezeigt:
Gemäß dem Stand der Technik ist die Decodierkomplexität kubisch mit der Anzahl der Eingangssymbole des Codingschemas k, d. h. ~O(k3). Tatsächlich ist die Anzahl der Operationen, die während der Gauss'schen Elimination (GE) bei einer Matrix der Größe (k + δ) × k benötigt werden, im Packet Level bezeichnet als
According to the prior art, the decoding complexity is cubic with the number of input symbols of the coding scheme k, ie ~ O (k3 ). In fact, the number of operations needed during Gaussian elimination (GE) for a matrix of size (k + δ) × k is denoted in the Packet Level as
Der vorgeschlagene Decodieralgorithmus nutzt die Struktur der Decodiermatrix in (3) und die Struktur einer Vandermonde oder Cauchy Matrix. Um die Erfindung darzustellen, muss zuerst ein Überblick über Reed-Solomon Matrizen und Vandermonde Matrizen und ihre Inversen gegeben werden. Obwohl keine detaillierte Erklärung in Bezug auf Cauchy Matrizen gegeben wird, ist es ebenfalls möglich, eine Cauchy Matrix mit quadratischer Komplexität zu invertieren, wie gezeigt ist in –.
Im Folgenden wird ein Überblick einer Reed-Solomon Generator Matrix und Vandermonde Matrizen gegeben:
Die Generator Matrix eines Reed-Solomon Codes der Länge n = q – 1 und der Distanz d = n – k + 1 ist im Folgenden dargestellt und wird bezeichnet als G',wobei q die Ordnung des Galois Felds ist, über dem der Code erzeugt wurde, und α das primitive Element des Felds ist.The following is an overview of a Reed-Solomon generator matrix and Vandermonde matrices:
The generator matrix of a Reed-Solomon code of length n = q-1 and the distance d = n-k + 1 is shown below and is referred to as G ', where q is the order of the Galois field over which the code was generated, and α is the primitive element of the field.
Die transponierte Matrix von G' wird bezeichnet als G'T und ist wie folgt definiert,The transposed matrix of G 'is referred to as G' T and is defined as follows,
Eine quadratische Vandermonde Matrix der Ordnung y wird bezeichnet als Vγ und ist wie folgt definiert,wobei xi mit i = 1, ..., γ, γ unterschiedliche Elemente sind. Es ist zu beachten, dass das j-te Element in der i-ten Reihe von Vγ geschrieben werden kann als (xi)j–1, für j = 1, ..., γ. Eine wichtige Eigenschaft einer Vandermonde Matrix der Ordnung γ ist, dass sie eine Matrix mit vollem Rang ist, d. h. Rang (Vγ) = γ.A quadratic Vandermonde matrix of order y is designated Vγ and is defined as follows, where xi with i = 1, ..., γ, γ are different elements. It should be noted that the j-th element in the i-th row of Vγ can be written as (xi)j-1, for j = 1, ..., γ. An important property of a Vandermonde matrix of order γ is that it is a full rank matrix, ie rank (Vγ ) = γ.
Es wird bezeichnet mit J = {j1, j2, ..., jm'} ein zufälliges Set von m' <= k Indizes von Reihen von G'T. Jede der
Die besondere Struktur einer Vandermonde Matrix der Ordnung y kann ausgenutzt werden, um ihre Inverse (V(γ))–1 mit quadratischer Komplexität in γ, d. h. ~O(γ2) anstelle einer kubischen Komplexität in γ ~ O(γ3) zu berechnen, z. B. mit einem Gauss'schen Eliminations Algorithmus.The particular structure of a vandermonde matrix of order y can be exploited to give its inverse (V(γ) )-1 with quadratic complexity in γ, ie ~ O (γ2 ) instead of a cubic complexity in γ ~ O (γ3 ) calculate, for. With a Gaussian elimination algorithm.
Es ist bevorzugt, dass die Berechnung der inversen Vandermonde oder Cauchy Matrix stattfindet mit einer reduzierten Berechnungskomplexität, verglichen zu einer Matrix, die keine Vandermonde oder Cauchy Struktur hat, insbesondere mit quadratischer Komplexität, verglichen zu einer kubischen Komplexität für eine Matrix ohne die Vandermonde oder Cauchy Struktur.It is preferred that the computation of the inverse vowel probe or Cauchy matrix takes place with a reduced computational complexity compared to a matrix that does not have a vandermonde or cauchy structure, especially with quadratic complexity, compared to a cubic complexity for a matrix without the vandermonde or Cauchy Structure.
Es ist ferner bevorzugt, dass k Ausgangssymbole generiert werden durch den MDS Code und l Ausgangssymbole generiert werden durch den Fountain Code.It is further preferred that k output symbols are generated by the MDS code and l output symbols are generated by the fountain code.
Ferner ist es bevorzugt, dass die Konkatenation des MDS Codes und des Fountain Codes zu einem ratenlosen Code führt. Es ist bevorzugt, dass ein Reed-Solomon Code als ein MDS Code verwendet wird. Die inverse Matrix einer Vandermonde Matrix kann erlangt werden durch ein Produkt der beiden Matrizen U–1 und L–1, wobei U eine obere Dreiecksmatrix ist und L eine untere Dreiecksmatrix ist. Die Berechnung der Matrix L–1 umfasst die folgenden Verfahrensschritte:
Definieren von Koeffizienten der Matrix L–1, d. h. li,j mit i = 1, ..., γ und j = 1, ..., γ durch die folgenden Gleichungen:
Die Berechnung der Matrix U–1 umfasst die folgenden Verfahrensschritte:
Definieren der Koeffizienten der Matrix U–1, d. h. ui,j mit i = 1, ..., γ und j = 1, ..., γ durch die folgenden Gleichungen:
Im Folgenden wird die Anzahl der Operationen, die notwendig ist, um V(δ) zu invertieren, berechnet gemäß den vorgestellten rekursiven Formeln. Insbesondere berücksichtigt die Berechnung Vandermonde Matrizen mit Elementen in einem Galois Feld der Ordnung q und einem primitiven Element a, wie oben für Reed-Solomon Codes dargestellt. Somit sind die elementaren Operationen Additionen und Multiplikationen über GF(q).In the following, the number of operations necessary to invert V(δ) is calculated according to the recursive formulas presented. In particular, the calculation takes into account Vandermonde matrices with elements in a Galois field of order q and a primitive element a, as shown above for Reed-Solomon codes. Thus, the elementary operations are additions and multiplications over GF (q).
Die Komplexität der Berechnung von L–1 wird bezeichnet alsfür die Additionen und alsfür Multiplikationen und kann ausgedrückt werden, alswobei die erste Serie für die Operationen steht, um die Elemente auf der Hauptdiagonalen von L–1 zu berechnen, und die zweite Serie für die Operationen steht, um die anderen Terme zu berechnen. Somit ist die asymptotische Komplexität der Berechnung von L–1 quadratisch in γ, d. h. O(γ2).The complexity of calculating L-1 is referred to as for the additions and as for multiplications and can be expressed as where the first series represents the operations to compute the elements on the main diagonal of L-1 and the second series represents the operations to compute the other terms. Thus, the asymptotic complexity of calculating L-1 is quadratic in γ, ie O (γ2 ).
Die Komplexität der Berechnung von U–1 wird bezeichnet alsfür die Additionen und alsfür die Multiplikationen und kann ausgedrückt werden alsund basiert auf dem rekursiven Term. Somit ist die asymptotische Komplexität der Berechnung von U–1 ebenfalls quadratisch in γ, d. h. ~O(γ2).The complexity of calculating U-1 is referred to as for the additions and as for the multiplications and can be expressed as and is based on the recursive term. Thus, the asymptotic complexity of the computation of U-1 is also quadratic in γ, ie ~ O (γ2 ).
Es ist ferner bevorzugt, dass während des Decodierens das Lösen des Gleichungssystems, das definiert ist durch eine Matrix G ~T, die eine Konkatenation der Matrix G ~'T des MDS Codes und der Matrix G''T des Fountain Codes ist, die folgenden Verfahrensschritte umfasst:
Umschreiben der Matrix G ~T als eine Konkatenation von vier Matrizen in der folgenden Form:wobei die Reihen von Vm'×m' ein Set von m' < k Reihen einer Vandermonde Matrix der Ordnung m' und A, B and C zwei Matrizen ohne Vandermonde Struktur sind,
wobei das System, das auf der Empfängerseite gelöst werden muss, ist
Rewriting the matrix G ~T as a concatenation of four matrices in the following form: where the rows of Vm '× m' are a set of m '<k rows of a vandermonde matrix of order m' and A, B and C are two matrices without a vandermonde structure,
the system that needs to be solved on the receiver side is
Die Berechnung der Inversen von V unter Ausnutzung der Struktur einer Vandermonde Matrix kann durchgeführt werden, mit der folgenden Obergrenze hinsichtlich der Anzahl an Operationen, die bezeichnet werden als
Ferner ist es bevorzugt, dass der Decodieralgorithmus, die folgenden zusätzlichen Verfahrensschritte umfasst:
Multiplizieren der Gleichungen G ~T·uT = γT mit der Matrix M, die hiernach angegeben ist,sodass die Matrix des Systems wird zusodass der neue bekannte Term bezeichnet wird als y ≈T und das Gleichungssystem nun geschrieben werden kann, als G ≈T·uT = y ≈T.Furthermore, it is preferred that the decoding algorithm comprises the following additional method steps:
Multiplying the equations G ~T · uT = γT by the matrix M given below so that the matrix of the system becomes too so that the new known term is called y ≈T and the system of equations can now be written as G ≈T · uT = y ≈T.
Die Anzahl der Operationen, die in diesem Schritt involviert sind, ist die Anzahl der Operationen, die notwendig sind, um V–1 mit A zu multiplizieren, sodass man A' erhältplus die Anzahl an Operationen, die notwendig sind um V–1 mit yT zu multiplizieren, sodass man y ≈Terhält. Durch Verwendung der zerlegten Struktur von V–1 = U–1L–1 kann man zuerst die Anzahl der Operationen, die notwendig ist, um L–1 mit A zu multiplizieren und L–1 mit yT erhalten, wobei zu berücksichtigen ist, dass die Multiplikation mit U–1 die gleiche Anzahl an Operationen beinhaltet. Es ist insbesondereThe number of operations involved in this step is the number of operations necessary to multiply V-1 by A, thus obtaining A ' plus the number of operations necessary to multiply V-1 by yT , so that y ≈T receives. By using the decomposed structure of V-1 = U-1 L-1 one can first ofall obtain the number of operations necessary to multiply L-1 by A and L-1 by yT , bearing in mind that multiplication by U-1 involves the same number of operations. It is special
Die Anzahl an Operationen, die den o. g. Schritt (bezeichnet als
Der erfindungsgemäße Decodieralgorithmus kann ferner den folgenden zusätzlichen Verfahrensschritt umfassen:
Ausnullen der Matrix B in G ≈T durch Multiplikationen und Reihenadditionen, wobei die Matrix des Systems, die sich nach diesem Schritt ergibt, bezeichnet wird als G =T und hiernach angegeben istThe decoding algorithm according to the invention may further comprise the following additional method step:
Nulling the matrix B in G ≈T by multiplication and row additions, where the matrix of the system resulting from this step is denoted as G =T and given below
Die Anzahl der Operationen an G =T, die während dieses Schritts notwendig sind, wird bezeichnet als
Die Anzahl der Operationen, die an dem bekannten Term y ≈T notwendig sind, die zu dem neuen bekannten Term y =T führen und somit zu dem System G =T·uT = y =T, wird bezeichnet als,The number of operations necessary on the known term y ≈T leading to the new known term y =T and thus to the system G =T * uT = y =T is referred to as
Die Anzahl an Operationen, die in Schritt (3) involviert sind (bezeichnet als
Es ist ferner bevorzugt, dass das Lösen des Gleichungssystems der Matrix C' die Gauss'sche Elimination umfasst, wobei somit k – m' Informationssymbole, nämlich Pakete von L Bits wiederhergestellt werden.It is further preferred that the solving of the system of equations of the matrix C 'comprises the Gaussian elimination, thus restoring k - m' information symbols, namely packets of L bits.
Die Anzahl der Operationen, die während der Gauss'schen Elimination (GE) an einer Matrix der Größe (k + δ) × k im Packet Level benötigt werden, werden bezeichnet als
Die Anzahl der Operationen, die in diesem Schritt involviert sind, wird bezeichnet als
Es ist bevorzugt, dass die verbleibenden m' Eingangssymbole wiederhergestellt werden durch Rücksubstitution.It is preferred that the remaining m 'input symbols be restored by back substitution.
Die Anzahl der Operationen, die durch diesen Schritt notwendig sind, wird bezeichnet als
Somit wird die Gesamtkomplexität der Erfindung bezeichnet als
Der Schlüsselpunkt des vorgeschlagenen Decodieralgorithmus ist der Schritt bgzl der Berechnung der Inversen einer Vandermonde oder einer Cauchy Matrix der Ordnung m' mit quadratischer Komplexität, d. h. O((m')2), wobei z. B. der vorgeschlagene Algorithmus verwendet werden kann.The key point of the proposed decoding algorithm is the step bgzl of calculating the inverse of a quadratic complexity vowel probe or Cauchy matrix m ', ie, O ((m')2 ), where z. B. the proposed algorithm can be used.
Die Erfindung erlaubt das Einsparen einer bedeutenden Anzahl an Operationen für das Decodieren von Codes basierend auf konkatenierten MDS Codes und Fountain Codes. Die Komplexitätsverringerung wird erreicht durch Ausnutzen der Struktur der Matrizen des MDS Codes.The invention allows to save a significant number of operations for decoding codes based on concatenated MDS codes and fountain codes. The complexity reduction is achieved by exploiting the structure of the matrices of the MDS code.
Im Folgenden werden bevorzugte Ausführungsformen der Erfindung im Kontext der Figuren erläutert:In the following, preferred embodiments of the invention are explained in the context of the figures:
Das Szenario des vorliegenden Patents, d. h. Packet Level Coding mit konkatenierten MDS Codes (Vandermonde/Cauchy-Matrix-basierten Codes) und Fountain Codes, ist in
Im Folgenden wird ein konkretes Beispiel für die Berechnung der inversen einer Vandermonde Matrix beschrieben:
Es wird die folgende Vandermonde Matrix V(3) über GF(4) betrachtet, die mit dem primitiven Polynom p(x) = x2 + x + 1 generiert wurde. Die Inverse von V(3), V–1 = U–1L–1 muss gefunden werden,In the following a concrete example for the calculation of the inverse of a Vandermonde matrix is described:
Consider the following Vandermonde matrix V(3) over GF (4) generated with the primitive polynomial p (x) = x2 + x + 1. The inverse of V(3) , V-1 = U-1 L-1 must be found
Somit, x1 = α0 = 1, x2 = α1 = α, x3 = α2.Thus, x1 = α0 = 1, x2 = α1 = α, x3 = α2 .
Zuerst muss L–1 gefunden werden, gemäß dem vorgestellten Verfahren, ergibt dies:First, L-1 must be found, according to the presented procedure, this yields:
Nun soll U–1 berechnet werden. Gemäß dem vorgestellten Verfahren ergibt dies:Now let U-1 be calculated. According to the presented method this results in:
Dies ergibtThis results
Es jetzt einfach festzustellen, dass V–1·V = I, wobei I eine 3 × 3 Identitätsmatrix ist. Die Inverse von V wurde gefunden.It is now easy to see that V-1 · V = I, where I is a 3 × 3 identity matrix. The inverse of V was found.
Die Form, in die die Matrix G ~T des Systems umgeschrieben werden kann, ist auf der linken Seite der
Eine detaillierte Beschreibung der Erfindung wurde bereits gegeben. Die abgeleiteten Gleichungen für die Anzahl der benötigten Operationen für den vorgeschlagenen Decodieralgorithmus wurden in SW implementiert. Ein Vergleich des Standes der Technik mit der Erfindung wurde durchgeführt. Nun wird das folgende Beispiel für das Prüfen der Komplexität betrachtet.A detailed description of the invention has already been given. The derived equations for the number of operations required for the proposed decoding algorithm have been implemented in SW. A comparison of the prior art with the invention was made. Now consider the following example for checking the complexity.
Wir betrachten einen konkatenierten RS(255, 191) erzeugt in GF(256) mit einem Linear Random Fountain Code über GF(256), sodass die Ordnung des Galois Felds, in dem gearbeitet wird q = 256 ist. Somit ist k = 191, n = 255, q = 256. Es wird ausgegangen von L = 40 Bits, was eine Blockgröße von 3GPP/UMTS Turbo Codes ist. Es wird angenommen, dass m' = 187 ist und somit m = 191. Es wird die Komplexität des vorgeschlagenen Decodierverfahrens mit dem Stand der Technik, z. B. einem Gauss'schen Elimination Algorithmus verglichen.Consider a concatenated RS (255, 191) generated in GF (256) with a Linear Random Fountain Code over GF (256), so that the order of the Galois field in which q is worked is 256. Thus, k = 191, n = 255, q = 256. It is assumed that L = 40 bits, which is a block size of 3GPP / UMTS turbo codes. It is assumed that m '= 187, and thus m = 191. The complexity of the proposed prior art decoding method, e.g. B. compared to a Gaussian elimination algorithm.
Die Ergebnisse wurden berechnet gemäß den präsentierten Gleichungen und sind wiedergegeben in Tabelle I.The results were calculated according to the presented equations and are given in Table I.
Tabelle I. Komplexitätsvergleich für das präsentierte Beispiel im Hinblick auf die Gesamtanzahl der Operationen N = Na + Nm. RS(255, 191) + LRFC über GF(256), q = 256, L = 40 bits, m' = 187. Stand der Technik vs. Erfindung. Table I. Complexity comparison for the presented example with respect to the total number of operations N = Na + Nm . RS (255, 191) + LRFC over GF (256), q = 256, L = 40 bits, m '= 187. Invention.
Es ist zu beachten, dass für dieses Beispiel die Erfindung die Anzahl der im Stand der Technik benötigten Operationen um 84% reduziert.It should be noted that for this example, the invention reduces the number of operations required in the prior art by 84%.
Der vorgeschlagene Decodieralgorithmus kann verwendet in allen Arten von kommerziellen kabellosen und kabelgebundenen Übertragungssystemen, wie in der Satelittenkommunikation, der Kommunikation via Internet etc.The proposed decoding algorithm can be used in all types of commercial wireless and wired transmission systems, such as satellite communication, internet communication, etc.
Wie gezeigt wurde, erlaubt das vorgeschlagene Decodierverfahren, eine wesentliche Reduzierung der Komplexität des Decodieralgorithmus aus dem Stand der Technik, sodass konkatenierte Schemata basierend auf MDS Codes (z. B. Reed-Solomon Codes) und Fountain Codes (z. B. LRFC, LT Codes, Raptor Codes) auch auf Plattformen mit niedriger Rechenleistung ausgeführt werden können.As has been shown, the proposed decoding method allows a substantial reduction in the complexity of the prior art decoding algorithm, so that concatenated schemes are based MDS codes (eg Reed-Solomon codes) and fountain codes (eg LRFC, LT codes, Raptor codes) can also be executed on platforms with low computing power.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte Nicht-PatentliteraturCited non-patent literature
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102012004273.6ADE102012004273B4 (en) | 2012-03-01 | 2012-03-01 | Procedure for recovering lost and / or corrupted data |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102012004273.6ADE102012004273B4 (en) | 2012-03-01 | 2012-03-01 | Procedure for recovering lost and / or corrupted data |
| Publication Number | Publication Date |
|---|---|
| DE102012004273A1true DE102012004273A1 (en) | 2013-09-05 |
| DE102012004273B4 DE102012004273B4 (en) | 2014-07-03 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE102012004273.6AExpired - Fee RelatedDE102012004273B4 (en) | 2012-03-01 | 2012-03-01 | Procedure for recovering lost and / or corrupted data |
| Country | Link |
|---|---|
| DE (1) | DE102012004273B4 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050138533A1 (en)* | 2003-09-29 | 2005-06-23 | Canon Kabushiki Kaisha | Encoding/decoding device using a reed-solomon encoder/decoder |
| US20060212782A1 (en)* | 2005-03-15 | 2006-09-21 | Microsoft Corporation | Efficient implementation of reed-solomon erasure resilient codes in high-rate applications |
| DE102010029113A1 (en)* | 2010-05-19 | 2011-11-24 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Method for channel encoding of digital data in transmission system, involves determining random linear combination of code symbols by combining code symbols of block code and linear random fountain code |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050138533A1 (en)* | 2003-09-29 | 2005-06-23 | Canon Kabushiki Kaisha | Encoding/decoding device using a reed-solomon encoder/decoder |
| US20060212782A1 (en)* | 2005-03-15 | 2006-09-21 | Microsoft Corporation | Efficient implementation of reed-solomon erasure resilient codes in high-rate applications |
| DE102010029113A1 (en)* | 2010-05-19 | 2011-11-24 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Method for channel encoding of digital data in transmission system, involves determining random linear combination of code symbols by combining code symbols of block code and linear random fountain code |
| Title |
|---|
| Byers, M. Luby, M. Mitzenmacher, and A. Rege, "A digital fountain approach to reliable distribution of bulk data," SIGCOMM Comput. Commun. Rev., vol. 28, no. 4, Seiten 56-67, Okt. 1998 |
| F. Lazaro Blasco, G. Liva, "On the Concatenation of Non-Binary Random Linear Fountain Codes with Maximum Distance Separable Codes," in proceedings of International Conference on Communications, 5-9 Juni 2011, Japan |
| G. Liva, E. Paolini, and M. Chiani, "Performance versus Overhead for Fountain Codes over Fq", IEEE Communications Letters, vol. 14, no. 2, Seiten 178-180, Februar 2010 |
| Irving S. Reed, Gustave Solomon, "Polynomial codes over certain finite fields," Journal of the Society for Industrial and Applied Mathematics. [SIAM J.], 8, 1960 |
| K. R. M. L. J. Bloemer, M. Kalfane and D. Zuckerman, "An xor-based erasure-resilient coding scheme," ICSI, Tech. Rep., Aug. 1995, TR-95-048 |
| L. R. TURNER: Inverse of the Vandermonde Matrix with Applications. In: NASA Technical Note, 1966, S. 1-14* |
| L. Richard Turner, "Inverse of Vandermonde matrix with applications," NASA Technical Note, August 1966 |
| M. K. R. M. L. J. Bloemer, M. Kalfane and D. Zuckerman, "An xor-based erasure-resilient coding scheme," ICSI, Tech. Rep., Aug. 1995, TR-95-048 |
| Publication number | Publication date |
|---|---|
| DE102012004273B4 (en) | 2014-07-03 |
| Publication | Publication Date | Title |
|---|---|---|
| DE102009017540B4 (en) | Procedure for recovering lost and / or damaged data | |
| DE602005003767T2 (en) | METHOD FOR COMPRESSING A LOT OF CORRELED SIGNALS | |
| DE69904621T2 (en) | METHOD FOR RESTORING LOST INFORMATION PACKAGES IN PACKET TRANSFER PROTOCOLS | |
| DE69905987T2 (en) | Method and device for coding and signal transmission using a sub-code of a product code | |
| DE60206419T2 (en) | DELETION AND INDIVIDUAL ERROR CORRECTION DEVICER FOR LINEAR BLOCK CODES | |
| DE60301970T2 (en) | Method and apparatus for weighted, non-binary repetitive coding and space-time coding | |
| DE102010035210B4 (en) | Method for recovering lost data and correcting corrupted data | |
| DE102012203653B3 (en) | Method for restoring lost or damaged data, involves carrying-out operations, which are carried on equations that have common equation systems to be solved, once instead of certain times, so that decoding complexity is reduced | |
| DE102012004273B4 (en) | Procedure for recovering lost and / or corrupted data | |
| DE102013201422B3 (en) | Method for restoring lost and/or damaged data transmitted from transmitting device to receiving device, involves replacing current entry of LDPC parity check matrix with entry of Galois field until entry in matrix is modified | |
| DE102014204828B4 (en) | Procedure for recovering lost and / or corrupted data | |
| DE102013218311B4 (en) | Procedure for recovering lost and / or damaged data | |
| DE102014208996B3 (en) | Procedure for recovering lost and / or corrupted data | |
| DE102022111624B4 (en) | Error correction with fast syndrome calculation | |
| DE102013213778B3 (en) | A method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding | |
| DE102013223813B4 (en) | Procedures for recovering lost and / or corrupted data | |
| DE102013219863B4 (en) | A method of transmitting a message from a sender to a receiver via a communication medium using packet-level encoding | |
| DE102010029113B4 (en) | Method for channel coding of digital data | |
| DE102011115100B3 (en) | Method for restoring lost and/or corrupted data, involves fragmenting output symbols of encoder to fit frame in physical layer, such that received fragments are set as output symbols of parallel encoders | |
| DE102016201408B4 (en) | Method for transmitting data | |
| DE102011102503B3 (en) | Method for correcting corrupted data, involves generating tanner graph as representation of parity check-matrix of linear block code, and setting all variable nodes of tanner graph in unverified status | |
| DE102011015811B3 (en) | Device for coding k8L information-bits in e.g. universal mobile telecommunications system-applications, has coder for receiving m-symbol-parity-vector from m-symbol-vector, where elements in main-diagonals are formed as non-zero-elements | |
| DE102014203098B4 (en) | Procedure for recovering lost and / or corrupted data | |
| DE102014215478B4 (en) | Method for transmitting data | |
| DE102014210955B4 (en) | Procedure for recovering lost and / or corrupted data |
| Date | Code | Title | Description |
|---|---|---|---|
| R012 | Request for examination validly filed | ||
| R016 | Response to examination communication | ||
| R016 | Response to examination communication | ||
| R018 | Grant decision by examination section/examining division | ||
| R020 | Patent grant now final | ||
| R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |