Hi, I'm back on a project which I've been working on at times. The piece I am working on right now is digital clock recovery which works ok but I'd like to see if I can improve the performance. The current implementation is a feed-forward timing detector and an interpolator for data recovery with a farrow type interpolator. The piece I am trying to add is a matched filter. I only have two samples per symbol generated by an ADC triggered by a free-running clock. The channel has significant frequency dependent loss and ISI. The difficulty is that the transmit filter is not something which is suitable to DSP. It is a very crude slew control filter which is basically a trapezoid with 0.5T rise time and 0.5T fall time instead of a square pulse. So an isolated pulse looks like this. The symbol ends when the pulse starts to fall so if there are multiple symbols of value 1 you get a trapezoid with a longer top. _ _____ _/ \_ __/ \____ Is a matched filter still applicable in this situation ? How would one design a digital matched filter with only two samples per symbol ? I am considering merging the matched filter into the interpolator but that makes testing the matched filter impossible. Any suggestions are welcome. Thanks, Muzaffer Kal http://www.dspia.com ASIC/FPGA design/verification consulting specializing in DSP algorithm implementations
matched filters and interpolation
Started by ●January 18, 2004
Reply by ●January 19, 20042004-01-19
On Sun, 18 Jan 2004 23:13:53 GMT, Muzaffer Kal <kal@dspia.com> wrote:>Hi, >I'm back on a project which I've been working on at times. The piece I >am working on right now is digital clock recovery which works ok but >I'd like to see if I can improve the performance. The current >implementation is a feed-forward timing detector and an interpolator >for data recovery with a farrow type interpolator. The piece I am >trying to add is a matched filter. I only have two samples per symbol >generated by an ADC triggered by a free-running clock. The channel has >significant frequency dependent loss and ISI. The difficulty is that >the transmit filter is not something which is suitable to DSP. It is a >very crude slew control filter which is basically a trapezoid with >0.5T rise time and 0.5T fall time instead of a square pulse. So an >isolated pulse looks like this. The symbol ends when the pulse starts >to fall so if there are multiple symbols of value 1 you get a >trapezoid with a longer top. > _ _____ >_/ \_ __/ \____ > > >Is a matched filter still applicable in this situation ?Yes, and this is its impulse response (in continuous time): _ _/ \_ as this is just the time-inverse of the transmit filter impulse response. (And yes, it is equivalent to a linear filter, even though it has been implemented using "non-linear"-type ops such as slew rate limiting.)> How would one >design a digital matched filter with only two samples per symbol ?With this impulse response: 1,1 or perhaps 0.5,1,0.5 (they're the same but with a phase shift) Note that this doesn't look so good in the frequency domain, but at least it's better than a pulse without slew rate limiting.> I >am considering merging the matched filter into the interpolator but >that makes testing the matched filter impossible.I commiserate. BTW, It would probably be easier if you could lock your ADC clock to the symbol rate OR if you could sample at 4x the symbol rate. Regards, Allan.