The Savitzky-Golay (SG) filter is widely used to smooth and differentiate time series, especially biomedical data. However, time series that exhibit abrupt departures from their typical trends, such as sharp waves or steps, which are of physiological interest, tend to be oversmoothed by the SG filter. Hence, the SG filter tends to systematically underestimate physiological parameters in certain situations. This article proposes a generalization of the SG filter to more accurately track abrupt deviations in time series, leading to more accurate parameter estimates (e.g., peak velocity of saccadic eye movements). The proposed filtering methodology models a time series as the sum of two component time series: a low-frequency time series for which the conventional SG filter is well suited, and a second time series that exhibits instantaneous deviations (e.g., sharp waves, steps, or more generally, discontinuities in a higher order derivative). The generalized SG filter is then applied to the quantitative analysis of saccadic eye movements. It is demonstrated that (a) the conventional SG filter underestimates the peak velocity of saccades, especially those of small amplitude, and (b) the generalized SG filter estimates peak saccadic velocity more accurately than the conventional filter.

Despite its widespread use, the SG filter obeys an unavoidable trade-off between noise suppression and signal distortion, as does any linear filter. Correspondingly, the SG filter tends to oversmooth time series that exhibit abrupt deviations such as sharp waves or steps, yet these are often of physiological interest (e.g., a saccade is an abrupt change in eye position). Consequently, the SG filter can lead to physiological parameters being systematically underestimated (e.g., the peak angular velocity of the eye during a saccade). Accurate estimation of such parameters is of interest, since they are used in clinical research and practice.

We propose a generalization of the SG filter that can track abrupt deviations in time series more accurately than the conventional SG filter. The generalized SG filter leads to more accurate parameter estimates when it is desirable to measure abrupt changes, such as the peak velocity of saccadic eye movements. The proposed filtering methodology models a time series as the sum of two component time series: a low-frequency time series for which the conventional SG filter is well suited, and a second time series that exhibits instantaneous deviations (e.g., sharp waves, steps, or more generally, discontinuities in a higher-order derivative). We formulate the generalized SG filter via sparse signal modeling. The output of the filter is expressed in terms of the solution to a sparse-regularized linear inverse problem, and is calculated via convex optimization. The generalized SG filter is thus nonlinear and can overcome the limitations of the conventional (linear) SG filter.

We model an abrupt deviation in a time series as a discontinuity either in the underlying signal, in the derivative of the underlying signal, or in a higher order derivative of the underlying signal. In turn, the next-higher order derivative of the time series exhibits impulses (isolated values of high amplitude). Such a time series therefore has a sparse component (a time series is said to be sparse if it is mostly zero in value, except for isolated values of high amplitude). Accordingly, in the proposed generalization of the SG filter, we adopt tools from sparse signal processing (Elad, 2010). An early instance of filtering based on a sparse signal model is total variation denoising (Rudin, Osher, & Fatemi, 1992), which models a step signal as having a sparse first-order derivative.

The proposed generalization of the SG filter is closely related to the sparsity-assisted signal smoothing (SASS) method (Selesnick, 2015, 2017; Selesnick, Graber, Pfeil, & Barbour, 2014). The SASS method can be considered a generalization of the digital Butterworth filter (a particular recursive filter), while the filter proposed in this work constitutes a generalization of the SG filter (a particular nonrecursive filter). Additionally, SASS was developed only for smoothing, while the filter proposed here is also developed for differentiation, which is important for the estimation of velocity time series and associated parameters (e.g., peak velocity).

In this article, we demonstrate that the proposed generalization of the SG filter can estimate peak saccadic velocity from eye position time series more accurately than the conventional SG filter. The evaluation of the proposed filter uses (a) simulated data based on a recently developed parametric model for saccadic eye movements (Dai, Selesnick, Rizzo, Rucker, & Hudson, 2016), (b) physiologic data of saccadic eye movements that have been objectively recorded and manually identified by two experts, Nyström and Andersson (2017), and (c) data recorded in our lab (Rizzo et al., 2016).

