GB2493081A - Error correction in a data receiver - Google Patents
Error correction in a data receiver Download PDFInfo
- Publication number
- GB2493081A GB2493081A GB1212628.0A GB201212628A GB2493081A GB 2493081 A GB2493081 A GB 2493081A GB 201212628 A GB201212628 A GB 201212628A GB 2493081 A GB2493081 A GB 2493081A
- Authority
- GB
- United Kingdom
- Prior art keywords
- instance
- packet
- text
- instances
- combinations
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3769—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using symbol combining, e.g. Chase combining of symbols received twice or more
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6306—Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L1/1816—Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of the same, encoded, message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
- H04L1/1845—Combining techniques, e.g. code combining
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Communication Control (AREA)
Abstract
A method is described for use in a communications system in which data packets are transmitted repetitively by sources and, over time, plural instances of one packet interspersed with instances of one or more other packets, are received by a receiver. Each packet includes message data and respective error coding (error correction) data. When a packet instance is received 600, the error coding data is used to determine if the packet instance is correct or correctable 605. If the packet instance is not correct or correctable, bit values of the received packet are combined 625 with corresponding bit values of previously received packet instances and previously generated instance combinations to form a plurality of instance combinations, which are stored 640. A determination 635 is then made as to whether any resulting instance combination is representative of a correct or correctable packet instance, possibly using a threshold comparison. Policies for discarding 615, 645 correct or correctable packet instances and/or packet instance combinations are also disclosed. The combining may involve averaging bit values across the plural instance combinations. The averaging may include converting each zero bit value in a received packet instance to -1 and accumulating the resulting values. Majority voting, statistical weighting and confidence values may also be used. In contrast to the majority of prior techniques the arrangement describes does not take into account packet sequence numbers or sources, as this information may be corrupt for a packet that is not initially correct or correctable, and may attempt to combine a newly received packet with all previously received packets and packet instance combinations in an attempt to successfully decode the newly received packet (Figure 4). However, other policies are also disclosed wherein selective combination of the newly received packet with some previously received packets and combinations is also disclosed e.g. where the periodic nature of the repeated packet is known.
Description
Data Receiver
Field
The present invention relates to data receivers and particularly, but not exclusively, to data receivers for receiving periodically repeated data packets.
Background
Digital data transmission systems are well known. In general a data packet is transmitted by a transmitter, via a transmission channel, and received by a receiver. Transmission channels can take various forms including metal 0 cables, optical fibres and free-space.
Data errors can occur due to imperfections in a transmission channel.
Imperfections can take the form of noise, interference, distortion, incorrect synchronisation between transmitter and receiver, to name just a few. The errors themselves can lead to lost data (i.e. dropouts), which are relatively easy to detect since expected data is simply not received, or bit inversions (i.e. when a 0 becomes a 1 or a 1 becomes a 0), which are relatively more difficult to detect, as the data has been received and it may not be evident that an inversion has occurred. In the present context, reference to bits and bit inversions relates to digital data that is sent and then received, irrespective of any intervening coding and/or modulation scheme(s) that arc used to pass the data over the respective channel. In this context, it can be assumed that a data receiver includes, or is downstream of any device that recovers the digital data from the modulated!coded transmission signal.
There are various known mechanisms for dealing with the occurrence of data errors. Invariably, nowadays, error correcting (or sometimes control') coding ([CC) is employed, whereby a data packet is encoded with additional ECC bits, often referred to as redundant bits or simply redundancy, before it is transmitted. On receiving an encoded data packet, an ECC decoding operation is performed to determine if the data is correct or correctable. After the data has been received and decoded successflully, the ECC bits can be discarded.
Therc arc many well-known forms of ECC, ranging from a simple parity bit to highly complex forward error correction (FEC) schemes, which can be employed to detect and correct data errors. While a parity bit can reliably determine if there is one bit error in a data packet, error coding schemes can in principle detect and correct many erroneous bits. However, the more powerful an error coding scheme is, typically, the more additional FCC bits are required and the less efficient -in terms of data throughput or bandwidth (and storage 0 capacity, in data storage scenarios) -the transmissions become.
Another mechanism for dealing with data transmission errors is broadly known as Automatic Repeat reQuest (ARQ), whereby a receiver receives a data packet and determines if it is correct, for example by using FEC. If the data packet is incorrect, and cannot be corrected using the ECC, then the transmitter is caused to re-transmit the data using an ARQ communications protocol. Such a mechanism can be repeated until the data has been successfully received.
Depending on the ARQ protocol, re-transmission can be triggered automatically if thc transmitter does not receive a receipt success' indication from the receiver or by the receiver transmitting a retransmit request' to the transmitter.
ARQ typically employs a scheme whereby a received data packet that is incorrect is discarded in favour of a subsequently retransmitted data packet; the process repeating until a correct or correctable data packet is received. A modified form of ARQ is described in "Majority Decoded Automatic Repeat Request Error Control Schemes", Cheng-Shong Wu & Victor O.K. Li, Global Telecommunications Conference, 1988, and Exhibition. Communications for the Information Age', GLOBECOM 88, IEEE. That paper proposes taking three erroneous instances of the same ARQ packet and applying majority voting to each bit-position, resulting in a packet that is sent to a decoder to apply FCC.
If the decoder can successfully decodc the packet, it is treated as being correct.
If the packet is still not correct or correctable, the ARQ protocol requests another packet and the voting is repeated across the most recent three copies of the packet.
Summary
According to a first aspect, the present invention provides method for use in a communications system in which data packets are transmitted repetitively by each of one or more sources and wherein a receiver receives over time plural instances of one packet interspersed with instances of one or more other packets, each packet comprising message data and respective error coding data, the method comprising: receiving a packet instance and using the error coding data therein to determine if the packet instance is correct or correctable; if the packet instance is not correct or correctable, combining bit valucs thereof with corresponding bit values of previously received packet instances and previously generated instance combinations to form a plurality of instancc combinations; storing the plurality of instance combinations; and determining if any resulting instance combination is representative of a correct or correctable packet instance.
According to a sccond aspect, the prescnt invcntion provides a data receiver for usc in a communications system in which data packets are transmitted repetitively by each of one or more sources and wherein the receiver receives over time plural instances of one packet interspersed with instances of one or more other packets, each packet comprising message data and respective error coding data, the data receiver having processing means arranged to: receive a packet instance and use the error coding data therein to determine if the packet instance is correct or correctable; if the packet instance is not correct or correctable, combine bit values thereof with corresponding bit values of previously rcccivcd packet instanccs and previously gcncratcd instance combinations to form a plurality of instance combinations; store the plurality of instance combinations; and determine if any resulting instance combination is representative of a correct or correctable packet instance.
Other aspects and embodiments will become apparent from the
following description, drawings and claims.
Brief Description of thc Drawinizs
Various features and advantages of the invention will become apparent from the following description of embodiments of the invention, given by way of example only, which is made with reference to the accompanying drawings, of which: Figure 1 is schematic diagram illustrating a known wireless communications system; Figure 2 is a table showing multiple instances of a received data packet; Figure 3a is a table showing interspersed data packets; Figure 3b is a table showing the same intcrspcrscd data packets having been recast according to an embodiment of the present invention; Figurc 4 is a table showing instanccs and instance combinations that can be generated from the instances illustrated in Figure 3a, according to an embodiment of the present invention; Figure 5 is a block diagram illustrating the functional components of a data receiver according to an embodiment of the present invention; Figure 6 is a flow diagram illustrating a packet receipt operation according to an embodimcnt of the present invention; Figure 7a is a table reproduced from the table in Figure 4a and showing instances and instance combinations that are to be discarded after generation of a correct or correctable combination, according to an embodiment of the present invention; Figure 7b is a table showing instances and instance combinations that remain after the instances and instance combinations illustrated in Figure 7a have been discarded, according to an embodiment of the present invention; and Figure 7c is a table reproduced from the table in Figure 4a and showing instances and instance combinations that are to be discarded after generation of a correct or correctable combination, according to different a criterion applied according to an alternative embodiment of the present invention.
Detailed Description
Various embodiments of the present invention will now be described in more detail with reference to the accompanying drawings. It will be appreciated that the invention is not limited in its application to the details of methods and the arrangement of components as set forth in the following description or illustrated in the drawings. It will be apparent to a person skilled in the art that additional embodiments of the present invention not detailed in the description are possible and will fall within the scope of the present claims. Accordingly, the following dcscription should not be interpreted as limiting in any way, and the scope of protection is defined soLely by the claims appended hereto.
Embodiments of the present invention find application in simple data communications systems, which typically do not accommodate the overhead of an ARQ protocol, and which arc adapted to transmit the same message a plurality of times or repeatedly. Systems which rely on repeated transmission of the same message are often associated with emergency beacons or distress signals, for example used in sea or mountain rescue, stolen vehicle recovery, or the like; although embodiments of the present invention should not be taken as being limited thereto. In such systems, which often rely on VHF wireless radio communications in the case of sea/mountain rescue and stolen vehicle recovery, it is not assumed that a receiver is in the vicinity of the transmitter, and so emergency message data packets are transmitted periodically, for example every few seconds, tens of seconds or even minutes. After a receiver moves within range of a transmitter, however, the receiver tends to receive plural copies, or instances, of a data packet during the time for which it remains in range.
In arriving at cmbodiments of the prcscnt invention, thc present applicant has appreciated particular characteristics of scenarios in which data packets are repeatedly transmitted. For example, transmission systems that repeatedly transmit the packets may have a relatively low power, for example being battery operated, and it may be desirable to preserve as much power as possible.
Accordingly, packet transmissions may be relatively low power, and not easily detectable from long distances away; or at least may suffer from imperfections and interference due to random noise, especially approaching the limits of transmission distance and/or depending on atmospheric conditions. Even if transmissions can be relatively high power, there is still a limit to the transmission distance beyond which too many imperfections arise.
Additionally, as has been explained, hitherto known reception techniques typically employ ECC and ARQ, discarding data packets that cannot be immediately recovered. The present applicant has, however, appreciated that even data packets that cannot be recovered due to bit inversions or the like, typically still contain useful information. For example, if a packet has 32-bits and the ECC (such as a BCH algorithm) can correct up to three erroneous bits, with four erroneous bits (which the ECC would be able to detect) there would be 28 good bits somewhere across the packet. Over time and given that packets are typically repeated (and received) a plurality of times, the present applicant has appreciated that it can be desirable not to discard erroneous packets and, for example, use a statistical averaging technique over plural un-correctable packet instances (of the same and different packets) to derive correct packets.
An embodiment to be described finds application in scenarios in which a fixed or mobile data receiver may receive plural data packets from one or more fixed or mobile receivers, as illustrated in FIG 1.
FIG. I depicts an exemplary stolen vehicle recovery scenario in which a single fixed VHF receiver 100 can receive message packets from plural vehicle-mounted mobile VHF transmitters LlOa, liOb, HOc, which are mounted on or in vehicles. According to the embodiment, communications employ a fixed format, within which the packets from each transmitter share the same form and have the same number of data and FCC bits. Accordingly, the receiver 100 can employ in general the same data processing to any received data packet, as will be described in more detail hereinafter.
An exemplary, original data packet has the following bit pattern 0 comprising eight bits: 1 0 0 11 0 1 0 (original packet instance).
For the purposes of illustration only, the packet is assumed to comprise both data and FCC bits, and the FCC bits provide the capability to detect multiple erroneous bits and correct at least one erroneous bit. In order to increase the correctness of the data packet it is necessary to detect more erroneous bits than the ECC has the capability to correct; therefore, it is desirable to opt imisc thc number of erroncous bits that can be dctcctcd.
It is also assumed that the packet contains an indication of the origin of the packet. For example, in some systems, such as frequency division multiplexing (FDM) systems, a respective unique transmitter ID of some kind may be used to identi the source of the packet. However, in some systems, for example timc division multiplexing (TDM) systems, it may not be ncccssary to include a unique transmitter ID. For the present purposes, the exact nature of how the source of the packet is identified is not important, and the principles described herein are applicable to multiplexing methods other than those described above.
The exact nature and number of data and FCC bits is not important for the present purposes. Moreover, it will be appreciated that a data packet can have any practical number and combination of data and ECC bits to suit a predetermined need. In addition, in a practical scenario, it is unlikely that an 8-bit packet could store a useful amount of information as well as ECC, and it will be appreciated that the following explanation holds for any length and constitution of data packet; the exemplary data packet only comprises eight bits for the sake of simplicity of description and data packets in embodiments of the invention will typically comprise many more than eight bits.
According to the present example, it is assumed that a receiver 100 receives three consecutive instances of the original data packet, within a certain 0 period of time, from a first transmitter 11 Oa. The original data packet and the three received instances are illustrated in the table in FIG. 2.
As shown in FIG 2: bits I and 2 of the first received packet instance are inverted; bits 5 and 6 of the second received packet instance are inverted and bits 3 and 8 of the third received packet instance are inverted. According to the present embodiment, therefore, the ECC provided, which can only correct one bit error, would not be able to correct any of these packet instances. Hereafter, packet instances that are incorrect and cannot be corrected using the available ECC will be referred to as erroneous packet instances.
As shown in FiG. 3a, however, within the same period of time taken for the receiver to receive the three erroneous original packet instances of FIG. 2, two further erroneous packet instances, representing two different packets, are received. As illustrated in the table in FIG. 3a: the first row represents the first erroneous instance of the original packet from transmitter 11 Oa; the second row represents a erroneous instance, but of a second packet, for example from transmitter 1 lOb; the third row represents the third instance, which is a second erroneous instance of the original packet from transmitter I lOa; the fourth row represents a 4th instance, which is an erroneous instance of a third packet, for example from transmitter 1 lOc; and the fifth row represents a 51h instance, which is the third erroneous instance of the original packet from transmitter 1 lOa. For the present purposes, it is assumed that the bit values of the 2' and 3 packets are not important.
When a packet instance is received, and it is found to bc erroneous, according to the present embodiment, it is combined with existing stored packet instances. Each of the stored packet instances represents either a previously-received erroneous packet instance or the result of a prior combination of one or more previously-received erroneous packet instances.
In the present context, a combination of one or more previously-received erroneous packet instances can be achieved in various different ways (to be described) each, however, resulting in a bit pattern having the same format as an actual, original packet instance. The result of a combination operation will be referred to herein as an erroneous instance combination, or simply an instance combination', in order to differentiate it from a single erroneous packet instance.
The table in FIG. 4 shows, for the five packet instances illustrated in FIG. 3a, the possible combined erroneous instance combinations (though not the results of the combinations themselves). In particular, each row of the table in FIG. 4 is associated with the receipt of a respective instance of the table in FIG 3a, and shows the corresponding combinations that can result after the arrival of that instance. For example, 3,2,1' in the 4th column of the 3 row in the body of FIG. 4 (i.e. not counting the top row and left hand column as rows and columns in the body of the table) is an instance combination representing the combination of the third, second and first erroneous packet instances. In effect, the third second and first erroneous packet instances contributed to the generation of the instance combination represented by 3,2,1'.
By way of further explanation, it will be noted that the entries in the 4" row of FIG. 4 represent the 4th packet instance followed by the 4tli packet instance combined with every preceding entry in the table. The entries in each row (at least initially) follow the same general formula (xlh instance in addition to the xth instance combined with all previous combinations in the l' to (x_l)thl rows).
It will be appreciated, generally, and in particular by reference to FIG. 4, that the received erroneous instances are combined with other erroneous instances and instance combinations irrespective of which packet they relate to.
Indeed, according to the present embodiment, the mere fact that a packet instance is erroneous -insofar as it is incorrect and cannot be corrected -means that it is not always possible to determine the origin of any packet and it is not always even possible to determine whether two or more instances emanate from 0 the same source and/or whether they even relate to the same packet. This is in stark contrast to known ARQ protocols, wherein a transmitter and receiver utilising the protocol interact with one another in order to associate an original packet instance with any subsequently re-transmitted instances.
According to the present embodiment, the purpose of combining the instances is, in effect, to perform an averaging function on, or derive a weighting for each bit in, a resuhing instance representation. Over time, and as bit errors in any instance are expected to occur randomly, performing an averaging or weighting operation over two or more erroneous instances of the same packet is expected to approach a correct (or correctable) instance. In contrast, when one or more of the instances in a combination relate to different packets, performing an averaging or weighting operation is expected not to, or at the very least take longer (in terms of having to wait for the arrival of additional instances of the same packet) to, approach a correct (or correctable) instance.
In some embodiments, a statistical or probabilistic weighting, such as a Bayesian probabilistic weighting could be applied to each bit; i.e. each bit could have an associated confidence value indicating the probability that that bit has been correctly received. The probability may be determined based oa well-known measurable quality characteristics of the communications channel such as signal strength, noise level etc. As an example, a bit with value 1 that is received on a good quality channel might be represented as 1(0.9) i.e. the system has received a bit that it is 90% certain has a value of 1. Alternatively, the probability value and the bit value may be combined into a single value.
In order to simplify the weighting operation, in particular by maintaining integer (rather than fractional) arithmetic, according to the present embodiment all zero bit values in an erroneous received packet instance are changed to a -1; whereby FIG. 3a can be simply re-written as FIG. 3b. It will be understood that changing zero values in an erroneous packet instance to a -1 is a particularly simple example intended to illustrate the principle; zero bit values could be O changed to other values, in particular other negative values, with the same effect.
Then, a first combining step involves adding or accumulating the instances in a bit-wise fashion, such that, for example, the accumulation of instance 2 and instance I of FIG. 3b becomes: 02020-2 0-2 (accumulated instances I and 2).
As will be appreciated, given a change of each incoming 0 to -1, a value of 0 in an accumulated instance implies that there have been an equal number of received Is and Os, which would not with any degree of confidence provide an indication of what the bit value should be. In contrast, any value other than 0 provides not only an indication of what the bit value could be (values >0 implying a I and values <0 implying a 0) but also a degree of confidence in that indication. For example, if after fivc erroneous imstances are accumulated one bit location has the value 5 or -5, this would mean that all instances share the same bit value in the respective location, providing a relatively high degree of confidence that the bit value is 1 or 0 respectively. In contrast, a bit location having a value of 1 or -l after accumulating five instances would mean that three of the five instances share the same bit value but that the other two instances had the opposite value. Hence, there would be a relatively low degree of confidence (i.e. 3/5 or 0.6) in the bit value being a 1 or 0 respectively.
In other embodiments, as will be described, a threshold may be set, such that the accumulated result must be higher (or lower) than the threshold before it is deemed to have a sufficient degree of confidence. For example, the confidence level may need to be >0.6 (or even more, for example >0.) before the respective combination is taken to be an acceptable indication of the bit value.
it will by now be apparent that the correct bit values for the original packet instance should be derivable by accumulating instances 1, 3 and 5 of the table in FIG. 3b. This accumulation is represented in the 5 row and 6thi column 0 of the body of the table in FIG. 4: the accumulation resulting in the bit pattern: 1 -1 -l 3 1 -l 3 -1 (accumulated instances 1, 3 and 5).
If it is assumed that any non-zero value can be determinative of an actual value, wherein a positive integer equates to a I and a negative integer equates to a 0, it will be appreciated that accumulated instances I, 3 and 5 can be recast as: 1 00 1 1 0 1 0 (recast accumulated instances 1,3 and 5), which is a correct representation of the original packet. In other words, the packet would be correctly decoded using the applied ECC.
In contrast, an accumulation of the first three instances in the table in FIG. 3b results in: 11 -1 3 -1 -l 1 -3 (accumulated instances 1, 2 and 3), which can be recast as: 1 1 0 1 0 0 1 0 (recast accumulated instances 1, 2 and 3).
As can be seen by comparison to the original packet, bits 2 and 5 of recast accumulated instances 1, 2 and 3 are incorrect. Insofar as the ECC in the original packet can only correct one bit error, this combined instance would remain as an crroneous instance.
A data rcccivcr according to an embodiment of the present invention will now be described with reference to the functional block diagram in FIG. 5.
In FIG. 5, a data receiver 500 has a packet processor 510, a packet input 520 and a data output 525. The packet input 520 is adapted to receive VHF wireless signals, and comprises a standard VHF receiver. Equally, the packet input could be adapted for receiving packets via a wired or optical connection, or via any other appropriate frequency and/or wireless communications standard. The data output 525 can pass, via any appropriate interface, corrected data packets to a downstream systcm (not shown), for example, which can determine thc exact nature of thc received data and react thereto in an appropriate maimer. Such downstream' system elements are not important for understanding embodiments of the present invention.
The packet processor 510 operates according to an embedded fiimware program 535, the instructions for which arc stored in non-volatile memory 530.
Volatile memory 540 is also provided for storing erroneous received packet instances, for example, in an instance table 545 or tables. The packet processor 510 performs various functions, and has a accumulator 5 2, for combining erroneous packet instances, a converter 514, for example, for converting zeros in erroneous packets into ones, and recasting combined instances into digital form, and an FCC processing function 516 for determining via appropriate FCC decoding if a received instance (or any instance combination) is correct or correctable. It will be appreciated that the processor could alternatively be realised in any other appropriate manner, for example (without limitation) as a bespoke ASIC or by employing a programmable processor executing (high or low level, compiled or interpreted) software instructions. In any firmware or software embodiment, the arrangement would typically be adapted to facilitate uploading of the firmware or sofiware from a data carrier, either locally or via a (wireless or wired) network.
A data receiving operation according to an embodiment of the present invention will now be described with reference to the flow diagram in FIG. 6.
In a first step [600], a data packet instance is received. The packet processor 510 uses ECC processing 516 [605] to determine if the instance is correct or correctable. If the instance is correct or correctable, it is decoded in the known manner and then passed [610] to the data output 525 for downstream processing. The packet instance is discarded [615] once it has been communicated downstream. The process then iterates to the first step [6001 to await receipt of a new data packet.
However, if the packet instance is erroneous, it is converted [620], as described above, by changing all zero values to -1 values. Next [625] the packet is combined with previously-stored, erroneous instances and instance combinations, by accumulating the bit values. Once the instance combinations have been generated in this manner, they are re-cast [630] and are then individually checked [635] using the ECC processing 516 to determine if the resulting combination represents a correct or correctable instance.
The steps of converting the instance [6201, combining the instance [625], recasting the combination [630] and checking [635] can be carried out in various ways. For example, all combinations may be generated first, followed by recasting and ECC checking each combination in turn. Alternatively, each combination may be ECC-eheeked as soon as it has been generated and recast, and before a next combination is generated. In other words, there is no single fixed order in which the various steps need to be performed in.
In any event, if a combination is found to be correct or correctable [635], it is communicated via the data output 525 to the downstream system [610]. In addition, according to the present embodiment, all combinations that have been generated as a result of the receipt of the most recent packet instance (for example, the most recent row of entries of a table as in HG. 4) are discarded [615], as they are deemed no longer of any use; the working assumption for this embodiment being that any combinations that have been generated using the most recently-received instance, which has since been recovered, do not usefully assist with recovering future erroneous instances. As will be described later on, however, it is not necessarily the case that other combinations including the most-recently-received instance have no use and must be discarded.
1f however, no combinations lead to recovery of the received instance, the combinations are stored [6401 for subsequent combination with any subsequently-received erroneous packet instance. In this context, the combinations that arc stored are the combined and non-recast versions, such that the confidence level is intrinsically represented within any stored combination.
Ncxt [645], memory management is performed, thc dctails of which will be described below.
Finally, the process iterates to the first step [600] to await receipt of a new data packet.
Regarding memory management [645], it will be appreciated that the volatile memory 540 has a limited storage capacity, and that, if uncontrolled, it could ifil up with erroneous packet instances and instance combinations relatively quickly: from FIG. 4 it can be seen that the demand in the storage requirement approximately doubles with each additional row.
There are various ways to perform memory management according to embodiments of the present invention. For example, one way to control the growth is to employ a simple memory management policy that discards the earliest combinations as soon as the memory is fill: for example, a kind of first-in-first-out (FIFO) arrangement.
An additional, or alternative, policy is to associate a timestamp with each stored combination, where the timestamp may be a time associated with the arrival of the earliest instance in that combination (rather than the time at which the combination was generated). Then, combinations can be discarded once a certain amount of time has expired.
A frirther additional, or alternative, policy is to discard instances that are determined by the ECC to contain large numbers of erroneous bits; such instances are less useful than instances with fewer erroneous bits and so prefercncc is given to the less crroneous instance. In an cxcmplary embodiment, 0 instances with a number of erroneous bits exceeding a threshold number of erroneous bits are discarded.
Depending on how much memory is provided, the amount of time before expiry may be determined as a function of an expected delay between packet instance transmission repetitions. For example, if packet instances are expected to be repeated evcry 30 seconds, and it is expected that a majority of packets can be recovered by combining five instances of the packet, the expiry time may be set at 120 seconds (bearing in mind that there are four thirty second gaps between each of the five repeated packet instance transmissions), plus a fcw additional seconds to accommodate a ccrtain amount of processing time. The expiry time and memory size may then be designed to accommodate the time delay between repeated transmissions of instances of one packet, the number of different packets (rather than instances of packets) that the receiver is expected to encounter and the number of anticipated instances of one packet that on average lead to a combined result representing a correct or correctable packet instance.
A further additional, or alternative, policy to control memory requirements discards all combinations that are similar to any acceptable combination. For example, referring again to FIG. 4, and assuming again that the combination 5,3,1 represents a corrcct(ablc) combination, it may be deemed acceptable to discard the 5[h instance, all instance combinations in the fifth row and, in addition, any previous instance and instance combination that includes the Vt or 3td instance. In effect, any instance or instance combination including at least one of instance 1, 3 or 5 is discarded: such instances being referred to herein as related' instances and related' instance combinations. This would lead to the scenario identified in FIG. 7a, in which the shaded table entries, comprising related instances and combinations, include the entire fifth row and entries having at least one of the first instance or the third instance. Removal of all related instances and combinations results in the reduced table shown in FIG. 7b. A subscqucnt erroneous instance would then produce the 3 instance (and
row) in the table.
Although the policy represented by FIGs. 7a and 7b is extremely efficient in terms of memory management (since a significant amount of memory is freed-up each time a correctable packet is encountered), it is not necessarily the most efficient policy in terms of overall speed of erroneous packet recovery, since some of the instances and instance combinations that are to be discarded may still be of assistance in correcting other instance combinations. This can be illustrated by considering the following example, in which the following three original (correct) packets are repeatedly transmitted by different transmitters and (erroneously) received by a single receiver: 1 0 0 11 0 0 0 (original, correct instance A) 11 0 11 0 0 1 (original, correct instance B) 11111 0 1 0 (original, correct instance C) it is assumed that none of these three packets has yet been correctly received and that at least the following stored instance combinations exist: 3 -7 -7 7 7 -7 -7 -7 (seven erroneous instance As) 3 7 -7 7 7 -7 -7 7 (seven erroneous instance Bs) 3 7 7 7 7 -7 7 -7 (seven erroneous instance Cs) For the sake of providing a simplified example, as can be seen, each instance combination results from seven of the same respective received instances, A-C, but, in each case, the first bit has been in error twice (that is, the first bit value of 3 has resulted from (5 + 7)). It is also assumed that, to be an acceptable instance combination, a threshold value for each bit has to be »=4 or §4. Now, assuming the following packet is received: 1 1 0 1 0 0 0 (new erroneous instance A) As will be appreciated, the second bit of this instance has been inverted.
Recasting this packet results in: 11 -111 -1 -1 -l Combining this with the three stored combinations results, respectivcy, in: 4 -6 -8 8 8 -8 -8 -8 (eight erroneous instance As) 4 8 -8 8 8 -8 -s 6 (seven erroneous instance Bs plus new erroneous instance A) 4 8 6 8 8 -8 6 -8 (seven instance Cs plus new erroneous instance A) As can now be appreciated, each of these three resulting instance combinations now satisfies the threshold requirement that each bit has to be ?4 or <-4. This demonstrates that even a received instance that does not match previous, original instances (B and C) can facilitate recovery of other instance combinations, due to the statistical nature of the algorithm. Following on from this, it is evident that, according to some embodiments at [cast, it may be desirable from a packet recovery efficiency perspective to maintain more, if not all, instance combinations, even after one or more related instances has been recovered and discarded. Put another way, and by way of example, even after instance combination 5,3,1 (in FIG. 4) has been recovered, it may be desirable -contrary to the table illustrated in FIG. 7a -to discard only instance combination 5,3,1. Of course, in terms of memory management, other techniques, such as FIFO and/or time-stamping, would typically need to be employed to prevent memory overflow.
In between the extremes of discarding all related instances (as illustrated in FIG. 7a) and only a single correctable instance, there are other options for discarding at least some instances and instance combinations. For example, using again the example of instance combination 5,3,1 being conectable, the 0 algorithm may selectively discard all related instances that have a majority (>50%) of their constituent instances being in common with 5,3,1. The result of this selection is illustrated in FIG. 7c; with shaded cells being those that would be discarded. As can be seen, just over half the number of instances and combinations would be discarded, compared with the number in FIG. 7a. While not so memory efficient as in FIG. 7a, such a scheme may be more packet-recovery-speed efficient. It will be appreciated that, while memory management policies can be relatively efficient at preserving memory, the processing overhead of managing the storage and discarding of historic combinations may also be relatively high, for example, by comparison to a FIFO arrangement.
An alternative to providing a significant amount of volatile memory, and then having to control memory requirements, as just described, is not to store combinations as such. Instead only each of the individual erroneous instances are stored and then the respective combinations are re-generated and ECC-checked as demanded each time a new erroneous packet instance arrives. This method requires a reduced memory requirement for storing combinations.
Indeed, only one combination -the one that is being generated and ECC- checked -needs to be stored. Howevcr, the processing demands involved in re-generating combinations each time a new erroneous packet instance arrives are relatively high. Nevertheless, FIFO memory control, and/or time-stamping, as described above, could still be applied to storage of the individual erroneous instances.
As has already been indicated, according to some embodiments, a threshold may be introduced, whereby each of the accumulated bit values in a combination must be greater than the threshold before the combination is acceptable as a potential candidate for a packet instance. Accordingly, a combination would not even be presented for ECC checking unless each of the bit values exceeded the threshold. For example, if the threshold is set as +4, a combination of six instances resulting in: 6-4-642-26-6, would not be recast as 1 0 0 1 1 0 1 0 and presented for ECC checking, because the fifth and sixth bits only have a value of +2 (that is, a confidence level of 4/6). In contrast, a combination of six instances resulting in: 4 -4 -4 4 4 -4 4 -4, would be recast as 1 0 0 1 1 0 1 0 and presented for ECC checking, because each bit location has at least a value of +4 (that is, a confidence level of 5/6).
According to some embodiments, a decision on whether to combine a newly-received erroneous packet instance with one or more previously-received erroneous instances or instance combinations may be contingent upon certain criteria being met.
One exemplary criterion for whether or not to combine a newly received erroneous packet instance may be the degree to which the new packet instance matches any previous instance or instance combination. For example, the degree may be determined as the proportion (or number) of bit locations that match exceeding a threshold such as 50%. In the foregoing examples, this would mean that a newly-received erroneous packet instance is only combined with an earlier instance or with instance combinations if >50% (i.e. 5 or more where there are only 8 bits) bit locations match. In this way, only relatively similar instance patterns are combined, with a view to reducing the number of non-matching combinations. The effect of this approach is expected to lead to reduced volatile memory and processing overheads, and an improved performance.
Another exemplary criterion, which may be applied instead of or in addition to the first, is to combine newly-received erroneous packet instances only with other instances that were received within a pre-determined timeframe.
The rationale for this approach is that, if packet instance re-transmissions are 0 known to occur at approximately 30 second intervals, it makes little logical sense to combine erroneous packet instances that are received ±15 seconds (or multiples thcrcof) apart from a newly-received erroneous packct instance. In contrast, it makes logical sense to combine the newly-received erroneous packet instances with others (or combinations thereof) that wcrc received 30 seconds (or multiples thereof) earlier than the newly received erroneous packet instance.
In practice, a suitable timeframe may be 25-35 seconds (or multiples thereof) earlier than the newly received erroneous packet instance. This approach of course demands that each newly received erroneous packet instance and combinations thereof is stored with a timestamp indicating the time of arrival of the earliest-received erroneous packet instance. Clearly, this approach only applies if the period between received erroneous packet instances is known or is
predictable.
The system designer would be able to choose an appropriate approach to meet the processing and memory restrictions. In more general terms, given the preceding explanation, the skilled person would be able to select an approach that balances memory management efficiency with instance recovery efficiency.
The approach would typically depend on the nature and characteristics of the data that is being received; for example the amount of data that is expected, the repetition rates, the number of different sources that are active (from which data is being received at any one time), etc. In addition, the approach would depend on trade-offs in system design; for example, the amount of memory available, the processing power of the receiver, whether the receiver is battery powered or mains powered, etc. The above embodiments are to be understood as illustrative examples of the invention. Further embodiments of the invention are envisaged. For example, the combining of two or more packet instances or instance combinations, rather than employing accumulation, may employ a simple majority voting scheme of the kind described in the prior art. Thus, given an odd number of instances or instance combinations, bit values would be O determined simply on the basis of whether there are more ones or more zeros.
While this is less flexible than the approaches described above, and there is no retained indication of confidence' lcvcl, it may be deemed satisfactory by the system designer.
It is to be understood that any feature described in relation to any one embodiment may be used alone, or, if the context permits, in combination with other features described, and may also be uscd in combination with onc or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.
Claims (1)
- <claim-text>Claims 1. A method for use in a communications system in which data packets are transmitted repetitively by each of one or more sources and wherein a receiver receives over time plural instances of one packet interspersed with instances of one or more other packets, each packet comprising message data and respective error coding data, the method comprising: receiving a packet instance and using the error coding data therein to determine if the packet instance is correct or correctable; if the packet instance is not correct or correctable, combining bit values thereof with corresponding bit values of previously received packet instances and previously generated instance combinations to form a plurality of instance combinations; storing the plurality of instance combinations; and determining if any resulting instance combination is representative of a correct or correctable packet instance.</claim-text> <claim-text>2. A method according to claim I, wherein, if any resulting instance combination is representative of a corrector correctable packet instance, the message data is recovered from the packet and the respective instance combination is discarded.</claim-text> <claim-text>3. A method according to claim 2, including the step of discarding at least some other instances andlor instance combinations that relate to the correct or correctable instance combination.</claim-text> <claim-text>4. A method according to claim 2 or claim 3, including the step of discarding instances and instance combinations that contributed to the generation of the said resulting instance combination.</claim-text> <claim-text>5. A method according to any one of the preceding claims, wherein the step of combining bit values involves averaging the bit values across the plurality of instance combinations.</claim-text> <claim-text>6. A method according to claim 5, wherein averaging includes, for each received instance, first converting each zero bit value to a negative value bit and accumulating the resulting values with respective bit values of the stored plurality of instance combinations.</claim-text> <claim-text>7. A method according to either of claims and claim 6, wherein averaging includes, for each received instance, first converting each zero bit value to -I and accumulating the resulting values with respective bit values of the stored plurality of instance combinations.</claim-text> <claim-text>8. A method according to claim 5, wherein averaging includes, for each receivcd instance, first applying a statistical weighting to each bit of the received instance and accumulating the resulting weighted values with respect to bit values of the stored plurality of instance combinations.</claim-text> <claim-text>9. A method according to either of claim 7 and claim 8, wherein determining if any resulting instance combination is representative of a correct or correctable packet instance includes recasting accumulated bit values as a zero or a one depending on whether a respective accumulated bit value is positive or negative.</claim-text> <claim-text>10. A method according to any one of claims Ito 4, wherein the step of combining bit values involves majority voting across three or more instances and/or instances combinations in order to determine the value of each respective bit.</claim-text> <claim-text>11. A method according to any of the preceding claims, wherein rcspcctive bit values are assigned an associated confidence value indicating a likelihood that the respective bit has been received correctly.</claim-text> <claim-text>12. A method according to claim 11, wherein the confidence values are determined based on one or more quality characteristics of a respective communications channel.</claim-text> <claim-text>13. A data receiver for use in a communications system in which data packets are transmitted repetitively by each of one or more sources and wherein the receiver receives over time plural instances of one packet interspersed with instances of one or more other packets, each packet comprising message data and respective error coding data, the data receiver having processing means arranged to: -receive a packet instance and use the error coding data therein to determine if the packet instance is correct or correctable; -if the packet instance is not correct or correctable, combine bit values thereof with corresponding bit values of previously received packet instances and previously generated instance combinations to form a plurality of instance combinations; -storc the plurality of instancc combinations; and -dctcrminc if any resuhing instancc combination is rcprcscntative of a correct or correctable packet instance.</claim-text> <claim-text>14. A data receiver according to claim 13, wherein, if any resulting instance combination is representative of a correct or correctable packet instance, the processing means is arranged to recover the message data from the packet and the respective instance combination is discarded.</claim-text> <claim-text>15. A data carrier carrying instructions, which, when executed by a programmable processor, perform the steps of the method of any one of claims 1 to 12.</claim-text> <claim-text>16. A data receiver substantially as hereinbeforc defined and with reference to the drawings.</claim-text>
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB201112177A GB201112177D0 (en) | 2011-07-15 | 2011-07-15 | Data receiver |
Publications (3)
Publication Number | Publication Date |
---|---|
GB201212628D0 GB201212628D0 (en) | 2012-08-29 |
GB2493081A true GB2493081A (en) | 2013-01-23 |
GB2493081B GB2493081B (en) | 2018-07-04 |
Family
ID=44586650
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB201112177A Ceased GB201112177D0 (en) | 2011-07-15 | 2011-07-15 | Data receiver |
GB1212628.0A Active GB2493081B (en) | 2011-07-15 | 2012-07-16 | Data receiver |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB201112177A Ceased GB201112177D0 (en) | 2011-07-15 | 2011-07-15 | Data receiver |
Country Status (1)
Country | Link |
---|---|
GB (2) | GB201112177D0 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2524349A (en) * | 2014-05-02 | 2015-09-23 | Imagination Tech Ltd | Adaptive span control |
DE102014214894A1 (en) * | 2014-07-30 | 2016-02-04 | Siemens Aktiengesellschaft | Method for robust data transmission |
US11088784B1 (en) | 2020-12-24 | 2021-08-10 | Aira Technologies, Inc. | Systems and methods for utilizing dynamic codes with neural networks |
US11191049B1 (en) | 2020-12-28 | 2021-11-30 | Aira Technologies, Inc. | Systems and methods for improving wireless performance |
US11368250B1 (en) | 2020-12-28 | 2022-06-21 | Aira Technologies, Inc. | Adaptive payload extraction and retransmission in wireless data communications with error aggregations |
US20220294557A1 (en) * | 2021-03-15 | 2022-09-15 | Aira Technologies, Inc. | Error correction in network packets |
US11477308B2 (en) | 2020-12-28 | 2022-10-18 | Aira Technologies, Inc. | Adaptive payload extraction in wireless communications involving multi-access address packets |
US11483109B2 (en) | 2020-12-28 | 2022-10-25 | Aira Technologies, Inc. | Systems and methods for multi-device communication |
US11489624B2 (en) | 2021-03-09 | 2022-11-01 | Aira Technologies, Inc. | Error correction in network packets using lookup tables |
US11496242B2 (en) | 2021-03-15 | 2022-11-08 | Aira Technologies, Inc. | Fast cyclic redundancy check: utilizing linearity of cyclic redundancy check for accelerating correction of corrupted network packets |
US11575469B2 (en) | 2020-12-28 | 2023-02-07 | Aira Technologies, Inc. | Multi-bit feedback protocol systems and methods |
US11580396B2 (en) | 2020-10-13 | 2023-02-14 | Aira Technologies, Inc. | Systems and methods for artificial intelligence discovered codes |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU568177A1 (en) * | 1974-08-23 | 1977-08-05 | Предприятие П/Я Г-4173 | Method of correcting errors in communication systems |
WO2000024153A1 (en) * | 1998-10-19 | 2000-04-27 | Lucent Technologies Inc. | Accumulative arq method and system |
EP1612983A2 (en) * | 2004-06-30 | 2006-01-04 | Fujitsu Limited | Communication system and receiving method |
EP2280505A1 (en) * | 2009-07-08 | 2011-02-02 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Method and arrangement of processing a packet of a HARQ system |
-
2011
- 2011-07-15 GB GB201112177A patent/GB201112177D0/en not_active Ceased
-
2012
- 2012-07-16 GB GB1212628.0A patent/GB2493081B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU568177A1 (en) * | 1974-08-23 | 1977-08-05 | Предприятие П/Я Г-4173 | Method of correcting errors in communication systems |
WO2000024153A1 (en) * | 1998-10-19 | 2000-04-27 | Lucent Technologies Inc. | Accumulative arq method and system |
EP1612983A2 (en) * | 2004-06-30 | 2006-01-04 | Fujitsu Limited | Communication system and receiving method |
EP2280505A1 (en) * | 2009-07-08 | 2011-02-02 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Method and arrangement of processing a packet of a HARQ system |
Non-Patent Citations (1)
Title |
---|
Global Telecommunications Conference and Exhibition, 9188, Globecom '88, IEEE, Cheng-Shong Wu & Victor Li, "Majority decoded automatic repeat request error control schemes" * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2524430A (en) * | 2014-05-02 | 2015-09-23 | Imagination Tech Ltd | Adaptive span control |
GB2524349B (en) * | 2014-05-02 | 2016-02-17 | Imagination Tech Ltd | Adaptive span control |
GB2524430B (en) * | 2014-05-02 | 2016-02-17 | Imagination Tech Ltd | Adaptive span control |
US10778257B2 (en) | 2014-05-02 | 2020-09-15 | Imagination Technologies Limited | Of invention. fees transmitted by check or draft are |
US11750227B2 (en) | 2014-05-02 | 2023-09-05 | Imagination Technologies Limited | Method and device for transmitting a data stream with selectable ratio of error correction packets to data packets |
US11323136B2 (en) | 2014-05-02 | 2022-05-03 | Imagination Technologies Limited | Method and apparatus for processing a received sequence of data packets by removing unsuitable error correction packets from the sequence |
GB2524349A (en) * | 2014-05-02 | 2015-09-23 | Imagination Tech Ltd | Adaptive span control |
DE102014214894A1 (en) * | 2014-07-30 | 2016-02-04 | Siemens Aktiengesellschaft | Method for robust data transmission |
US11580396B2 (en) | 2020-10-13 | 2023-02-14 | Aira Technologies, Inc. | Systems and methods for artificial intelligence discovered codes |
US11418287B2 (en) | 2020-12-24 | 2022-08-16 | Aira Technologies, Inc. | Systems and methods for utilizing dynamic codes with neural networks |
US11088784B1 (en) | 2020-12-24 | 2021-08-10 | Aira Technologies, Inc. | Systems and methods for utilizing dynamic codes with neural networks |
US11368251B1 (en) | 2020-12-28 | 2022-06-21 | Aira Technologies, Inc. | Convergent multi-bit feedback system |
US11477308B2 (en) | 2020-12-28 | 2022-10-18 | Aira Technologies, Inc. | Adaptive payload extraction in wireless communications involving multi-access address packets |
US11483109B2 (en) | 2020-12-28 | 2022-10-25 | Aira Technologies, Inc. | Systems and methods for multi-device communication |
US11575469B2 (en) | 2020-12-28 | 2023-02-07 | Aira Technologies, Inc. | Multi-bit feedback protocol systems and methods |
US11368250B1 (en) | 2020-12-28 | 2022-06-21 | Aira Technologies, Inc. | Adaptive payload extraction and retransmission in wireless data communications with error aggregations |
US11743001B2 (en) | 2020-12-28 | 2023-08-29 | Aira Technologies, Inc. | Indexing-based feedback codes and methods of use |
US11191049B1 (en) | 2020-12-28 | 2021-11-30 | Aira Technologies, Inc. | Systems and methods for improving wireless performance |
US11489624B2 (en) | 2021-03-09 | 2022-11-01 | Aira Technologies, Inc. | Error correction in network packets using lookup tables |
US20220294557A1 (en) * | 2021-03-15 | 2022-09-15 | Aira Technologies, Inc. | Error correction in network packets |
US11489623B2 (en) * | 2021-03-15 | 2022-11-01 | Aira Technologies, Inc. | Error correction in network packets |
US11496242B2 (en) | 2021-03-15 | 2022-11-08 | Aira Technologies, Inc. | Fast cyclic redundancy check: utilizing linearity of cyclic redundancy check for accelerating correction of corrupted network packets |
Also Published As
Publication number | Publication date |
---|---|
GB201212628D0 (en) | 2012-08-29 |
GB201112177D0 (en) | 2011-08-31 |
GB2493081B (en) | 2018-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2493081A (en) | Error correction in a data receiver | |
US8386901B2 (en) | Method, device and software application for transmitting data packets in a communication system | |
EP2517361B1 (en) | Broadcast system with incremental redundancy transmitted over a unicast system | |
KR101323032B1 (en) | Method and appaeatus for multicasting with feedback information | |
JP4242060B2 (en) | Method and configuration in a digital communication system | |
JP4990298B2 (en) | Method and apparatus for transmitting and receiving data blocks in a wireless communication system | |
WO2015184919A1 (en) | Feedback method and device | |
CN102497248B (en) | Data retransmission method based on network coding | |
US20070030799A1 (en) | Communication method and system using two or more coding schemes | |
US10721020B2 (en) | Parity frame | |
JP2001501789A (en) | Error detection method for ARQ system | |
US11588590B2 (en) | Adaptive payload extraction and retransmission in wireless data communications with error aggregations | |
US20120192026A1 (en) | Methods and Systems for Data Transmission Management Using HARQ Mechanism for Concatenated Coded System | |
US9001936B2 (en) | Buffer management device and method for hybrid automatic repeat requests in a wireless communication system | |
EP3117546B1 (en) | Low-delay packet erasure coding | |
JP6126698B2 (en) | Method and apparatus for a modified HARQ procedure after a receiver down event | |
EP3345323A1 (en) | Retransmission technique | |
Dong et al. | CARE: Corruption-aware retransmission with adaptive coding for the low-power wireless | |
JP2012222809A (en) | Method of reducing retransmission of data frame and receiving node therefor | |
US20190229851A1 (en) | Dynamic and selective fd-dsdf transmission of a digital signal for a marc/mamrc system with full-duplex relay and a limited feedback | |
KR101191551B1 (en) | Method for transmitting data in wireless multihop network and device thereof | |
JP6666659B2 (en) | Transmitter and transceiver | |
KR101273497B1 (en) | System for transmitting maximum frame block data using block buffer in wireless network | |
US20120272113A1 (en) | Error detection and correction in transmitted digital signals | |
Akpu et al. | Comparative review of automatic repeat request and forward error correction method of error control coding in digital communication |