The methods and systems disclosed herein pertain to telecommunications, and more specifically, but not by way of limitation, to transmission of messages and the correction of errors in those messages in a variety of ways. Some of these methods can include the use of one or more types of indexing associated with feedback to correct errors in messages exchanged between two end points.
According to some embodiments, the present disclosure is directed to a method comprising determining error correction for a received packet having errors, generating an index of the error correction, the index comprising error positions for the errors in the received packet, and transmitting the index to a receiver decoder.
According to some embodiments, the present disclosure is directed to a method comprising transmitting a packet to a receiver over a channel having noise that causes the packet to be received with errors, providing a first round of error correction in response to the errors by source encoding and channel encoding an error vector of the errors as an index, and transmitting the index to the receiver.
According to some embodiments, the present disclosure is directed to a system comprising a transmitter encoder comprising a processor, the processor executing instructions to determine error correction for a received packet having errors, and generate an index of the error correction, the index comprising error positions for the errors in the received packet, and a receiver decoder comprising a processor, the processor executing instructions to deindex the index to identify the error positions, and correct the errors in the received packet using the error positions to generate a corrected packet.
According to some embodiments, the present disclosure is directed to a method comprising transmitting an original packet on an asymmetric link, the asymmetric link being a communication channel where available transmission power is not equal for both the transmitter and the receiver; receiving a received packet by a transmitter encoder; conducting a first round of error correction that comprises: generating an index of the error correction, the index comprising error positions for the errors; and transmitting the index on the forward link; conducting one or more additional rounds of error correction, each of the one or more additional rounds of error correction comprising: determining an error correction for errors in a corrected packet; generating an index of the error correction, the index comprising error positions for the errors; transmitting the index on the forward link; deindexing the index to identify the error positions; and correcting the errors in the received packet using the error positions to generate an additional corrected packet, wherein each round of the one or more additional rounds of error correction generates a new corrected packet.
Exemplary embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements.
Wireless communication requires sending information packets from the transmitter (Tx) to the receiver (Rx) without error. Even with strong error correction codes, the packet could be corrupted. Currently wireless protocol uses error detecting codes and retransmission schemes to protect the packet's integrity. An example method of error correction is referred to as cyclic redundancy check (CRC). CRC is the most-widely-used short error-detecting code to detect accidental payload changes. CRC is computed on the payload at the Tx, and attached to the end of the payload. Both payload and CRC are transmitted to Rx. At the receiver, the received CRC is compared to the CRC computed by the received payload.
If the received CRC equals the computed CRC, the CRC passes. If the received CRC doesn't match the computed CRC, the CRC fails. When CRC passes, it is of very high probability that the packet is not contaminated, so ACK is sent to the transmitter side, to signal the transmitter to continue to transmit the next packet. When CRC fails, it is of very high probability that the packet is contaminated, so NACK is triggered, to ask the transmitter for retransmission. There is some probability that the ACK/NACK is not received by the Tx side. Then after a timeout, Tx will re-transmit the packet.
In some instances, even 1-bit of error causes full retransmission of the data packet. The feedback is one-bit information of whether the packet is received correctly or not, that is exactly one bit information (timeout is also a bit of information or packet not received correctly). Overall, with single-bit information feedback from Rx to Tx, the Tx cannot do anything other than re-transmitting the whole packet. When the received packet has only a one to a few bits of error, it is not efficient to retransmit the whole packet again.
Referring now to
The Rx 106 detects errors using CRC or an equivalent method. The Rx 106 transmits feedback to the Tx 102 that comprises an Rx decoded packet. The Rx decoded packet is transmitted as feedback to Tx 102 on a noiseless link or channel 110. It will be understood that the noiseless reverse link is achieved in practice because (1) one device on the link, such as the Rx 106, transmits at higher power or (2) one device on the link, such as the Rx 106, uses a more robust modulation/coding scheme. To be sure, the forward link is the channel used by the Tx 102 to transmit the original message to the Rx 106.
When the Tx 102 receives decoded packet from the Rx 106, the Tx 102 determines a difference between the original message and what Rx 106 received and generates an error vector 112. In the next round, the Tx 102 transmits the error vector 112 to the Rx 106, rather than the original message. Rx 106 can perform packet correction with the received error vector 112 and the original/received message 104.
If the CRC computed by the Rx 106 on the corrected message passes, the Rx 106 will feedback an ACK to Tx 102, and the whole process converges. The Tx 102 transmits the next packet. If the CRC does not pass, the Rx 106 will feedback a NACK to Tx 102 along with the corrected message. Another error vector can be calculated by the Tx 102 and reused as described above. This iterative process can be performed in multiple rounds until a retransmission threshold is encountered. The retransmission threshold corresponds to a maximum number of rounds of error correction that can be attempted before failure is declared. When failure is declared by the Tx 102, the Tx 102 can start transmitting a next packet. The retransmission threshold is configurable and can be selected according to network design requirements.
Referring now to
It will be understood that error vectors are typically sparse, and can be further compressed to a much shorter representation. The compressed representation can be heavily coded to avoid corruption via channel coding/encoding, and most of the time, even with heavy channel coding, the coded compressed representation is still much shorter than the original message, which could lead to improved efficiency and reliability.
An example process that can be used to compress error vectors involves error position indexing, which is diagrammatically illustrated in
Deindexing is the reverse operation of indexing, by reconstructing the error vector by the received indexed code at Rx side. The error vector can be noise tolerant and can be reconstructed correctly and without error assuming when the underlying channel code is applied.
In some embodiments, the encoder 402 can compare the original message U with the erroneous message U+e1 to determine the error bits e1. That is, the U+e1 is compared with the original message U to identify the error bits e1. These error bits e1 can be indexed to create an index E1. The index E1 can be transmitted and de-indexed by the decoder 406. A recovered message U′ can be recovered in an XOR process 408. CRC can be computed on the recovered message U′, if the CRC passes the process terminates. If no errors are present, the process ends as the original message U has been correctly received. Otherwise, the process repeats using the feedback of U+e2 and index E2. This process can iterate until the original message is recovered with no errors or an indexing threshold is reached. For example, the process can be allowed to iterate five times (or any other number of rounds). If errors are still found after reaching the indexing threshold the message can be accepted as-is with errors. If there is no tolerance for errors (and the threshold has been reached) in the communications process the flow may terminate and the encoder or decoder may transmit a warning message or terminate communications.
An example indexing procedure is illustrated in
Referring now to
The process illustrated in
Rather than using iterative processes that involve evaluating updated messages as feedback, another process referred to as telescopic indexing can be used. In general, telescopic indexing allows for errors in correction messages to be identified and remedied. Referring now to
An erroneous index is created when an error is introduced into the index E1 (could be introduced during transmission, receipt, or deindexing). The decoder 146 can deindex the index E
but instead of recovering error bits e1 the decoder 406 recovers error bits
, illustrated as a correction. Instead of feeding back the updated message U′, the received correction
, is used for feedback. The encoder 402 can compare the transmitted index bits
with the received index bits e1 to identify discrepancies. {circumflex over ( )}. If discrepancies are identified, the encoder 402 can correct these errors in the error bits
. Once all errors have been fixed, the various iterations of corrections such as the correction with error bits e1 and the correction with error bits
are processing using an XOR function (see
In sum, after the initial process of comparing a received message to the original message U to identify errors, any further error correction will occur by comparing versions of corrections to identify errors. Once the correction has been perfected the original message U can be recovered.
As noted above, one advantage of transmitting an index rather than an entire errant message as feedback is that this reduces transmission bandwidth requirement from 100 bits (as an example) to the index space, which is only a subset of the 100 bits. In the example given above the index had a bit size of 21 bits. In some instances, the index can be further reduced in size by optimizing the index through combinatorial optimization. For example, locations l1, l2, and l3 have individual bit sizes of 7 bits for a total of 21 bits. This same bitspace can be represented as 18 bits using combinatorial optimization as depicted in .
In this example, a first endpoint device such as an Internet-of-Things (IoT) sensor 702 (example Tx) can communicate with a second endpoint device, such as a Smartphone 704 (example Rx). Example use cases involving these devices are for descriptive purposes and are not intended to be limiting. In this embodiment, the sensor 702 is the transmitter (encoder) and the Smartphone 704 is a receiver (decoder). These roles can be reversed as necessary. In this example, a message 706 is transmitted from sensor 702 to Smartphone 704. Smartphone 704 returns feedback, which is processed by a feedback encoder 708 to produce a correction 710 that is transmitted to the Smartphone 704. The Smartphone 704 uses a feedback decoder 712 to process the original message and the correction. An ACK 714 message is transmitted from the Smartphone 704 to the sensor 702 when the message is corrected and matches the original message.
For context, IoT devices may include sensors, whose major functionality is to transmit sensor data to a host. IoT devices are typically power constrained, and the host is not power constrained and can use higher transmission power. Thus, a forward channel may be noisier than a feedback channel. This discrepancy is termed an asymmetric channel condition. When asymmetric channel conditions exist, it can be assumed that the Rx can send back information to Tx without error, while the Tx's information sent to Tx may be noisy. In some instances, an asymmetric link is a communication channel where available transmission power is not equal for both the transmitter and the receiver. For example, an asymmetry may exist when one device is a sensor and another device is a Smartphone. The smartphone will likely always have more power than a sensor. In another example, one device can include a base station, such as a cellphone transmitter. A second device using the link would be a Smartphone. In this example, a base station will likely always have more power. Additionally, an asymmetry may exist where one device has a more robust modulating/encoding scheme.
The method can include a step 1002 of transmitting an original packet on a forward link from a transmitter to a receiver. As noted above, noise in the forward link may create errors in the original packet when it is received by the receiver decoder.
The method can include a step 1004 of receiving, by the transmitter encoder, a received packet that comprises errors. The method includes an iterative or cyclic error correction process that can involve one or more rounds of error correction. A first round of error correction can comprise a step 1006 of generating an index of the error correction, the index comprising error positions for the errors. The method also includes a step 1008 of transmitting the index on the forward link. The method can include a step 1010 of generating a corrected packet using the index. This can include deindexing the index and correcting the error bits. Again, the index indicates the location of bits that require flipping. The receiver decoder can flip bits in the received packet according to the error positions in the index to generate the corrected packet.
The method can include a step 1012 of receiving, by the transmitter encoder, the corrected packet and determining if errors are present. If no errors are present, the method terminates. If errors are present, the method can include a process of conducting one or more additional rounds of error correction. Each round can include a step 1014 of determining an error correction for errors in a corrected packet, as well as a step 1016 of generating an index of the error correction, the index comprising error positions for the errors. In some embodiments, the method includes a step 1018 of transmitting the index on the forward link and a step 1020 of deindexing the index to identify the error positions. In some embodiments, the method can include a step 1022 of correcting the errors in the received packet using the error positions to generate an additional corrected packet. It will be understood that each round of the one or more additional rounds of error correction generates a new corrected packet that can be compared to the original packet to determine if errors are or are not present.
In various embodiments, the method can include as step 1108 of deindexing the index to identify the error positions, along with a step 1110 of correcting the errors in the received packet using the error positions to generate a corrected packet. The method can also include steps such as performing one or more additional rounds of error correction by comparing the corrected packet to an original packet, and generating another error correction and another index when errors are identified in the comparison.
In various instances, the one or more additional rounds of error correction terminate when a retransmission threshold is reached. The method can include transmitting a new packet when the retransmission threshold is reached or when a corrected packet corresponds to the original packet.
The computer system 1 includes a processor or multiple processor(s) 5 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), and a main memory 10 and static memory 15, which communicate with each other via a bus 20. The computer system 1 may further include a video display 35 (e.g., a liquid crystal display (LCD)). The computer system 1 may also include an alpha-numeric input device(s) 30 (e.g., a keyboard), a cursor control device (e.g., a mouse), a voice recognition or biometric verification unit (not shown), a drive unit 37 (also referred to as disk drive unit), a signal generation device 40 (e.g., a speaker), and a network interface device 45. The computer system 1 may further include a data encryption module (not shown) to encrypt data.
The drive unit 37 includes a computer or machine-readable medium 50 on which is stored one or more sets of instructions and data structures (e.g., instructions 55) embodying or utilizing any one or more of the methodologies or functions described herein. The instructions 55 may also reside, completely or at least partially, within the main memory 10 and/or within the processor(s) 5 during execution thereof by the computer system 1. The main memory 10 and the processor(s) 5 may also constitute machine-readable media.
The instructions 55 may further be transmitted or received over a network via the network interface device 45 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)). While the machine-readable medium 50 is shown in an example embodiment to be a single medium, the term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present application, or that is capable of storing, encoding, or carrying data structures utilized by or associated with such a set of instructions. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAM), read only memory (ROM), and the like. The example embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.
One skilled in the art will recognize that the Internet service may be configured to provide Internet access to one or more computing devices that are coupled to the Internet service, and that the computing devices may include one or more processors, buses, memory devices, display devices, input/output devices, and the like. Furthermore, those skilled in the art may appreciate that the Internet service may be coupled to one or more databases, repositories, servers, and the like, which may be utilized in order to implement any of the embodiments of the disclosure as described herein.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present technology has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the present technology in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present technology. Exemplary embodiments were chosen and described in order to best explain the principles of the present technology and its practical application, and to enable others of ordinary skill in the art to understand the present technology for various embodiments with various modifications as are suited to the particular use contemplated.
If any disclosures are incorporated herein by reference and such incorporated disclosures conflict in part and/or in whole with the present disclosure, then to the extent of conflict, and/or broader disclosure, and/or broader definition of terms, the present disclosure controls. If such incorporated disclosures conflict in part and/or in whole with one another, then to the extent of conflict, the later-dated disclosure controls.
Aspects of the present technology are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present technology. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
In this description, for purposes of explanation and not limitation, specific details are set forth, such as particular embodiments, procedures, techniques, etc. in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” or “according to one embodiment” (or other phrases having similar import) at various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Furthermore, depending on the context of discussion herein, a singular term may include its plural forms and a plural term may include its singular form. Similarly, a hyphenated term (e.g., “on-demand”) may be occasionally interchangeably used with its non-hyphenated version (e.g., “on demand”), a capitalized entry (e.g., “Software”) may be interchangeably used with its non-capitalized version (e.g., “software”), a plural term may be indicated with or without an apostrophe (e.g., PE's or PEs), and an italicized term (e.g., “N+1”) may be interchangeably used with its non-italicized version (e.g., “N+1”). Such occasional interchangeable uses shall not be considered inconsistent with each other.
Also, some embodiments may be described in terms of “means for” performing a task or set of tasks. It will be understood that a “means for” may be expressed herein in terms of a structure, such as a processor, a memory, an I/O device such as a camera, or combinations thereof. Alternatively, the “means for” may include an algorithm that is descriptive of a function or method step, while in yet other embodiments the “means for” is expressed in terms of a mathematical formula, prose, or as a flow chart or signal diagram.
This application claims the benefit and priority of U.S. Provisional Application Ser. No. 63/131,268, filed on Dec. 28, 2020, which is hereby incorporated by reference herein, including all references and appendices cited therein, for all purposes as if fully set forth herein. This application is related to U.S. application Ser. No. 17/560,964, filed on Dec. 23, 2021, entitled “MULTI-BIT FEEDBACK PROTOCOL SYSTEMS AND METHODS,” which is hereby incorporated by reference herein, including all references and appendices cited therein, for all purposes as if fully set forth herein.
Number | Name | Date | Kind |
---|---|---|---|
5022029 | Guichon | Jun 1991 | A |
5657325 | Lou | Aug 1997 | A |
5910182 | Dent | Jun 1999 | A |
5968197 | Doiron | Oct 1999 | A |
6126310 | Osthoff et al. | Oct 2000 | A |
6145109 | Schuster | Nov 2000 | A |
6418549 | Ramchandran | Jul 2002 | B1 |
6487690 | Schuster | Nov 2002 | B1 |
6505253 | Chiu | Jan 2003 | B1 |
6523068 | Beser et al. | Feb 2003 | B1 |
7016658 | Kim et al. | Mar 2006 | B2 |
7124205 | Craft et al. | Oct 2006 | B2 |
7447234 | Colas et al. | Nov 2008 | B2 |
7664883 | Craft et al. | Feb 2010 | B2 |
7848350 | Inamdar | Dec 2010 | B1 |
7971131 | Ordentilch | Jun 2011 | B1 |
8223643 | Wolfgang | Jul 2012 | B1 |
8305963 | Breau | Nov 2012 | B1 |
8327232 | Budampati et al. | Dec 2012 | B2 |
8352830 | Landschaft | Jan 2013 | B2 |
8437267 | Amir et al. | May 2013 | B2 |
8473821 | Taghavi Nasrabadi et al. | Jun 2013 | B2 |
8693406 | Ahmadi | Apr 2014 | B2 |
8990663 | Liu et al. | Mar 2015 | B2 |
10270564 | Djukic et al. | Apr 2019 | B2 |
10491569 | Powell | Nov 2019 | B1 |
10749594 | O'Shea et al. | Aug 2020 | B1 |
11088784 | Gopalan et al. | Aug 2021 | B1 |
11191049 | Chandrasekher et al. | Nov 2021 | B1 |
11368250 | Chandrasekher et al. | Jun 2022 | B1 |
11368251 | Chandrasekher et al. | Jun 2022 | B1 |
11575469 | Chandrasekher et al. | Feb 2023 | B2 |
11588590 | Chandrasekher et al. | Feb 2023 | B2 |
11595162 | Chandrasekher et al. | Feb 2023 | B2 |
20010030954 | Hameleers | Oct 2001 | A1 |
20020026523 | Mallory et al. | Feb 2002 | A1 |
20020053062 | Szymanski | May 2002 | A1 |
20020054608 | Wan | May 2002 | A1 |
20020122510 | Yakhnich et al. | Sep 2002 | A1 |
20030012287 | Katsavounidis | Jan 2003 | A1 |
20030215029 | Limberg | Nov 2003 | A1 |
20040049725 | Golitschek et al. | Mar 2004 | A1 |
20040170120 | Reunamaki et al. | Sep 2004 | A1 |
20040261001 | Chang | Dec 2004 | A1 |
20050094561 | Raaf | May 2005 | A1 |
20050208897 | Lyons | Sep 2005 | A1 |
20060021040 | Boulanger | Jan 2006 | A1 |
20060047862 | Shearer et al. | Mar 2006 | A1 |
20060268996 | Sethi et al. | Nov 2006 | A1 |
20070168197 | Vasilache | Jul 2007 | A1 |
20080002688 | Kim | Jan 2008 | A1 |
20080002790 | Itoh | Jan 2008 | A1 |
20080126824 | Lee et al. | May 2008 | A1 |
20080225735 | Qiu | Sep 2008 | A1 |
20080250299 | Maillet et al. | Oct 2008 | A1 |
20090086711 | Capretta et al. | Apr 2009 | A1 |
20090119566 | Hiromitsu | May 2009 | A1 |
20090276686 | Liu et al. | Nov 2009 | A1 |
20100037270 | Bennet | Feb 2010 | A1 |
20100103830 | Salgado et al. | Apr 2010 | A1 |
20100165868 | Gersemsky | Jul 2010 | A1 |
20100192175 | Bachet | Jul 2010 | A1 |
20100202416 | Wilhelmsson et al. | Aug 2010 | A1 |
20100262885 | Cheng | Oct 2010 | A1 |
20110131461 | Schulz | Jun 2011 | A1 |
20110206019 | Zhai et al. | Aug 2011 | A1 |
20110206065 | Kim et al. | Aug 2011 | A1 |
20110216787 | Ai et al. | Sep 2011 | A1 |
20110258519 | Laevens et al. | Oct 2011 | A1 |
20110302473 | Zhou | Dec 2011 | A1 |
20120300642 | Abel et al. | Nov 2012 | A1 |
20130018889 | Jagmohan | Jan 2013 | A1 |
20130132786 | Tanigawa et al. | May 2013 | A1 |
20130223203 | Bai | Aug 2013 | A1 |
20130250179 | Lida | Sep 2013 | A1 |
20130339036 | Baeckstroem et al. | Dec 2013 | A1 |
20140140342 | Narad | May 2014 | A1 |
20140241309 | Hilton et al. | Aug 2014 | A1 |
20150009902 | Emmanuel | Jan 2015 | A1 |
20160006842 | Tahir | Jan 2016 | A1 |
20160062954 | Ruff | Mar 2016 | A1 |
20160254881 | Meylan | Sep 2016 | A1 |
20170006616 | Singh et al. | Jan 2017 | A1 |
20170012799 | Jiang | Jan 2017 | A1 |
20170269876 | Mukhopadhyay et al. | Sep 2017 | A1 |
20180013808 | Petry et al. | Jan 2018 | A1 |
20180048567 | Ignatchenko | Feb 2018 | A1 |
20180101957 | Talathi | Apr 2018 | A1 |
20180167171 | Wu | Jun 2018 | A1 |
20180267850 | Froelich et al. | Sep 2018 | A1 |
20180288198 | Pope et al. | Oct 2018 | A1 |
20180314985 | O'Shea | Nov 2018 | A1 |
20180359811 | Verzun et al. | Dec 2018 | A1 |
20190028237 | Pan et al. | Jan 2019 | A1 |
20190037052 | Deshpande | Jan 2019 | A1 |
20190097680 | O'Brien | Mar 2019 | A1 |
20190097914 | Zhong et al. | Mar 2019 | A1 |
20190392266 | Zhong et al. | Dec 2019 | A1 |
20190393903 | Mandt et al. | Dec 2019 | A1 |
20200128279 | Han et al. | Apr 2020 | A1 |
20200177418 | Hoydis et al. | Jun 2020 | A1 |
20200213152 | Choquette et al. | Jul 2020 | A1 |
20200320371 | Baker | Oct 2020 | A1 |
20200383169 | Takahashi et al. | Dec 2020 | A1 |
20210014939 | Verzun et al. | Jan 2021 | A1 |
20210034846 | Ko et al. | Feb 2021 | A1 |
20210056058 | Lee et al. | Feb 2021 | A1 |
20210120440 | Reimann et al. | Apr 2021 | A1 |
20210319286 | Gunduz | Oct 2021 | A1 |
20210392033 | Haartsen | Dec 2021 | A1 |
20220045696 | Boussard | Feb 2022 | A1 |
20220114436 | Gopalan et al. | Apr 2022 | A1 |
20220132367 | Liu et al. | Apr 2022 | A1 |
20220209893 | Chandrasekher et al. | Jun 2022 | A1 |
20220209894 | Chandrasekher et al. | Jun 2022 | A1 |
20220209895 | Chandrasekher et al. | Jun 2022 | A1 |
20220311542 | Chandrasekher et al. | Sep 2022 | A1 |
20220321260 | Chandrasekher et al. | Oct 2022 | A1 |
Number | Date | Country |
---|---|---|
106487610 | Mar 2017 | CN |
2493081 | Jan 2013 | GB |
Entry |
---|
Interview Agenda (Year: 2022). |
Kim et al., “Deepcode: Feedback Codes via Deep Learning,” [online] Jul. 2, 2018 [retrieved on Apr. 17, 2020], Retrieved from the Internet: < URL:https://arxiv.org/abs/1807.00801v1>, 24 pages. |
Goplan et al., “Systems and Methods for Artificial Intelligence Discovered Codes”, U.S. Appl. No. 17/069,794 , filed Oct. 13, 2020, Specification, Claims, Abstract, and Drawings, 43 pages. |
Goutay et al., “Deep reinforcement learning autoencoder with noisy feedback.” 2019 International Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks (WiOPT). IEEE, Jun. 24, 2019, 6 pages. |
Yamamoto et al., “Application of Yamamoto-Itoh coding scheme to discrete memoryless broadcast channels.” 2017 IEEE International Symposium on Information Theory (ISIT). IEEE, 2017, 5 pages. |
Aoudia et al., “End-to-end learning of communications systems without a channel model.” 2018 52nd Asilomar Conference on Signals, Systems, and Computers. IEEE, Dec. 5, 2018, 6 pages. |
Duman et al., “On optimal power allocation for turbo codes.” Proceedings of IEEE International Symposium on Information Theory, IEEE, Jun. 29-Jul. 4, 1997, 1 page. |
Arvinte et al., “Deep log-likelihood ratio quantization.” 2019 27th European Signal Processing Conference (EUSIPCO). IEEE, 2019, 5 pages. |
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty Application No. PCT/US2021/054265, dated Nov. 24, 2021, 24 pages. |
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty Application No. PCT/US2021/0063356, dated Jan. 14, 2022, 9 pages. |
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty Application No. PCT/US2021/06617, dated Mar. 11, 2022, 12 pages. |
Kötter et al., “Coding for Errors and Erasures in Random Network Coding”, IEEE Transactions on Information Theory 54.8; 3579-3591. Mar. 25, 2008; Retrieved on Feb. 19, 2022 (Feb. 19, 2022) from <https://arxiv.org/pdf/cs/0703061.pdf> entire document; 30 pages. |
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty Application No. PCT/US2021/061902, dated Jan. 24, 2022, 11 pages. |
Henze, Martin, “A Machine-Learning Packet-Classification Tool for Processing Corrupted Packets on End Hosts”, Diploma Thesis, Chair of Communication and Distributed Systems, RWTH Aachen University, Mar. 2011, 103 pages. |
Grcar, Joseph, “How ordinary elimination became Gaussian elimination”, Historia Mathematica vol. 38 issue 2, May 2011; Available online Sep. 28, 2010; pp. 163-218. |
“International Search Report” and “Written Opinion”, Patent Cooperation Treaty Application No. PCT/US2021/064735, dated Mar. 17, 2022, 11 pages. |
Number | Date | Country | |
---|---|---|---|
20220209897 A1 | Jun 2022 | US |
Number | Date | Country | |
---|---|---|---|
63131268 | Dec 2020 | US |