![](/profiles/wavemetrics/themes/wavemetrics/logo.png)
Chung-Kennedy Filter
![](/sites/default/files/styles/thumbnail/public/images-imported/picture-155.jpg?itok=q00mdurP)
RGerkin
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
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
![](/sites/default/files/forum.png)
Forum
![](/sites/default/files/support.png)
Support
![](/sites/default/files/gallery.png)
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More
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
Burnaby, BC, Canada
May 22, 2012 at 06:10 pm - Permalink