soft-input soft-output decoding