The data is in the time domain or the frequency domain? For the sake of argument, I'll assume it's in the frequency domain. I'll assume the impulse response is a know function, not another array of data. Make the data symmetric by stacking the reverse of the data, except for the first point, onto the end of the data. Use cfft to transform the data to the time domain. If you got the first operation right the time domain data will be a vector of real values, in which the first point is unique, and for the remaining points the second half is the reverse of the complex conjugate of the first half (since the data is real the fact that it's the complex conjugate is actually irrelevant, but that's what it is). Multiply the first half of the time domain data by the impulse response function (including the unique point), then overwrite the second half with the reverse of the first half (again, except for the first point). icfft the data. If you got everything right the resulting data will be a vector of real values, and it will be the convolution of the impulse response with the original data. Richard