WO2020089102A1 - Interleaving mit zirkularer zeilen-rotation für die übertragung bei telegramm-splitting - Google Patents

Interleaving mit zirkularer zeilen-rotation für die übertragung bei telegramm-splitting Download PDF

Info

Publication number
WO2020089102A1
WO2020089102A1 PCT/EP2019/079243 EP2019079243W WO2020089102A1 WO 2020089102 A1 WO2020089102 A1 WO 2020089102A1 EP 2019079243 W EP2019079243 W EP 2019079243W WO 2020089102 A1 WO2020089102 A1 WO 2020089102A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
sub
value sequence
encoded
interleaving
Prior art date
Application number
PCT/EP2019/079243
Other languages
English (en)
French (fr)
Inventor
Josef Bernhard
Gerd Kilian
Jakob KNEISSL
Johannes WECHSLER
Dominik Soller
Raimund Meyer
Frank Obernosterer
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Publication of WO2020089102A1 publication Critical patent/WO2020089102A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/2721Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions the interleaver involves a diagonal direction, e.g. by using an interleaving matrix with read-out in a diagonal direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/713Spread spectrum techniques using frequency hopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/04Arrangements for detecting or preventing errors in the information received by diversity reception using frequency diversity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B2001/6908Spread spectrum techniques using time hopping

