When using channel measurements on simulation, it is common to have impulse responses with a ringing effect due to truncation in the frequency domain (due to  the measurement itself). This ringing in the impulse response, however, induces bit detection errors that don't normally occur with regular impulse responses (given the bit loading algorithm guarantees a low BER). My question is: where in the DMT chain such an impulse response would be problematic, as far as simulation is concerned?

EDIT: I previously called these impulse responses with ringing as non-causal. However, non-causal in this context is not strictly non-causal by definition (an impulse response in which a given sample depends on future samples), but an impulse response in which the amplitude goes first negative before reaching the positive peak, showing energy before being excited. This is a terminology that commonly appears for channel models, in which the RCLG parameters can be causal or non-causal (depending on the model). To avoid confusion, I decided to edit and remove this term. The point is, the impulse response I`m using has this ringing effect, an oscillation before the peak. I believe the fact that this can cause detection errors is a known issue and that's why I`m asking it here. My goal is to understand why I can't use such an impulse response for time-domain simulations, or, in case I can, what type of pre-processing (e.g. freq-domain windowing) should I apply.

Bit loading seems to be correct, ISI/ICI seems to be controlled, transmission PSDs are apparently correct, detection implementation is correct and assumes perfect channel knowledge. I don't immediately see where it is problematic. I also cannot explain why the bit errors occur at the lower frequencies.

EDIT2: Problem solved. The impulse responses had small but non-negligible ringing in its last samples, close the FFT size. Hence, when I was truncating the impulse responses to 99% of the energy, they were continuing with a length close to the FFT size. This was impractical for the cyclic prefix to cover enough dispersion such that ISI could be controlled. Hence, what was indeed constraining me was ISI/ICI, in contrast to what I said before. Ultimately, I took the ISI/ICI PSD into account in the bit loading computation and solved the problem. I won't delete the question because it can be helpful for someone. 

Best regards to everyone who tried to help.

Similar questions and discussions