MATLAB File Help: woody View code for woody WFDB Contents
woody
```

function [out]=woody(x,varargin)

[out]=woody(x,tol,max_it,est_mthd,xcorr_mthd)

Weighted average using Woody average for a signal
with jitter. Parameters:

x             Signal measurements. Each COLUMN represents
and independent measure of the signal (or channel).
tol           Tolerance paremeter to stop average (default is 0.1)
max_it        Maximum number of iterations done on the average (default is 100).
est_mthd      Estimation method to use. Options are:
'woody'     : classical approach (default)
'thornton'  : implements the Thornton approach that is also useful for different noise sources.
xcorr_mthd    Determines what estimation method to use for the estimating the correlaation function using the
XCORR function. Options are:
'biased'   - scales the raw cross-correlation by 1/M.
'unbiased' - scales the raw correlation by 1/(M-abs(lags)). (Default)
out           Final averaged waveform (time aligned).

Written by Ikaro Silva

Since 0.9.5

%%%Example 1 %%%%
t=[0:1/1000:1];
N=1001;
x=sin(2*pi*t)+sin(4*pi*t)+sin(8*pi*t);
y=exp(0.01*[-1*[500:-1:1] 0 -1*[1:500]]);
s=x.*y;
sig1=0;
sig2=0.1;
M=100;
S=zeros(N,M);
center=501;
TAU=round((rand(1,M)-0.5)*160);
for i=1:M,
tau=TAU(i);

if(tau<0)
S(:,i)=[s(-1*tau:end)'; zeros(-1*(tau+1),1)];
else
S(:,i)=[zeros(tau,1);s(1:N-tau)'; ];
end
if(i<50)
S(:,i)=S(:,i) + randn(N,1).*sig1;
else
S(:,i)=S(:,i) + randn(N,1).*sig2;
end
end

[wood]=woody(S,[],[],'woody','biased');
[thor]=woody(S,[],[],'thornton','biased');
figure;
subplot(211)
plot(s,'b','LineWidth',2);grid on;hold on;plot(S,'r');plot(s,'b','LineWidth',2)
legend('Signal','Measurements')
subplot(212)
plot(s);hold on;plot(mean(S,2),'r');plot(wood,'g');plot(thor,'k')
legend('Signal','Normal Ave','Woody Ave','Thornton Ave');grid on

```