Turbo codes and decoding