Definitions

  • Embodiments of the present invention relate to a data transmitter and, in particular, to a data transmitter which is designed to interleave data and transmit it in accordance with the T elegram splitting method.
  • Exemplary embodiments relate to a corresponding data receiver and corresponding methods for sending and receiving data.
  • the telegram splitting method (telegram splitting method) is known, according to which a telegram (or data packet) is divided into a plurality of sub-data packets, which transmit in time and optionally in frequency, distributed using a jump pattern will.
  • [7] describes a data transmission arrangement that has an energy harvesting element as an energy source.
  • the data transmission arrangement is designed to transmit data using the telegram splitting method, with a partial packet pending for transmission being either transmitted, buffered and later transmitted, or discarded depending on an amount of electrical energy that can be provided by the energy supply device.
  • Channel coding techniques are also known.
  • Channel coding techniques are used to detect and correct transmission errors in digital systems.
  • redundant information is added to the original information, which the receiver uses to identify and / or correct errors.
  • Block coding encodes, transmits and decodes blocks of fixed length.
  • the coding algorithm transforms each block of K information symbols into a code word of N symbols (with N> K) by adding NK test symbols.
  • the convolutional codes form a second important group of error-correcting codes. In contrast to the blockcodes, there is no such pronounced, algebraically usable mathematical for the (mostly binary) convolutional codes
  • Performance features for convolutional codes can generally not be calculated using mathematical analyzes because the number of errors that can be corrected, based on the code length, also depends on the error pattern.
  • Convolutional codes are particularly sensitive to bundle-like errors, which are therefore distributed by additional measures such as code interleaving so that symbols in the transmitted telegram and in the channel-coded code word have the greatest possible distance from one another in order to influence the bundle errors reduce.
  • interleaver structures that are used in today's mobile radio systems are block interleaving (or matrix interleaving) and diagonal interleaving (or convolution interleaving).
  • the matrix is filled line by line and read out column by column. In this way, bits that come out of the channel encoder one after the other are transmitted on the channel at intervals of 1 bit.
  • FIG. 1 shows a schematic block diagram of a matrix interleaver 10 (German matrix interleaver) and a matrix deinterleaver 20 (matrix deinterleaver).
  • FIG. 1 shows a write-in and read-out process in a block interleaver.
  • a data bit sequence 12 is read line by line, sequentially into a temporary matrix of the matrix interleaver 10, the temporary matrix of the matrix interleaver 10 being read out column by column, in order to obtain an interleaved, coded data bit sequence 14.
  • an encoded, interleaved data bit sequence 22 (for example a received version of the interleaved, encoded data bit sequence 14) is read in columns, sequentially, into a temporary matrix of the matrix deinterleaver 20, the matrix of the matrix deinterleaver 20 being row by row, is read out sequentially in order to obtain an encoded data bit sequence 24 which is identical to the data bit sequence 12 originally fed in on the transmission side.
  • the number J of columns in the interleaving matrix is typically equal to the code word length N. Then a bundle error of length I or less is divided into I code words, so that each code word contains only at most one bit error.
  • the optimal form of the interleaver matrix cannot be determined so easily. According to [4], a pragmatic approach is often followed by trying out different alternatives using computer simulations.
  • one fundamental property must be taken into account in the design: in convolutionally coded bit sequences, the bits have a mutual dependency that decreases with increasing time interval. It is therefore expedient to separate closely adjacent bits preferably as far as possible.
  • the block interleaver is modified in UMTS, for example, by specifically swapping rows and columns.
  • Another type of block interleaving, the so-called inter-burst interleaving, is used in GSM.
  • GSM Global System for Mobile Communications
  • a speech block is therefore distributed over 8 time slots, each time slot containing 2 halves, which come from different speech blocks. This division into halves is often called block-diagonal interleaving.
  • GSM also uses the intra-burst interleaving. This means the scrambling of the bits within a time slot.
  • the object of the present invention is to distribute coded data to be transmitted using the telegram splitting method over a plurality of sub-data packets in such a way that a loss of a large number (for example a maximum possible number) of sub-data packets can be compensated for .
  • Embodiments create a data transmitter, the data transmitter being configured to transmit a data value sequence [e.g. Bit string] to encode a coded data string [e.g. encoded bit sequence], wherein the data transmitter is designed to interleave the encoded data value sequence based on an interleaving function in order to obtain an interleaved, encoded data value sequence, the interleaving function of row-by-row filling of a matrix and column-by-row reading of a cyclically row-rotated version of the matrix corresponds to [eg the interleaving function can be based on a temporary matrix which is filled line by line and read out column by column or cyclically line rotated between filling and reading], the data transmitter being designed to distribute the interleaved, coded data value sequence in blocks to a plurality of sub-data packets [ e.g.
  • the data transmitter being designed to transmit the plurality of sub-data packets based on a time and frequency hopping method [e.g. Telegram Splitting Procedure].
  • At least one line e.g. line rotated [e.g. cyclically shifted, e.g. cyclically shifted or rotated by at least one matrix element].
  • the cyclically line-rotated version of the matrix e.g. row by row cyclically rotated version of the matrix
  • at least one row [compared to the matrix] by at least one element e.g. row by row cyclically rotated version of the matrix
  • At least two lines in the cyclically line-rotated version of the matrix, at least two lines can be line-rotated, the at least two lines being differently line-rotated [for example, differently cyclically shifted, for example cyclically shifted or rotated by different elements].
  • at least two lines [compared to the matrix] can be cyclically shifted by different elements.
  • a first line can be cyclically shifted by one element, while a second line can be cyclically shifted by two elements.
  • each row [e.g. started with the second line] by at least one element [e.g. by exactly one element or more elements] more cyclically line-rotated [e.g. cyclically shifted] as an immediately preceding line.
  • a first line may be cyclically shifted by zero elements [or one element [or more elements]], and a second line may be cyclically shifted by at least one element more than the first line, e.g. by one element [or two elements [or more elements]], whereby a third line can be cyclically shifted by at least one element more than the second line, e.g. by two elements [or three elements [or more elements]].
  • a first line can be cyclically shifted by zero elements
  • a second line can be cyclically shifted by one element
  • a third line can be cyclically shifted by two elements, etc.
  • the data transmitter can be designed to distribute the interleaved, coded data value sequence in blocks to the plurality of sub-data packets in such a way that the plurality of sub-data packets each have interleaved, coded data values of the interleaved, coded data value sequence that correspond to a column of the line-rotated version of the matrix.
  • the data transmitter can be designed to divide the interleaved, coded data value sequence into a plurality of blocks [for example, immediately adjacent blocks] and to divide the plurality of blocks into the plurality of sub-data packets in blocks.
  • the data transmitter can be designed to distribute a first block of the nested, coded data value sequence to a first sub-data packet, and to distribute a second block of the nested, coded data value sequence to a second sub-data packet, and to distribute a third block of the distribute the nested, coded data value sequence to a third sub-data packet, etc.
  • each block of the plurality of blocks may correspond to a column of the cyclically row-rotated version of the matrix.
  • nested, coded data values of a first block of the nested, coded data value sequence correspond to a first column of the cyclically line-rotated version of the matrix
  • nested, coded data values of a second block of the nested, coded data value sequence corresponding to a second column of the cyclically line-rotated version of the matrix
  • nested, coded data values of a third block of the nested, coded data value sequence correspond to a third column of the cyclically row-rotated version of the matrix
  • the data transmitter may be configured to provide the plurality of data packets with preambles, the data transmitter being configured to append the respective nested, coded data values of the nested, coded data value sequence in the respective sub-data packets of the respective preamble [e.g. so that nested, encoded data values that correspond to elements of the cyclically line-rotated version of the matrix that have a smaller line number have a smaller distance to the respective preamble than nested, coded data values that correspond to elements of the cyclically line-rotated version of the matrix that have a higher number Have line number].
  • the data transmitter can be designed to provide the plurality of data packets with midambles, the data transmitter being designed to transmit the arrange the respective nested, coded data values of the nested, coded data value sequence in the respective sub-data packets alternately before and after the respective midamble [e.g. so that nested, coded data values that correspond to elements of the cyclically line-rotated version of the matrix that have a smaller line number, one have a smaller distance to the respective midamble than nested, coded data values which correspond to elements of the cyclically line-rotated version of the matrix which have a higher line number].
  • k 0, 1, ..., L-1
  • k is the index of the coded data values of the coded data value sequence before the interleaving
  • the data transmitter being designed to block the interleaved, coded data value sequence in such a way towards the plurality of sub-data packets distributed that the encoded, interleaved data values contained in the respective sub-data packets each correspond to elements of a column of the interleaving matrix.
  • k 0, 1, ..., L-1
  • k is the index of the encoded data values of the encoded data value sequence before the interleaving
  • the data transmitter being designed to distribute the encoded data values in such a way that they are interleaved over the plurality of sub-data packets, that the encoded, interleaved data values contained in the respective sub-data packets each correspond to elements of a column of the interleaving matrix.
  • Nesting function corresponds to a nesting table that has at least the following elements:
  • the data transmitter is designed to interleave the encoded data values of the encoded data value sequence onto the plurality of sub-data packets to distribute that the encoded, interleaved data values contained in the respective sub-data packets each correspond to elements of a column of the interleaving table.
  • the data transmitter can be designed to divide the coded data value sequence over the plurality of sub-data packets such that sub-data packet data of a first sub-data packet correspond to a first column of the cyclically line-rotated matrix, sub-data packet data of a second sub-data packet of a second column of the cyclically line-rotated matrix correspond, sub-data packet data of a third sub-data packet correspond to a third column of the cyclically row-rotated matrix, etc.
  • FIG. 1 For example, the deinterleaving function can be based on a temporary matrix which is filled in columns and is read out or row by row . is cyclically line-rotated between filling and reading]; the data receiver being designed to decode the encode
  • At least one line e.g. against the matrix] line-rotated [e.g. cyclically shifted, e.g. cyclically shifted by at least one element].
  • At least one line [compared to the matrix] can be cyclically shifted by at least one element.
  • At least two lines can be line-rotated, the at least two lines being differently line-rotated [e.g. are cyclically shifted differently, e.g. are cyclically shifted by different elements].
  • At least two lines [compared to the matrix] can be cyclically shifted by different elements.
  • a first line can be cyclically shifted by one element, while a second line can be cyclically shifted by two elements.
  • each row [e.g. started with the second line] by at least one element [e.g. by exactly one element or more elements] more cyclically line-rotated [e.g. cyclically shifted] as an immediately preceding line.
  • a first line may be cyclically shifted by zero elements [or one element [or more elements]], and a second line may be cyclically shifted by at least one element more than the first line, such as by an element [or two Elements [or more elements]], whereby a third line can be cyclically shifted by at least one element more than the second line, such as by two elements [or three elements [or more elements]].
  • a first line can be cyclically shifted by zero elements
  • a second line can be cyclically shifted by one element
  • a third line can be cyclically shifted by two elements, etc.
  • the interleaved, coded data value sequence can be distributed in blocks to the plurality of sub-data packets such that the plurality of sub-data packets each have interleaved, coded data values of the interleaved, coded data value sequence that correspond to a line of a transmitter-side matrix or a line-rotated version of the correspond to the transmitter matrix.
  • the plurality of data packets can be provided with preambles, the respective nested, coded data values of the nested, coded data value sequence being appended to the respective sub-data packets of the respective preamble [e.g. so that nested, coded data values, which correspond to elements of a transmitter-side matrix or the cyclically line-rotated version of the transmitter-side matrix, which have a smaller line number, are at a smaller distance from the respective preamble than nested, coded data values, the elements of the transmitter-side matrix or the cyclic line-rotated version of the transmitter-side matrix which have a higher line number].
  • the plurality of data packets can be provided with midambles, the respective interleaved, coded data values of the interleaved, coded data value sequence in the respective sub-data packets alternately before and after of the respective midamble are arranged [e.g. so that nested, coded data values that correspond to elements of a transmitter-side matrix or the cyclically line-rotated version of the transmitter-side matrix that have a smaller line number have a smaller distance from the respective midamble than nested, coded data values Correspond to elements of the transmitter-side matrix or the cyclically line-rotated version of the transmitter-side matrix that have a higher line number].
  • the deinterleaving function can be known to the data receiver.
  • the deinterleaving function may be complementary to a data transmitter interleaving function, e.g. where the interleaving function corresponds to a row-by-row filling of a matrix and a column-by-row reading of a cyclically row-rotated version of the matrix].
  • k 0, 1, ..., L-1
  • k is the index of the encoded data values of the encoded data value sequence before interleaving, the interleaved, encoded data value sequence being distributed over the plurality of sub-data packets in such a way that those in the respective Sub-data packets contain encoded, interleaved data values of the encoded, interleaved data value sequence in each case correspond to elements of a column of the interleaver matrix on the data transmitter side.
  • the nested, coded data value sequence is distributed over the plurality of sub-data packets in such a way that the coded, nested data values contained in the respective sub-data packets of the coded, nested data value sequence each correspond to elements of a column of the data transmitter-side interleaving matrix.
  • k 0, 1,. ., L-1
  • k is the index of the encoded data values of the encoded data value sequence before interleaving, the interleaved, encoded data value sequence being distributed over the plurality of sub-data packets in such a way that the encoded, interleaved data values contained in the respective sub-data packets the coded, interleaved data value sequence in each case correspond to elements of a column of the data transmitter-side interleaving matrix.
  • the method comprises a step of encoding a data value sequence [eg bit sequence] in order to obtain an encoded data value sequence [eg encoded bit sequence].
  • the method comprises a step of interleaving the encoded data value sequence based on an interleaving function in order to obtain an interleaved, encoded data value sequence, the interleaving function corresponding to a row-by-row filling of a matrix and a column-by-row reading of the cyclically row-rotated version of the matrix [for example, the interleaving function can be performed on one based on a temporary matrix that is filled line by line and read out column by line or cyclically line rotated between filling and reading].
  • the method comprises a step of distributing the interleaved, coded data value sequence block by block over a plurality of sub-data packets [for example where a block corresponds to a column of the cyclically line-rotated version of the matrix].
  • the method comprises a step of sending the plurality of sub- Data packets based on a time and frequency hopping method [eg telegram splitting method].
  • the method comprises a step of coding a data value sequence [e.g. Bit string] to encode a coded data string [e.g. encoded bit sequence].
  • the method comprises a step of interleaving, based on an interleaving function, and dividing the encoded data value sequence into a plurality of sub-data packets.
  • the method comprises a step of sending the plurality of sub-data packets based on a time and frequency hopping method [e.g.
  • Telegram splitting method wherein the coded data value sequence has the length L-IJ, where J is the number of sub-sub-data packets over which the coded data value sequence is divided after interleaving, where I is the number of coded data values of the coded data value sequence per sub-data packet.
  • Data packet is, the interleaving function corresponds to an interleaving matrix IM, which is calculated according to the following rule:
  • k 0, 1, ..., L-1
  • k is the index of the coded data values of the coded data value sequence prior to the shunting
  • the coded data values of the coded data value sequence being distributed in an interleaved manner to the plurality of sub-data packets such that the coded, interleaved data values contained in the respective sub-data packets each correspond to elements of a column of the interleaving matrix.
  • the method comprises a step of encoding a data value sequence [eg bit sequence] in order to obtain an encoded data value sequence [eg encoded bit sequence].
  • the method comprises a step of interleaving, based on an interleaving function, and dividing the encoded data value sequence into a plurality of sub-data packets.
  • the method comprises a step of encoding a data value sequence [eg bit sequence] in order to obtain an encoded data value sequence [eg encoded bit sequence].
  • the method comprises a step of interleaving, based on an interleaving function, and dividing the encoded data value sequence into a plurality of sub-data packets.
  • the method comprises a step of receiving a plurality of sub-data packets based on a time and frequency hopping method [e.g. Telegram splitting process].
  • the method comprises a step of determining an interleaved, coded data value sequence, which is distributed in blocks over the plurality of sub-data packets, based on the received sub-data packets.
  • the method comprises a step of deinterleaving the interleaved, coded data value sequence based on a deinterleaving function in order to obtain an encoded data value sequence, the deinterleaving function corresponding to a column-wise filling of a matrix and a row-by-row reading of a cyclically row-rotated version of the matrix [e.g. the deinterleaving function can be based on a temporary matrix that is filled in columns and read out line by line or cyclically line rotated between filling and reading out].
  • the method comprises a step of decoding the encoded data value sequence in order to obtain a data value sequence.
  • the method comprises a step of receiving at least a part of a plurality of sub-data packets which are transmitted based on a time and frequency hopping method [eg telegram splitting method].
  • the method comprises a step of determining an interleaved, coded data value sequence which is distributed over the plurality of sub-data packets, based on the received sub-data packets, the interleaved, encoded data value sequence based on a deinterleaving function to obtain an encoded data value sequence, wherein the
  • k 0, 1, ..., L-1 where k is the index of the coded data values of the coded data value sequence before the
  • Interleaving is carried out, the interleaved, coded data value sequence being distributed over the plurality of sub-data packets such that the encoded, interleaved data values contained in the respective sub-data packets of the encoded, interleaved data value sequence each correspond to elements of a column of the data transmitter-side interleaving matrix.
  • the method comprises a step of receiving at least part of a plurality of sub-data packets, which are transmitted based on a time and frequency hopping method [eg telegram splitting method].
  • the method includes a step of receiving at least a portion of a plurality of sub-data packets based on a time and frequency hopping method [e.g. Telegram splitting process].
  • TSMA Telegram Splitting Multiple Access
  • Exemplary embodiments create an optimal interleaving of the data in such a way that error-free data reconstruction is possible, although a maximum number of sub-data packets fails.
  • Exemplary embodiments create an optimization taking into account the concept according to [2], which enables the use of the channel coding gain in the iterative tracking of the channel impulse response.
  • Exemplary embodiments create an optimal nesting of the data in the sub-data packet blocks.
  • Exemplary embodiments deal with a method of distributing information over the sub-data packets in such a way that the loss of a maximum of many sub-data packets makes decoding of the entire packet possible in almost all cases.
  • Embodiments enable partial decoding as part of an iterative channel estimation.
  • the concept described in [2] is based on significantly increasing the quality of the estimation of the FEC-coded symbols initially unknown in the receiver, in that an accompanying, continuous partial decoding of the symbols that can be estimated up to the respective time is carried out in the course of an iterative channel estimation.
  • the decoding gain can already be used during the channel estimation.
  • the FEC coding must have certain properties, which will be discussed in more detail below.
  • 1 is a schematic block diagram of a matrix interleaver and a matrix
  • FIG. 2 shows a schematic block diagram of a system with a data transmitter and a data receiver, according to an exemplary embodiment of the present invention
  • Fig. 3 in a diagram an assignment of the transmission channel in the
  • Fig. 4 is a schematic block diagram of the data transmitter, according to a
  • Fig. 5 is a schematic block diagram of a data receiver, according to a
  • FIG. 6 shows a schematic view of a plurality of sub-data packets, according to an exemplary embodiment of the present invention
  • 7 shows a diagram of simulation results of a packet error rate (PER) plotted against a network load in the case of telegram splitting (TSMA) with the interleaver according to FIG. 6;
  • PER packet error rate
  • FIG. 8 shows a schematic view of a plurality of sub-data packets, according to an exemplary embodiment of the present invention
  • FIG. 9 shows a diagram of simulation results of a packet error rate (PER) plotted against a network load in the case of telegram splitting (TSMA) with the interleaver according to FIG. 8;
  • PER packet error rate
  • FIG. 10 shows a schematic view of a plurality of sub-data packets, according to an exemplary embodiment of the present invention
  • Figure 1 1 is a schematic view of a plurality of sub-data packets, according to an embodiment of the present invention.
  • FIG. 13 shows a flowchart of a method for receiving data, according to an exemplary embodiment of the present invention.
  • FIG. 2 shows a schematic block diagram of a system with a data transmitter 100 and a data receiver 110, according to an exemplary embodiment of the present invention.
  • the data transmitter 100 is designed to encode, interleave and divide data (for example a data value sequence) into a plurality of sub-data packets and for the plurality of sub-data packets 142, for example by means of a signal 120, based on the telegram splitting -Transfer procedure (e.g. to send).
  • the data receiver 110 is designed to receive the plurality of sub-data packets 142, which are transmitted based on the telegram splitting method, for example by means of the signal 120, wherein the plurality of sub-data packets 142 interleaved, coded data ( have an interleaved, encoded data value sequence), and to deinterleave and decode the interleaved, encoded data.
  • the data transmitter 100 can have a transmission device (or transmission module, or transmitter) 102 which is designed to transmit the signal 120.
  • the transmission device 102 can be connected to an antenna 104 of the data transmitter 100.
  • the data transmitter 100 can furthermore have a receiving device (or receiving module, or receiver) 106, which is designed to receive a signal.
  • the receiving device 106 can be connected to the antenna 104 or a further (separate) antenna of the data transmitter 100.
  • the data transmitter 100 can also have a combined transceiver.
  • the data receiver 110 can have a receiving device (or receiving module, or receiver) 116, which is designed to receive the signal 120.
  • the receiving device 116 can be connected to an antenna 114 of the data receiver 110.
  • the data receiver 1 10 can have a transmission device (or transmission module, or transmitter) 1 12, which is designed to transmit a signal.
  • the transmission device 112 can be connected to the antenna 114 or a further (separate) antenna of the data receiver 110.
  • the data receiver 110 can also have a combined transceiver.
  • data transmitter 100 may be a sensor node, while data receiver 110 may be a base station.
  • a communication system comprises at least one data receiver 110 (base station) and a plurality of data transmitters (sensor nodes, such as heating meters).
  • the data transmitter 100 it is also possible for the data transmitter 100 to be a base station, while the data receiver 110 is a sensor node.
  • both the data transmitter 100 and the data receiver 110 it is possible for both the data transmitter 100 and the data receiver 110 to be base stations.
  • the data transmitter 100 and the data receiver 110 used the telegram splitting method to transmit data [1].
  • data to be transmitted for example a telegram or data packet
  • Sub- Data packets or sub-data packets, or sub-packets
  • each of the sub-data packets 142 contains only part of the data to be transmitted.
  • the data to be transmitted can be channel-coded, so that not all sub-data packets 142, but only a part of the sub-data packets 142 are required for error-free decoding of the channel-coded data.
  • the temporal distribution of the plurality of sub-data packets 142 can take place in accordance with a time and / or frequency hopping pattern.
  • a time jump pattern can specify a sequence of transmission times or transmission intervals with which the sub-data packets are sent. For example, a first sub-data packet can be transmitted at a first transmission time (or in a first transmission time slot) and a second sub-data packet at a second transmission time (or in a second transmission time slot), the first transmission time and the second transmission time being different.
  • the time jump pattern can define (or specify or specify) the first transmission time and the second transmission time.
  • the time jump pattern can indicate the first transmission time and a time interval between the first transmission time and the second transmission time.
  • the time jump pattern can only indicate the time interval between the first time and the second time of transmission. There may be transmission pauses between the sub-data packets in which there is no transmission.
  • the sub-data packets can also overlap in time (overlap).
  • a frequency hopping pattern can indicate a sequence of transmission frequencies or transmission frequency hops with which the sub-data packets are sent. For example, a first sub-data packet with a first transmission frequency (or in a first frequency channel) and a second sub-data packet with a second transmission frequency (or in a second frequency channel) can be transmitted, the first transmission frequency and the second transmission frequency being different.
  • the frequency hopping pattern can define (or specify or specify) the first transmission frequency and the second transmission frequency.
  • the frequency hopping pattern can indicate the first transmission frequency and a frequency spacing (transmission frequency hopping) between the first transmission frequency and the second transmission frequency.
  • Frequency hopping patterns also only specify the frequency spacing (transmission frequency hopping) between the first transmission frequency and the second transmission frequency.
  • the plurality of sub-data packets 142 can also be transmitted from the data transmitter 100 to the data receiver 110 in both time and frequency distribution.
  • the distribution of the plurality of sub-data packets in time and in frequency can take place according to a time and frequency hopping pattern.
  • a time and frequency hopping pattern can be the combination of a time hopping pattern and a frequency hopping pattern, i.e. a sequence of transmission times or transmission time intervals with which the sub-data packets are transmitted, transmission times (or transmission frequency jumps) being assigned to the transmission times (or transmission time intervals).
  • FIG. 3 shows in a diagram an assignment of the transmission channel during the transmission of a plurality of sub-data packets 142 according to a time and frequency hopping pattern.
  • the ordinate describes the frequency and the abscissa the time.
  • a synchronization sequence 144 can also be divided between the plurality of sub-data packets 142, so that the plurality of sub-data packets 142 each have one in addition to the data to be transmitted (data symbols 146 in FIG. 3) Part of the synchronization sequence (synchronization symbols 144 in Fig. 3) included.
  • FIG. 4 shows a schematic block diagram of the data transmitter 100, according to an exemplary embodiment of the present invention.
  • the data transmitter 100 is designed to encode a data value sequence (for example a bit sequence) 160 (for example with a forward error correction, such as for example a block code or a convolutional code) in order to 162 an encoded data value sequence (for example a coded bit sequence) receive.
  • a data value sequence for example a bit sequence
  • the data transmitter can have an encoder 164, which is designed to encode the data value sequence (for example a bit sequence) 160 in order to obtain the encoded data value sequence (for example an encoded bit sequence) 162.
  • the data transmitter 100 is also designed to interleave the encoded data value sequence 162 based on an interleaving function in order to obtain an interleaved, encoded data value sequence 166, the interleaving function corresponding to row-by-row filling of a matrix and column-by-row reading of a cyclically row-rotated version of the matrix.
  • the data transmitter 100 can have an interleaver 168, which is designed to interleave the encoded data value sequence 162 based on the interleaving function in order to obtain the interleaved, encoded data value sequence 166.
  • the data transmitter 100 is also designed to distribute the interleaved, coded data value sequence 168 in blocks to a plurality of sub-data packets 142_1 to 142_J.
  • the data transmitter 100 can be designed to split a first block 167_1 of the nested, coded data value sequence 166 into a first sub-data packet 142_1, to split a second block 167_2 of the nested, coded data value sequence 166 into a second sub-data packet 142_2, etc. , and to split a Jth block 167_J of the interleaved coded data value sequence 166 into a Jth sub-data packet 142_J.
  • the data transmitter 100 is also designed to send the plurality of sub-data packets 142_1 to 142_J based on a time and frequency hopping method (e.g. telegram splitting method), e.g. by means of a signal 120.
  • a time and frequency hopping method e.g. telegram splitting method
  • the interleaving function can correspond to a row-by-row filling of a matrix and a column-by-row reading of a cyclically row-rotated version of the matrix.
  • this does not mean that during the nesting of the coded data value sequence (e.g. by the interleaver) a (temporary) matrix is actually filled line by line and read out in columns or rotated line by line before reading out, but only that the interleaving function of such a line filling of a matrix and a column-wise reading of a cyclically row-rotated version of the matrix "corresponds".
  • mapping of the coded data value sequence onto the nested, coded data value sequence based on the interleaving function can thus be described by a matrix interleaver, while the actual one Implementation can be done just as well using a mapping rule (e.g. a formula) or a table.
  • a mapping rule e.g. a formula
  • I can be a natural number greater than or equal to two (or three) and J can be a natural number greater than or equal to two (or three).
  • the cyclically line-rotated version of the matrix can have at least one line (e.g. opposite the matrix) line-rotated or cyclically shifted, e.g. around at least one matrix element.
  • at least one line (with respect to the matrix) can be cyclically shifted by at least one element, i.e. be cyclically shifted to the right or left within the line.
  • At least two lines in the cyclically line-rotated version of the matrix, can be line-rotated, the at least two lines being differently line-rotated (e.g., differently cyclically shifted, e.g. cyclically shifted or rotated by different elements).
  • at least two lines [compared to the matrix] can be cyclically shifted by different elements.
  • i-1 elements compared to the matrix (e.g. starting matrix, reference matrix, origin matrix)
  • the data transmitter 100 is designed to divide the interleaved, coded data value sequence 166 block by block among the plurality of sub-data packets 142_1 to 142_J.
  • the data transmitter 100 can be designed to distribute the nested, coded data value sequence 166 in blocks to the plurality of sub-data packets 142_1 to 142_J in such a way that the plurality of sub-data packets 142_1 to 142_J each contain nested, coded data values of the nested, encoded data value sequence that correspond to elements of a column of the row-rotated version of the matrix.
  • the data receiver 110 is designed to receive a plurality of sub-data packets 142_1 to 142_J, which are transmitted based on a time and frequency hopping method (for example telegram splitting method), for example by means of the signal 120.
  • the data receiver 110 is also designed to determine an interleaved, coded data value sequence 170 based on the received sub-data packets 142_1 to 142_J, which is distributed in blocks to the plurality of sub-data packets 142_1 to 142_J.
  • a first sub-data packet 142_1 may have a first block 171_1 of the nested, coded data sequence 170
  • a second sub-data packet 142_2 may have a second block 171_2 of the nested, coded data sequence 170, etc.
  • a J-th sub Data packet 142_J has a J-th block 171_J which can have nested, coded data value sequence 170.
  • the data receiver 110 is designed to deinterleave the interleaved, encoded data value sequence 170 based on a deinterleaving function in order to obtain an encoded data value sequence 172.
  • the data receiver 110 can have a deinterleaver 174 that is designed to deinterleave the nested, coded data value sequence 170 based on the deinterleaving function in order to obtain the encoded data value sequence 172.
  • the deinterleaving function is complementary to the data transmitter-side interleaving function.
  • the deinterleaving function can correspond to column filling of a matrix and line-by-line reading of a cyclically line-rotated version of the matrix.
  • the deinterleaving function can be based on a temporary matrix that is filled in columns and read out line by line or cyclically line rotated between filling and reading out.
  • the deinterleaving function corresponds to a cyclic line back rotation of the matrix prior to reading the same, the cyclic line back rotation (or line re-rotation) being complementary to the cyclic line rotation carried out on the data transmitter side in accordance with the interleaving function.
  • the matrix in the interleaver, can be rotated line by line by a given number of elements to the right and the elements falling out to the right can be pushed back into the matrix on the left, the complementary function being carried out in the interleaver, i.e. the matrix is rotated line by line to the left by the same given number of elements and the elements falling out on the left are pushed back into the matrix on the right.
  • the data receiver is designed to decode the encoded data value sequence 172 in order to obtain a data value sequence 176.
  • the Data receiver 110 have a decoder 178, which is designed to decode the encoded data sequence 172 in order to obtain the data sequence 176.
  • data transmitter 100 and data receiver 110 are described in more detail below.
  • the targeted nesting of the data is particularly important if there are faults in the channel. It is advantageous here if the total data packet to be transmitted is divided into smaller sub-data packets into so-called sub-data packets (see [1]). If the time interval between the individual sub-data packets is long enough compared to the interferers occurring in the channel, then there is a high probability that only individual sub-data packets will be disturbed, independently of each other. If the data is now appropriately nested, the loss of the information of one or more sub-data packets does not yet lead to the loss of the entire information packet. In order to achieve this, a channel coding with code rate R is applied to the information before it is distributed to the J sub data packets.
  • FIG. 6 shows a schematic view of a plurality of sub-data packets 142_1 to 142_J, according to an exemplary embodiment of the present invention.
  • the plurality of sub-data packets 142_1 to 142_J have preambles (preamble symbols 144), the respective interleaved, coded data values (data symbols 146) of the interleaved, coded data value sequence 166 in the respective sub-data packets 142_1 to 142_J are attached to the respective preamble.
  • preamble symbols 144 preamble symbols 144
  • the interleaved, coded data value sequence 166 is distributed in blocks to the plurality of sub-data packets 142_1 to 142_J in such a way that the plurality of sub-data packets 142_1 to 142_J each interleave, encoded data values of the interleaved, encoded Have data value sequence that correspond to elements of a column of the matrix.
  • FIG. 6 shows an exemplary embodiment with preamble and message, consisting of J sub-data packets 142_1 to 142_J when using the block interleaver 1.
  • the data-dependent transmission symbols 146 unknown in the receiver 110 are preceded by a preamble (also called reference, training or pilot sequence) of length P, the symbols 144 of which precede Receiver 110 are known in advance.
  • a preamble also called reference, training or pilot sequence
  • the symbols 144 of which precede Receiver 110 are known in advance.
  • the sub-data packets 142_1 to 142_J use identical (as shown in FIG. 6) or different preamble sequences.
  • the symbols 146 to be transmitted are successively arranged “column by column” from top to bottom under or after the preamble by the interleaver from FIG. 1.
  • FIG. 7 shows the packet error rate (PER) as a function of the range of traffic, which is constantly increasing from left to right.
  • curves 206 and 208 In between are still curves 206 and 208, with limit values of at least 7 or 8 successful sub-data packets in order to be marked as error-free decoded.
  • the comparison of curve 200 with curves 202, 204, 206 and 208 shows that the actually decoded performance roughly coincides with curve 206, for which at least 7 error-free sub-data packets are required for the virtual decoding process to be considered successful can.
  • the next section shows that it is possible to improve curve 200 with a suitable interleaver on the performance of curve 204 (with only 6 error-free sub-data packets).
  • the channel inserts its errors at any location unknown to the receiver.
  • the failure of entire sub-data packets, each with / code bits can be easily recognized by analyzing the LLRs (summing up the amounts of the LLRs and falling below a threshold value) and the LLRs set accordingly to 0. Since the bundle errors caused by a faulty sub-data packet always concern one line in the block interleaver according to FIG. 1 and other lines are not affected, this regularity of the line-by-line information loss when redesigning the block interleaver according to FIG. 1 can be seen take advantage.
  • Targeted swapping of individual lines is of no advantage, since the failure of individual sub-data packets is purely coincidental. Also because of [2], the lines should not be swapped, since partial decoding in the context of an iterative channel estimation has proven to be particularly advantageous in telegram splitting .
  • FIG. 8 shows a schematic view of a plurality of sub-data packets 142_1 to 142_J, according to an exemplary embodiment of the present invention.
  • the plurality of sub-data packets 142_1 to 142_J have preambles (preamble symbols 144), the respective interleaved, coded data values (data symbols 146) of the interleaved, coded data value sequence 166 in the respective sub-data packets 142_1 to 142_J are attached to the respective preamble.
  • preamble symbols 144 preamble symbols 144
  • the interleaved, coded data value sequence 166 is distributed in blocks to the plurality of sub-data packets 142_1 to 142_J in such a way that the plurality of sub-data packets 142_1 to 142_J each interleave, encoded data values of the interleaved, encoded Have data value sequence that correspond to elements of a column of the cyclically row-rotated version of the matrix.
  • S ⁇ 0-M, JM, 2-M, 3-M, ,, ., ⁇ .
  • a row-by-row right or left shift according to a random pattern is also conceivable.
  • the first data packet of length / thus corresponds to the first
  • FIG. 10 shows a schematic view of a plurality of sub-data packets 142_1 to 142_J, according to an exemplary embodiment of the present invention.
  • the plurality of sub-data packets 142_1 to 142_J have midambles (midamble symbols 144), the respective interleaved, coded data values (data symbols 146) of the interleaved, coded data value sequence 166 in the respective sub-data packets 142_1 to 142_J are arranged alternately before and after the respective midambles.
  • midamble symbols 144 midamble symbols 144
  • the interleaved, coded data value sequence 166 is distributed in blocks to the plurality of sub-data packets 142_1 to 142_J in such a way that the plurality of sub-data packets 142__1 to 142_J each contain interleaved, coded data values of the interleaved, encoded Have data value sequence that correspond to elements of a column of the matrix.
  • FIG. 10 shows an exemplary embodiment with a midamble and a two-part message, consisting of J sub-data packets 142_1 to 142_J when using the block interleaver according to FIG. 1.
  • each sub-data packet 142_1 to 142_J now has a midamble of length P, the symbols of which are known to the receiver.
  • the data symbols 146 to be transmitted are successively filled in “column by column” from the inside to the outside before and after the midamble 144 by the interleaver from FIG. 1.
  • the 2 J data symbols required for the first step of a partial decoding as part of the iterative channel estimation according to [2] are in the rows
  • FIG. 11 shows a schematic view of a plurality of sub-data packets 142_1 to 142_J, according to an exemplary embodiment of the present invention.
  • the plurality of sub-data packets 142_1 to 142_J have midambles (midamble symbols 144), the respective interleaved, coded data values (data symbols 146) of the interleaved, coded data value sequence 166 in the respective sub-data packets 142_1 to 142_J are arranged alternately before and after the respective midambles.
  • midamble symbols 144 midamble symbols 144
  • the interleaved, coded data value sequence 166 is distributed in blocks to the plurality of sub-data packets 142_1 to 142_J in such a way that the plurality of sub-data packets 142_1 to 142_J each interleave, encoded data values of the interleaved, encoded Have data value sequence that correspond to elements of a column of the cyclically row-rotated version of the matrix.
  • the next line with reference to the first line, there is now a shift by 2 elements, and so on. If the number of columns J is smaller than /, a modulo operation (division with remainder) takes place.
  • a line-by-line left shift can be carried out by one position at a time.
  • the continuous shift can also take any other values like 1.
  • a right or left shift according to a random pattern is also possible.
  • interleaver called "intra-hop bias avoidance" proposed in [7] can also be used. If the data symbol Co has been inserted under the midamble in a first sub-data packet 142_1, the data symbol Ci is arranged in the second sub-data packet 142J2 above the midambel. Successive data symbols are always placed alternately above or below the midamble.
  • FIG. 12 shows a foot diagram of a method 300 for sending data, according to an exemplary embodiment of the present invention.
  • the method 300 comprises a step 302 of coding a data value sequence [eg bit sequence] in order to obtain an encoded data value sequence [eg encoded bit sequence].
  • the method 300 comprises a step 304 of interleaving the encoded data value sequence based on an interleaving function in order to obtain an interleaved, encoded data value sequence, the interleaving function corresponding to a row-by-row filling of a matrix and a column-by-row reading of a cyclically row-rotated version of the matrix [for example, that can Nesting function based on a temporary matrix, which is filled line by line and read out column by line or cyclically line rotated between filling and reading].
  • the method 300 further comprises a step 306 of distributing the interleaved, coded data value sequence block by block over a plurality of sub-data packets [for example where a block corresponds to a column of the cyclically line-rotated version of the matrix, for example].
  • the method 300 further comprises a step 308 of sending the plurality of sub-data packets based on a time and frequency hopping method [eg telegram splitting method].
  • the method 310 includes a step 312 of receiving a plurality of sub-data packets based on a time and frequency hopping method [e.g. Telegram splitting process].
  • the method 310 further comprises a step 314 of determining an interleaved, coded data value sequence, which is distributed in blocks over the plurality of sub-data packets, based on the received sub-data packets.
  • the method 310 further comprises a step 316 of deinterleaving the interleaved, coded data value sequence based on a deinterleaving function in order to obtain an encoded data value sequence, the deinterleaving function corresponding to column-by-column filling of a matrix and row-by-row reading of a cyclically row-rotated version of the matrix [e.g. the deinterleaving function can be based on a temporary matrix that is filled column by column and read out line by line or rotated cyclically lines between filling and reading out].
  • the method 310 further comprises a step 318 of decoding the encoded data value sequence in order to obtain a data value sequence.
  • Exemplary embodiments are used in a system for transmitting data from a transmitter to a receiver.
  • the concepts described here apply to any transmission in which - there is a potentially time-variant transmission channel between transmitter and receiver,
  • FEC forward error correction
  • a symbol-based channel status estimation can be used.
  • a typical area of application is e.g. the transmission of a message in a digital radio communication system in which the transmission channel can be time-variant due to movement of the transmitter and / or receiver and in which e.g. continuous estimation of the channel is required through the use of coherent demodulation.
  • exemplary embodiments can be used particularly advantageously in a system in which a message (data packet) is transmitted in several partial data packets that are smaller than the actual information that is to be transmitted (so-called telegram splitting, TSMA, see for example DE 10 20011 082 098 [1]).
  • Telegrams are divided into several sub-data packets, often also referred to as sub-data packets. In the case of telegram splitting, the sub-data packets are sent on one frequency or over several frequencies, known as frequency hopping. There are pauses between the sub-data packets during which there is no transmission.
  • aspects have been described in connection with a device, it goes without saying that these aspects also represent a description of the corresponding method, so that a block or a component of a device can also be understood as a corresponding method step or as a feature of a method step. Analogously, aspects that have been described in connection with or as a method step also represent a description of a corresponding block or detail or feature of a corresponding device.
  • Some or all of the method steps can be performed by a hardware apparatus (or using a hardware device). Apparatus), such as a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some or more of the most important process steps can be performed by such an apparatus.
  • a signal coded according to the invention such as an audio signal or a video signal or a transport stream signal, can be stored on a digital storage medium or can be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission medium, for example the Internet
  • the encoded audio signal according to the invention can be stored on a digital storage medium, or can be transmitted on a transmission medium, such as a wireless transmission medium or a wired transmission medium, such as the Internet.
  • exemplary embodiments of the invention can be implemented in hardware or in software.
  • the implementation can be performed using a digital storage medium, such as a floppy disk, DVD, Blu-ray disc, CD, ROM, PROM, EPROM, EEPROM or FLASH memory, hard drive, or other magnetic or optical memory are carried out, on which electronically readable control signals are stored, which can interact with a programmable computer system in such a way or interaction that the respective method is carried out.
  • the digital storage medium can therefore be computer-readable.
  • Some exemplary embodiments according to the invention thus comprise a data carrier which has electronically readable control signals which are able to interact with a programmable computer system in such a way that one of the methods described herein is carried out.
  • Computer program product can be implemented with a program code, wherein the program code is effective to perform one of the methods when the computer program product runs on a computer.
  • the program code can, for example, also be stored on a machine-readable carrier.
  • an exemplary embodiment of the method according to the invention is thus a computer program which has a program code for performing one of the methods described here when the computer program runs on a computer.
  • a further exemplary embodiment of the method according to the invention is thus a data carrier (or a digital storage medium or a computer-readable medium) on which the computer program for carrying out one of the methods described herein is recorded.
  • the data carrier, the digital storage medium or the computer-readable medium are typically objective and / or non-transitory or non-temporary.
  • a further exemplary embodiment of the method according to the invention is thus a data stream or a sequence of signals which represents the computer program for performing one of the methods described herein.
  • the data stream or the sequence of signals can, for example, be configured to be transferred via a data communication connection, for example via the Internet.
  • Another exemplary embodiment includes a processing device, for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.
  • a processing device for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.
  • Another embodiment includes a computer on which the computer program for performing one of the methods described herein is installed.
  • a further exemplary embodiment according to the invention comprises a device or a system which is designed to transmit a computer program for carrying out at least one of the methods described herein to a receiver.
  • the transmission can take place electronically or optically, for example.
  • the receiver can be, for example, a computer, a mobile device, a storage device or a similar device.
  • the device or the system can comprise, for example, a file server for transmitting the computer program to the recipient.
  • a programmable logic component for example a field-programmable gate array, an FPGA
  • a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein.
  • the methods are performed by any hardware device. This can be a universally usable hardware such as a computer processor (CPU) or hardware specific to the method, such as an ASIC.
  • the devices described herein can be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.
  • the devices described herein, or any components of the devices described herein, may at least partially be implemented in hardware and / or in software (computer program).
  • the methods described herein can be implemented, for example, using a handheld device, or using a computer, or using a combination of a hardware apparatus and a computer.

