Pre ringing can be suppressed by convolution using apodization filter which should be the last filter after AD/DA. Other possibility is Williams or any kind of minimum phase non symmetrical filter but it works best on higher oversampling or sampling rate.