Iterative decoding of concatenated block codes