Just butting in here with a fairly simple idea that doesn't get into
any filtering theory. Basically, you would just do a weighted average
of the data points near the cycle boundary, and let the weighting
factor ramp from 0 to 100% over the set of smoothed points.
For example: suppose <b>n</b> is the number of points in the cycle so
that (ideally) data(0) = data(n) = data(2n)...
let smoothed(0) = 0.50*raw(0) + 0.50*raw(n)
smoothed(1) = 0.55*raw(1) + 0.45*raw(n-1)
smoothed(2) = 0.60*raw(2) + 0.40*raw(n-2)
...
or generally, for -10 <= j <= +10
smoothed(j) = (0.50+0.05*j)*raw(j) + (0.50-0.05*j)*raw(n-j)
smoothed(n-j) = (0.50+0.05*j)*raw(n-j) + (0.50-0.05*j)*raw(j)
Do you think something like this would produce sufficiently smooth
blending?