Methods

The SG smoothing filter

The SG smoothing filter is a particular low-pass filter defined by two parameters that we shall denote K and M (Orfanidis, 1995; Savitzky & Golay, 1964; Schafer, 2011b). The SG filter can be defined and implemented as a weighted moving average, i.e., a finite impulse response (FIR) filter. We denote by x(n) the time series to be estimated, and we suppose the observed time series is given by y(n) = x(n) + w(n) where w(n) represents additive white Gaussian noise. Applied to time series y(n), the SG filter produces an output time series Display Formula\(\def\upalpha{\unicode[Times]{x3B1}}\)\(\def\upbeta{\unicode[Times]{x3B2}}\)\(\def\upgamma{\unicode[Times]{x3B3}}\)\(\def\updelta{\unicode[Times]{x3B4}}\)\(\def\upvarepsilon{\unicode[Times]{x3B5}}\)\(\def\upzeta{\unicode[Times]{x3B6}}\)\(\def\upeta{\unicode[Times]{x3B7}}\)\(\def\uptheta{\unicode[Times]{x3B8}}\)\(\def\upiota{\unicode[Times]{x3B9}}\)\(\def\upkappa{\unicode[Times]{x3BA}}\)\(\def\uplambda{\unicode[Times]{x3BB}}\)\(\def\upmu{\unicode[Times]{x3BC}}\)\(\def\upnu{\unicode[Times]{x3BD}}\)\(\def\upxi{\unicode[Times]{x3BE}}\)\(\def\upomicron{\unicode[Times]{x3BF}}\)\(\def\uppi{\unicode[Times]{x3C0}}\)\(\def\uprho{\unicode[Times]{x3C1}}\)\(\def\upsigma{\unicode[Times]{x3C3}}\)\(\def\uptau{\unicode[Times]{x3C4}}\)\(\def\upupsilon{\unicode[Times]{x3C5}}\)\(\def\upphi{\unicode[Times]{x3C6}}\)\(\def\upchi{\unicode[Times]{x3C7}}\)\(\def\uppsy{\unicode[Times]{x3C8}}\)\(\def\upomega{\unicode[Times]{x3C9}}\)\(\def\bialpha{\boldsymbol{\alpha}}\)\(\def\bibeta{\boldsymbol{\beta}}\)\(\def\bigamma{\boldsymbol{\gamma}}\)\(\def\bidelta{\boldsymbol{\delta}}\)\(\def\bivarepsilon{\boldsymbol{\varepsilon}}\)\(\def\bizeta{\boldsymbol{\zeta}}\)\(\def\bieta{\boldsymbol{\eta}}\)\(\def\bitheta{\boldsymbol{\theta}}\)\(\def\biiota{\boldsymbol{\iota}}\)\(\def\bikappa{\boldsymbol{\kappa}}\)\(\def\bilambda{\boldsymbol{\lambda}}\)\(\def\bimu{\boldsymbol{\mu}}\)\(\def\binu{\boldsymbol{\nu}}\)\(\def\bixi{\boldsymbol{\xi}}\)\(\def\biomicron{\boldsymbol{\micron}}\)\(\def\bipi{\boldsymbol{\pi}}\)\(\def\birho{\boldsymbol{\rho}}\)\(\def\bisigma{\boldsymbol{\sigma}}\)\(\def\bitau{\boldsymbol{\tau}}\)\(\def\biupsilon{\boldsymbol{\upsilon}}\)\(\def\biphi{\boldsymbol{\phi}}\)\(\def\bichi{\boldsymbol{\chi}}\)\(\def\bipsy{\boldsymbol{\psy}}\)\(\def\biomega{\boldsymbol{\omega}}\)\(\hat x(n)\) given by

where M is a parameter of the filter and h(n) is the impulse response of the filter (defined for Display Formula\(|n|\, \le \,M)\).

