A method, comprising: segmenting (S311, S321, S331) a data stream into packets of a fixed-size for a burst-mode transmission over a wireless channel, wherein the transmission is subject to a periodic blockage, wherein the periodic blockage comprises at least two blockages occurring within a total period, and each blockage is of a respective duration and recurs at regular intervals in the total period; applying (S313, S323, S333) a forward error correction, FEC, outer code to the packets of the data stream for recovery of data erasures due to the periodic blockage, wherein the application of the FEC outer code comprises applying an error correction code to each of the packets to generate a respective codeblock; interleaving (S317, S327, S337) each codeblock in a manner designed to prevent erasure of consecutive parity bits within the codeblock by the periodic blockage, wherein the interleaving of each codeblock comprises writing each bit of the codeblock into an interleaver matrix of n rows and m columns in a row-by-row manner, shuffling the bits of each row within the row, and reading the shuffled bits from each row of the interleaver matrix in the row-by-row manner, characterised in that the shuffling of the bits of each row comprises shuffling each bit of an original position k within the row to a new position within the row according to the following scheme: k → ( k x c i) mod m, where c i is a row-dependent constant; transmitting (S329, S339) the encoded and interleaved codeblocks over the wireless channel, wherein a number of the data erasures occur within each codeblock due to the periodic blockage and wherein the FEC outer code comprises a rate 4/5 low density parity check code, n = 160, m = 800, and the values of c i, i = 0,1,2,...,159 are as follows: 313, 563, 667, 539, 343, 461, 53, 181, 421, 531, 397, 703, 389, 721, 661, 551, 123, 133, 41, 747, 789, 199, 561, 131, 17, 629, 357, 333, 41, 99, 563, 233, 411, 437, 47, 307, 779, 189, 311, 671, 603, 83, 317, 379, 197, 769, 373, 621, 69, 113, 553, 509, 431, 439, 673, 9, 23, 353, 671, 77, 387, 401, 401, 363, 261, 797, 147, 207, 319, 649, 477, 81, 61, 753, 79, 619, 69, 267, 687, 379, 493, 187, 343, 201, 387, 757, 511, 507, 479, 677, 427, 727, 551, 559, 591, 621, 17, 127, 237, 259, 83, 583, 363, 731, 779, 217, 197, 103, 29, 19, 297, 171, 27, 43, 453, 307, 177, 737, 207, 259, 499, 159, 523, 783, 609, 19, 791, 329, 281, 329, 89, 103, 167, 353, 9, 691, 333, 687, 153, 349, 501, 353, 457, 267, 691, 343, 317, 327, 533, 373, 393, 201, 201, 729, 431, 783, 71, 613, 371, 441. segmenting (S311, S321, S331) a data stream into packets of a fixed-size for a burst-mode transmission over a wireless channel, wherein the transmission is subject to a periodic blockage, wherein the periodic blockage comprises at least two blockages occurring within a total period, and each blockage is of a respective duration and recurs at regular intervals in the total period; applying (S313, S323, S333) a forward error correction, FEC, outer code to the packets of the data stream for recovery of data erasures due to the periodic blockage, wherein the application of the FEC outer code comprises applying an error correction code to each of the packets to generate a respective codeblock; interleaving (S317, S327, S337) each codeblock in a manner designed to prevent erasure of consecutive parity bits within the codeblock by the periodic blockage, wherein the interleaving of each codeblock comprises writing each bit of the codeblock into an interleaver matrix of n rows and m columns in a row-by-row manner, shuffling the bits of each row within the row, and reading the shuffled bits from each row of the interleaver matrix in the row-by-row manner, characterised in that the shuffling of the bits of each row comprises shuffling each bit of an original position k within the row to a new position within the row according to the following scheme: k → ( k x c i) mod m, where c i is a row-dependent constant; transmitting (S329, S339) the encoded and interleaved codeblocks over the wireless channel, wherein a number of the data erasures occur within each codeblock due to the periodic blockage and wherein the FEC outer code comprises a rate 4/5 low density parity check code, n = 160, m = 800, and the values of c i, i = 0,1,2,...,159 are as follows: 313, 563, 667, 539, 343, 461, 53, 181, 421, 531, 397, 703, 389, 721, 661, 551, 123, 133, 41, 747, 789, 199, 561, 131, 17, 629, 357, 333, 41, 99, 563, 233, 411, 437, 47, 307, 779, 189, 311, 671, 603, 83, 317, 379, 197, 769, 373, 621, 69, 113, 553, 509, 431, 439, 673, 9, 23, 353, 671, 77, 387, 401, 401, 363, 261, 797, 147, 207, 319, 649, 477, 81, 61, 753, 79, 619, 69, 267, 687, 379, 493, 187, 343, 201, 387, 757, 511, 507, 479, 677, 427, 727, 551, 559, 591, 621, 17, 127, 237, 259, 83, 583, 363, 731, 779, 217, 197, 103, 29, 19, 297, 171, 27, 43, 453, 307, 177, 737, 207, 259, 499, 159, 523, 783, 609, 19, 791, 329, 281, 329, 89, 103, 167, 353, 9, 691, 333, 687, 153, 349, 501, 353, 457, 267, 691, 343, 317, 327, 533, 373, 393, 201, 201, 729, 431, 783, 71, 613, 371, 441.