Near optimum error correcting coding and decoding: turbo-codes | Synapse