METHOD AND APPARATUS FOR RECOVERING DATA IN A RECEIVED CONVOLUTIONAL-ENCODED DATA STREAM
FIELD OF THE INVENTION
[0001] The present invention relates to the field of wireless communications and, more particularly, to methods and apparatus for recovering data in received convolutional-encoded data streams. BACKGROUND OF THE INVENTION
[0002] Ultra Wideband (UWB) technology, which uses base-band pulses of very short duration to spread the energy of transmitted signals very thinly from near zero to several GHz, is presently in use in military applications. Commercial applications will soon become possible due to a recent Federal Communications Commission (FCC) decision that permits the marketing and operation of consumer products incorporating UWB technology.
[0003] Presently, UWB is under consideration by the Institute of Electrical and
Electronic Engineers (IEEE) as an alternative physical layer technology. See IEEE Standard 802.15.3a, which is designed for home wireless audio/video systems. This standard sets forth that UWB systems should operate well in an environment of at least four uncoordinated piconets and that packet error rates should be below 8%. Piconets, sometimes caller personal area networks (PANs), are formed when at least two devices, such as a portable PC and a cellular phone, connect.
[0004] Packet error rates (PER) can be attributed to narrow band interference
(NBI) and to collision among communication bands. "Multi-band" modulation technologies have been developed for UWB communication systems to deal with NBI. In multi-band UWB communication systems, the UWB frequency band is divided into multiple sub-bands utilizing a waveform in each sub-bands. One of the major advantages of the multi-band UWB system is its flexibility of working in environments with NBI. When NBI is detected, multi-band UWB systems automatically shut down the corresponding bands shared with the NBI to reduce the effect of NBI. Time/frequency hopping may be utilized in multi-band UWB systems to further reduce NBI effects.
[0005] High collision rates may occur in multiple uncoordinated piconets environments in which multi-band UWB communication systems operate. Convolutional coding technique may be employed to correct isolated random errors, however, they are inadequate for dealing with data loss due to collision.
[0006] Recovery of damaged bits due to collision can provide improvements in system performance. Accordingly, improved methods, apparatus, systems, and computer readable carriers including software for configuring a general purpose computer to recover data losses due to collision in a received convolutional-encoded data stream are needed. The present invention fulfils this need among others. SUMMARY OF THE INVENTION
[0007] The present invention includes a method, apparatus, system, and computer readable carrier including software for configuring a general purpose computer to recover data in a received encoded data stream. The encoded data stream includes an input bit stream encoded using a convolutional encoding scheme and the received encoded data stream includes damaged and undamaged bits. Data losses are recovered by processing damaged and undamaged bits within at least a portion of the received encoded data stream to identify a data loss pattern, selecting equations from a recovery equation set responsive to the identified data loss pattern, and applying the selected equations to the portion of the received data stream to recover at least one of i.) the input bits corresponding to the portion of the received encoded data stream and ii.) encoded data stream bits corresponding to the damaged bits within the portion of the received encoded data stream. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The invention is best understood from the following detailed description when read in connection with the accompanying drawings, with like elements having the same reference numerals. Included in the drawings are the following figures:
[0009] FIG. 1 is a block diagram of a UWB communication system in accordance with the present invention;
[0010] FIG. 2 is a block diagram of a symbol mapper/demapper for use in the
UWB communication system of FIG. 1;
[0011] FIG. 3 is a block diagram of an exemplary decoder/bit recoverer for use in the UWB communication system of FIG. 1; and
[0012] FIG. 4 is a flow chart of exemplary steps for recovering data losses in accordance with the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0013] FIG. 1 conceptually represents of an exemplary UWB communication system 100 in accordance with the present invention for recovering data losses, e.g., due to collision, in a convolutional-encoded data stream. One or more blocks with the
illustrated communication system 100 can be performed by the same piece of hardware or module of software. It should be understood that embodiments of the present invention may be implemented in hardware, software, or a combination thereof. In such embodiments, the various component and steps described below would be implemented in hardware and/or software. In addition, although the present invention is described in terms of UWB communication systems, the present invention may be applied to other communication systems such as non-UWB frequency-hopping and time-hopping communication systems.
[0014] In general overview, a UWB multi-band transmitter 102 transmits a convolutionally encoded data stream for receipt by a UWB multi-band receiver 104. In the transmitter 102, an input bit stream is applied to an encoder 106 that encodes the input bit stream to create a data stream of symbols. A symbol mapper 108 maps the symbols within the data steam to the bands of the multi-band UWB communication system and a modulator/pulse shaper 110 modulates and prepares the bands containing symbols for transmission by the transmitter 102.
[0015] In the UWB multi-band receiver 104, a demodulator 112 demodulates the modulated bands containing symbols and a symbol demapper 114 maps the encoded data stream from the multiple bands to a single stream to form an encoded data stream of symbols. The encoded data stream includes undamaged bits and damaged bit. Unless otherwise stated, the damaged bits are damaged due to collision, which produces a repeating pattern of bands containing damaged bits. A decoder/bit recoverer 116 decodes the encoded bit stream and recovers the damaged bits to yield the original data stream.
[0016] The components of the UWB communication system are now described in detail. The encoder 106 encodes the input bit stream using convolutional encoding. Convolutional encoding is a forward error correction (FEC) technique in which strings of data bits (e.g., one or more bits) are transformed into symbols. The transformation is a function of one or more bits within the previous k bits in a string of data bits, where k is the "constraint length" of the code, which is described in further detail below. In an exemplary embodiment, the strings of data bits may be randomized in a conventional manner prior to encoding. In addition, the encoder 106 may employ a conventional interleaver.
[0017] The symbol mapper 108 maps the symbols provided by the encoder 106 to bands of the multi-band UWB communication system. FIG. 2 depicts the mapping of the symbol stream to the mapper bands. An input symbol stream is applied to a symbol-to-band mapper 200 in the symbol mapper 108. In an exemplary embodiment,
symbols within the input symbol stream are sequentially assigned to the bands. The bands containing symbols are then combined by a combiner 202 into a channel, e.g., a UWB communication channel. Mapping of the symbols within the bands back to a single symbol stream is described in detail below.
[0018] Referring back to FIG. 1, the modulator/pulse shaper 110 modulates the digital bits of the encoded symbol streams in the multi-bands onto carrier pulses for transmission from the transmitter 102, e.g., via radio frequencies (RF). In an exemplary embodiment the carrier pulses are UWB pulses. The transmitted encoded symbol streams in the multi-bands are received at the receiver 104 where the demodulator 112 demodulates the encoded symbol stream into digital bits.
[0019] The symbol demapper 114 maps multi-band symbols into a single encoded data stream. FIG. 2 depicts the mapping of the multi-band symbols to the single symbol stream. A separator 204 separates the multibands on a UWB multi-band channel into multiple bands of symbols. The multi -bands of symbols are applied to a band-to-symbol mapping component 206 in the symbol demapper 114, which reverses the symbol to band mapping performed by the symbol-to-band mapping apparatus 200.
[0020] Referring back to FIG. 1, the decoder/bit recover 116 recovers damaged bits and decodes the received encoded bit stream. In an exemplary embodiment, the decoder/bit recoverer 116 includes a conventional convolutional decoder 118 and a bit recoverer 120, with is described in further detail below. In this embodiment, the decoder 118 reverses the encoding performed by the encoder 106 and the bit recoverer 120 identifies and repairs damaged bits prior to decoding by the decoder 118. In an alternative exemplary embodiment, the decoder 118 and bit recoverer 120 are combined into a common functional unit with the decoder 118 and the bit recoverer functioning together to decode the received encoded bit stream to deliver the original input stream. The decoder/bit recoverer 116 is able to recover damaged bits due to collision that convolutional coding techniques alone, which are primarily designed to deal with additive white Gaussian noise (AWGN) , are unable to resolve.
[0021] FIG. 3 depicts an exemplary decoder/bit recoverer 116. A pattern detector 300 detects damaged and undamaged bits within the encoded data stream. The pattern detector 300 may detect the damaged bits using a repetitive transmission scheme as described in detail below in which data is mapped to multi -bands in a first transmission, remapped in a different order to the multi -bands, and then processed to determine the presence of corrupt data and, thus, the bands in which the corruption occurs. In an exemplary embodiment, the pattern detector 300 generates a pattern
identification signal in response to detecting and processing the damaged bits. In an exemplary embodiment, the pattern identification signal may be a bits stream reflecting the pattern, e.g., with undamaged bits represented by a zero and damaged bits represented by a one.
[0022] A selector 302 coupled to the pattern detector 300 selects equations to apply to the encoded data stream responsive to input from the pattern detector 300. The equations may be selected from a recovery equation set responsive to the generated pattern identification signal from the pattern detector 300. In an exemplary embodiment, as is described in further detail below, equations within the recovery equation set are derived from the convolutional coding sequences used by the encoder 106 for encoding the input stream.
[0023] A processor 304 applies the equations selected by the selector 302 to recover at least one of i.) the input bits corresponding to the portion of the received encoded data stream and ii.) encoded data stream bits corresponding to the damaged bits within the portion of the received encoded data stream. When recovering the input bits corresponding to the received encoded data stream, the processor 304 performs the function of the decoder 306 and, thus, the decoder 308 and interface blocks 308 can be eliminated.
[0024] When recovering the encoded data stream bits corresponding to the damaged bits, the recovered bits are supplied by the processor 304 to the decoder 306 via an interface 308. The development of a suitable interface for use in the present invention will be understood by those of skill in the art. The decoder 306 then reverses the encoding introduced to by the encoder 106. The decoder decodes the encoded data stream as modified by the processor 304 to include the recovered encoded data stream bits corresponding to the damaged bits.
[0025] FIG. 4 depicts a flow chart 400 of exemplary steps to recover data losses in accordance with the present inventions. The exemplary steps are described with reference to the components of the exemplary UWB multi-band communication system 100 described above with reference to FIGs. 1-3.
[0026] At block 402, the transmitter 102 transmits an encoded data stream over multiple bands. The encoder 106 within the transmitter 102 encodes the data stream using a convolutional code. Time/frequency hopping and/or interleaving of the data may also be introduced to the multi-bands to reduce loss rates.
[0027] At block 404, the receiver 104 receives the encoded data stream. In accordance with the present invention, the received encoded data stream may include
damaged and undamaged bits in which the damage bits are due to collision. The demodulator 112 reverses any time/ frequency hopping or interleaving introduced to the multi-bands prior to transmission to obtain the encoded symbol streams in the multi-bands.
[0028] At block 406, the symbol demapper 114 maps the received encoded data stream from multiple bands to a single data stream. The symbol demapper 114 effectively reverses the mapping performed by the symbol mapper 108.
[0029] At block 408, a recovery equation set is derived based on the convolutional code. A recovery equation set developed for use with an exemplary two- bit convolutional code is described in detail below. Recovery equation sets for use with other convolutional codes will be understood by those of skill in the art.
[0030] At block 410, the pattern detector 300 processes damaged and undamaged bits within the received encoded data stream to identify data loss patterns. At block 412, the selector 302 selects equations from the recovery equation set derived at block 408 responsive to the data loss pattern identified at block 410.
[0031] At block 414, the processor 304 applies the equations selected at block
412 to the portion of the received encoded data stream to recover at least one of i.) the input bits corresponding to the portion of the received encoded data stream [i.e., if the bit recoverer 120 is incorporated into the decoder 118] and ii.) encoded data stream bits corresponding to the damaged bits within the portion of the received encoded data stream [i.e., if the bit recoverer 120 and the decoder 118 are separate]. The application of the equations to the received encoded data stream is described in further detail below.
[0032] At block 416, the bit recoverer 120 passes, to the decoder 118, the recovered encoded data stream bits corresponding to the damaged bits within the portion of the received encoded data stream. The decoder 118 then reverses the encoding introduced by the decoder to recover the original input data bits. In embodiments where the input bits are recovered in block 414, the step in block 416 can be eliminated.
[0033] Additional support for the present invention is now described with reference to a wireless personal area network (PAN). In wireless PANs, in order to obtain a packet error rate (PER) below 8% for a packet size of one kilo byte, the bit error rate (BER) should be at the level of 10"6 or below. In addition, the position of damaged data in PAN sub-bands due to collision can be determined, which is described
in detail below. In accordance with these characteristics, the present invention is able to recover the transmitted data when up to 50% of received data is damaged data.
[0034] The present invention sets forth a decoder design using a symbol loss recovery algorithm based on a convolutional code used for encoding. Calculations based on the algorithm are almost "flat" regardless of whether a damaged "burst" contains one symbol or multiple symbols. In an exemplary embodiment, a 1/2 -rate convolutional encoding scheme is employed by the encoder. The encoder employs the following convolutional encoding generator sequences: gl = 1 + z~2 = (101) g2 = 1 + z"1 + z"2 = (111) where gl represents the first bit of an encoded 2-bit symbol, g2 represents the second bit of the encoded 2-bit symbol, the numeral one "1" in the equations represents the current bit of the input bit stream, y"1 represents a bit in the input bit stream delayed by one bit, and y"2 represents a bit in the input bit stream delayed by two bits.
[0035] Based on the exemplary encoder, the following relationship exists:
bu = a, + a,-ι + a,
-2 where {a,} is the input bit stream sequence and {b
l0 b } is the two-bit encoded symbol output sequence that is based on the input bit stream. The first bit of the encoded output symbol is a function of a current input bit and a previous input bit (i.e., an input bit delayed by two bits) and the second bit is a function of the current input bit and two previous bits (i.e., the an input bit delayed by one bit and an input bit delayed by two bits). The two-bit encoded symbol output sequence is transmitted by a transmitter for receipt by a receiver. During the transmission, bits of the encoded symbol output sequence may be damaged. Using the above two equations, input bits corresponding to the encoded symbol output sequence and/or encoded data stream bits corresponding to the damaged bits within the encoded symbol output sequence can be recovered in the following six patterns.
[0036] In a first bit pattern, no damaged bits are detected. In accordance with this pattern: a0 = boo + a.2 = b01 + a.x + a-2
Note the boo + a.
2 equals b
0o - a.
2 because the addition and subtraction are both modulo 2.
[0037] In a second bit pattern, every other encoded bit is damaged with the following pattern : xr xr xr xr where x represents damaged encoded bits (i.e., b
i0) and r represents received undamaged encoded bits (i.e., b ). In accordance with this pattern:
where z
0 denotes an unknown decoded input bit, b denotes received encoded data bits and a denotes previously decoded input bits. Thus, z
0 can be obtained as follows:
[0038] Based on a determined value for z
0, b
oo can then be obtained as follows: boo = z
0 + a.
2 (mod 2)
[0039] In a third pattern, every other bit is damaged with the following pattern : rx rx rx rx
[0040] In accordance with this pattern: boo = Zo + a-2
[0041] Similar to the second pattern described above, z0 can be obtained as follows: zo = boo - a.2 (mod 2) = boo + a-2 (mod 2)
[0042] Based on a determined value for zo, b0ι can be obtained as follows:
[0043] In a fourth pattern, two bits in a row are damaged with the following pattern: xx rr xx rr
[0044] In accordance with this pattern:
[0045] Thus, z0 and Zi can be obtained by using
[0046] Based on z0, b00 and b0ι can be obtained by using : boo = Zo + a-2 = bio + bu + a.j (mod 2) boi = z0 + a.i + a-2 = bι0 + bn + a.i + a-2 (mod 2)
[0047] In a fifth pattern, three bits in are row are damaged with the following pattern: xx xr rr xx xr rr
[0048] In accordance with this pattern :
b
20 = z
2 + z
0 b
2ι = z
2 + Zi + x
0
[0049] Thus, z
0, Zi and z
2 can be obtained as follows:
Zi = b
20 + b
2ι
[0050] Based on determined values for z0 and z b0o, b0ι and bi0 can be obtained as follows: boo = z0 + a.2 = bu + b20 + b2i + a.i + a-2 (mod 2) boi = Zo + a.i + a.2 = bu + b2o+ b2i + a.2 (mod 2) bio = Zi + a-i = b2o + b2ι + a.x (mod 2)
[0051] In a sixth pattern, four bits in a row are damaged with the following pattern : xx xx rr rr xx xx rr rr
[0052] In accordance with this pattern : b20 = z2 + zo b2ι = z2 + Zi + z0
b30 = z3 + Zi b3ι = x3 + x2 + Xi
[0053] Thus, Zo, Zi, z2, and z3 can be obtained as follows: Zo = b20 + b30 + b3i Zi = b20 + b2i z2 = b30 + b3i z3 = b20 + b2i + b30
[0054] Based on determined values for z0 and Zi, b0o , b0ι, bι0 and bu can be obtained as follows: boo = z0 + a.2 = b2o + b30 + b3i + a.2 (mod 2) boi = Zo + a.j + a.2 = b20 + b30+ b3i + a.i + a-2 (mod 2) bio = Zi + a-i = b20 + b2ι + a.i (mod 2) bu = Zi + z0 + a.i = b2ι + b30+ b3i + a-i (mod 2)
[0055] The relationship between the calculations and the damage patterns is now evaluated. The above description enables derivation of the following conclusions: • For no damaged bits, one addition is needed to obtain one input bit. • For one damaged bit, no more than two additions are needed to obtain one input bit. • For two damaged bits in a row, two additions are needed to obtain 2 input bits. • For three damaged bits in a row, six additions are needed to obtain 3 input bits. • For four damaged bits in a row, six additions are needed to obtain 4 input bits. The above conclusions are summarized in Table 1 for easy comparison: Table 1
[0056] Column 4 in Table 1 sets forth the number of additions needed for a 12- bit input bit stream. It shows that the maximum number of calculation is 2 times the minimum number of calculation needed to obtain the same number of input bits with no damaged bits.
[0057] Four examples are now provides to illustrate how the new scheme is used to recover data losses in data bursts, e.g., due to collision. The examples are designed to deal with different damage patterns. The following sequence serves as the input sequence to the encoder for illustrative purposes: 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0
[0058] The corresponding output from the encoder, which is also the input to the decoder/bit recoverer absent any damaged bits, is: 00 00 11 01 11 00 00 11 01 11 11 01 00 10 01 01 01 10 00 01 11 00 11 10 10 00 01 00 01 11 11 01
[0059] In a first example, the error burst size is one bit. In this example, assume the initial state is 00 and a resultant received sequence due to collision is as follows: Time 0 1 2 3 4 ... Output xO xO xl xl xl where x represents a damaged bit. Based on the exemplary convolutional encoding scheme, the following can be derived: Zo = oι + a_ι + a.2 At time 1, a0 = z0 = b0ι + a^ + a-2 = 0 + 0 + 0 = 0 At time 2, ai = Zi = bu + a0 + a-i = 0 + 0 + 0 = 0 At time 3, a2 = z2 = b2ι + ax + a0 = 1 + 0 + 0 = 1 At time 4, a3 = z3 = b3ι + a2 + ai = 1 + 1 + 0 = 0 At time 5, a4 = z4 = b4i + a3 + a2 = 1 + 0 + 1 = 0
[0060] In this manner, the following recovered input bit stream sequence is achieved : Time 0 1 2 3 4 Input 0 0 1 0 0
[0061] The output sequence may be generated after the input values are resolved, which is also true for the examples set forth below.
[0062] In a second example, the error burst size is two bits. In this example, assume the initial state is 00 and a resultant received sequence is as follows: Time 0 1 2 3 4 Output XX 00 XX 01 XX
[0063] Based on the exemplary convolutional encoding scheme, the following can be derived:
At time 1, a
0=z
0=bιo+b
u= 0 + 0 = 0; aι=Zι=bι
0+a-ι= 0 + 0 = 0 At time 3, a
2=z
2=b
30+b
3ι= 0 + 1 = 1
; a
3=z
3=b
30+aι = 0 + 0 = 0
[0064] Continuing this process results in the following recovered input bit stream sequence: Time 0 1 2 3 4 Input 0 0 1 0 0
[0065] In a third example, the error burst size is three bits. In this example, assume the initial state is 00 and that the resultant received sequence due to collision is as follows : Time 0 1 2 3 4 5 ... Output xx xO 11 xx xl 00
[0066] Based on the exemplary encoding sequence, the following equations are derived :
Zi = b
20 + b
2ι
At time 2, a
0 = z
0 = b
a + b
20 + b
2i + a.
x = 0 + 1 + 1 + 0 = 0; a
x = z
: = b
20 + b
2i = 1 + 1 = 0; a
2 = z
2 = bu + b
2ι + a.i = 0 + 1 + 0 = 1. At time 5, a
3 = z
3 = b
4i + b
50 + b
5i + a
2 = 1 + 0 + 0 + 1 = 0; a
4 = z
4 = bso + b
5ι = 0 + 0 = 0; a
5 = z
5 = b
4i + b
51 + a
2 = 1 + 0 + 1 = 0.
[0067] Continuing the process results in the following recovered input bit stream sequence: Time 0 1 2 3 4 5 Input 0 0 1 0 0 0
[0068] In a fourth example, the error burst size is four bits. In this example, assume the initial state is 00 and that the resultant received sequence due to collision is as follows: Time 0 1 2 3 4 5 6 7 ... Outputxx xx 11 01 xx xx 00 11
[0069] Based on the exemplary convolutional encoding scheme, the following are derived: zo = b
20 + b
30 + b
3ι
z
2 = b
30 + b
3i z
3 = b
2o + b
2ι + b
30 At time 3, a
0 = z
0 = b
20 + b
30 + b
3i = 1 + 0 + 1 = 0; a
x = Zi = b
20 + b
2i = 1 + 1 = 0; a
2 = z
2 = b
30 + b
3i = 0 + 1 = 1; a
3 = z
3 = b
20 + b
2i + b
30 = 1 + 1 + 0 = 0. At time 7, a
4 = z
4 = b
60 + b
70 + b
7ι = 0 + 1 + 1 = 0; a
5 = z
5 = b
60 + b
6ι = 0 + 0 = 0
; a
6 = z
6 = b
70 + b
7ι = 1 + 1 = 0; a
7 = z
7 = b
60 + b
6ι + b
70 = 0 + 0+ 1 = 1.
[0070] Continuing the process results in the following recovered input sequence: Time 0 1 2 3 4 5 6 7 ... Input 0 0 1 0 0 0 0 1 ...
[0071] From the above examples, we see that: • Two undamaged bits enable the recovery of two damaged bits out of four total bits.
• Three undamaged bits enable the recovery of three damaged bits out of six total bits. • Four undamaged bits enable the recovery of four damaged bits out of eight total bits. • For an encoder with a constraint length K=3 (i.e., a convolutional code employing three previous input bits), bursts of 4 or fewer bits can be recovered, which is suitable for use with wireless PAN systems. In order to handle burst damage with more than 4 bits in a burst, an encoder with a bigger constraint length is used, which will be understood by one of skill in the art.
[0072] Additionally, the following properties and advantages, among others, are achievable through the use of the present invention: • Improved recovery of data losses due to collision; • Recovery of damaged bits that constitute up to 50% of the received bits; • Encoder and decoder only need to perform bit operations, e.g., no addition, multiplication, or division needed; • Calculations insensitive to loss patterns; and • Recovery of damaged bits either outside of or within convolutional decoder chipsets. Since convolutional decoders are typically implemented as a core in a chipset and collision patterns may be different for different systems and application, it is difficult to modify chipset designs of convolution decoders to cover all collision cases. The present invention provides a way to recover damaged bits outside of the convolutional decoder chip sets, which gives system design flexibility. Alternatively, bit recovery in accordance with the present invention may be incorporated into a convolutional encoder chipset.
[0073] An exemplary detection method for use in the present invention to detect damaged bits/bands is now described. Assume there are five bands for one system and Band 3 is also used by another piconet which is represented by brackets surrounding the band number. Therefore, symbols on Band 3 are often corrupted. Assume that two transmissions, which were used in multi-band UWB systems for time-frequency- spreading, are employed and arranged as shown in Table 2. The number in each box represents the block number of data to be transmitted, which changes from the first transmission to the second transmission.
Table 2
[0074] After two transmissions, symbols on clean bands are received with high reliabilities and symbols on corrupted bands are received with very low reliabilities. The steps below are performed to determine corrupted bands. • Correlation can be calculated to check symbols in each block on two transmissions in accordance with equation 1: ,,m = ∑ s, s . (1) where / is the index of symbols in one block and / and m the are indexes of bands on which the same block of data is transmitted during two separate transmissions. For clean bands, symbols are received with high reliabilities, which can be expressed mathematically as shown in equation 2:
Sl,i ~ Sm,i (2) For most symbols, J, 77 is large, indicating that the bands are not corrupted, i.e., no damaged bits or symobls. For corrupted bands, symbols are received with low reliabilities, i.e., equation 2 holds true for half symbols, hence a 7/ m value that is close to zero is expected. • When checking symbols in two retransmissions, symbols in Blocks 2 and 3 are different, which indicates that Band 2 and/or 3 may be corrupted. • Block 1 is received in two transmissions with a high reliability, or a high J/,m, indicating that Block 1 is transmitted on two clean bands, i.e., Band 2 is clean. • Similarly, since J,/m Block 4 has a high of Block 4 is transmitted on two clean bands, i.e., Band 4 is also clean. • Thus, the corrupted band is Band 3.
[0075] The detection of damaged bits/bands with other damaged bit/band patterns will be understood by those of skill in the art. In an exemplary embodiment, the pattern detector 300 (FIG. 3) utilizes this exemplary detection method in the determination of data loss patterns.
[0076] Although the invention has been described in terms of a UWB multi-band transmitter 102 (including an encoder 106, a symbol mapper 108, and a modulator/pulse shapper 110) and a UWB multi-band receiver 104 (including a demodulator/ symbol demapper 114, decoder/bit recoverer 116) it is contemplated that the invention may be implemented in software on a general purpose computer (not shown). In this embodiment, one or more of the functions of the various components may be implemented in software that controls the general purpose computer. This software may be embodied in a computer readable carrier, for example, a magnetic or optical disk, a memory-card or an audio frequency, radio- frequency, or optical carrier wave.
[0077] In addition, although the invention is illustrated and described herein with reference to specific embodiments, the invention is not intended to be limited to the details shown. Rather, various modifications may be made in the details within the scope and range of equivalents of the claims and without departing from the invention.