A non-transitory computer-readable medium storing computer-executable instructions that, when executed by at least one computer processor, causes a computer system to perform a method of increasing a reliability of communicated data, the method comprising:
- reading a first copy and a second copy of the communicated data from a cyclostationary data communication channel over a predetermined period of time, wherein the first copy and the second copy are consecutively transmitted over the cyclostationary data communication channel;
- rearranging the communicated data;
- associating the first copy of communicated data with a first reliability factor and the second copy of the communicated data with a second reliability factor, wherein the first reliability factor is different from the second reliability factor and has a value that is a predetermined function of a known characteristic of the cyclostationary data communication channel at a time that the communicated data passed through the channel, and wherein the communicated data has a period that substantially equals an integer divisor of a period of the cyclostationary data communication channel wherein the integer divisor is greater than one;
- and
- recovering a reliable value for the communicated data, wherein any reliable value recovered is based on at least the first copy, second copy, first reliability factor, and second reliability factor.