I also think that the conjugate should be taken. I spent the last few weeks using correlate to experiment with
signal processing and I got strange results until I realised that I had to manually take the conjugate. It
would also be good if the function did it since applying the conjugate to the wrong sequence yields the
complex conjugate of the correlation.
Who would want to use the correlation without the conjugate, if someone is only using real values it won't
affect them, if they are using complex values they probably want to conjugate.
One function that does depend on correlate though is convolution! Changes made to correlate will
affect it! but I have understand that a new function acorrelate is being created instead of changing
correlate?
Otherwise I've never used matlab but it does seem like xcorr has some good features. The modes
'same' and 'valid' were initially quite confusing especially as the default is 'valid', meaning that autocorrelations
lead to a single value by default!
I also think that having weighting options would be good. I now understand the complexities of the various
weightings that can be applied to the correlation i.e. biased vs unbiased but I think that having correlate
include these options might prompt users to investigate which one they really needed. Correlate seemed
so simple when I first used it but it took me ages to realise that these are choices to be made.
regards
Rob