Iterative Decoding of Parallel and Serial Concatenated Codes