The SG filter is defined via a least-squares polynomial approximation problem. Specifically, the SG filter defines Display Formula\(\hat x(0)\) (i.e., the output at time n = 0) to be the value of the coefficient of a polynomial of order K that best fits the time series data y(n) over the interval Display Formula\(|n|\, \le \,M\). Given the time series y(n) and the parameters K and M, define the polynomial

The output value Display Formula\(\hat x(0)\) of the SG filter at time n = 0 is defined to be p(0)—that is, the value of the best-fitting polynomial at n = 0. Hence, for the SG filter, we have Display Formula\(\hat x(0)\) = p(0) = c0 where c0 is a coefficient of the best-fitting polynomial. The output values Display Formula\(\hat x(n)\) at time instants other than n = 0 are similarly defined. This process wholly determines the impulse response h(n) of the filter (Orfanidis, 1995). We note that the impulse response of the SG filter is symmetric—that is, h(–n) = h(n). Given M, the parameter K must be chosen so that Display Formula\(0 \le K \le 2M.\)

The transfer function of a filter with impulse response h(n) is defined as

and the frequency response is given by Display Formula\(H({{\it{e}}^{{\it{j}}\omega }})\). Since the impulse response of the SG filter is symmetric, its frequency response is real-valued, and it is a zero-phase filter. Figure 1a shows the frequency response of the SG smoothing filter for several parameter values. The cut-off frequency of the SG filter depends on the parameters K and M, as described by Schafer (2011a). We highlight a property of the SG smoothing filter we use below.

where Q(z) is the transfer function of another FIR filter. This property implies that the frequency response of the SG smoothing filter is flat (of order K) at ω = 0 (Orfanidis, 1995). The flatness of the frequency response can be seen in Figure 1a.

The SG differentiation filter

SG filters are used not only for smoothing but also for differentiation of time series. Like the SG smoothing filter, the SG differentiation filter is a particular zero-phase low-pass differentiation filter defined by two parameters, K and M, and it can be implemented as an FIR filter. The SG differentiation filter is defined via the differentiation of the polynomial that best fits the data, determined already for the SG smoothing filter. Differentiation of the polynomial p in Equation 2 yields

where Display Formula\({\bar c_k} = k{c_k}\). Like the SG smoothing filter, the impulse response Display Formula\(\bar h(n)\) of the SG differentiation filter is determined by parameters K and M. Figure 1b shows the frequency response of the SG differentiation filter for several parameter values. We highlight a property of the SG differentiation filter we use below.

Property 2

Let Display Formula\(\bar H(z)\) be the transfer function of a SG differentiation filter with polynomial order K. Then Display Formula\(\bar H(z)\) can be expressed as

where U(z) is the transfer function of another FIR filter. This property implies that the frequency response of the SG differentiation filter is tangent (of order K) to a line at Display Formula\(\omega {\rm{\ }} = {\rm{\ }}0\) (Luo, Ying, He, & Bai, 2005) The high-order tangency of the frequency response can be seen in Figure 1b.

A generalization of the smoothing filter

In this section, we derive a framework for extending the SG smoothing filter. We first express the conventional SG filter using linear algebra and define related filters. We then formulate the proposed filter using sparse-regularized optimization.

Let H(z) be a SG smoothing filter. Since the SG filter is linear, we express the output time series Display Formula\(\hat x\left( n \right)\) in Equation 1 via matrix-vector multiplication,

\begin{equation}\tag{8}\hat x = Hy\end{equation}

where y is a vector of time series values y(n) and H is a Toeplitz matrix. For example, if M = 1, then the matrix H has the form

where R(z) is the transfer function of another FIR filter. We also write G = RDS where R is a matrix correspondingly defined.

The two-component model

We assume the time series data x to be estimated can be modeled as

\begin{equation}\tag{18}x = {x_1} + {x_2}\end{equation}

