The optimum combination of block codes and receivers for arbitrary channels | Synapse