Trellis precoding: combined coding, precoding and shaping for intersymbol interference channels | Synapse