1. A method for reducing an effect of an interference signal on data transmitted over a communication channel, comprising: determining, by a processor, a code word based on at least an information vector and an interference vector, the information vector representing the data, the interference vector representing the interference signal; determining, by the processor, a code vector based on the determined code word; and generating, by the processor, a transmit vector based on the code vector and the interference vector.