Constructive codes for arbitrary discrete memoryless channels | IEEE Journals & Magazine | IEEE Xplore