Abstract

Ausführungsbeispiele schaffen einen Datensender, wobei der Datensender ausgebildet ist, um eine Datenwertfolge zu codieren, um eine codierte Datenwertefolge zu erhalten, wobei der Datensender ausgebildet ist, um die codierte Datenwertfolge basierend auf einer Verschachtelungsfunktion zu verschachteln, um eine verschachtelte, codierte Datenwertfolge zu erhalten, wobei die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht, wobei der Datensender ausgebildet ist, um die verschachtelte, codierte Datenwertfolge blockweise auf eine Mehrzahl von Sub-Datenpaketen zu verteilen, wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren zu senden.

Description

Interleaving mit zirkularer Zeilen-Rotation für die Übertragung bei Telegramm-Splitting
Beschreibung
Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf einen Datensender und, im speziellen, auf einen Datensender, der ausgebildet ist, um Daten zu verschachteln und entsprechend des T elegram-Splitting-Verfahrens zu übertragen. Weitere
Ausführungsbeispiele beziehen sich auf einen entsprechenden Datenempfänger sowie entsprechende Verfahren zum Senden und Empfangen von Daten.
Aus [1] ist das Telegram-Splitting-Verfahren (Telegrammaufteilungs-verfahren) bekannt, wonach ein Telegramm (oder Datenpaket) auf eine Mehrzahl von Sub-Datenpakete aufgeteilt wird, die unter Verwendung eines Sprungmusters in der Zeit und optional in der Frequenz verteilt übertragen werden.
In der [7] wird eine Datensendeanordnung beschrieben, die ein Energy-Harvesting-Element als Energiequelle aufweist. Die Datensendeanordnung ist dabei ausgebildet, um Daten unter Verwendung des Telegram Splitting Verfahrens zu senden, wobei ein zum Senden anstehendes Teilpaket in Abhängigkeit von einer von der Energieversorgungseinrichtung bereitstellbaren elektrischen Energiemenge entweder gesendet wird, zwischengespeichert und später gesendet wird, oder verworfen wird.
Ferner sind verschiedene Kanalcodierungstechniken bekannt. Kanalcodierungstechniken werden zur Erkennung und Korrektur von Übertragungsfehlern in digitalen Systemen eingesetzt. Auf der Sendeseite wird zur Originalinformation redundante Information hinzugefügt, die der Empfänger nutzt, um Fehler zu erkennen und/oder zu korrigieren.
Dabei kann man zwischen zwei Gruppen von Codes unterscheiden: Blockcodes und Faltungscodes.
Bei der Blockcodierung werden Blöcke fester Länge codiert, übertragen und decodiert. Der Codierungsalgorithmus transformiert jeden Block aus K Informationssymbolen in ein Codewort aus N Symbolen (mit N>K), indem er N-K Prüfsymbole hinzufügt. Diese Struktur wird als (N,K)-Blockcode bezeichnet, das Verhältnis ergibt die Coderate R=K/N, die den Informationsgehalt pro Codesymbol angibt. Neben den Blockcodes bilden die Faltungscodes eine zweite wichtige Gruppe fehlerkorrigierender Codes Im Gegensatz zu den Blockcodes existiert für die (zumeist binären) Faltungscodes keine derart ausgeprägte, algebraisch nutzbare mathematische
Struktur. Leistungsmerkmale für Faltungscodes lassen sich im Allgemeinen nicht durch mathematische Analysen berechnen, weil die korrigierbare Fehleranzahl, bezogen auf die Codelänge, unter anderem auch vom Fehlermuster abhängig ist. Besonders empfindlich reagieren Faltungscodes auf bündelartig auftretende Fehler, welche deshalb durch zusätzliche Maßnahmen— wie Codeverschachtelung (Interleaving, dt. Verschachtelung)— so verteilt werden, dass Symbole im ausgesendeten Telegramm, im kanalcodierten Codewort den größtmöglichen Abstand voneinander haben, um den Einfluss der Bündelfehler zu verringern. Bei Faltungscodes wählt man für die Coderate meistens R=1/N, (mit N =2, ... , 4), da der Rechenaufwand in der Viterbi-Decodierung bei K>1 überproportional ansteigt.
Die wichtigsten Interleaver-Strukturen, die in heutigen Mobilfunksystemen eingesetzt werden, sind das Block-Interleaving (oder Matrix-Interleaving) und das Diagonal-Interleaving (oder Faltungs-Interleaving).
Beim Block-Interleaver werden die Bits einer endlichen Folge der Länge N (L+Lc-1) = IJ in eine Matrix mit I Zeilen und J Spalten angeordnet, wobei Lc die Einflusslänge (engl, constraint length) des Faltungscodes darstellt. Entsprechend Fig. 1 wird die Matrix zeilenweise gefüllt und spaltenweise ausgelesen. Auf diese Weise werden Bits, die nacheinander aus dem Kanalcodierer herauskommen, in einem Abstand von I Bits auf dem Kanal übertragen.
Im Detail zeigt Fig. 1 ein schematisches Blockschaltbild eines Matrix-Interleavers 10 (dt. Matrixverschachteler) und eines Matrix-Deinterleavers 20 (Matrixentschachteler). Mit anderen Worten, Fig. 1 zeigt einen Einschreib- und Auslesevorgang bei einem Block- Interleaver. Beim Matrix-Interleaver 10 wird eine Datenbitfolge 12 zeilenweise, sequentiell in eine temporäre Matrix des Matrix-Interleavers 10 eingelesen, wobei die temporäre Matrix des Matrix-Interleavers 10 spaltenweise, sequentiell ausgelesen wird, um eine verschachtelte, codierte Datenbitfolge 14 zu erhalten. Beim Matrix-Deinterleaver 20 wird eine codierte, verschachtelte Datenbitfolge 22 (z.B. eine empfangene Version der verschachtelten, codierten Datenbitfolge 14) spaltenweise, sequentiell in eine temporäre Matrix des Matrix- Deinterleavers 20 eingelesen, wobei die Matrix des Matrix-Deinterleavers 20 zeilenweise, sequentiell ausgelesen wird, um eine codierte Datenbitfolge 24 zu erhalten, die identisch mit der ursprünglich sendeseitig eingespeisten Datenbitfolge 12 ist.
Für Blockcodes wählt man die Anzahl J der Spalten der Interleavermatrix typischer Weise gleich der Codewortlänge N. Dann wird ein Bündelfehler der Länge I oder weniger auf I Codeworte aufgeteilt, so dass in jedem Codewort nur höchstens ein Bitfehler enthalten ist. Bei Blockcodes macht es nach [4] keinen Sinn, die Bits innerhalb eines Codeworts im Interleaver zu verwürfeln. Für Codes, die für zufällige Fehlermuster optimiert sind, bringt eine Verwürfelung weder einen Gewinn noch einen Verlust. Für Codes, die zur Korrektur von Bündelfehlern optimiert sind, wäre nach [4] eine Verwürfelung sogar nachteilig. Daher wird man ein Codewort immer in einer Zeile des Interleavers unterbringen, ohne zusätzliche Permutation.
Bei Faltungscodes kann die optimale Form der Interleaver-Matrix nicht so einfach festgelegt werden. Oft wird nach [4] ein pragmatischer Weg beschritten, indem mittels Rechnersimulationen verschiedene Alternativen ausprobiert werden. Eine grundsätzliche Eigenschaft ist beim Entwurf jedoch zu berücksichtigen: in faltungscodierten Bitfolgen weisen die Bits eine mit zunehmendem zeitlichem Abstand abnehmende gegenseitige Abhängigkeiten auf. Es ist also zweckmäßig, eng benachbarte Bits bevorzugt möglichst weit auseinander zu bringen. Beispielsweise wird der Block-Interleaver zum Beispiel in UMTS derart modifiziert, indem Zeilen und Spalten gezielt vertauscht werden. Eine andere Art von Block-Interleaving, das sogenannte Inter-Burst-Interleaving, wird in GSM angewandt. Darunter versteht man die Verteilung der Bits auf möglichst viele Zeitschlitze, lediglich begrenzt durch die Forderung nach einer beschränkten Verzögerungszeit, bei Sprachübertragung beispielsweise maximal 80 ms je Funkstrecke. In GSM wird ein Sprachblock daher auf 8 Zeitschlitze verteilt, wobei jeder Zeitschlitz 2 Hälften enthält, die von jeweils unterschiedlichen Sprachblocks abstammen. Diese hälftige Aufteilung wird häufig auch Block-Diagonal-Interleaving genannt. Neben dem oben beschriebenen Inter-Burst- Interleaving kommt bei GSM zusätzlich noch das Intra-Burst Interleaving zum Einsatz. Darunter versteht man die Verwürfelung der Bits innerhalb eines Zeitschlitzes.
Beim Diagonal-Interleaving (oder Faltungs-Interleaving) wird der Interleaver horizontal beschrieben und diagonal ausgelesen. Dadurch reduziert sich gegenüber den Blockcodes die Verzögerungszeit und der Speicherbedarf um etwa die Hälfte, ein Umstand, der sich insbesondere bei der Sprachverarbeitung vorteilhaft nutzen lässt. Der vorliegenden Erfindung liegt die Aufgabe zugrunde, mit dem Telegram-Splitting- Verfahren zu übertragene codierte Daten derart auf eine Mehrzahl von Sub-Datenpaketen zu verteilen, dass ein Verlust von einer hohen Anzahl (z.B. einer maximal möglichen Anzahl) von Sub-Datenpaketen kompensierbar ist.
Diese Aufgabe wird durch die unabhängigen Patentansprüche gelöst.
Vorteilhafte Weiterbildungen finden sich in den abhängigen Patentansprüchen.
Ausführungsbeispiele schaffen einen Datensender, wobei der Datensender ausgebildet ist, um eine Datenwertfolge [z.B. Bitfolge] zu codieren, um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten, wobei der Datensender ausgebildet ist, um die codierte Datenwertfolge basierend auf einer Verschachtelungsfunktion zu verschachteln, um eine verschachtelte, codierte Datenwertfolge zu erhalten, wobei die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht [z.B. kann die Verschachtelungsfunktion auf einer temporären Matrix basieren, die zeilenweise gefüllt wird und spaltenweise ausgelesen bzw zwischen dem Befüllen und Auslesen zyklisch zeilenrotiert wird], wobei der Datensender ausgebildet ist, um die verschachtelte, codierte Datenwertfolge blockweise auf eine Mehrzahl von Sub-Datenpaketen zu verteilen [z.B. wobei ein Block beispielsweise einer Spalte der zyklisch zeilenrotierten Version der Matrix entspricht], wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] zu senden.
Bei Ausführungsbeispielen kann bei der zyklisch zeilenrotierten Version der Matrix zumindest eine Zeile [z.B. gegenüber der Matrix] zeilenrotiert sein [z.B. zyklisch verschoben, z.B. um zumindest ein Matrixelement zyklischen verschoben oder rotiert].
Beispielsweise kann bei der zyklisch zeilenrotierten Version der Matrix [z.B. zeilenweise zyklisch rotierten Version der Matrix] zumindest eine Zeile [gegenüber der Matrix] um zumindest ein Element zyklisch verschoben sein.
Bei Ausführungsbeispielen können bei der zyklisch zeilenrotierten Version der Matrix zumindest zwei Zeilen zeilenrotiert sein, wobei die zumindest zwei Zeilen unterschiedlich zeilenrotiert sind [z.B. unterschiedlich zyklisch verschoben sind, z.B. um unterschiedliche Elemente zyklisch verschoben bzw. rotiert sind]. Beispielsweise können bei der zyklisch zeilenrotierten Version der Matrix zumindest zwei Zeilen [gegenüber der Matrix] um unterschiedliche Elemente zyklisch verschoben sein. Z.B. kann eine erste Zeile um ein Element zyklisch verschoben sein, während eine zweite Zeile um zwei Elemente zyklisch verschoben sein kann.
Bei Ausführungsbeispielen kann bei der zyklisch zeilenrotierten Version der Matrix jede Zeile [z.B. begonnen mit der zweiten Zeile] um zumindest ein Element [z.B. um genau ein Element oder mehr Elemente] mehr zyklisch zeilenrotiert [z.B. zyklisch verschoben] sein als eine unmittelbar vorangehende Zeile.
Beispielsweise kann eine erste Zeile um null Elemente [oder ein Element [oder mehr Elemente]] zyklisch verschoben sein, wobei eine zweite Zeile um zumindest ein Element mehr zyklisch verschoben sein kann als die erste Zeile, wie z.B. um ein Element [oder zwei Elemente [oder mehr Elemente]], wobei eine dritte Zeile um zumindest ein Element mehr zyklisch verschoben sein kann als die zweite Zeile, wie z.B. um zwei Elemente [oder drei Elemente [oder mehr Elemente]].
Bei Ausführungsbeispielen kann die Matrix I Zeilen aufweisen, wobei I eine natürliche Zahl größer gleich drei ist, wobei bei der zyklisch zeilenrotierten Version der Matrix jede Zeile i für i=1 bis i=l um i-1 Elemente [gegenüber der Matrix [z.B. Ausgangsmatrix, Referenzmatrix, Ursprungsmatrix]] zyklisch zeilenrotiert ist [z.B. um i-1 Elemente zyklisch verschoben ist].
Beispielsweise kann bei der zyklisch zeilenrotierten Version der Matrix eine erste Zeile um null Elemente zyklisch verschoben sein, wobei eine zweite Zeile um ein Element zyklisch verschoben sein kann, wobei eine dritte Zeile um zwei Elemente zyklisch verschoben sein kann, usw.
Bei Ausführungsbeispielen kann der Datensender ausgebildet sein, um die verschachtelte, codierte Datenwertfolge derart blockweise auf die Mehrzahl von Sub-Datenpaketen zu verteilen, dass die Mehrzahl von Sub-Datenpaketen jeweils verschachtelte, codierte Daten werte der verschachtelten, codierten Datenwertfolge aufweisen, die einer Spalte der zeilenrotierten Version der Matrix entsprechen.
Bei Ausführungsbeispielen kann eine Anzahl an Sub-Datenpaketen einer Anzahl an Spalten der Matrix oder zyklisch zeilenrotierten Version der Matrix entsprechen [z.B. Anzahl an Sub- Datenpaketen = Anzahl an Spalten der Matrix] Bei Ausführungsbeispielen kann der Datensender ausgebildet sein, um die verschachtelte, codierte Datenwertfolge in eine Mehrzahl von Blöcken [z.B. unmittelbar aneinander angrenzenden Blöcken] aufzuteilen, und um die Mehrzahl von Blöcken blockweise auf die Mehrzahl von Sub-Datenpaketen aufzuteilen.
Beispielsweise kann der Datensender ausgebildet sein, um einen ersten Block der verschachtelten, codierte Datenwertfolge auf ein erstes Sub-Datenpaket zu verteilen, und um einen zweiten Block der verschachtelten, codierte Datenwertfolge auf ein zweites Sub- Datenpaket zu verteilen, und um einen dritten Block der verschachtelten, codierte Datenwertfolge auf ein drittes Sub-Datenpaket zu verteilen, usw.
Bei Ausführungsbeispielen kann jeder Block der Mehrzahl von Blöcken einer Spalte der zyklisch zeilenrotierten Version der Matrix entsprechen.
Beispielsweise können verschachtelte, codierten Datenwerte eines ersten Blocks der verschachtelten, codierte Datenwertfolge einer ersten Spalte der zyklisch zeilenrotierten Version der Matrix entsprechen, wobei verschachtelte, codierten Datenwerte eines zweiten Blocks der verschachtelten, codierte Datenwertfolge einer zweiten Spalte der zyklisch zeilenrotierten Version der Matrix entsprechen, wobei verschachtelte, codierten Datenwerte eines dritten Blocks der verschachtelten, codierte Datenwertfolge einer dritten Spalte der zyklisch zeilenrotierten Version der Matrix entsprechen, usw.
Bei Ausführungsbeispielen kann eine Anzahl an Blöcken einer Anzahl an Sub-Datenpaketen entsprechen [Anzahl an Blöcken = Anzahl an Sub-Datenpaketen].
Bei Ausführungsbeispielen kann der Datensender ausgebildet sein, um die Mehrzahl von Datenpaketen mit Präambeln zu versehen, wobei der Datensender ausgebildet ist, um die jeweiligen verschachtelten, codierten Datenwerte der verschachtelten, codierten Datenwertefolge in den jeweiligen Sub-Datenpaketen der jeweiligen Präambel anzuhängen [z.B. so dass verschachtelte, codierte Datenwerte, die Elementen der zyklisch zeilenrotierten Version der Matrix entsprechen, die eine kleinere Zeilennummer aufweisen, einen kleineren Abstand zu der jeweiligen Präambel aufweisen als verschachtelte, codierte Datenwerte, die Elementen der zyklisch zeilenrotierten Version der Matrix entsprechen, die eine höhere Zeilennummer aufweisen].
Bei Ausführungsbeispielen kann der Datensender ausgebildet sein, um die Mehrzahl von Datenpaketen mit Midambeln zu versehen, wobei der Datensender ausgebildet ist, um die jeweiligen verschachtelten, codierten Datenwerte der verschachtelten, codierten Datenwertefolge in den jeweiligen Sub-Datenpaketen abwechselnd vor und nach der jeweiligen Midambel anzuordnen [z.B. so dass verschachtelte, codierte Datenwerte, die Elementen der zyklisch zeilenrotierten Version der Matrix entsprechen, die eine kleinere Zeilennummer aufweisen, einen kleineren Abstand zu der jeweiligen Midambel aufweisen als verschachtelte, codierte Datenwerte, die Elementen der zyklisch zeilenrotierten Version der Matrix entsprechen, die eine höhere Zeilennummer aufweisen].
Bei Ausführungsbeispielen kann codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1,j+1) = (/' x J) + ([j- i +J Jmod (J)) mit / = k mod (I)
j = floor (k/l)
k = 0, 1, ..., L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Verschachteln ist, wobei der Datensender ausgebildet ist, um die verschachtelte, codierte Datenwertfolge derart blockweise auf die Mehrzahl von Sub-Datenpaketen zu verteilten, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
Bei Ausführungsbeispielen kann die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000010_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei der Datensender ausgebildet ist, um die verschachtelte, codierte Datenwertfolge derart blockweise auf die Mehrzahl von Sub-Datenpaketen zu verteilten, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungstabelle entsprechen.
Bei Ausführungsbeispielen kann die codierte Datenwertfolge die Länge L— I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000010_0003
Figure imgf000010_0002
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei der Datensender ausgebildet ist, um die verschachtelte, codierte Datenwertfolge derart blockweise auf die Mehrzahl von Sub-Datenpaketen zu verteilten, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungstabelle entsprechen.
Weitere Ausführungsbeispiele schaffen einen Datensender, wobei der Datensender ausgebildet ist, um eine Datenwertfolge [z.B. Bitfolge] zu codieren, um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten, wobei der Datensender ausgebildet ist, um die codierte Datenwertfolge basierend auf einer Verschachtelungsfunktion zu verschachteln, und auf eine Mehrzahl von Sub-Datenpaketen zu verteilen, wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] zu senden, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub- Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1J+1) = (/ x J) + ([j- i +J jfnod (J)) mit / = k mod (I)
j = floor (k/l)
k = 0, 1, ..., L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Verschachteln ist, wobei der Datensender ausgebildet ist, um die codierten Datenwerte derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt zu verteilen, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen einen Datensender, wobei der Datensender ausgebildet ist, um eine Datenwertfolge [z.B. Bitfolge] zu codieren, um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten, wobei der Datensender ausgebildet ist, um die codierte Datenwertfolge basierend auf einer Verschachtelungsfunktion zu verschachteln, und auf eine Mehrzahl von Sub-Datenpaketen zu verteilen, wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] zu senden, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub- Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die
Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000012_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei der Datensender ausgebildet ist, um die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt zu verteilen, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungstabelle entsprechen.
Weitere Ausführungsbeispiele schaffen einen Datensender, wobei der Datensender ausgebildet ist, um eine Datenwertfolge [z.B. Bitfolge] zu codieren, um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten, wobei der Datensender ausgebildet ist, um die codierte Datenwertfolge basierend auf einer Verschachtelungsfunktion zu verschachteln, und auf eine Mehrzahl von Sub-Datenpaketen zu verteilen, wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] zu senden, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub- Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000013_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei der Datensender ausgebildet ist, um die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt zu verteilen, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Daten werte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen einen Datensender, wobei der Datensender ausgebildet ist, um eine Datenwertfolge [z.B. Bitfolge] zu codieren, um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten, wobei der Datensender ausgebildet ist, um die codierte Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen aufzuteilen, so dass Subdatenpaketdaten der jeweiligen Sub-Datenpakete Spalten einer zyklisch zeilenrotierten Matrix, deren Zeilen vor der zyklischen Zeilenpermutation aufeinanderfolgenden Datenabschnitten der codierte Datenwertefolge entsprechen, entsprechen, wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub- Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] zu senden.
Beispielsweise kann der Datensender ausgebildet sein, um die codierte Datenwertfolge auf die Mehrzahl von Sub-Datenpaketen derart aufzuteilen, dass Subdatenpaketdaten eines ersten Sub-Datenpakets einer ersten Spalte der zyklisch zeilenrotierten Matrix entsprechen, Subdatenpaketdaten eines zweiten Sub-Datenpakets einer zweiten Spalte der zyklisch zeilenrotierten Matrix entsprechen, Subdatenpaketdaten eines dritten Sub-Datenpakets einer dritten Spalte der zyklisch zeilenrotierten Matrix entsprechen, usw.
Weitere Ausführungsbeispiele schaffen einen Datenempfänger, wobei der Datenempfänger ausgebildet ist, um eine Mehrzahl von Sub-Datenpaketen zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden, wobei der Datenempfänger ausgebildet ist, um basierend auf den empfangenen Sub-Datenpaketen eine verschachtelte, codierte Datenwertfolge zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen blockweise verteilt ist, wobei der Datenempfänger ausgebildet ist, um eine verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion einer spaltenweisen Befüllung einer Matrix und einer zeilenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht [z.B. kann die Entschachtelungsfunktion auf einer temporären Matrix basieren, die spaltenweise gefüllt wird und zeilenweise ausgelesen bzw. zwischen dem Befüllen und Auslesen zyklisch zeilenrotiert wird]; wobei der Datenempfänger ausgebildet ist, um die codierte Datenwertfolge zu decodieren, um eine Datenwertfolge zu erhalten.
Bei Ausführungsbeispielen kann bei der zyklisch zeilenrotierten Version der Matrix zumindest eine Zeile [z.B. gegenüber der Matrix] zeilenrotiert [z.B. zyklisch verschoben, z.B. um zumindest ein Element zyklischen verschoben] sein.
Beispielsweise kann bei der zyklisch zeilenrotierten Version der Matrix zumindest eine Zeile [gegenüber der Matrix] um zumindest ein Element zyklisch verschoben sein.
Bei Ausführungsbeispielen können bei der zyklisch zeilenrotierten Version der Matrix zumindest zwei Zeilen zeilenrotiert sind, wobei die zumindest zwei Zeilen unterschiedlich zeilenrotiert sind [z.B. unterschiedlich zyklisch verschoben sind, z.B. um unterschiedliche Elemente zyklisch verschoben sind].
Beispielsweise können bei der zyklisch zeilenrotierten Version der Matrix zumindest zwei Zeilen [gegenüber der Matrix] um unterschiedliche Elemente zyklisch verschoben sein. Z.B. kann eine erste Zeile um ein Element zyklisch verschoben sein, während eine zweite Zeile um zwei Elemente zyklisch verschoben sein kann.
Bei Ausführungsbeispielen kann bei der zyklisch zeilenrotierten Version der Matrix jede Zeile [z.B. begonnen mit der zweiten Zeile] um zumindest ein Element [z.B. um genau ein Element oder mehr Elemente] mehr zyklisch zeilenrotiert [z.B. zyklisch verschoben] sein als eine unmittelbar vorangehende Zeile.
Beispielsweise kann eine erste Zeile um null Elemente [oder ein Element [oder mehr Elemente]] zyklisch verschoben sein, wobei eine zweite Zeile um zumindest ein Element mehr zyklisch vershoben sein kann als die erste Zeile, wie z.B. um ein Element [oder zwei Elemente [oder mehr Elemente]], wobei eine dritte Zeile um zumindest ein Element mehr zyklisch verschoben sein kann als die zweite Zeile, wie z.B. um zwei Elemente [oder drei Elemente [oder mehr Elemente]].
Bei Ausführungsbeispielen kann die Matrix I Zeilen aufweisen, wobei I eine natürliche Zahl größer gleich drei ist, wobei bei der zyklisch zei len rotierten Version der Matrix jede Zeile i für i=1 bis i=l um i-1 Elemente [gegenüber der Matrix] zyklisch zeilenrotiert ist [z.B. um i-1 Elemente zyklisch verschoben ist].
Beispielsweise kann bei der zyklisch zeilenrotierten Version der Matrix eine erste Zeile um null Elemente zyklisch verschoben sein, wobei eine zweite Zeile um ein Element zyklisch verschoben sein kann, wobei eine dritte Zeile um zwei Elemente zyklisch verschoben sein kann, usw.
Bei Ausführungsbeispielen kann die verschachtelte, codierte Datenwertfolge derart blockweise auf die Mehrzahl von Sub-Datenpaketen verteilt sein, dass die Mehrzahl von Sub-Datenpaketen jeweils verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweisen, die einer Zeile einer senderseitigen Matrix oder einer zeilenrotierten Version der senderseitigen Matrix entsprechen.
Bei Ausführungsbeispielen kann eine Anzahl an Sub-Datenpaketen einer Anzahl an Zeilen der Matrix oder der zyklisch zeilenrotierten Version der Matrix entsprechen [z.B. Anzahl an Sub-Datenpaketen = Anzahl an Zeilen der Matrix]
Bei Ausführungsbeispielen können die Mehrzahl von Datenpaketen mit Präambeln versehen sein, wobei die jeweiligen verschachtelten, codierten Datenwerte der verschachtelten, codierten Datenwertefolge in den jeweiligen Sub-Datenpaketen der jeweiligen Präambel angehängt sind [z.B. so dass verschachtelte, codierte Datenwerte, die Elemente einer senderseitigen Matrix oder der zyklisch zeilenrotierten Version der senderseitigen Matrix entsprechen, die eine kleinere Zeilennummer aufweisen, einen kleineren Abstand zu der jeweiligen Präambel aufweisen als verschachtelte, codierte Datenwerte, die Elemente der senderseitigen Matrix oder der zyklisch zeilenrotierten Version der senderseitigen Matrix entsprechen, die eine höhere Zeilennummer aufweisen].
Bei Ausführungsbeispielen können die Mehrzahl von Datenpaketen mit Midambeln versehen sein, wobei die jeweiligen verschachtelten, codierten Datenwerte der verschachtelten, codierten Datenwertefolge in den jeweiligen Sub-Datenpaketen abwechselnd vor und nach der jeweiligen Midambel angeordnet sind [z.B. so dass verschachtelte, codierte Datenwerte, die Elemente einer senderseitigen Matrix oder der zyklisch zeilenrotierten Version der senderseitigen Matrix entsprechen, die eine kleinere Zeilennummer aufweisen, einen kleineren Abstand zu der jeweiligen Midambel aufweisen als verschachtelte, codierte Datenwerte, die Elemente der senderseitigen Matrix oder der zyklisch zeilenrotierten Version der senderseitigen Matrix entsprechen, die eine höhere Zeilennummer aufweisen].
Bei Ausführungsbeispielen kann dem Datenempfänger die Entschachtelungsfunktion bekannt sein.
Bei Ausführungsbeispielen kann die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion sein, [z.B. wobei die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht].
Bei Ausführungsbeispielen kann die codierte Datenwertfolge die Länge L=I J aufweisen, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1,j+1) = (/ x J) + ([j- i +J /mod (J)) mit i = k mod (I)
j = floorf J
k = 0, 1, ..., L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Verschachteln ist, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Bei Ausführungsbeispielen kann die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000017_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Bei Ausführungsbeispielen kann die codierte Datenwertfolge die Länge L=I J aufweisen, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer
Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000017_0002
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L~1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen einen Datenempfänger, wobei der Datenempfänger ausgebildet ist, um eine Mehrzahl von Sub-Datenpaketen zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden, wobei der Datenempfänger ausgebildet ist, um basierend auf den empfangenen Sub-Datenpaketen eine verschachtelte, codierte Datenwertfolge zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen verteilt ist, wobei der Datenempfänger ausgebildet ist, um die verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1,j+1) = ( i x J ) + ([j- i +J /mod (J)) mit / = k mod (I)
j = floor
k = 0, 1, . ., L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Verschachteln ist, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen einen Datenempfänger, wobei der Datenempfänger ausgebildet ist, um eine Mehrzahl von Sub-Datenpaketen zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden, wobei der Datenempfänger ausgebildet ist, um basierend auf den empfangenen Sub-Datenpaketen eine verschachtelte, codierte Datenwertfolge zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen verteilt ist, wobei der Datenempfänger ausgebildet ist, um die verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer
Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000019_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen einen Datenempfänger, wobei der Datenempfänger ausgebildet ist, um eine Mehrzahl von Sub-Datenpaketen zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden, wobei der Datenempfänger ausgebildet ist, um basierend auf den empfangenen Sub-Datenpaketen eine verschachtelte, codierte Datenwertfolge zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen verteilt ist, wobei der Datenempfänger ausgebildet ist, um die verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L— I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer
Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000020_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen ein System mit einem Datensender gemäß einem der hierin beschriebenen Ausführungsbeispiele und einem Datenempfänger nach einem der hierin beschriebenen Ausführungsbeispiele.
Weitere Ausführungsbeispiele schaffen ein Verfahren zum Senden von Daten. Das Verfahren umfasst einen Schritt des Codierens einer Datenwertfolge [z.B. Bitfolge], um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten. Das Verfahren umfasst einen Schritt des Verschachtelns der codierten Datenwertfolge basierend auf einer Verschachtelungsfunktion, um eine verschachtelte, codierte Datenwertfolge zu erhalten, wobei die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung der zyklisch zeilenrotierten Version der Matrix entspricht [z.B. kann die Verschachtelungsfunktion auf einer temporären Matrix basieren, die zeilenweise gefüllt wird und spaltenweise ausgelesen bzw. zwischen dem Befüllen und Auslesen zyklisch zeilenrotiert wird]. Das Verfahren umfasst einen Schritt des blockweisen Verteilens der verschachtelten, codierten Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen [z.B. wobei ein Block beispielsweise einer Spalte der zyklisch zeilenrotierten Version der Matrix entspricht]. Das Verfahren umfasst einen Schritt des Sendens der Mehrzahl von Sub- Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren].
Weitere Ausführungsbeispiele schaffen ein Verfahren zum Senden von Daten. Das Verfahren umfasst einen Schritt des Codierens einer Datenwertfolge [z.B. Bitfolge], um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten. Das Verfahren umfasst einen Schritt des Verschachtelns, basierend auf einer Verschachtelungsfunktion, und Aufteilen der codierte Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen. Das Verfahren umfasst einen Schritt des Sendens der Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren], wobei die codierte Datenwertfolge die Länge L— I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1,j+1) = (/' x J) + ([j- i +J Jmod (J)) mit i = k mod (I)
j = floor (k/l)
k = 0, 1, ..., L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Versch achte In ist, wobei die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt verteilt werden, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen ein Verfahren zum Senden von Daten. Das Verfahren umfasst einen Schritt des Codierens einer Datenwertfolge [z.B. Bitfolge], um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten. Das Verfahren umfasst einen Schritt des Verschachtelns, basierend auf einer Verschachtelungsfunktion, und Aufteilen der codierte Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen. Das Verfahren umfasst einen Schritt des Sendens der Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren], wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000022_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt verteilt werden, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen ein Verfahren zum Senden von Daten. Das Verfahren umfasst einen Schritt des Codierens einer Datenwertfolge [z.B. Bitfolge], um eine codierte Datenwertefolge [z.B. codierte Bitfolge] zu erhalten. Das Verfahren umfasst einen Schritt des Verschachtelns, basierend auf einer Verschachtelungsfunktion, und Aufteilen der codierte Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen. Das Verfahren umfasst einen Schritt des Sendens der Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren], wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000023_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt verteilt werden, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen ein Verfahren zum Empfangen von Daten. Das Verfahren umfasst einen Schritt des Empfangene einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden. Das Verfahren umfasst einen Schritt des Ermittelns einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub-Datenpaketen blockweise verteilt ist, basierend auf den empfangenen Sub-Datenpaketen. Das Verfahren umfasst einen Schritt des Entschachtelns der verschachtelten, codierten Datenwertfolge basierend auf einer Entschachtelungsfunktion, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion einer spaltenweisen Befüllung einer Matrix und einer zeilenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht [z.B. kann die Entschachtelungsfunktion auf einer temporären Matrix basieren, die spaltenweise gefüllt wird und zeilenweise ausgelesen bzw. zwischen dem Befüllen und Auslesen zyklisch zeilenrotiert wird]. Das Verfahren umfasst einen Schritt des Decodierens der codierten Datenwertfolge, um eine Datenwertfolge zu erhalten.
Weitere Ausführungsbeispiele schaffen ein Verfahren zum Empfangen von Daten. Das Verfahren umfasst einen Schritt des Empfangene zumindest eines Teils einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden. Das Verfahren umfasst einen Schritt des Ermittelns einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub- Datenpaketen verteilt ist, basierend auf den empfangenen Sub-Datenpaketen, wobei die verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion entschachtelt wird, um eine codierte Datenwertfolge zu erhalten, wobei die
Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L=l · J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten
Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1J+1) = (/ x J) + ([ j - i +J Jrnod (J)) mit / = k mod (I)
j = i\oor(k/l)
k = 0, 1, ..., L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem
Verschachteln ist, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen ein Verfahren zum Empfangen von Daten. Das Verfahren umfasst einen Schritt des Empfangens zumindest eines Teils einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden. Das Verfahren umfasst einen Schritt des Ermitteln einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub- Datenpaketen verteilt ist, basierend auf den empfangenen Sub-Datenpaketen, wobei die verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion entschachtelt wird, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000025_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Weitere Ausführungsbeispiele schaffen ein Verfahren zum Empfangen von Daten. Das Verfahren umfasst einen Schritt des Empfangens zumindest eines Teils einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden. Das Verfahren umfasst einen Schritt des Ermittelns einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub- Datenpaketen verteilt ist, basierend auf den empfangenen Sub-Datenpaketen, wobei die verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion entschachtelt wird, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer
Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000026_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Ausführungsbeispiele befassen sich mit der Optimierung von Codeverschachtelungs- Verfahren (Interleaving) und hier insbesondere des Block- bzw. Matrix-Interleavers, der die TSMA-Aufteilung (TSMA = Telegram Splitting Multiple Access) der Nachricht in mehrere Sub-Datenpakete vorteilhaft zu nutzen weiß. Da das FEC-codierte Telegramm (codierte Datenwertfolge) in eine Vielzahl von kurzen Sub-Datenpaketen aufgeteilt wird, kann unterstellt werden, dass bei einer gestörten Übertragung immer einzelne Sub-Datenpakete gestört sind und damit komplett ausfailen. Diese sogenannten Bündelfehler haben daher die Größe eines Sub-Datenpakets. Ziel der Optimierung ist die fehlerfreie Rekonstruktion der vollständigen Nachricht, trotz des Verlustes einer von der vorgegebenen Coderate R abhängigen maximalen Anzahl von Teilpaketen.
Ausführungsbeispiele schaffen eine optimale Verschachtelung der Daten, derart, dass eine fehlerfreie Datenrekonstruktion möglich ist, obwohl eine maximale Anzahl von Sub- Datenpaketen ausfällt.
Ausführungsbeispiele schaffen eine Optimierung unter Berücksichtigung des Konzepts nach [2], welches eine Nutzung des Kanalcodierungsgewinns bei der iterativen Nachführung der Kanalimpulsantwort ermöglicht. Ausführungsbeispiele schaffen eine optimale Verschachtelung der Daten in den Sub- Datenpaketblöcken. Ausführungsbeispiele befassen sich mit einer Methode, Information so über die Sub-Datenpakete zu verteilen, dass der Verlust von maximal vielen Sub- Datenpaketen die Decodierbarkeit des Gesamtpaketes trotzdem noch in fast allen Fällen ermöglich ist.
Ausführungsbeispiele ermöglichen einer Teildecodierung im Rahmen einer iterativen Kanalschätzung. Das in [2] beschriebene Konzept beruht darauf, die Qualität der Schätzung der im Empfänger zunächst unbekannten FEC-codierten Symbole erheblich zu steigern, indem im Zuge einer iterativen Kanalschätzung eine begleitende, fortlaufende Teildecodierung der bis zum jeweiligen Zeitpunkt schätzbaren Symbole erfolgt. Hierdurch kann der Decodiergewinn bereits während der Kanalschätzung genutzt werden. Die FEC- Codierung muss hierzu gewisse Eigenschaften aufweisen, auf die weiter unten noch näher eingegangen wird.
Ausführungsbeispiele der vorliegenden Erfindung werden bezugnehmend auf die beiliegenden Figuren näher beschrieben. Es zeigen:
Fig. 1. ein schematisches Blockschaltbild eines Matrix-Interleavers und eines Matrix-
Deinterleavers;
Fig. 2 ein schematisches Blockschaltbild eines Systems mit einem Datensender und einem Datenempfänger, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 3 in einem Diagramm eine Belegung des Übertragungskanals bei der
Übertragung einer Mehrzahl von Sub-Datenpaketen entsprechend einem Zeit- und Frequenzsprungmuster; Fig. 4 ein schematisches Blockschaltbild des Datensenders, gemäß einem
Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 5 ein schematisches Blockschaltbild eines Datenempfängers, gemäß einem
Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 6 eine schematische Ansicht einer Mehrzahl von Sub-Datenpaketen, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; Fig. 7 in einem Diagramm Simulationsergebnisse einer Paketfehlerrate (PER) aufgetragen über eine Netzwerklast bei Telegram-Splitting (TSMA) mit dem Interleaver nach Fig. 6;
Fig. 8 eine schematische Ansicht einer Mehrzahl von Sub-Datenpaketen, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 9 in einem Diagramm Simulationsergebnisse einer Paketfehlerrate (PER) aufgetragen über eine Netzwerklast bei Telegram-Splitting (TSMA) mit dem Interleaver nach Fig. 8;
Fig. 10 eine schematische Ansicht einer Mehrzahl von Sub-Datenpaketen, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 1 1 eine schematische Ansicht einer Mehrzahl von Sub-Datenpaketen, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 12 ein Flussdiagramm eines Verfahrens zum Senden von Daten, gemäß einem
Ausführungsbeispiel der vorliegenden Erfindung; und
Fig. 13 ein Flussdiagramm eines Verfahrens zum Empfangen von Daten, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
In der nachfolgenden Beschreibung der Ausführungsbeispiele der vorliegenden Erfindung werden in den Figuren gleiche oder gleichwirkende Elemente mit dem gleichen Bezugszeichen versehen, so dass deren Beschreibung untereinander austauschbar ist.
Fig. 2 zeigt ein schematisches Blockschaltbild eines Systems mit einem Datensender 100 und einem Datenempfänger 110, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
Der Datensender 100 ist ausgebildet, um Daten (z.B. eine Datenwertfolge) zu codieren, zu verschachteln und auf eine Mehrzahl von Sub-Datenpaketen aufzuteilen, und um die Mehrzahl von Sub-Datenpaketen 142, z.B. mittels eines Signals 120, basierend auf dem Telegram-Splitting-Verfahrens zu übertragen (z.B. zu senden). Der Datenempfänger 110 ist ausgebildet, um die Mehrzahl von Sub-Datenpaketen 142, die basierend auf dem Telegram-Splitting-Verfahren, z.B. mittels des Signals 120, übertragen werden, zu empfangen, wobei die Mehrzahl von Sub-Datenpaketen 142 verschachtelte, codierte Daten (z.B. eine verschachtelte, codierte Datenwertfolge) aufweisen, und um die verschachtelte, codierte Daten zu entschachteln und zu decodieren.
Wie in Fig. 1 beispielhaft gezeigt ist, kann der Datensender 100 eine Sendeeinrichtung (oder Sendemodul, oder Transmitter) 102 aufweisen, die ausgebildet ist, um das Signal 120 zu senden. Die Sendeeinrichtung 102 kann mit einer Antenne 104 des Datensenders 100 verbunden sein. Der Datensender 100 kann ferner eine Empfangseinrichtung (oder Empfangsmodul, oder Receiver) 106 aufweisen, die ausgebildet ist, um ein Signal zu empfangen. Die Empfangseinrichtung 106 kann mit der Antenne 104 oder einer weiteren (separaten) Antenne des Datensenders 100 verbunden sein. Der Datensender 100 kann auch eine kombinierte Sendeempfangseinrichtung (Transceiver) aufweisen.
Der Datenempfänger 110 kann eine Empfangseinrichtung (oder Empfangsmodul, oder Receiver) 1 16 aufweisen, die ausgebildet ist, um das Signal 120 zu empfangen. Die Empfangseinrichtung 116 kann mit einer Antenne 1 14 des Datenempfängers 110 verbunden sein. Ferner kann der Datenempfänger 1 10 eine Sendeeinrichtung (oder Sendemodul, oder Transmitter) 1 12 aufweisen, die ausgebildet ist, um ein Signal zu senden. Die Sendeeinrichtung 112 kann mit der Antenne 1 14 oder einer weiteren (separaten) Antenne des Datenempfängers 110 verbunden sein. Der Datenempfänger 1 10 kann auch eine kombinierte Sendeempfangseinrichtung (Transceiver) aufweisen.
Bei Ausführungsbeispielen kann der Datensender 100 ein Sensorknoten sein, während der Datenempfänger 110 eine Basisstation sein kann. Typischerweise umfasst ein Kommunikationssystem zumindest einen Datenempfänger 110 (Basisstation) und eine Vielzahl von Datensendern (Sensorknoten, wie z.B. Heizungszähler). Natürlich ist es auch möglich, dass der Datensender 100 eine Basisstation ist, während der Datenempfänger 110 ein Sensorknoten ist. Ferner ist es möglich, dass sowohl der Datensender 100 als auch der Datenempfänger 110 Sensorknoten sind. Des Weiteren ist es möglich, dass sowohl der Datensender 100 als auch der Datenempfänger 110 Basisstationen sind.
Wie bereits erwähnt nutzten der Datensender 100 und der Datenempfänger 110 zur Übertragung von Daten das Telegram-Splitting-Verfahren (dt. Telegrammaufteilungsverfahrens) [1] Beim Telegram-Splitting-Verfahren werden zu übertragene Daten (z.B. ein Telegramm oder Datenpaket) in eine Mehrzahl von Sub- Datenpakete (oder Teildatenpakte, oder Teilpakete) 142 aufgeteilt und die Sub-Datenpakete
142 entsprechend eines Sprungmusters 140 in der Zeit verteilt und/oder in der Frequenz verteilt von dem Datensender 100 zu dem Datenempfänger 110 übertragen, wobei der Datenempfänger 110 die Sub-Datenpakete wieder zusammenfügt (oder kombiniert), um die zu übertragenen Daten zu erhalten. Jedes der Sub-Datenpakete 142 enthält dabei nur einen Teil der zu übertragenen Daten. Die zu übertragenen Daten können dabei kanalcodiert sein, so dass zum fehlerfreien Decodieren der kanalcodierten Daten nicht alle Sub-Datenpakete 142, sondern nur ein Teil der Sub-Datenpakete 142 erforderlich sind.
Die zeitliche Verteilung der Mehrzahl von Sub-Datenpaketen 142 kann, wie bereits erwähnt, entsprechend eines Zeit- und/oder Frequenzsprungmusters erfolgen.
Ein Zeitsprungmuster kann eine Abfolge von Sendezeitpunkten oder Sendezeitabständen angeben, mit denen die Sub-Datenpakete gesendet werden. Beispielsweise kann ein erstes Sub-Datenpaket zu einem ersten Sendezeitpunkt (oder in einem ersten Sendezeitschlitz) und ein zweites Sub-Datenpaket zu einem zweiten Sendezeitpunkt (oder in einem zweiten Sendezeitschlitz) gesendet werden, wobei der erste Sendezeitpunkt und der zweite Sendezeitpunkt unterschiedlich sind. Das Zeitsprungmuster kann dabei den ersten Sendezeitpunkt und den zweiten Sendezeitpunkt definieren (oder vorgeben, oder angeben). Alternativ kann das Zeitsprungmuster den ersten Sendezeitpunkt und einen zeitlichen Abstand zwischen dem ersten Sendezeitpunkt und dem zweiten Sendezeitpunkt angeben. Natürlich kann das Zeitsprungmuster auch nur den zeitlichen Abstand zwischen dem ersten Zeitpunkt und dem zweiten Sendezeitpunkt angeben. Zwischen den Sub-Datenpaketen können Sendepausen vorhanden sein in denen nicht gesendet wird. Die Sub-Datenpakete können sich auch zeitlich überlappen (überschneiden).
Ein Frequenzsprungmuster kann eine Abfolge von Sendefrequenzen oder Sendefrequenzsprüngen angeben, mit denen die Sub-Datenpakete gesendet werden. Beispielsweise kann ein erstes Sub-Datenpaket mit einer ersten Sendefrequenz (oder in einem ersten Frequenzkanal) und ein zweites Sub-Datenpaket mit einer zweiten Sendefrequenz (oder in einem zweiten Frequenzkanal) gesendet werden, wobei die erste Sendefrequenz und die zweite Sendefrequenz unterschiedlich sind. Das Frequenzsprungmuster kann dabei die erste Sendefrequenz und die zweite Sendefrequenz definieren (oder vorgeben, oder angeben). Alternativ kann das Frequenzsprungmuster die erste Sendefrequenz und einen Frequenzabstand (Sendefrequenzsprung) zwischen der ersten Sendefrequenz und der zweiten Sendefrequenz angeben. Natürlich kann das Frequenzsprungmuster auch nur den Frequenzabstand (Sendefrequenzsprung) zwischen der ersten Sendefrequenz und der zweiten Sendefrequenz angeben.
Natürlich können die Mehrzahl von Sub-Datenpakete 142 auch sowohl in der Zeit- als auch in der Frequenz verteilt von dem Datensender 100 zu dem Datenempfänger 1 10 übertragen werden. Die Verteilung der Mehrzahl von Sub-Datenpakete in der Zeit und in der Frequenz kann entsprechend einem Zeit- und Frequenzsprungmuster erfolgen. Ein Zeit- und Frequenzsprungmuster kann die Kombination aus einem Zeitsprungmuster und einem Frequenzsprungmuster sein, d.h. eine Abfolge von Sendezeitpunkten oder Sendezeitabständen mit denen die Sub-Datenpakete übertragen werden, wobei den Sendezeitpunkten (oder Sendezeitabständen) Sendefrequenzen (oder Sendefrequenzsprünge) zugeordnet sind.
Fig. 3 zeigt in einem Diagramm eine Belegung des Übertragungskanals bei der Übertragung einer Mehrzahl von Sub-Datenpaketen 142 entsprechend einem Zeit- und Frequenzsprungmuster. Dabei beschreibt die Ordinate die Frequenz und die Abszisse die Zeit.
Wie in Fig. 3 zu erkennen ist, können die zu übertragenen Daten beispielhaft auf n = 7 Sub- Datenpakete 142 aufgeteilt werden und entsprechend eines Zeit- und Frequenzsprungmusters verteilt in der Zeit und der Frequenz von dem Datensender 100 zu dem Datenempfänger 110 übertragen werden.
Wie in Fig. 3 weiter zu erkennen ist, kann auch eine Synchronisationssequenz 144 auf die Mehrzahl von Sub-Datenpakete 142 aufgeteilt werden, so dass die Mehrzahl von Sub- Datenpakete 142 neben den zu übertragenen Daten (Datensymbole 146 in Fig. 3) jeweils einen Teil der Synchronisationssequenz (Synchronisationssymbole 144 in Fig. 3) enthalten.
Im Folgenden werden Ausführungsbeispiele des Datensenders 100 und Datenempfängers 1 10 anhand der Fig. 4 und 5 näher beschrieben.
Fig. 4 zeigt ein schematisches Blockschaltbild des Datensenders 100, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
Der Datensender 100 ist ausgebildet, um eine Datenwertfolge (z.B. eine Bitfolge) 160 zu codieren (z.B. mit einer Vorwärtsfehlerkorrektur, wie z.B. einem Blockcode oder einem Faltungscode), um eine codierte Datenwertefolge (z.B. eine codierte Bitfolge) 162 zu erhalten. Beispielsweise kann der Datensender einen Codierer 164 aufweisen, der ausgebildet ist, um die Datenwertfolge (z.B. eine Bitfolge) 160 zu codieren, um die codierte Datenwertefolge (z.B. eine codierte Bitfolge) 162 zu erhalten.
Der Datensender 100 ist ferner ausgebildet, um die codierte Datenwertfolge 162 basierend auf einer Verschachtelungsfunktion zu verschachteln, um eine verschachtelte, codierte Datenwertfolge 166 zu erhalten, wobei die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht. Wie in Fig. 4 angedeutet ist, kann der Datensender 100 einen Interleaver (dt. Verschachtelter) 168 aufweisen, der ausgebildet ist, um die codierte Datenwertfolge 162 basierend auf der Verschachtelungsfunktion zu verschachteln, um die verschachtelte, codierte Datenwertfolge 166 zu erhalten.
Der Datensender 100 ist ferner ausgebildet, um die verschachtelte, codierte Datenwertfolge 168 blockweise auf eine Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J zu verteilen. Beispielsweise kann der Datensender 100 ausgebildet sein, um einen ersten Block 167_1 der verschachtelten, codierte Datenwertfolge 166 auf ein erstes Sub-Datenpaket 142_1 aufzuteilen, um einen zweiten Block 167_2 der verschachtelten, codierte Datenwertfolge 166 auf ein zweites Sub-Datenpaket 142_2 aufzuteilen, etc., und um einen J-ten Block 167_J der der verschachtelten, codierte Datenwertfolge 166 auf ein J-tes Sub-Datenpaket 142_J aufzuteilen.
Der Datensender 100 ist ferner ausgebildet, um die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J basierend auf einem Zeit- und Frequenzsprungverfahren (z.B. Telegram-Splitting- Verfahren) zu senden, z.B. mittels eines Signals 120.
Wie bereits erwähnt wurde, kann die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entsprechen. Dies bedeutet aber nicht, dass während der Verschachtelung der codierten Datenwertfolge (z.B. durch den Interleaver) tatsächlich eine (temporäre) Matrix zeilenweise befüllt, und spaltenweise ausgelesen bzw. vor dem Auslesen zeilenrotiert wird, sondern lediglich, dass die Verschachtelungsfunktion einer solchen zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix„entspricht“. Die basierend auf der Verschachtelungsfunktion durchgeführte Abbildung der codierten Datenwertfolge auf die verschachtelte, codierte Datenwertfolge kann also durch einen Matrix-Interleaver beschrieben werden, während die tatsächliche Implementierung genau so gut mittels einer Abbildungsvorschrift (z.B. einer Formel) oder einer Tabelle erfolgen kann.
Zu Veranschaulichungszwecken ist in Fig. 4 eine Matrix 170 der Größe (),J), also mit I Zeilen (von i=1 bis i=l) und J Spalten (von j=1 bis j=J), gezeigt. Dabei kann I eine natürliche Zahl größer gleich zwei (oder drei) und J eine natürliche Zahl größer gleich zwei (oder drei) sein.
Bei Ausführungsbeispielen kann die Matrix, zeilenweise, sequentiell gefüllt werden, z.B. beginnend mit der ersten Zeile (i=1), gefolgt von der zweiten Zeile (i— 2), usw., wobei die Matrix, oder die zyklisch zeilenrotierten Version der Matrix, spaltenweise, sequentiell ausgelesen werden kann, z.B. beginnend mit der ersten Spalte (j— 1 ), gefolgt von der zweiten Spalte (j=2), usw.
Bei Ausführungsbeispielen kann bei der zyklisch zeilenrotierten Version der Matrix zumindest eine Zeile (z.B. gegenüber der Matrix) zeilenrotiert sein bzw. zyklisch verschoben sein, z.B. um zumindest ein Matrixelement. Beispielsweise kann bei der zyklisch zeilenrotierten Version der Matrix (z.B. zeilenweise zyklisch rotierten Version der Matrix) zumindest eine Zeile (gegenüber der Matrix) um zumindest ein Element zyklisch verschoben sein, d.h. innerhalb der Zeile nach rechts oder links zyklisch verschoben sein.
Bei Ausführungsbeispielen können bei der zyklisch zeilenrotierten Version der Matrix zumindest zwei Zeilen zeilenrotiert sind, wobei die zumindest zwei Zeilen unterschiedlich zeilenrotiert sind (z.B. unterschiedlich zyklisch verschoben sind, z.B. um unterschiedliche Elemente zyklisch verschoben bzw. rotiert sind). Beispielsweise können bei der zyklisch zeilenrotierten Version der Matrix zumindest zwei Zeilen [gegenüber der Matrix] um unterschiedliche Elemente zyklisch verschoben sein. Zum Beispiel kann eine erste Zeile (z.B. die Zeile i=2) um ein Element zyklisch verschoben sein, während eine zweite Zeile (z.B. die Zeile i=3) um zwei Elemente zyklisch verschoben sein kann.
Bei Ausführungsbeispielen kann bei der zyklisch zeilenrotierten Version der Matrix jede Zeile (z.B. begonnen mit der zweiten Zeile) um zumindest ein Element (z.B. um genau ein Element oder mehr Elemente) mehr zyklisch zeilenrotiert (z.B. zyklisch verschoben) sein als eine unmittelbar vorangehende Zeile. Beispielsweise kann eine erste Zeile (z.B. die Zeile i=1) um null Elemente (oder ein Element (oder mehr Elemente)) zyklisch verschoben sein, wobei eine zweite Zeile (z.B. die Zeile i=2) um zumindest ein Element mehr zyklisch verschoben sein kann als die erste Zeile, wie z.B. um ein Element (oder zwei Elemente (oder mehr Elemente)), wobei eine dritte Zeile (z.B. die Zeile i=3) um zumindest ein Element mehr zyklisch verschoben sein kann als die zweite Zeile, wie z.B. um zwei Elemente (oder drei Elemente (oder mehr Elemente)).
Bei Ausführungsbeispielen kann bei der zyklisch zeilenrotierten Version der Matrix jede Zeile i für i=1 bis i=l um i-1 Elemente (gegenüber der Matrix (z.B. Ausgangsmatrix, Referenzmatrix, Ursprungsmatrix)) zyklisch zeilenrotiert sein, z.B. um i-1 Elemente zyklisch verschoben sein. Beispielsweise kann bei der zyklisch zeilenrotierten Version der Matrix eine erste Zeile (d.h. die Zeile i=1) um null Elemente zyklisch verschoben sein, wobei eine zweite Zeile (d.h. die Zeile i=2) um ein Element zyklisch verschoben sein kann, wobei eine dritte Zeile (d.h. die Zeile i=3) um zwei Elemente zyklisch verschoben sein kann, usw.
Wie bereits erwähnt wurde, ist der Datensender 100 ausgebildet, um die verschachtelte, codierte Datenwertfolge 166 blockweise auf die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J aufzuteilen.
Bei Ausführungsbeispielen kann der Datensender 100 dabei ausgebildet sein, um die verschachtelte, codierte Datenwertfolge 166 derart blockweise auf die Mehrzahl von Sub- Datenpaketen 142_1 bis 142_J zu verteilen, dass die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J jeweils verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweisen, die Elementen einer Spalte der zeilenrotierten Version der Matrix entsprechen. Beispielsweise kann der Datensender 100 ausgebildet sein, um die verschachtelte, codierte Datenwertfolge 166 derart blockweise auf die Mehrzahl von Sub- Datenpaketen 142_1 bis 142_J zu verteilen, dass ein erstes Sub-Datenpaket 142_1 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweist, die Elementen der ersten Spalte j=1 der zeilenrotierten Version der Matrix entsprechen, dass ein zweites Sub-Datenpaket 142_2 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweist, die Elementen der zweiten Spalte j=2 der zeilenrotierten Version der Matrix entsprechen, etc., und dass ein J-tes Sub-Datenpaket 142_J verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweist, die Elementen der J-ten Spalte j=J der zeilenrotierten Version der Matrix entsprechen.
Fig. 5 zeigt ein schematisches Blockschaltbild eines Datenempfängers 110, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
Der Datenempfänger 1 10 ist ausgebildet, um eine Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren (z.B. Telegram Splitting Verfahren) übertragen werden, z.B. mittels des Signals 120. Der Datenempfänger 110 ist ferner ausgebildet, um basierend auf den empfangenen Sub- Datenpaketen 142_1 bis 142_J eine verschachtelte, codierte Datenwertfolge 170 zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J blockweise verteilt ist. Beispielsweise kann ein erstes Sub-Datenpaket 142_1 einen ersten Block 171_1 der verschachtelten, codieren Datenwertfolge 170 aufweisen, wobei ein zweites Sub-Datenpaket 142_2 einen zweiten Block 171_2 der verschachtelten, codierten Datenwertfolge 170 aufweisen kann, etc., und wobei ein J-tes Sub-Datenpaket 142_J einen J-ten Block 171_J der verschachtelten, codierten Datenwertfolge 170 aufweisen kann.
Ferner ist der Datenempfänger 110 ausgebildet, um die verschachtelte, codierte Datenwertfolge 170 basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge 172 zu erhalten. Beispielsweise kann der Datenempfänger 110 einen Deinterleaver 174 (dt. Entschachteler) aufweisen, der ausgebiidet ist, um die verschachtelte, codierte Datenwertfolge 170 basierend auf der Entschachtelungsfunktion zu entschachteln, um die codierte Datenwertfolge 172 zu erhalten.
Die Entschachtelungsfunktion ist dabei komplementär zu der datensenderseitigen Verschachtelungsfunktion. Beispielsweise kann die Entschachtelungsfunktion einer spaltenweisen Befüllung einer Matrix und einer zeilenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entsprechen. Zum Beispiel kann die Entschachtelungsfunktion auf einer temporären Matrix basieren, die spaltenweise gefüllt wird und zeilenweise ausgelesen bzw. zwischen dem Befüllen und Auslesen zyklisch zeilenrotiert wird.
Die Entschachtelungsfunktion entspricht dabei einer zyklischen Zeilenrückrotation der Matrix vor der Auslesung derselben, wobei die zyklische Zeilenrückrotation (oder Zeilenrerotation) komplementär zu der datensenderseitigen, entsprechend der Verschachtelungsfunktion durchgeführten zyklischen Zeilenrotation ist. Beispielsweise kann im Interleaver die Matrix zeilenweise um eine gegebene Anzahl von Elementen nach rechts rotiert werden und die rechts rausfallenden Elemente wieder links in die Matrix eingeschoben werden, wobei im Interleaver die dazu komplementäre Funktion durchgeführt wird, d.h. die Matrix wird um die gleiche gegebene Anzahl von Elementen zeilenweise nach links rotiert und die links rausfallenden Elemente wieder rechts in die Matrix eingeschoben.
Ferner ist der Datenempfänger ausgebildet, um die codierte Datenwertfolge 172 zu decodieren, um eine Datenwertfolge 176 zu erhalten. Beispielsweise kann der Datenempfänger 110 einen Decoder 178 aufweisen, der ausgebildet ist, um die codierte Datenwertfolge 172 zu decodieren, um die Datenwertfolge 176 zu erhalten.
Im Folgenden werden weitere Ausführungsbeispiele des Datensenders 100 und Datenempfängers 110 näher beschrieben.
Das gezielte Verschachteln der Daten ist im Besonderen dann wichtig, wenn es im Kanal zu Störungen kommt. Hierbei ist es vorteilhaft, wenn das zu übertragende Gesamtdatenpaket, in kleinere Teil-Datenpakete, in sogenannte Sub-Datenpakete unterteilt wird (siehe [1]). Ist der zeitliche Abstand zwischen den einzelnen Sub-Datenpaketen im Vergleich zu den im Kanal auftretenden Störern lange genug, so ist die Wahrscheinlichkeit hoch, dass immer nur einzelne Sub-Datenpakete gestört werden und das jeweils unabhängig voneinander. Sind die Daten nun passend verschachtelt, führt der Verlust der Information eines oder mehrerer Sub-Datenpakete noch nicht zum Verlust des ganzen Informationspakets. Um dies zu erreichen wird eine Kanalcodierung mit Coderate R auf die Information angewandt bevor diese auf die J Sub-Datenpakete aufgeteilt wird.
Fig. 6 zeigt eine schematische Ansicht einer Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wie in Fig. 6 zu erkennen ist, weisen die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J Präambeln (Präambelsymbole 144) auf, wobei die jeweiligen verschachtelten, codierten Datenwerte (Datensymbole 146) der verschachtelten, codierten Datenwertefolge 166 in den jeweiligen Sub-Datenpaketen 142_1 bis 142_J den jeweiligen Präambel angehängt sind. Wie in Fig. 6 ferner zu erkennen ist, ist die verschachtelte, codierte Datenwertfolge 166 derart blockweise auf die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J verteilt, dass die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J jeweils verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweisen, die Elementen einer Spalte der Matrix entsprechen. Im Detail weist das erste Sub-Datenpaket 142_1 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 auf, die Elementen der ersten Spalte j=1 der Matrix entsprechen, wobei das zweite Sub-Datenpaket 142_2 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 aufweist, die Elementen der zweiten Spalte j=2 der Matrix entsprechen, etc., und wobei das J-te Sub- Datenpaket 142_J verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 aufweist, die Elementen der J-ten Spalte j=J der Matrix entsprechen.
Mit anderen Worten, Fig. 6 zeigt ein Ausführungsbeispiel mit Präambel und Nachricht, bestehend aus J Sub-Datenpaketen 142_1 bis 142_J bei Nutzung des Block-Interleavers nach Fig. 1. Im Ausführungsbeispiel nach Fig, 6 wird in jedem Sub-Datenpaket 142_1 bis 142_J den im Empfänger 110 unbekannten datenabhängigen Sendesymbolen 146 eine Präambel (auch Referenz-, Trainings- oder Pilotsequenz genannt) der Länge P vorangestellt, deren Symbole 144 dem Empfänger 110 vorab bekannt sind. Es ist für die Anwendung von Ausführungsbeispielen dabei unerheblich, ob die Sub-Datenpakete 142_1 bis 142_J identische (wie in Fig. 6 dargestellt) oder unterschiedliche Präambel-Sequenzen verwenden. Wie in Fig. 6 zu erkennen ist, werden die zu übertragenden Symbole 146 durch den Interleaver aus Fig. 1„spaltenweise“ sukzessive von oben nach unten unter bzw. nach der Präambel angeordnet.
Da wie bereits erwähnt, eine analytische Performance-Abschätzung in der Regel nicht möglich ist [3,4], zeigt man die Leistungsfähigkeit verschiedener Interleavervarianten anhand von Simulationen.
Gegeben sei z.B. ein binärer Faltungscode mit einer Coderate von beispielsweise R=1/3 und einer Einflusslänge U = 7 mit maximaler freien Distanz dfree von 15 und den 3 Generator- Polynomen mit den oktalen Abgriffen: G? = 133, Ga = 165 und Ga = 171 (siehe [5], S. 226). Die Anzahl der Sub-Datenpakete 142_1 bis 142_J beläuft sich in diesem Beispiel auf J = 18 und die Anzahl der binären Datensymbole beträgt pro Sub-Datenpaket / = 53, insgesamt also ein Datenblock von 954 Bits. Fig. 7 zeigt die Paketfehlerrate (PER) in Abhängigkeit vom Verkehrsangebot, welches sich von links nach rechts beständig steigert. Des Weiteren wird unterstellt, dass alle Teilnehmer immer mit den gleichen Empfangspegeln am Empfänger 116 des Datenempfängers 110 (z.B. Basisstation) ankommen. Überlappen sich zwei Sub- Datenpakete, so werden beide Sub-Datenpakete als fehlerhaft gekennzeichnet und die Log- Likelihood-Ratios (LLRs) für das Soft-Decision-Decoding im Empfänger 116 werden auf 0 gesetzt. Erreicht ein Sub-Datenpaket den Datenempfänger 110 (z.B. Basisstation) ohne mit einem anderen Sub-Datenpaket zu kollidieren, so werden die LLRs bei einem unterstellten Eb/No = 100 dB als fehlerfrei angenommen. Die Kurve 200 aus Fig. 7 zeigt die resultierende PER-Performance. Zur Soft-Decision-Decodierung wurde ein Viterbi-Algorithmus unter Verwendung von LLRs eingesetzt.
Zur leistungsmäßigen Einordnung der Performancekurve 200 aus Fig. 7 wurden zusätzlich im Netzwerksimulator lastabhängige Statistiken über die Kollisionshäufigkeit der Sub- Datenpakete 142_1 bis 142_J je 18er Datenblock durchgeführt. Dabei wurden verschiedene Untergrenzen bzgl. der Fehlerfreiheit vorgegeben. Bei der Kurve 202 wurde der Ausfall von bis zu 9 Sub-Datenpaketen erlaubt, oder anders formuliert, mindestens 9 kollisionsfreie Sub- Datenpakete mussten pro 18er-Datenblock erfolgreich am Empfänger ankommen. Bei der rechten grünen Kurve 204 wurde für die Decoder-Fehlerfreiheit nur noch mindestens 6 Sub- Datenpaketen gefordert, bis zu 12 Sub-Datenpakete (2/3 von 18 Sub-Datenpaketen) durften also fehlerhaft sein. Dazwischen liegen noch die Kurven 206 bzw. 208, mit Grenzwerten von mindestens 7 bzw. 8 erfolgreichen Sub-Datenpaketen um als fehlerfrei decodiert gekennzeichnet zu werden. Der Vergleich der Kurve 200 mit den Kurven 202, 204, 206 und 208 zeigt, dass die tatsächlich decodierte Performance sich in etwa mit der Kurve 206 deckt, für die mindestens 7 fehlerfreie Sub-Datenpakete benötigt werden, damit der virtuelle Decodiervorgang als erfolgreich angesehen werden kann. Dass es möglich ist, die Kurve 200 mit einem geeigneten Interleaver auf die Performance der Kurve 204 (mit lediglich 6 fehlerfreien Sub-Datenpaketen) zu verbessern, wird im nächsten Abschnitt gezeigt.
Modizifiertes Interleavinq mit zyklischem Schieben der einzelnen Interleaver-Matrix-Zeilen
Die Realisierung größerer Coderaten wie R=1/N wird durch die sogenannte Punktierung (Auslöschung und Nichtübertragung) erreicht. Beispielsweise werden beim EDGE-Mode MCS9 bei einer Coderate R=1/3 anschließend immer 2 von 3 Bits periodisch herauspunktiert und nicht übertragen. Die resultierende Coderate dieses punktierten Faltungscode nimmt dann den maximal möglichen Wert von Rp=1 > R=1/3 an. Jedes punktierte Bit (diese Stellen in der Codesequenz müssen dem Empfänger bekannt sein) wird in der Empfangssequenz durch eine 0 (Erasure) ersetzt. Ein solches durch die Punktierung entstandenes Erasure wird von Decoder genauso behandelt wie eine Auslöschung durch den Kanal. Das heißt, dass bei einem 1/3-ratigen Faltungscode 2/3 der Codesequenz redundant sind bzw. durch den Kanal zerstört werden könnten. Werden die LLRs an diesen Stellen noch zu 0 gesetzt, dann ist der Decoder nach wie vor imstande, die ursprünglich gesendete Codesequenz zu rekonstruieren.
Erfolgt die Datenübertragung kompakt in einem zusammenhängenden Paket oder Zeitschlitz, dann fügt der Kanal seine Fehler an beliebigen, dem Empfänger unbekannten, Stellen ein. Bei Telegram-Splitting verhält es sich jedoch anders: der Ausfall ganzer Sub- Datenpakete mit jeweils / Codebits lässt sich durch Analyse der LLRs (Aufsummation der Beträge der LLRs und Unterschreitung eines Schwellwertes) leicht erkennen und die LLRs entsprechend zu 0 setzen. Da die durch ein fehlerhaftes Sub-Datenpaket verursachten Bündelfehler immer eine Zeile im Block-Interleaver nach Fig. 1 betreffen und andere Zeilen davon nicht betroffen sind, kann man sich diese Regularität des zeilenweisen Informations- Ausfalls beim Redesign des Block-Interleavers nach Fig. 1 zunutze machen. Ein gezieltes Vertauschen einzelner Zeilen bringt keinen Vorteil, da der Ausfall einzelner Sub-Datenpakete rein zufällig erfolgt, Auch wegen [2] sollten die Zeilen nicht vertauscht werden, da sich beim Telegram-Splitting eine Teildecodierung im Rahmen einer iterativen Kanalschätzung als besonders vorteilhaft erwiesen hat.
Insofern verbleibt nur die Möglichkeit der gezielten Vertauschungen innerhalb einer jeden Zeile, beispielsweise durch einen zyklischen Rechts- oder Linksshift jeder einzelnen Matrixzeile, also eine zyklische Rotation ,die alle Elemente einer Zeile nach rechts oder links im Kreis vertauscht, wobei die Schrittweite M beliebig sein kann.
Fig. 8 zeigt eine schematische Ansicht einer Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wie in Fig. 8 zu erkennen ist, weisen die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J Präambeln (Präambelsymbole 144) auf, wobei die jeweiligen verschachtelten, codierten Datenwerte (Datensymbole 146) der verschachtelten, codierten Datenwertefolge 166 in den jeweiligen Sub-Datenpaketen 142_1 bis 142_J den jeweiligen Präambel angehängt sind. Wie in Fig. 8 ferner zu erkennen ist, ist die verschachtelte, codierte Datenwertfolge 166 derart blockweise auf die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J verteilt, dass die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J jeweils verschachtelte, codierte Datenwerte der verschachtelten, codierten Daten wertfolge aufweisen, die Elementen einer Spalte der zyklisch zeilenrotierten Version der Matrix entsprechen. Im Detail weist das erste Sub- Daten paket 142__1 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 auf, die Elementen der ersten Spalte j=1 der zyklisch zeilenrotierten Version der Matrix entsprechen, wobei das zweite Sub-Datenpaket 142_2 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 aufweist, die Elementen der zweiten Spalte j=2 der zyklisch zeilenrotierten Version der Matrix entsprechen, etc., und wobei das J-te Sub-Datenpaket 142_J verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 aufweist, die Elementen der J-ten Spalte j=J der zyklisch zeilenrotierten Version der Matrix entsprechen.
Mit anderen Worten, Fig. 8 zeigt ein Ausführungsbeispiel mit Präambel und Nachricht, bestehend aus J Teil-Datenpaketen 142_1 bis 142_J bei Nutzung eines modifizierten Block- Interleavers mit M=1.
Bei dem in Fig. 8 gezeigtem Ausführungsbeispiel erfolgt beispielsweise eine zeilenweiser Rechtsshift um jeweils eine Position (M=1) in jeder Zeile. In der ersten Zeile erfolgt kein Shift (S=0). In der zweiten Zeile werden alle Elemente um eine Position nach rechts geschoben (S=1) und das rechts herausfallende Element wird an den linken Zeilenanfang rotiert. In der nächsten Zeile erfolgt, bezogen auf die erste Zeile, ein Schieben um jetzt 2 Elemente, und so weiter. Falls die Anzahl der Spalten J kleiner ist wie die Anzahl von Zeilen /, so erfolgt eine modulo-Operation (Division mit Rest). Alternativ kann auch ein zeilenweiser Linksshift um jeweils eine Position erfolgen. Der fortlaufende Shift kann auch beliebig andere Werte wie 1 annehmen. So kann die zeilenweise Shiftfolge S={0, 1,2,3, ....} auch beliebige Schrittweiten mit Vielfachen von M annehmen, also S={0-M, JM,2-M,3-M, ,, ., }. Auch ein zeilenweiser Rechts- oder Linksshift nach einem Zufallsmuster ist denkbar.
Welche Variante des gezielten Vertauschens von Elementen innerhalb jeder Zeile am vorteilhaftesten ist, kann mittels Rechnersimulationen überprüft werden. Beim Ausführungsbeispiel nach Fig. 8 wurden alle obigen Annahmen beibehalten, lediglich der Block-Interleaver wurde entsprechend Fig. 8 modifiziert. Anstelle der Kurve 200 aus Fig. 7 erhält man für die PER-Performance jetzt die Kurve 210 aus Fig. 9. Dabei zeigt sich, dass die tatsächlich decodierte Performance der Kurve 210 sich nun in etwa mit der Kurve 204 deckt, für die mindestens 6 fehlerfreie Sub-Datenpakete benötigt werden, damit der virtuelle Decodiervorgang als erfolgreich angesehen werden kann. Da fast immer 12 der 18 Sub- Datenpakete fehlerhaft sein dürfen, entspricht dies der theoretischen Obergrenze von 2/3 möglichen Fehlern bei gegebener Coderate von R=1/3.
Eine Anwendung des dargestellten Prinzips auf eine von J=18 Sub-Datenpaketen abweichende Anzahl oder eine andere Datenlänge wie J=53 Bits oder eine andere als die im Beispiel gewählte Coderate von 1/3 ist für den Fachmann leicht nachvollziehbar. Als FEC kann gleichfalls eine andere Codierung als eine Faltungscodierung in Betracht kommen, falls sich mit dieser in Kombination mit dem gewählten Interleaver ein entsprechender Codierungsgewinn erzielen lässt.
Formelmäßiqe Ausführung für verschiedene Werte von J
Die empfängerseitig kodierten Bits der Länge L=/ J sollen auf J Teil-Datenpakete 142_1 bis 142_J aufgeteilt werden, wobei jedes der Teil-Datenpakete 142_1 bis 142_J / Datenbits beinhaltet.
Der Index der kodierten Bits vor dem Interleaving sei durch k gegeben und das Interleaving wird durch die Interleaver-Matrix IM der Größe (I, J) beschrieben, die sich gemäß folgender Vorschrift berechnet: IM(i+1,j+1) = (/ x J) + ([j- i +J ]mod (J)) (1) mit / = k mod (I)
j = floorf j
k = 0, 1, ..., L-1.
Das Ergebnis des Interleavings ist eine Verteilung der L=/ J Bits auf J Datenpakete mit jeweils einer Größe von / Bits. Das erste Datenpaket der Länge / entspricht somit der ersten
(j=1) Spalte in der Matrix IM und wird entsprechend dem ersten Sub-Datenpaket 142_1 zugeordnet. Die letzte Spalte (j=J) korrespondiert dann entsprechend mit dem letzten Sub- Datenpaket 142_J.
Die folgenden beiden Tabellen 1 und 2 zeigen ausschnittsweise die nach Vorschrift (1 ) vorgenommene Abbildung für / =53 und J = 18 (Tabelle 1) sowie J = 12 (Tabelle 2).
Im Detail zeigt die folgende Tabelle 1 eine Interleavingtabelle mit den k-Werten für das zweite Ausführungsbeispiel (M=1), bestehend aus J=18 Teil-Datenpaketen 142_1 bis 142_J mit jeweils einer Datenlänge von l=53 Codebits:
Figure imgf000041_0002
Die folgende Tabelle 2 zeigt eine Interleavingtabelle mit den k-Werten für das zweite Ausführungsbeispiel
Figure imgf000041_0001
bestehend aus J=12 Teil-Datenpaketen 142_1 bis 142_J mit jeweils einer Datenlänge von 1=53 Codebits:
Figure imgf000042_0002
Figure imgf000042_0001
Das Interleaving basiert dabei auf einem Block-Interleaver mit 1=53 Zeilen und J=18 Spalten, bei dem in jeder Zeile ein zyklischer zeilenweiser Rechtsshift um jeweils eine Index- Positionen erfolgt, wobei die rechts herausfallenden Indizes zirkular links wieder eingefügt werden. In der ersten Zeile (i=1) erfolgt kein Shift (S=0), während in der zweiten Zeile (i=2) alle Indizes um eine Position (S=1) nach rechts geschoben und in der dritten Zeile (i=3) alle Indizes um 2 Positionen (S=2) geschoben werden, usw.
Verwendung einer Midambel bei assvnchronen Netzen oder externen Interferern
Fig. 10 zeigt eine schematische Ansicht einer Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wie in Fig. 10 zu erkennen ist, weisen die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J Midambeln (Midambelsymbole 144) auf, wobei die jeweiligen verschachtelten, codierten Datenwerte (Datensymbole 146) der verschachtelten, codierten Datenwertefolge 166 in den jeweiligen Sub-Datenpaketen 142_1 bis 142_J abwechselnd vor und nach den jeweiligen Midambeln angeordnet sind. Wie in Fig, 10 ferner zu erkennen ist, ist die verschachtelte, codierte Datenwertfolge 166 derart blockweise auf die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J verteilt, dass die Mehrzahl von Sub-Datenpaketen 142__1 bis 142_J jeweils verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweisen, die Elementen einer Spalte der Matrix entsprechen. Im Detail weist das erste Sub-Datenpaket 142_1 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 auf, die Elementen der ersten Spalte j=1 der Matrix entsprechen, wobei das zweite Sub-Datenpaket 142_2 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 aufweist, die Elementen der zweiten Spalte j=2 der Matrix entsprechen, etc., und wobei das J-te Sub-Datenpaket 142_J verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 aufweist, die Elementen der J-ten Spalte j=J der Matrix entsprechen. Mit anderen Worten, Fig. 10 zeigt ein Ausführungsbeispiel mit einer Midambel und einer zweigeteilten Nachricht, bestehend aus J Sub-Datenpaketen 142_1 bis 142_J bei der Nutzung des Block-Interleavers nach Fig. 1.
Bei dem in Fig, 10 gezeigtem Ausführungsbeispiel besitzt nun jedes Sub-Datenpaket 142_1 bis 142_J eine Midambel der Länge P, deren Symbole dem Empfänger bekannt sind. Wie anhand von Fig. 10 zu erkennen ist, werden die zu übertragenden Datensymbole 146 durch den Interleaver aus Fig. 1„spaltenweise“ sukzessive von innen nach außen vor und nach der Midambel 144 aufgefüllt. Die für den ersten Schritt einer Teildecodierung im Rahmen der iterativen Kanalschätzung nach [2] benötigten 2 J Datensymbole befinden sich in den Zeilen
1 (i=1) und 2 (i=2) direkt ober- und unterhalb der Midambel 144. Danach folgen die nächsten
2 J Datensymbole in den Zeilen 3 0=3) und 4 (i=4), die sich direkt neben den ersten beiden Zeilen (i=1 bzw. i=2) befinden.
Im vorangegangenen Abschnitt wurde angenommen, dass ein Sub-Datenpaket immer komplett ausfällt, was insbesondere bei einer synchron vorliegenden Gleichkanalstörung der Fall ist. Erfolgt die Störung unsynchronisiert, dann kann ein Sub-Datenpaket ebenfalls komplett ausfallen, insbesondere dann, wenn die Prä- oder Midambel als Ausgangspunkt von Synchronisation und Kanalschätzung gestört wird. Im unsynchronisierten Fall gibt es aber auch eine große Wahrscheinlichkeit, dass lediglich die Datensymbole in der oberen oder unteren Subpakethälfte gestört sind.
Fig. 11 zeigt eine schematische Ansicht einer Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wie in Fig. 10 zu erkennen ist, weisen die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J Midambeln (Midambelsymbole 144) auf, wobei die jeweiligen verschachtelten, codierten Datenwerte (Datensymbole 146) der verschachtelten, codierten Datenwertefolge 166 in den jeweiligen Sub-Datenpaketen 142_1 bis 142_J abwechselnd vor und nach den jeweiligen Midambeln angeordnet sind. Wie in Fig. 11 ferner zu erkennen ist, ist die verschachtelte, codierte Datenwertfolge 166 derart blockweise auf die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J verteilt, dass die Mehrzahl von Sub-Datenpaketen 142_1 bis 142_J jeweils verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweisen, die Elementen einer Spalte der zyklisch zeilenrotierten Version der Matrix entsprechen. Im Detail weist das erste Sub-Datenpaket 142_1 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 auf, die Elementen der ersten Spalte j=1 der zyklisch zeilenrotierten Version der Matrix entsprechen, wobei das zweite Sub-Datenpaket 142_2 verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 aufweist, die Elementen der zweiten Spalte j=2 der zyklisch zeilenrotierten Version der Matrix entsprechen, etc., und wobei das J-te Sub-Datenpaket 142_J verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge 166 aufweist, die Elementen der J-ten Spalte j=J der zyklisch zeilenrotierten Version der Matrix entsprechen.
Mit anderen Worten, Fig. 11 zeigt ein Ausführungsbeispiel mit einer Midambel und einer zweigeteilten Nachricht, bestehend aus J Sub-Datenpaketen 142_1 bis 142J bei Nutzung des Block-Interleavers mit M=1.
Bei dem in Fig. 11 gezeigtem Ausführungsbeispiel erfolgt beispielsweise eine zeilenweiser Rechtsshift um jeweils eine Position ( M=1 ) in jeder Zeile. In der ersten Zeile (i=1), die sich in der unteren Datenhälfte befindet, erfolgt kein Shift (S=0). In der zweiten Zeile (i=2) (obere Datenhälfte) werden alle Elemente um eine Position nach rechts geschoben (S=1) und das rechts herausfallende Element wird an den linken Zeilenanfang rotiert. In der nächsten Zeile erfolgt, bezogen auf die erste Zeile, ein Schieben um jetzt 2 Elemente, und so weiter. Falls die Anzahl der Spalten J kleiner ist wie /, so erfolgt eine modulo-Operation (Division mit Rest). Alternativ kann auch ein zeilenweiser Linksshift um jeweils eine Position erfolgen. Beispielsweise kann in der unteren Datenhälfte nach rechts und in der oberen Datenhälfte nach links geschoben werden. Der fortlaufende Shift kann auch beliebig andere Werte wie 1 annehmen. So kann die zeilenweise Shiftfolge S={0, 1,2,3, ...} auch beliebige Schrittweiten mit Vielfachen von M annehmen, also S={0-M, JM,2-M,3-M, .... }. Auch ein zeilenweiser Rechts- oder Linksshift nach einem Zufallsmuster ist möglich.
Auch das in [7] vorgeschlagenen Interleaver mit der Bezeichnung „Intra-Hop Bias Vermeidung“ kann zusätzlich noch angewandt werden. Ist in einem ersten Sub-Datenpaket 142_1 das Datensymbol Co unter der Midambel eingefügt worden, so wird das Datensymbol Ci im zweiten Sub-Datenpaket 142J2 über der Midambel angeordnet. Aufeinanderfolgende Datensymbole werden somit immer abwechselnd über oder unter der Midambel plaziert.
Weitere Ausführungsbeispiele
Im Folgenden werden weitere Ausführungsbeispiele beschrieben, die für sich allein genommen oder in Kombination mit den oben beschriebenen Ausführungsbeispielen Anwendung finden. Fig. 12 zeigt ein Ffussdiagramm eines Verfahrens 300 zum Senden von Daten, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung, Das Verfahren 300 umfasst einen Schritt 302 des Codierens einer Datenwertfolge [z.B. Bitfolge], um eine codierte Datenwertefolge [z.B codierte Bitfolge] zu erhalten. Ferner umfasst das Verfahren 300 einen Schritt 304 des Verschachtelns der codierten Datenwertfolge basierend auf einer Verschachtelungsfunktion, um eine verschachtelte, codierte Datenwertfolge zu erhalten, wobei die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht [z.B. kann die Verschachtelungsfunktion auf einer temporären Matrix basieren, die zeilenweise gefüllt wird und spaltenweise ausgelesen bzw. zwischen dem Befüllen und Auslesen zyklisch zeilenrotiert wird]. Ferner umfasst das Verfahren 300 einen Schritt 306 des blockweisen Verteilens der verschachtelten, codierten Datenwertfolge auf eine Mehrzahl von Sub- Datenpaketen [z.B. wobei ein Block beispielsweise einer Spalte der zyklisch zeilenrotierten Version der Matrix entspricht]. Ferner umfasst das Verfahren 300 einen Schritt 308 des Sendens der Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren].
Fig. 13 zeigt ein Flussdiagramm eines Verfahrens 310 zum Empfangen von Daten, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Das Verfahren 310 umfasst einen Schritt 312 des Empfangens einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren [z.B. Telegram Splitting Verfahren] übertragen werden. Ferner umfasst das Verfahren 310 einen Schritt 314 des Ermittelns einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub-Datenpaketen blockweise verteilt ist, basierend auf den empfangenen Sub-Datenpaketen. Ferner umfasst das Verfahren 310 einen Schritt 316 des Entschachtelns der verschachtelten, codierten Datenwertfolge basierend auf einer Entschachtelungsfunktion, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion einer spaltenweisen Befüllung einer Matrix und einer zeilenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht [z.B. kann die Entschachtelungsfunktion auf einer temporären Matrix basieren, die spaltenweise gefüllt wird und zeilenweise ausgelesen bzw. zwischen dem Befüllen und Auslesen zyklisch zeilen rotiert wird]. Ferner umfasst das Verfahren 310 einen Schritt 318 des Decodierens der codierten Datenwertfolge, um eine Datenwertfolge zu erhalten.
Ausführungsbeispiele finden Anwendung in einem System zur Übertragung von Daten von einem Sender zu einem Empfänger. Die hier beschriebenen Konzepte gelten für jedwede Übertragung, bei welcher - ein potentiell zeitvarianter Übertragungskanal zwischen Sender und Empfänger vorliegt,
- eine fortlaufende Schätzung dieses Kanals (z.B. nach Amplitude und/oder Phase) erforderlich oder vorteilhaft ist,
- eine Forward Error Correction (FEC) zum Einsatz kommt, welche die zu übertragenden Daten bei der Übertragung mit Redundanz beaufschlagt,
- ein Interleaver, der Bündelfehler durch Permutation in unkritischere Einzelfehler umsortiert, und
- eine symbolgestützte Kanalzustandsschätzung zur Anwendung kommen kann.
Ein typisches Anwendungsgebiet ist z.B. die Übertragung einer Nachricht in einem digitalen Funkkommunikationssystem, bei welchem der Übertragungskanal durch Bewegung des Senders und/oder Empfängers zeitvaria nt sein kann und bei dem z.B. durch Einsatz kohärenter Demodulation eine fortlaufende Schätzung des Kanals erforderlich ist. Besonders vorteilhaft können Ausführungsbeispiele jedoch in einem System eingesetzt werden, in welchen eine Nachricht (Datenpaket) in mehreren Teil-Datenpaketen übertragen wird, die kleiner sind als die eigentliche Information die übertragen werden soll (so genanntes Telegram Splitting, TSMA, siehe z.B. DE 10 20011 082 098 [1]). Telegramme werden dabei auf mehrere Teil-Datenpakete, häufig auch als Sub-Datenpakete bezeichnet, aufgeteilt. Die Sub-Datenpakete werden beim Telegramm-Splitting auf einer Frequenz oder aber über mehrere Frequenzen verteilt, dem sog. Frequency Hopping (Frequenzsprungverfahren), gesendet. Zwischen den Sub-Datenpaketen gibt es Pausen, in denen nicht gesendet wird.
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder eine elektronische Schaltung ausgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden. Ein erfindungsgemäß codiertes Signal, wie beispielsweise ein Audiosignal oder ein Videosignal oder ein T ransportstromsignal, kann auf einem digitalen Speichermedium gespeichert sein oder kann auf einem Übertragungsmedium wie beispielsweise einem drahtlosen Übertragungsmedium oder einem verdrahteten Übertragungsmedium, z.B. dem Internet, übertragen werden
Das erfindungsgemäße kodierte Audiosignal kann auf einem digitalen Speichermedium gespeichert sein, oder kann auf einem Übertragungsmedium, wie beispielsweise einem drahtlosen Übertragungsmedium oder einem drahtgebundenen Übertragungsmedium, wie beispielsweise dem Internet, übertragen werden.
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart Zusammenwirken können oder Zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als
Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.
Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist. Der Datenträger, das digitale Speichermedium oder das computerlesbare Medium sind typischerweise gegenständlich und/oder nichtvergänglich bzw. nichtvorübergehend.
Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.
Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor Zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
Die hierin beschriebenen Vorrichtungen können beispielsweise unter Verwendung eines Hardware-Apparats, oder unter Verwendung eines Computers, oder unter Verwendung einer Kombination eines Hardware-Apparats und eines Computers implementiert werden.
Die hierin beschriebenen Vorrichtungen, oder jedwede Komponenten der hierin beschriebenen Vorrichtungen können zumindest teilweise in Hardware und/oder in Software (Computerprogramm) implementiert sein.
Die hierin beschriebenen Verfahren können beispielsweise unter Verwendung eines H a rdwa re-Appa rats , oder unter Verwendung eines Computers, oder unter Verwendung einer Kombination eines Hardware-Apparats und eines Computers implementiert werden.
Die hierin beschriebenen Verfahren, oder jedwede Komponenten der hierin beschriebenen Verfahren können zumindest teilweise durch Hardware und/oder durch Software ausgeführt werden.
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei. Literaturverzeichnis
[1] DE 10 2011 082 098 B4
[2] DE 10 2018 206 132 A1
[3] B. Friedrichs,“Kanalcodierung”, Springer-Verlag Berlin Heidelberg New York,
1994
[4] W. Koch, “Grundlagen der Mobilkommunikation”, Vorlesungsskript im WS
2010/2011 , Lehrstuhl für Mobilkommunikation, Universität Erlangen-Nürnberg
[5] J. Huber, “Trelliskodierung", Nachrichtentechnick Band 21 , Springer-Verlag
Berlin Heidelberg New York, 1992
[6] P. Höher, “Grundlagen der digitalen Informationsübertragung”, Vieweg &
Teubner Verlag, 2011
[7] EP 2 914 039 A1

