## Chung-Kennedy Filter

Average rating

This returns a wave which is filtered according to the method of Chung & Kennedy, J. Neurocience Methods, 1991.

```function /wave ChungKennedy(w,mm,kk,pp[,pis])
wave w // Data.
variable mm // Analysis window length.
variable kk // Number of filters.
variable pp // An exponent.
wave pis // The weights (pi_i) for the filters.  Has length kk.

if(paramisdefault(pis))
make /free/n=(kk) pis = 1
endif

variable n = numpnts(w)
make /free/n=(n,kk*2) estimates
estimates[][0,kk] = mean(w,pnt2x(w,p-2^(q+1)),pnt2x(w,p-1)) // Forwards.
estimates[][kk,] = mean(w,pnt2x(w,p+1),pnt2x(w,p+2^(q+1-kk))) // Backwards.

make /free/n=(n,kk*2) weights
make /free/n=(n,kk,mm) forwards = (w[p-r]-estimates[p-r][q])^2
make /free/n=(n,kk,mm) backwards = (w[p+r]-estimates[p+r][q+kk])^2
matrixop /free forwards = powR(sumbeams(forwards),-pp)
matrixop /free backwards = powR(sumbeams(backwards),-pp)
weights[][0,kk] = forwards[p][q]*pis[q]
weights[][kk,] = backwards[p][q-kk]*pis[q-kk]

// Normalize.
matrixop /free sums = sumrows(weights)
weights /= sums[p]

matrixop /free result = sumrows(estimates * weights)
return result
end```

### Thanks! But see Biophys J.

Thanks! But see

Biophys J. 2008 January 1; 94(1): 306–319.
Published online 2007 September 7. doi: 10.1529/biophysj.107.110601
PMCID: PMC2134886
A Comparison of Step-Detection Methods: How Well Can You Do?

Brian C. Carter,* Michael Vershinin,† and Steven P. Gross*†

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2134886/

for a discussion of different methods.

John Bechhoefer
Department of Physics
Simon Fraser University