the theoretical and practical aspects of turbo codes and turbo-like codes. The crucial