Convolution of horizontal shifted gaussian and heaveside funtion

Dear All,

I'm trying to undersatand the convolution operation in Igor.

For this I like to convolute a gaussian and a heavyside function for simplicity.

Both function are centered at t_0. If I set t_0 = 0, everything is fine. If t_0 is <> 0. the convoluted function is shifted by t_0. I read several posts about convolution but I couldnt find a working solution. 


In the end I like to use this for a fitting procedure where I have to estimate also t_0.

Here is my example code:

Function testConv(t0)
    Variable t0

    Variable tp = 0.37
    Variable Nmax = 1E3 + 1
    Variable tmin = -20*tp
    Variable tmax = -tmin
    Variable dT = (tmax - tmin) / Nmax
   
    Make/N=(Nmax)/D/O wGauss, xw, y_theta
    SetScale/P x, tmin, dT, wGauss, xw, y_theta
   
    xw = x
    Variable const = 2*sqrt(2*ln(2))
    wGauss = gauss(x, t0, tp/const)
    Variable a = sum(wGauss)
    wGauss /= a
   
    y_theta = xw[p] > t0 ? 0 : 1
    Duplicate/O y_theta, yw_conv
    Convolve/A wGauss, yw_conv

    return 0
End

 

Thank you for your suggestions

You offset both the Gaussian and the step function. Instead of this:

wGauss = gauss(x, t0, tp/const)

try this:

wGauss = gauss(x, 0, tp/const)

My suspicion is that will give you what you are expecting.