Optimal block codes for M-ary runlength-limited channels | IEEE Conference Publication | IEEE Xplore