Hi,
I had the same problem some time ago and I decided not to use the (fourier transform-based) convolution function of Origin, but to do the convolution non-elegantly "brute force" in OriginC (I am using it for fitting):
int GaussNumPoints = 20; // Choose some reasonable
double xstep = 0.25 * sig; // setting for the Gaussian here.
double GaussRange = GaussNumPoints * xstep;
y = 0;
double k = x - GaussRange;
while ( k <= x + GaussRange )
{
// gauss() needs to be defined somewhere.
y += yourstepfunction(parameters...) * gauss(x-k,sig);
k += xstep;
}
y *= xstep;
Note that this is quite inefficient compared to the FFT way.
Jonas