A method performed by a receiver during detection and decoding of a block of symbols over a plurality of iterations, the receiver including a forward error correction, FEC, decoder, a whitening filter, a first equalizer structure, and an iterative equalizer structure; and the method comprising: processing, by the whitening filter, a received signal carrying the symbols to generate a noise-whitened signal, during a first iteration i = 1 of the detection and decoding: the first equalizer structure processing the noise-whitened signal to generate an output, and the FEC decoder performing FEC decoding on an input obtained from the output of the first equalizer structure; during each one of one or more other iterations i > 1 of the detection and decoding: the iterative equalizer structure processing both the noise-whitened signal and an input obtained from an output of the FEC decoder from a previous iteration of the detection and decoding to generate an output of the iterative equalizer structure; and the FEC decoder performing FEC decoding on an input obtained from the output of the iterative equalizer structure, wherein the iterative equalizer structure is an iterative frequency domain equalizer / iterative time domain equalizer, IFDE/ITDE structure, which is a structure that is implemented as either an iterative frequency domain equalizer, IFDE, structure or an iterative time domain equalizer, ITDE, structure, and the iterative equalizer structure may switch between the ITDE and the IFDE based on channel conditions, wherein a number of taps to be involved in the whitening filter operation is determined for each block of symbols to be decoded, wherein the number of taps is based on the channel condition; and if the number of taps is below a predetermined threshold, the iterative equalizer structure is implemented as an ITDE; and otherwise, if the number of taps is above the predetermined threshold, the iterative equalizer structure is implemented as an IFDE. processing, by the whitening filter, a received signal carrying the symbols to generate a noise-whitened signal, during a first iteration i = 1 of the detection and decoding: the first equalizer structure processing the noise-whitened signal to generate an output, and the FEC decoder performing FEC decoding on an input obtained from the output of the first equalizer structure; during each one of one or more other iterations i > 1 of the detection and decoding: the iterative equalizer structure processing both the noise-whitened signal and an input obtained from an output of the FEC decoder from a previous iteration of the detection and decoding to generate an output of the iterative equalizer structure; and the FEC decoder performing FEC decoding on an input obtained from the output of the iterative equalizer structure, wherein the iterative equalizer structure is an iterative frequency domain equalizer / iterative time domain equalizer, IFDE/ITDE structure, which is a structure that is implemented as either an iterative frequency domain equalizer, IFDE, structure or an iterative time domain equalizer, ITDE, structure, and the iterative equalizer structure may switch between the ITDE and the IFDE based on channel conditions, wherein a number of taps to be involved in the whitening filter operation is determined for each block of symbols to be decoded, wherein the number of taps is based on the channel condition; and if the number of taps is below a predetermined threshold, the iterative equalizer structure is implemented as an ITDE; and otherwise, if the number of taps is above the predetermined threshold, the iterative equalizer structure is implemented as an IFDE.