A new algorithm for "hard" iterative decoding of concatenated codes