where x1 and x2 are two component time series. In this model, we assume the time series x1 has the property that DSx1 is sparse, and that x2 is a low-frequency time series for which conventional SG filters are well suited. We assume the time series data is given by

\begin{equation}\tag{19}y = x + w\end{equation}

\begin{equation}\tag{20} = {x_1} + {x_2} + w\end{equation}

where w is additive white Gaussian noise.

We assumed x2 is a time series for which the SG filter is well suited. By this, we mean the SG filter H preserves the time series x2 and suppresses white noise w, (i.e., we have x2 ≈ H(x2 + w). Using Equation 20, we have

and λ is a positive parameter. The parameter λ should be chosen according to the noise level. Several algorithms are available to solve Equation 30, e.g., the forward-backward splitting algorithm (Combettes & Pesquet, 2011). Once Display Formula\(\hat u\) is obtained, the estimated time series Display Formula\(\hat x\) is then given by Equation 29.

A generalization of the differentiation filter

In this section, we use the framework developed in the previous section to extend the SG differentiation filter.

We write the derivative of the time series x as x′ and we express it as

\begin{equation}\tag{33}x^{\prime} = \bar Fx\end{equation}

where Display Formula\(\bar F\) is a zero-phase full-band differentiation filter (i.e., its impulse response is symmetric and it accurately differentiates high-frequency sinusoids). The ideal full-band differentiation filter cannot be realized by an FIR filter, but it can be well approximated by one (Al-Alaoui, 2007; Kumar, Roy, & Shah, 1992; Pei & Wang, 2001; Rabiner & Schafer, 1974; Selesnick, 2002). In fact, the SG differentiation filter with parameters K = 2M is an approximate full-band differentiation filter. Therefore, we let Display Formula\(\bar F\) be a zero-phase full-band differentiation FIR filter. A problem in practice with full-band differentiators is that they severely amplify noise. Hence, by a differentiation filter, we mean by default a low-pass differentiation filter. The SG filter with parameters K < 2M is a low-pass differentiation filter.

Let Display Formula\(\bar h(n)\) be the impulse response of the SG differentiation filter with parameters K and M. If the input of the filter is the time series y, then the output of the filter is given by the weighted moving average,

The filter Display Formula\(\bar G\) is a zero-phase high-pass differentiation filter. Here, we let Display Formula\(\bar F\) be a SG differentiation filter with parameters K = 2M. Then the transfer function of Display Formula\(\bar F\) can be written as

We assume the time series x to be differentiated can be modeled as x = x1 + x2 as in the previous section. Given the noisy time series y = x + w = x1+ x2 + w, we seek an estimate Display Formula\(\hat x^{\prime} \) of the unknown differentiated time series x′. Since we assumed x2 is a signal for which conventional SG filters are well suited, its derivative can be well estimated by the SG differentiation filter Display Formula\(\bar H\)—that is, Display Formula\({x^{\prime} _2} \approx \bar H({x_2} + w).\) Consequently,

We summarize the procedure for the proposed generalized SG filter. Let y denote the time series data to be filtered.

Set the parameters, K and M of the conventional SG filter. They must be positive integers with K < 2M.

Set the additional parameters S and λ. Parameter S must be a positive integer with S ≤ K + 1, which determines the type of abrupt deviation in the time series. Parameter λ must be a positive real number, which is nominally set proportional to the noise level.

The filters H, Display Formula\(\bar H\) and Display Formula\(\bar F\) can be determined using any realization of the conventional SG filter. For the entire calculation, Matlab software is available from the authors.

Results

In this section, we apply the proposed filtering method for the problem of peak saccadic velocity estimation, and we evaluate its accuracy. First, we simulate saccadic eye movements (horizontal angular displacement) using a recently developed parametric model (Dai et al., 2016). This saccade model has three parameter: η, c, and A. The formula for the saccade model is

We note that the relation between peak velocity Vp and amplitude A in Equation 56 is the “main sequence” formula proposed by Baloh, Sills, Kumley, and Honrubia (1975).

The use of simulated saccades is useful in this work because true saccade velocities are unknown for human subjects. However, by simulating saccades with known velocity, the error of a velocity estimation method can be quantitatively evaluated. The simulation consists of horizontal saccades made to the right and then back to the central angular position with amplitude 5°, 10°, and 15°, as shown in Figure 2. We simulate data at a sampling rate of 500 samples/s to match the recording condition in our lab. (We used the EyeLink 1000 Plus eye tracker.) While the eight most common sampling rates for eye trackers are 30, 50, 60, 120, 240, 250, 500, and 1000 Hz (Mack, Belfanti, & Schwarz, 2017), eye trackers with low sampling rates are not suitable for the study of saccade dynamics, such as saccade peak velocity. A sampling rate of 333 Hz is considered sufficient for studying position, velocity, and acceleration of human saccadic eye movements (Bahill, Kallman, & Lieberman, 1982; Inchingolo & Spanio, 1985). To this simulated time series, we add a zero-mean white Gaussian random process 𝒩(0, 0.2) to model noise. We use both the conventional and proposed generalized SG filters for smoothing and differentiation. For the conventional SG filter, we use parameters K = 2, M = 5, as recommended by Nyström and Holmqvist (2010) for eye movement analysis. For the generalized SG filter, we use parameters K = 3, M = 10, S = 4.

The generalized SG differentiation filter estimates the peak saccadic velocity more accurately than the conventional SG differentiation filter (Figure 2). The conventional SG filter underestimates the peak velocity, especially for small-amplitude saccades. We also evaluate the filters in terms of the root mean square error (RMSE) between the noiseless and filtered time series (Figure 2). The RMSE values further indicate that the generalized SG filter performs smoothing and differentiation more accurately than the conventional SG filter.

To evaluate the generalized SG filter across a range of noise levels, we simulate eye movement data as in Figure 2, but vary the noise standard deviation, σ. We set λ in Equation 30 proportional to σ, because greater λ results in stronger smoothing. Across a range of noise levels, the generalized SG filter estimates position, velocity, acceleration, and saccade peak velocity more accurately (i.e., with lower RMSE) than the conventional SG filter (Figure 3).

To further investigate the accuracy of peak saccadic velocity estimation using the conventional and generalized SG differentiation filters, we simulate 500 saccades of 5° and 15° at a sampling rate of 500 samples/s and add zero-mean white Gaussian random process 𝒩(0, 0.2) to model noise. The distribution of estimated saccade peak velocity is shown as histograms in Figure 4 for each case. The histograms reveal that the conventional SG filter is biased; it systematically underestimates the saccade peak velocity. The histograms show that the peak saccadic velocity, as estimated by the generalized SG filter, is generally closer to the true value (indicated by the dashed line).

Systematic underestimation of peak saccadic velocity leads to distortion of the main sequence relationship, an important diagnostic tool for clinicians (Bahill, Clark, & Stark, 1975). To investigate the relative impact of the filter, we simulate eye movement data comprising 50 saccades of various amplitudes and with random intersaccadic intervals and add a zero-mean white Gaussian random process 𝒩(0, 0.1) to model noise. Figure 5a shows the true main sequence curve and its 95% prediction interval (the true peak velocities and amplitudes are known, since the saccades are simulated). The main sequence curve follows an exponential equation (Equation 56) where Vp is the saccade peak velocity, A is the saccade amplitude, and η and c are parameters to be estimated (Baloh et al., 1975). Figure 5b and c show the main sequence curves calculated using the conventional SG filter and generalized SG filter, respectively. It can be observed that the conventional SG filter results in a distorted main sequence, and the best-fitting main sequence curve differs substantially from the true main sequence curve. This is because the peak velocities of small-amplitude saccades are underestimated. The generalized SG filter results in a main sequence curve that more accurately estimates the true one.

To examine the generalized SG filter for different individuals, we simulate eye movements as in Figure 5a, but vary the main sequence parameter η or c. We vary the main sequence parameters because different individuals have different main sequence relations. The shape of the simulated saccade (Equation 54) depends on the parameters η and c. Therefore, we vary either parameter η or c to represent saccades made by 20 individuals. For each individual, we simulate eye movement data comprising 50 saccades of various amplitudes and with random intersaccadic intervals and add zero-mean white Gaussian noise 𝒩 (0, 0.1). The main sequence parameters calculated using the conventional SG filter and generalized SG filter are listed in Table 1. It can be observed that the generalized SG filter estimates the main sequence parameters more accurately than the conventional SG filter.

Main sequence parameters, η and c, of simulated saccades estimated using the conventional and generalized SG filters.

Table 1

Main sequence parameters, η and c, of simulated saccades estimated using the conventional and generalized SG filters.

The oversmoothing of eye movement data also leads to prolonged estimates of saccadic duration. Although this phenomenon is not as prominent as the estimation of peak saccadic velocity, it affects the empirical relationship between saccade duration and amplitude. Here, we define the onset and end of a saccade using a velocity threshold of 30°/s. As shown in Figure 6b, the main sequence relationship calculated using the conventional SG filter is different from the reference one, shown in Figure 6a. In comparison, the generalized SG filter yields a more accurate estimate of the true main sequence relationship as shown in Figure 6c.

We also compare the conventional and generalized SG filters as applied to real eye movement data. Although no “ground truth” for the real saccade peak velocity or amplitude is available, it is nevertheless informative to observe that the two filters yield different results, demonstrating the impact of the utilized filter. Figure 7 shows part of an eye movement time series recorded at a sampling rate of 500 samples/s while the participant views an image. This time series is part of a publicly available dataset for which eye movements have been manually annotated (Larsson, Nyström, & Stridh, 2013). Many automatic saccade detection algorithms have been developed and evaluated (Andersson, Larson, Holmqvist, Stridh, & Nyström, 2017; Behrens, MacKeben, & Schröder-Preikschat, 2010; Dai et al., 2016; Engbert & Kliegl, 2003; Komogortsev, Gobert, Jayarathna, Koh, & Gowda, 2010; König & Buffalo, 2014; Nyström & Holmqvist, 2010; Otero-Millan, Castro, Macknik, & Martinez-Conde, 2014). Since our focus is on methods to accurately estimate saccade parameters rather than methods to reliably detect saccades, we use the manual annotation instead of an automatic saccade detection algorithm to identify saccades. The horizontal and vertical components of eye movement time series are processed separately. The velocity and amplitude of each eye movement is then calculated by taking the square root of the sum of squares of the horizontal and vertical components (Nyström & Holmqvist, 2010). Using the conventional and generalized SG filters to calculate saccade peak velocity and amplitude, we obtain the values illustrated in Figure 8. The best-fitting exponential curves are calculated based on the respective estimated saccade parameters. It can be observed that the two filters yield distinctly different results. In particular, the main sequence curve obtained using the generalized SG filter is substantially steeper than that obtained using the conventional SG filter. This is consistent with the results using simulated saccades: The conventional SG filter tends to underestimate the peak velocity of small-amplitude saccades.

We further investigate the conventional and generalized SG filter as applied to real eye movement data of 20 individuals. The data was recorded using the EyeLink 1000 Plus eye tracker and sampled at a rate of 500 samples/s while the participants read numbers on a test card from left to right and top to bottom (Rizzo et al., 2016). Saccades are manually annotated by author WD for this study. The main sequence parameters calculated using the conventional SG filter and generalized SG filter are listed in Table 2. The parameter c estimated by the conventional SG filter is larger than that estimated by the generalized SG filter (8.10 ± 2.07 vs. 5.76 ± 2.17, p = 0.001, two-sample t test). The parameter η estimated using either the conventional or generalized SG filter is similar. The same observation is found when the filter is applied to different data: The conventional SG filter tends to underestimate the peak velocity of small-amplitude saccades. Therefore, we conclude that the main sequence estimated using the generalized SG filter is more accurate than the one estimated using the conventional SG filter.

Main sequence parameters, η and c, of real saccades estimated using the conventional and generalized SG filters.

Table 2

Main sequence parameters, η and c, of real saccades estimated using the conventional and generalized SG filters.

Discussion

The SG filter is a particular (linear) low-pass filter widely used for smoothing and differentiation of time series. Other commonly used filters for eye movement data is the moving average filter and the Butterworth filter (Mack et al., 2017). They are used for data smoothing and usually followed by a two-point central difference filter for data differentiation. All three filters are linear filters and hence obey an unavoidable trade-off between noise suppression and signal distortion. It should also be recognized that linear low-pass filters tend to oversmooth abrupt deviations from a smooth trend. Therefore, quantitative measures of signal extremes (e.g., the peak value of a signal derivative) might be underestimated when calculated using the SG filter, or any other linear filter. The proposed nonlinear generalization of the SG filter aims to mitigate this issue, by modeling a signal component having discontinuities in its order-S derivative of some prescribed order S.

Historically, the relationship between saccade peak velocity and amplitude has been a useful metric in clinical practice for the detection and assessment of various disease states; however, saccades of different amplitudes have different power spectra (Harris, Wallman, & Scudder, 1990). Hence, the use of a conventional low-pass filter with a fixed cut-off frequency may be suboptimal for the analysis of eye movement data comprising saccades of various sizes. One comprehensive study used a saccade model to evaluate the three commonly used linear filters (moving average, Savitzky-Golay, and Butterworth) as applied to eye movement data (Mack et al., 2017). Their results suggest various filters should be used for saccades of different sizes. However, eye movement data usually contains saccades of various sizes. For example, we make small intraline saccades and large interline saccades during reading. Recent studies showed that chronic concussion patients and multiple sclerosis patients made more saccades to complete a rapid number naming test, and these extra saccades appear to be small (Hainline et al., 2017; Rizzo et al., 2016). As shown in the Results section, the conventional SG filter tends to underestimate the peak velocity of saccades, especially small-amplitude saccades. The proposed nonlinear generalization of the SG filter may more accurately estimate saccade peak velocity and other saccade parameters.

In the Results section, we used white Gaussian random processes to model noise. Studies of artificial eyes for the measurement of noise in eye trackers showed that the noise is white (it has the same energy at all frequencies) when artificial eyes are used (Coey, Wallot, Richardson, & Van Orden, 2012; Wang, Mulvey, Pelz, & Holmqvist, 2017). Both studies point out that human data produce pink noise (the energy decreases as the frequency increases). This may be because the human eye is never still and always makes micro movements, which can be similar in amplitude to the noise. We conducted numerical experiments adding pink noise instead of white noise in the simulations. The generalized SG filter was found to more accurately estimate peak velocity in pink noise as well as white noise.

Conclusions

In the quantitative analysis of saccades, the limitations of linear low-pass filters should be taken into account, given their potential to negatively impact objective metrics. This article demonstrates through simulation using a recently developed parametric saccade model that the SG filter, a widely used linear low-pass filter, may systematically underestimate the peak velocity of saccades. This article proposes a nonlinear generalization of the SG filter that can more accurately track deviations from the smooth background of an underlying signal. The generalized SG filter was shown to estimate saccade peak velocity more accurately than the conventional SG filter, which is commonly used for this purpose. In turn, the generalized SG filter leads to a more accurate estimation of the main sequence (i.e., the relationship between the saccade peak velocity and amplitude). Given the clinical significance of quantitative saccade analysis in disease diagnosis, the generalized SG filters may be useful in the study of eye movement data, particularly saccades.

Acknowledgments

This work was supported in part by the National Science Foundation under Grant No. 1525398.