An encoder for modulating data on level transitions of a signal transmitted on a wired communication channel to increase channel data throughput, comprising: a circuitry configured to: receive a signal transmitted by a transmitting communication node , the signal carries a message to at least one receiving communication node connected to a wired communication channel ; calculate a respective delay period consisting of a number of delay time units encoding each of a plurality of data items according to at least one recursive mapping scheme defining calculation of the respective delay period according to the formulation: S 0 = 0 S j = mod S j − 1 + S j ′ , 2 data item size in bits wherein S 0 is a respective delay period to map a first data item and S j is a respective delay period to map a respective data item S' j for j > 0; delay each of a plurality of transitions of a waveform level of the signal by the respective delay period to modulate the signal to carry the plurality of data items; and transmit the modulated signal to the at least one receiving communication node having a decoder configured for demodulating the modulated signal to recover the plurality of data items each recursively mapped to the respective delay period thus improving immunity of the modulated signal to errors induced by at least one operational parameter of the wired communication channel , wherein the recovery is done according to the formulation: S i N = round mmod D N , T δT S N = { S i N S i N ≥ 0 S max + S i N otherwise wherein S(N) corresponds to the recovered N th data item, N is a level transition index, T is the pulse duration of each transmitted bit, D (N) is a measured time-delay between an N th level transition and a preceding level transition, δT is the duration of each delay time unit and S max = 2 S len where S len is the data item size in bits and mmod(N, T) is defined by: mmod N T = { mod N T mod N T < T 2 mod N T − T otherwise wherein mod N T = N − T ⋅ ⌊ N T ⌋ is the modulo function. receive a signal transmitted by a transmitting communication node , the signal carries a message to at least one receiving communication node connected to a wired communication channel ; calculate a respective delay period consisting of a number of delay time units encoding each of a plurality of data items according to at least one recursive mapping scheme defining calculation of the respective delay period according to the formulation: S 0 = 0 S j = mod S j − 1 + S j ′ , 2 data item size in bits wherein S 0 is a respective delay period to map a first data item and S j is a respective delay period to map a respective data item S' j for j > 0; delay each of a plurality of transitions of a waveform level of the signal by the respective delay period to modulate the signal to carry the plurality of data items; and transmit the modulated signal to the at least one receiving communication node having a decoder configured for demodulating the modulated signal to recover the plurality of data items each recursively mapped to the respective delay period thus improving immunity of the modulated signal to errors induced by at least one operational parameter of the wired communication channel , wherein the recovery is done according to the formulation: S i N = round mmod D N , T δT S N = { S i N S i N ≥ 0 S max + S i N otherwise wherein S(N) corresponds to the recovered N th data item, N is a level transition index, T is the pulse duration of each transmitted bit, D (N) is a measured time-delay between an N th level transition and a preceding level transition, δT is the duration of each delay time unit and S max = 2 S len where S len is the data item size in bits and mmod(N, T) is defined by: mmod N T = { mod N T mod N T < T 2 mod N T − T otherwise wherein mod N T = N − T ⋅ ⌊ N T ⌋ is the modulo function. <EOS>