Claims

Patentansprüche
1. Datensender (100), wobei der Datensender (100) ausgebildet ist, um eine Datenwertfolge (160) zu codieren, um eine codierte Datenwertefolge (162) zu erhalten, wobei der Datensender (100) ausgebildet ist, um die codierte Datenwertfolge (162) basierend auf einer Verschachtelungsfunktion zu verschachteln, um eine verschachtelte, codierte Datenwertfolge (166) zu erhalten, wobei die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht, wobei der Datensender (100) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge (166) blockweise auf eine Mehrzahl von Sub-Datenpaketen (142_1 :142_J) zu verteilen, wobei der Datensensender (100) ausgebildet ist, um die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) basierend auf einem Zeit- und Frequenzsprungverfahren zu senden.
2. Datensender (100) gemäß dem vorangehenden Anspruch, wobei bei der zyklisch zeilenrotierten Version der Matrix zumindest eine Zeile zeilenrotiert ist.
3. Datensender (100) gemäß einem der vorangehenden Ansprüche, wobei bei der zyklisch zeilenrotierten Version der Matrix zumindest zwei Zeilen zeilenrotiert sind, wobei die zumindest zwei Zeilen unterschiedlich zeilenrotiert sind.
4. Datensender (100) gemäß einem der vorangehenden Ansprüche, wobei bei der zyklisch zeilenrotierten Version der Matrix jede Zeile um zumindest ein Element mehr zyklisch zeilenrotiert ist als eine unmittelbar vorangehende Zeile.
5. Datensender (100) gemäß einem der vorangehenden Ansprüche wobei die Matrix I Zeilen aufweist, wobei I eine natürliche Zahl größer gleich drei ist, wobei bei der zyklisch zeilenrotierten Version der Matrix jede Zeile i für i=1 bis i=l um i-1 Elemente zyklisch zeilenrotiert ist.
6. Datensender (100) nach einem der vorangehenden Ansprüche, wobei der Datensender (100) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge (166) derart blockweise auf die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) zu verteilen, dass die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) jeweils verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge aufweisen, die einer Spalte der zeilenrotierten Version der Matrix entsprechen.
7. Datensender (100) nach einem der vorangehenden Ansprüche, wobei eine Anzahl an Sub-Datenpaketen (142_1 :142_J) einer Anzahl an Spalten der Matrix oder zyklisch zeilenrotierten Version der Matrix entspricht.
8. Datensender (100) nach einem der vorangehenden Ansprüche, wobei der Datensender (100) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge in eine Mehrzahl von Blöcken (167_1 :167_J) aufzuteilen, und um die Mehrzahl von Blöcken (167_1 :167_J) blockweise auf die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) aufzuteilen.
9. Datensender (100) nach Anspruch 8, wobei jeder Block der Mehrzahl von Blöcken (167_1 :167_J) einer Spalte der zyklisch zeilenrotierten Version der Matrix entspricht.
10. Datensender (100) nach einem der Ansprüche 8 bis 9, wobei eine Anzahl an Blöcken einer Anzahl an Sub-Datenpaketen (142_1 :142_J) entspricht.
11. Datensender (100) nach einem der vorangehenden Ansprüche, wobei der Datensender (100) ausgebildet ist, um die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) mit Präambeln (144) zu versehen, wobei der Datensender (100) ausgebildet ist, um die jeweiligen verschachtelten, codierten Datenwerte der verschachtelten, codierten Datenwertefolge (166) in den jeweiligen Sub-Datenpaketen (142_1 :142_J) der jeweiligen Präambel (144) anzuhängen.
12. Datensender (100) nach einem der vorangehenden Ansprüche, wobei der Datensender (100) ausgebildet ist, um die Mehrzahl von Datenpaketen (142_1 :142_J) mit Midambeln (144) zu versehen, wobei der Datensender (100) ausgebildet ist, um die jeweiligen verschachtelten, codierten Datenwerte der verschachtelten, codierten Datenwertefolge (166) in den jeweiligen S u b- Date n pa kete n (142_1 : 142_J) abwechselnd vor und nach der jeweiligen Midambel (144) anzuordnen.
13. Datensender (100) nach einem der vorangehenden Ansprüche, wobei die codierte Datenwertfolge (162) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 : 142_J) ist, auf die die codierte Datenwertfolge (162) nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge (162) pro Sub-Datenpaket ist, wobei die Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1J+1) = (/ x J) + ([ j- i +J jmod (J)) mit / = k mod (I)
j = floor (k/l) k = 0, 1, ..„ L~1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge (162) vor dem Verschachteln ist, wobei der Datensender (100) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge (166) derart blockweise auf die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) zu verteilten, dass die in den jeweiligen Sub-Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
14. Datensender (100) nach einem der vorangehenden Ansprüche 1 bis 13, wobei die codierte Datenwertfolge (162) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000054_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei der Datensender (100) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge derart blockweise auf die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) zu verteilten, dass die in den jeweiligen Sub-Datenpaketen (142_1 : 142_J) enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungstabelle entsprechen.
15. Datensender (100) nach einem der vorangehenden Ansprüche 1 bis 13, wobei die codierte Datenwertfolge (162) die Länge L=l-J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 : 142_J) ist, auf die die codierte Datenwertfolge (162) nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge (162) pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000055_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei der Datensender (100) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge (166) derart blockweise auf die Mehrzahl von Sub-Datenpaketen (142_1 : 142_J) zu verteilten, dass die in den jeweiligen Sub-Datenpaketen (142_1 : 142_J) enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungstabelle entsprechen.
16. Datensender (100), wobei der Datensender (100) ausgebildet ist, um eine Datenwertfolge (160) zu codieren, um eine codierte Datenwertefolge (162) zu erhalten, wobei der Datensender (100) ausgebildet ist, um die codierte Datenwertfolge (162) basierend auf einer Verschachtelungsfunktion zu verschachteln, und auf eine Mehrzahl von Sub-Datenpaketen (142_1 :142_J) zu verteilen, wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) basierend auf einem Zeit- und Frequenzsprungverfahren zu senden, wobei die codierte Datenwertfolge (162) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, auf die die codierte Datenwertfolge (162) nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1,j+1) = (/ J) + ([j- i +J /mod (J)) mit / = k mod (!)
Figure imgf000056_0001
wobei k der Index der codierten Datenwerte der codierten Datenwertfolge (162) vor dem Verschachteln ist, wobei der Datensender (100) ausgebildet ist, um die codierten Datenwerte derart auf die Mehrzahl von Sub-Datenpaketen (142_1 ;142_J) verschachtelt zu verteilen, dass die in den jeweiligen Sub-Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
17. Datensender (100), wobei der Datensender (100) ausgebildet ist, um eine Datenwertfolge (160) zu codieren, um eine codierte Datenwertefolge (162) zu erhalten, wobei der Datensender (100) ausgebildet ist, um die codierte Datenwertfolge (162) basierend auf einer Verschachtelungsfunktion zu verschachteln, und auf eine Mehrzahl von Sub-Datenpaketen (142_1 :142_J) zu verteilen, wobei der Datensensender (100) ausgebildet ist, um die Mehrzahl von Sub-
Datenpaketen ( 142__1 : 142_J ) basierend auf einem Zeit- und Frequenzsprungverfahren zu senden, wobei die codierte Datenwertfolge (162) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000057_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei der Datensender (100) ausgebildet ist, um die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) verschachtelt zu verteilen, dass die in den jeweiligen Sub-
Datenpaketen (142 _ 1 :142_J) enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungstabelle entsprechen,
18. Datensender (100), wobei der Datensender (100) ausgebildet ist, um eine Datenwertfolge (160) zu codieren, um eine codierte Datenwertefolge (162) zu erhalten, wobei der Datensender (100) ausgebildet ist, um die codierte Datenwertfolge (162) basierend auf einer Verschachtelungsfunktion zu verschachteln, und auf eine Mehrzahl von Sub-Datenpaketen (142_1 :142_J) zu verteilen, wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) basierend auf einem Zeit- und Frequenzsprungverfahren zu senden, wobei die codierte Datenwertfolge (162) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000058_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei der Datensender (100) ausgebildet ist, um die codierten Daten werte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) verschachtelt zu verteilen, dass die in den jeweiligen Sub- Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
19. Datensender (100), wobei der Datensender (100) ausgebildet ist, um eine Datenwertfolge (160) zu codieren, um eine codierte Datenwertefolge (162) zu erhalten, wobei der Datensender (100) ausgebildet ist, um die codierte Datenwertfolge (162) auf eine Mehrzahl von Sub-Datenpaketen (142_1 :142_J) aufzuteilen, so dass Subdatenpaketdaten der jeweiligen Sub-Datenpakete Spalten einer zyklisch zeilenrotierten Matrix, deren Zeilen vor der zyklischen Zeilenpermutation aufeinanderfolgenden Datenabschnitten der codierte Datenwertefolge entsprechen, entsprechen, wobei der Datensensender ausgebildet ist, um die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) basierend auf einem Zeit- und Frequenzsprungverfahren zu senden.
20. Datenempfänger (110), wobei der Datenempfänger (110) ausgebildet ist, um eine Mehrzahl von Sub- Datenpaketen (142_1 :142_J) zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren übertragen werden, wobei der Datenempfänger (110) ausgebildet ist, um basierend auf den empfangenen Sub-Datenpaketen (142_1 :142_J) eine verschachtelte, codierte Datenwertfolge (170) zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) blockweise verteilt ist, wobei der Datenempfänger (110) ausgebildet ist, um eine verschachtelte, codierte Datenwertfolge (170) basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge (172) zu erhalten, wobei die Entschachtelungsfunktion einer spaltenweisen Befüllung einer Matrix und einer zeilenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht, wobei der Datenempfänger (110) ausgebildet ist, um die codierte Datenwertfolge (172) zu decodieren, um eine Datenwertfolge(176) zu erhalten.
21. Datenempfänger (110) gemäß dem vorangehenden Anspruch, wobei bei der zyklisch zeilenrotierten Version der Matrix zumindest eine Zeile zeilen rotiert ist,
22. Datenempfänger (110) gemäß einem der vorangehenden Ansprüche, wobei bei der zyklisch zeilenrotierten Version der Matrix zumindest zwei Zeilen zeilenrotiert sind, wobei die zumindest zwei Zeilen unterschiedlich zeilenrotiert sind.
23. Datenempfänger (1 10) gemäß einem der vorangehenden Ansprüche, wobei bei der zyklisch zeilenrotierten Version der Matrix jede Zeile um zumindest ein Element mehr zyklisch zeilenrotiert ist als eine unmittelbar vorangehende Zeile.
24. Datenempfänger (110) gemäß einem der vorangehenden Ansprüche wobei die Matrix I Zeilen aufweist, wobei I eine natürliche Zahl größer gleich drei ist, wobei bei der zyklisch zeilenrotierten Version der Matrix jede Zeile i für i=1 bis i=l um i-1 Elemente zyklisch zeilenrotiert ist.
25. Datenempfänger (110) nach einem der vorangehenden Ansprüche, wobei die verschachtelte, codierte Datenwertfolge (170) derart blockweise auf die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) verteilt ist, dass die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) jeweils verschachtelte, codierte Datenwerte der verschachtelten, codierten Datenwertfolge (170) aufweisen, die einer Zeile einer senderseitigen Matrix oder einer zeilenrotierten Version der senderseitigen Matrix entsprechen.
26. Datenempfänger (1 10) nach einem der vorangehenden Ansprüche, wobei eine Anzahl an Sub-Datenpaketen (142_1 :142_J) einer Anzahl an Zeilen der Matrix oder der zyklisch zeilenrotierten Version der Matrix entspricht.
27. Datenempfänger (110) nach einem der vorangehenden Ansprüche, wobei die Mehrzahl von Sub-Datenpaketen (142_1 :142_J) mit Präambeln versehen sind, wobei die jeweiligen verschachtelten, codierten Datenwerte der verschachtelten, codierten Datenwertefolge (170) in den jeweiligen Sub-Datenpaketen (142_1 :142_J) der jeweiligen Präambel (144) angehängt sind.
28. Datenempfänger (110) nach einem der vorangehenden Ansprüche, wobei die Mehrzahl von Sub-Datenpaketen (142_1 ;142_J) mit Midambeln (144) versehen sind, wobei die jeweiligen verschachtelten, codierten Datenwerte der verschachtelten, codierten Datenwertefolge (170) in den jeweiligen Sub-Datenpaketen (142_1 :142_J) abwechselnd vor und nach der jeweiligen Midambel (140) angeordnet sind.
29. Datenempfänger (110) nach einem der vorangehenden Ansprüche, wobei dem Datenempfänger (110) die Entschachtelungsfunktion bekannt ist.
30. Datenempfänger (1 10) nach einem der vorangehenden Ansprüche, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist.
31. Datenempfänger (110) nach Anspruch 30, wobei die codierte Datenwertfolge (172) die Länge L=N aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1J+1) = (/' x J) + ([j- i +J ]mod (J)) mit / = k mod (I) j = floor (k/l)
k = 0, 1. L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Verschachteln ist, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) verteilt ist, dass die in den jeweiligen Sub- Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
Datenempfänger (1 10) nach einem der Ansprüche 30 bis 31 , wobei die codierte Datenwertfolge (172) die Länge L=l-J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000062_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) verteilt ist, dass die in den jeweiligen Sub- Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
33. Datenempfänger (110) nach einem der Ansprüche 30 bis 31 , wobei die codierte Datenwertfolge (172) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpa keten (142_1 :142_J) ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000063_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) verteilt ist, dass die in den jeweiligen Sub- Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
34. Datenempfänger (110) wobei der Datenempfänger (110) ausgebildet ist, um eine Mehrzahl von Sub- Datenpaketen (142_1 ;142_J) zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren übertragen werden, wobei der Datenempfänger (110) ausgebildet ist, um basierend auf den empfangenen Sub-Datenpaketen (142_1 :142_J) eine verschachtelte, codierte Datenwertfolge (170) zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen (142_1 : 142_J) verteilt ist, wobei der Datenempfänger (110) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge (170) basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge (172) zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge (172) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1,j+1) = (/ x J) + ([ j- i +J Jmod (J)) mit / = k mod (I)
j = floor (k/l)
k = 0, 1, ..., L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Verschachteln ist, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) verteilt ist, dass die in den jeweiligen Sub- Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
35. Datenempfänger (1 10), wobei der Datenempfänger (1 10) ausgebildet ist, um eine Mehrzahl von Sub- Datenpaketen (142_1 :142_J) zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren übertragen werden, wobei der Datenempfänger (110) ausgebildet ist, um basierend auf den empfangenen Sub-Datenpaketen (142_1 :142_J) eine verschachtelte, codierte Datenwertfolge (170) zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen (142_1 : 142_J) verteilt ist, wobei der Datenempfänger (1 10) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge (170) basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge (172) zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge (172) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000065_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=Q bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) verteilt ist, dass die in den jeweiligen Sub-
Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
36. Datenempfänger (110) wobei der Datenempfänger (1 10) ausgebildet ist, um eine Mehrzahl von Sub- Datenpaketen (142_1 :142_J) zu empfangen, die basierend auf einem Zeit- und Frequenzsprungverfahren übertragen werden, wobei der Datenempfänger (1 10) ausgebildet ist, um basierend auf den empfangenen Sub-Datenpaketen (142_1 :142_J) eine verschachtelte, codierte Datenwertfolge (170) zu ermitteln, die auf die Mehrzahl von Sub-Datenpaketen (142_1 :142__J) verteilt ist, wobei der Datenempfänger (110) ausgebildet ist, um die verschachtelte, codierte Datenwertfolge (170) basierend auf einer Entschachtelungsfunktion zu entschachteln, um eine codierte Datenwertfolge (172) zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge (172) die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen (142_1 :142_J) ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000066_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen (142_1 :142_J) verteilt ist, dass die in den jeweiligen Sub- Datenpaketen (142_1 :142_J) enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
37. System, mit folgenden Merkmalen; einem Datensender (100) nach einem der Ansprüche 1 bis 19, und einem Datenempfänger (110) nach einem der Ansprüche 20 bis 36.
38. Verfahren zum Senden von Daten, wobei das Verfahren folgende Schritte aufweist:
Codieren einer Datenwertfolge, um eine codierte Datenwertefolge zu erhalten,
Verschachteln der codierten Datenwertfolge basierend auf einer Verschachtelungsfunktion, um eine verschachtelte, codierte Datenwertfolge zu erhalten, wobei die Verschachtelungsfunktion einer zeilenweisen Befüllung einer Matrix und einer spaltenweisen Auslesung der zyklisch zeilenrotierten Version der Matrix entspricht, blockweises Verteilen der verschachtelten, codierten Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen,
Senden der Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren.
39. Verfahren zum Senden von Daten, wobei das Verfahren folgende Schritte aufweist:
Codieren einer Datenwertfolge, um eine codierte Datenwertefolge zu erhalten,
Verschachteln, basierend auf einer Verschachtelungsfunktion, und Aufteilen der codierte Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen,
Senden der Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1,j+1) = (/ x J) + ([j~ / +J Jmod (J)) mit / = k mod (I)
j = floor (k/l)
k = 0, 1, ..„ L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Verschachteln ist, wobei die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt verteilt werden, dass die in den jeweiligen Sub- Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
40. Verfahren zum Senden von Daten, wobei das Verfahren folgende Schritte aufweist:
Codieren einer Datenwertfolge, um eine codierte Datenwertefolge zu erhalten,
Verschachteln, basierend auf einer Verschachtelungsfunktion, und Aufteilen der codierte Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen,
Senden der Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000069_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt verteilt werden, dass die in den jeweiligen Sub-
Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
41. Verfahren zum Senden von Daten, wobei das Verfahren folgende Schritte aufweist:
Codieren einer Datenwertfolge, um eine codierte Datenwertefolge zu erhalten,
Verschachteln, basierend auf einer Verschachtelungsfunktion, und Aufteilen der codierte Datenwertfolge auf eine Mehrzahl von Sub-Datenpaketen,
Senden der Mehrzahl von Sub-Datenpaketen basierend auf einem Zeit- und Frequenzsprungverfahren, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, auf die die codierte Datenwertfolge nach der
Verschachtelung aufgeteilt wird, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000070_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die codierten Datenwerte der codierten Datenwertfolge derart auf die Mehrzahl von Sub-Datenpaketen verschachtelt verteilt werden, dass die in den jeweiligen Sub- Datenpaketen enthaltenen codierten, verschachtelten Datenwerte jeweils Elementen einer Spalte der Verschachtelungsmatrix entsprechen.
42. Verfahren zum Empfangen von Daten, wobei das Verfahren folgende Schritte aufweist:
Empfangen einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren übertragen werden,
Ermitteln einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub-Datenpaketen blockweise verteilt ist, basierend auf den empfangenen Sub- Datenpaketen,
Entschachteln der verschachtelten, codierten Datenwertfolge basierend auf einer Entschachtelungsfunktion, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion einer spaltenweisen Befüllung einer Matrix und einer zeilenweisen Auslesung einer zyklisch zeilenrotierten Version der Matrix entspricht,
Decodieren der codierten Datenwertfolge, um eine Datenwertfolge zu erhalten.
43. Verfahren zum Empfangen von Daten, wobei das Verfahren folgende Schritte aufweist:
Empfangen zumindest eines Teils einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren übertragen werden,
Ermitteln einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub-Datenpaketen verteilt ist, basierend auf den empfangenen Sub-Datenpaketen, wobei die verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion entschachtelt wird, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L=LJ aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungsmatrix IM entspricht, die sich nach folgender Vorschrift berechnet:
IM(i+1,j+1) = (i x J) + ([j- i +J m od (J)) mit / = k mod (!)
j = floor (k/l)
k = 0, 1, ..., L-1 wobei k der Index der codierten Datenwerte der codierten Datenwertfolge vor dem Verschachteln ist, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
44. Verfahren zum Empfangen von Daten, wobei das Verfahren folgende Schritte aufweist;
Empfangen zumindest eines Teils einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren übertragen werden,
Ermitteln einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub-Datenpaketen verteilt ist, basierend auf den empfangenen Sub-Datenpaketen, wobei die verschachtelte, codierte Datenwertfolge basierend auf einer
Entschachtelungsfunktion entschachtelt wird, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an
Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 18 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist;
Figure imgf000072_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
45. Verfahren zum Empfangen von Daten, wobei das Verfahren folgende Schritte aufweist:
Empfangen zumindest eines Teils einer Mehrzahl von Sub-Datenpaketen, die basierend auf einem Zeit- und Frequenzsprungverfahren übertragen werden,
Ermitteln einer verschachtelten, codierte Datenwertfolge, die auf die Mehrzahl von Sub-Datenpaketen verteilt ist, basierend auf den empfangenen Sub-Datenpaketen, wobei die verschachtelte, codierte Datenwertfolge basierend auf einer Entschachtelungsfunktion entschachtelt wird, um eine codierte Datenwertfolge zu erhalten, wobei die Entschachtelungsfunktion komplementär zu einer datensenderseitigen Verschachtelungsfunktion ist, wobei die codierte Datenwertfolge die Länge L=I J aufweist, wobei J die Anzahl an Sub-Subdatenpaketen ist, wobei I die Anzahl an codierten Datenwerten der codierten Datenwertfolge pro Sub-Datenpaket ist, wobei J = 12 ist, wobei I = 53 ist, wobei die datensenderseitige Verschachtelungsfunktion einer Verschachtelungstabelle entspricht, die zumindest folgende Elemente aufweist:
Figure imgf000073_0001
wobei Elemente der Verschachtelungstabelle den Index k der codierten Datenwerte von k=0 bis k=L-1 der codierten Datenwertfolge vor dem Verschachteln angeben, wobei die verschachtelte, codierte Datenwertfolge derart auf die Mehrzahl von Sub- Datenpaketen verteilt ist, dass die in den jeweiligen Sub-Datenpaketen enthaltenen codierten, verschachtelten Datenwerte der codierten, verschachtelten Datenwertfolge jeweils Elementen einer Spalte der datensenderseitigen Verschachtelungsmatrix entsprechen.
46. Computerprogramm zur Durchführung eines Verfahrens gemäß einem der vorangehenden Ansprüche, wenn das Verfahren auf einem Computer oder Mikroprozessor abläuft.
PCT/EP2019/079243 2018-10-31 2019-10-25 Interleaving mit zirkularer zeilen-rotation für die übertragung bei telegramm-splitting WO2020089102A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018218729.0A DE102018218729B3 (de) 2018-10-31 2018-10-31 Interleaving mit zirkularer Zeilen-Rotation für die Übertragung bei Telegramm-Splitting
DE102018218729.0 2018-10-31

Publications (1)

Publication Number Publication Date
WO2020089102A1 true WO2020089102A1 (de) 2020-05-07

Family

ID=68344882

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/079243 WO2020089102A1 (de) 2018-10-31 2019-10-25 Interleaving mit zirkularer zeilen-rotation für die übertragung bei telegramm-splitting

Country Status (2)

Country Link
DE (1) DE102018218729B3 (de)
WO (1) WO2020089102A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230370094A1 (en) * 2022-05-10 2023-11-16 Samsung Display Co., Ltd. System and method for efficient transition encoding for decimation cdr

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019212704A1 (de) 2019-08-23 2021-02-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Unipolare binärfolgen mit gutem periodischen korrelationsverhalten
DE102019213052A1 (de) 2019-08-29 2021-03-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Detektion der Signale von Funkteilnehmern in einem synchronisierten System

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452319A (en) * 1993-06-17 1995-09-19 Itt Corporation Method and system for increasing the reliability of multiple frequency communication systems
US20050152327A1 (en) * 2003-12-02 2005-07-14 Infineon Technologies Ag Interleaving circuit for a multiband OFDM transceiver
DE102011082098A1 (de) 2011-09-02 2013-03-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Batteriebetriebene stationäre Sensoranordnung mit unidirektionaler Datenübertragung
EP2914039A1 (de) 2014-02-26 2015-09-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Datensendeanordnung, Datenempfänger und Verfahren zum Betreiben derselben
DE102016220884A1 (de) * 2016-10-24 2018-04-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Variable Teilpaketlängen für Telegram Splitting in Netzwerken mit geringem Stromverbrauch
DE102018206132A1 (de) 2018-04-20 2019-10-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decodergestützte iterative Kanalschätzung

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101673892B1 (ko) * 2015-07-15 2016-11-08 숭실대학교산학협력단 분산 거리를 보장하는 2차원 인터리빙 방법, 이를 수행하기 위한 기록 매체 및 장치
DE102017204184A1 (de) * 2017-03-14 2018-09-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Authentisierte Bestätigungs- und Aktivierungsnachricht

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452319A (en) * 1993-06-17 1995-09-19 Itt Corporation Method and system for increasing the reliability of multiple frequency communication systems
US20050152327A1 (en) * 2003-12-02 2005-07-14 Infineon Technologies Ag Interleaving circuit for a multiband OFDM transceiver
DE102011082098A1 (de) 2011-09-02 2013-03-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Batteriebetriebene stationäre Sensoranordnung mit unidirektionaler Datenübertragung
DE102011082098B4 (de) 2011-09-02 2014-04-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Batteriebetriebene stationäre Sensoranordnung mit unidirektionaler Datenübertragung
EP2914039A1 (de) 2014-02-26 2015-09-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Datensendeanordnung, Datenempfänger und Verfahren zum Betreiben derselben
DE102016220884A1 (de) * 2016-10-24 2018-04-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Variable Teilpaketlängen für Telegram Splitting in Netzwerken mit geringem Stromverbrauch
DE102018206132A1 (de) 2018-04-20 2019-10-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decodergestützte iterative Kanalschätzung

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
B. FRIEDRICHS: "Kanalcodierung", 1994, SPRINGER-VERLAG
GASS J H JR ET AL: "An application of turbo trellis-coded modulation to tactical communications", MILCOM 1999. IEEE MILITARY COMMUNICATIONS. CONFERENCE PROCEEDINGS (CAT. NO.99CH36341) IEEE PISCATAWAY, NJ, USA, IEEE, vol. 1, 31 October 1999 (1999-10-31), pages 530 - 533, XP010369581, ISBN: 978-0-7803-5538-5, DOI: 10.1109/MILCOM.1999.822738 *
J. HUBER: "Nachrichtentechnick", vol. 21, 1992, SPRINGER-VERLAG, article "Trelliskodierung"
P. HÖHER: "Grundlagen der digitalen Informationsübertragung", 2011, VIEWEG & TEUBNER VERLAG
PURSLEY M B ET AL: "Turbo product coding in frequency-hop wireless communications with partial-band interference", MILITARY COMMUNICATIONS CONFERENCE. MILCOM 2002. PROCEEDINGS.ANAHEIM, CA, OCT. 7 - 10, 2002; [IEEE MILITARY COMMUNICATIONS CONFERENCE], NEW YORK, NY : IEEE.; US, vol. 2, 7 October 2002 (2002-10-07), pages 774 - 779, XP010631872, ISBN: 978-0-7803-7625-0, DOI: 10.1109/MILCOM.2002.1179571 *
W. KOCH: "Lehrstuhl für Mobilkommunikation", 2010, UNIVERSITÄT ERLANGEN-NÜRNBERG, article "Grundlagen der Mobilkommunikation"

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230370094A1 (en) * 2022-05-10 2023-11-16 Samsung Display Co., Ltd. System and method for efficient transition encoding for decimation cdr

Also Published As

Publication number Publication date
DE102018218729B3 (de) 2020-02-13

Similar Documents

Publication Publication Date Title
DE69829847T2 (de) Fehlerschutzverfahren und vorrichtung für über-funk-dateiübertragung
DE102010031411B4 (de) Konzept zur Kombination codierter Datenpakete
EP1121762B1 (de) Verfahren zur kodierung oder dekodierung und vorrichtung zum kodieren oder dekodieren
WO2020089102A1 (de) Interleaving mit zirkularer zeilen-rotation für die übertragung bei telegramm-splitting
DE102016220886B3 (de) Interleaving für die Übertragung von Telegrammen mit variabler Subpaketanzahl und sukzessiver Decodierung
DE102018206132B4 (de) Decodergestützte iterative Kanalschätzung
DE19857677B4 (de) Verfahren und Anordnung zur Kodierung von Symbolen für eine Übertragung über eine Funkschnittstelle eines Funk-Kommunikationssystems
DE19935785A1 (de) Verfahren und Einrichtung zur Erzeugung eines ratenkompatiblen Codes
DE102021202440A1 (de) Systeme und verfahren zur verschachtelten hamming kodierung und dekodierung
WO2001006693A1 (de) Verfahren und einrichtung zum erzeugen eines kanal- und teilnehmercodierten nachrichtensignals
EP1290808B1 (de) System zur datenübertragung nach dem frequenzsprungverfahren
DE102019218563B4 (de) Optimiertes interleaving für eine übertragung von nachrichten über einen zeitvarianten kanal
WO2020108931A2 (de) Vereinfachte kombination codierter datenpakete
DE102006028947B4 (de) Empfänger zum Empfangen und störungsreduzierten Ausgeben von Daten, Sender, System, Verfahren und Computerprogrammprodukt
WO2021083748A2 (de) MAßNAHMEN ZUR ERMÖGLICHUNG EINER KANALNACHFÜHRUNG BEI DIGITALER ÜBERTRAGUNG
EP1016236B1 (de) Schnelle decodierung von partiell empfangenen faltungscodierten daten
DE102010023352B3 (de) Verfahren zum Übertragen von Daten
DE69821762T2 (de) Anordnung und Verfahren zur Umsetzung einer Datenrate
DE10114834B4 (de) System zur Datenübertragung nach dem Frequenzsprungverfahren
DE10345713B4 (de) ARQ-Verfahren
DE102011103564B3 (de) Verfahren zur Wiederherstellung verlorener und/oder beschädigter Daten
DE10147482A1 (de) Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme
EP1437850A1 (de) Verfahren und Kommunikationssystemvorrichtung zum codemodulierten Übertragen von Information
DE10245639A1 (de) Verfahren zur Bitfehlerreduzierung einer zu übertragenden Datenbitfolge und zur empfangseitigen Decodierung dieser Datenbitfolge
EP1317090A1 (de) Verfahren und Vorrichtung zum Codieren verschiedener Paketdaten für verschiedene Empfänger

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19794549

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19794549

Country of ref document: EP

Kind code of ref document: A1