Constrained Coding and Soft Iterative Decoding