What is the time reversal convolution
I believe that h(-t) means a "time-reversed" version of h(t). Your command: 'y = conv(r,-h);' computes the convolution of 'r' and negative 'h', and you don't want that. I think you want: 

y = conv(r,conj(fliplr(h)));