—Glitches introduce impulse-like disturbances which are not be readily attenuated by low-pass ﬁltering. This article presents a model that describes the behaviour of glitches, and a method for mitigation based on a large-amplitude dither signal. Analytical and experimental results demonstrate that a dither signal with sufﬁcient amplitude can mitigate the effect of glitches, when used in conjunction with a low-pass ﬁlter. The dither signal in conjunction with low-pass ﬁltering essentially converts a glitch from a high-frequency to low-frequency disturbance. Index Terms —digital-analogue conversion, glitch reduction, disturbance reduction, convolution, nonlinear distortion, dither I. INTRODUCTION Physical implementations of digital-to-analogue converters (DACs) introduce various non-ideal effects, including element mismatch, thermal and semiconductor noise, slew-rate lim- itations, and glitches caused by non-ideal transistor switch- ing [1]–[7]. These effects are in addition to the fundamental error sources of aliasing and quantisation that occur in a digital signal processing system, due to discretisation in both time and value [8]. DAC-errors deteriorate the achieved performance in various systems, including high-precision motion control [9]. Hence, it is of interest to mitigate them. Repeated spectra and aliasing is reduced by reconstruction ﬁltering and interpolation [6, 10], and quantisation error is eliminated using small-scale dithering [8,11]–[14]. Element mismatch can be compensated for using several methods [15], including dynamic element matching [5,16] and large-scale dithering [17], and slewing can be partially reduced by oversampling [4,6]. This paper targets glitches. A behavioural model is devel- oped and the effect of applying a dither signal is analysed: The glitches are modelled as short pulses and it is shown that it is possible to alter the effective behaviour of these pulses by applying dithering and low-pass ﬁltering. Dithering and low-pass ﬁltering provides mitigation in the sense that it effectively converts a glitch from a large amplitude disturbance with a short duration, to a smaller amplitude disturbance with a longer duration. This effect is established by deriving bounds for the expected value of dithered glitches. This work was supported in part by the Australian Research Council Discovery Project DP120100487 and the Future Fellowship FT130100543. A. A. Eielsen ( eielsen@ux.uis.no ) is with the Dept. of Electrical Engineering and Computer Science, University of Stavanger, Norway J. Leth ( jjl@es.aau.dk ) is with the Dept. of Electronic Systems, Automation & Control, Aalborg University, Denmark A. J. Fleming ( andrew.fleming@newcastle.edu.au ), A. G. Wills ( adrian.wills@newcastle.edu.au ), and B. Ninness (brett.ninness@newcastle.edu.au ) are with the School of Electrical Engineering and Computer Science, The University of Newcastle, Australia.By reducing the effective amplitude of glitches, dithering and averaging may mitigate unwanted impulsive loads on a system, and enable further suppression by feedback control. Considering the mitigated glitches as an input disturbance, they can asymptotically be removed via the internal model principle [18]. A glitch is typically described as the transient generated when a DAC switches between two output levels [3,33]. The glitch is commonly associated with timing errors within the DAC: the non-simultaneous action of the switches generating the output levels, which may be exacerbated by using binary weighting of the switches [19]–[22]. Glitches are usually measured as the area of the transient. Triggering of glitches is dependent on the input to the DAC. Glitches are typically reduced in the circuit; the most common methods are sum- marised in Tab. I. Note that these are hardware techniques that have to be applied during the design of a device, have limited applicability depending on the desired resolution, latency, bandwidth and other speciﬁcations, and may introduce additional non-ideal effects. Many DACs suitable for high-precision motion control ap- plications do not have sufﬁcient glitch compensation [9], since applicable DACs are limited to devices that have both high accuracy and low latency. Low latency is required to avoid compromising the phase margin in closed loop applications. Furthermore, it is of interest to improve the performance in existing systems where replacing the DACs is not an option. Glitches cause a form of inter-symbol interference (ISI). Variations of dynamic element matching (DEM) techniques have been shown to be effective in reducing ISI [16,21,29]– [32]; essentially by limiting the switching-rate between output elements. DEM techniques are limited to DAC topologies with redundancy in the representation of output values, and techniques for limiting the switching-rate are only applicable to very speciﬁc DAC topologies that utilise unary weight- ing (thermometer code) [16,21,29]–[32]. Furthermore, in seg- mented topologies [34], using e.g. binary weighing, DEM has demonstrated signiﬁcant deterioration of performance [15]. Hence, the applicability of these methods is limited. There are several behavioural models for glitches that occur in DACs [4,33,35]–[38]. While these models can provide excellent results in terms of predicting distortion spectra, power loss and simulating the effect of glitches in general circuits, they are not amenable to mathematical analysis of the effect of adding dithering and averaging, as discussed in this paper. Dithering is an old technique in control theory [39], and has been used to improve stability in non-linear feedback control 2 TABLE I: Survey of glitch reducing methods. Method Description Complexity Performance Unary (thermometer) weighting [19]–[22] hardware levelBinary weighting is area efﬁcient, but prone to major carry glitches. Unary weighting minimises this behaviour, but at the expense of larger circuits and timing errors.High Medium Segmentation [22,23] hardware levelA compromise between area usage, timing errors and major carry glitches is to combine unary and binary weighting.Medium Medium Sample-and-hold, multiplexing [3,4,6,20,24] hardware levelDisconnecting and holding the output while it changes removes transients such as glitches, but can limit bandwidth and introduce linearity errors.Medium Medium Optimised timing of switches [3,19,20,25] hardware levelGlitches are associated with timing errors between switches; optimising the time skew using delay elements reduces the error.Low Medium Return-to-zero [4,6,19,20,24,26] hardware levelSwitching using return-to-zero can reduce timing errors and suppress signal- dependent phenomena.Medium Medium Differential current switches [19,26,27] hardware levelReduces clock-feedthrough and current spikes, cancelling a current spike by gener- ating an additional, opposite current spike. Enables faster switching.Medium Medium Circuit component optimisation [23,28] hardware levelGlitches are affected by transistor sizes, switching voltages, output capacitances and transistor types.Low Low Dynamic element matching [16,21,29]–[32] ﬁrmware levelUnary weighted DACs have redundancy in the representation of output values. Randomising the output elements for such DACs can minimise the effect of glitches.High High systems [40]–[45]. More recently, dithering has been applied to non-linearities in digital-analogue converters: Mitigation of the harmonic distortion caused by uniform quantisation [8,11]– [14], mitigation of the effects due to the static non-linear transfer-function caused by element mismatch [17,46]–[51], and mitigation of various quantisation and non-linear ef- fects in direct digital synthesis [52]–[54], digital phase-locked loops [55,56] and frequency synthesisers [57]. A. Contribution A glitch model is developed which is intended to provide a description of glitches of any shape and to predict performance impact. The main differences between previous modelling efforts and the presented model are noted in Sec. II. However, the main feature of the presented model is the structure that makes it amenable to analysis using established theory for dithering non-linear systems [41,43,45]. Hence, the effect of applying stochastic and periodic dither signals is analysed in detail, and bounds for the expected value of the dithered glitch response are derived. It is demonstrated that these bounds can approximately be met by using sufﬁcient low-pass ﬁltering. The mitigation of glitches that occurs is particularly suitable for retroﬁtting to existing systems as no hardware modiﬁcations are required. B. Notation A deﬁnition is denoted by ≜and∗denote the convolution product. The Laplace operator is denoted L. Functions of time tare usually denoted by lower case, e.g. g(t), and the Laplace transformed by upper case, e.g. G(s) =L[g](s). The Heaviside step-function is denoted H(u)deﬁned as H(u)≜0, u≤0 1, u > 0. (1) The notation Lp(R)indicate the Lp-space p= 1,2, . . . ,∞and ||g||pthep-norm of g(t). For a stochastic process d(t, ω)the dependency on the sample variable ωis omitted. Convolution is deﬁned as (f∗g)(t)≜Z∞ −∞f(τ)g(t−τ) dτ . (2)C. Outline The remainder of this article is structured as follows: Sec. II presents the glitch model and an experimental validation of the response. Sec. III frames the analysis of the model in terms of existing theory for dithering (stochastic and periodic), and Sec. IV uses this framework to determine analytical proper- ties of the dither model response for uniformly distributed dither signals (stochastic or periodic). Sec. V describes an experimental set-up used obtain measurements from a digital- to-analogue converter with signiﬁcant glitches and Sec. VI presents the experimental results in order to validate the model response and to illustrate the character of the mitigation that occurs. A discussion of the results are presented in Sec. VII, and the paper is concluded in Sec. VIII. II. G LITCH MODEL There are several models for glitches that occur in DACs. The model in [35] approximates glitch behaviour by opposite ramp-signals that are offset in time, and similar models are presented in [38] using piece-wise linear approximations. In [4,36] glitches are modelled as rectangular pulses, and in [37] a function comprised of hyperbolic and trigonometric expressions is used to approximate the glitch shape. The model in [33] superimposes two arbitrary functions to obtain a good glitch approximation, which also allows Fourier-analysis of the distortion. Unfortunately the formulation or structures of these models are not amenable to analysis of the effects of dithering using existing frameworks; hence a new model is developed in order to achieve this. In the presented model, glitches are modelled as short, symmetric or asymmetric rectangular pulses driving a linear- time invariant (LTI) ﬁlter. If the response of a glitch can be measured with sufﬁcient time resolution, then this approach can describe arbitrary glitch shapes, as an LTI ﬁlter can deﬁne any causal pulse response [58]. The LTI ﬁlter can be found using e.g. system identiﬁcation techniques [59], or can be determined from ﬁrst-principles if the components in the signal path are known. With an appropriately chosen LTI ﬁlter, the presented model will have an identical response, or be a close approximation, to previously published models. 3 tu tyi t∆yiτiTi Fig. 1: Symmetric glitch model response to a triangle-wave. A. Symmetric Glitch Model Consider the signal u(t), and the same signal u(t−τi) delayed by τi>0. If a DAC has NTtransition glitches, with polarity depending on the direction of crossing, at the thresholds Ti, and Ti=Tjonly when i=j, then the effect of the square pulses generated when crossing these thresholds can be described using the symmetric glitch model ng(u(t))≜NTX i=1(gi∗∆yi)(t). (3) Here, the square pulses are constructed using ∆yi(t)≜yi(t)−yi(t−τi), (4) where yi(t)≜ni(u(t)) (5) are the outputs of the functions ni(u). These functions (or non-linearities) are used to generate the pulses triggered at the thresholds Tias ni(u) =1 τH(u−Ti). (6) The construction of ∆yi(t)is illustrated in Fig. 1. If gi= 1 this model is equivalent to the models in [4,36], and since the functions nican be chosen arbitrarily, with appropriate choices, the model can be made identical to the models presented in [33,35,37]. Note that in Sec. III and onward the input signal u(t)is the combination of two different signals u(t) =x(t) +d(t), (7) where x(t)is the deterministic signal that should be recon- structed by the DAC. The dither signal d(t)is added to smooth the glitch responses and can be either stochastic or periodic, but is otherwise unwanted in the output. The rectangular pulse ∆yi(t)has unit area. The shape of the glitch (3) is determined by the linear time-invariant (LTI) ﬁlter Gi(s) =L[gi](s). That is, the shape of a glitch can be described by the response of the ﬁlter Gi(s)due to the pulse ∆yi(t). Recall that an LTI ﬁlter can deﬁne any causale−τisni ni+ Gi(s)U(s) −∆Yi(s) Fig. 2: Glitch sub-model for a symmetric response. | · |+ +G+ i(s) G− i(s)∆Yi(s) − Fig. 3: Glitch sub-model for an asymmetric response. pulse response [58]. As the time-delay τi→0, the response converges to the impulse response. The net area Aiof a glitch, Ai≜lim t→∞Zt 0Z∞ −∞gi(ξ−w)∆yi(w)dwdξ (8) = lim s→0s1 s1 τi1−e−τis sGi(s) =Gi(0), (9) is determined by the DC-gain of Gi(s). The area of this response is typically referred to as the glitch energy [33]. A block diagram of the model is shown in Fig. 2. B. Asymmetric Glitch Model If the glitches are asymmetric, i.e. the amplitude is different depending on whether the input is falling or rising, then, with the same assumptions as before, the effect of the square pulses generated when crossing the thresholds can be described using the asymmetric glitch model ˜ng(u(t))≜NTX i=1 (g+ i∗y+ i)(t) + (g− i∗y− i)(t) , (10) where a rising pulse is described by y+ i(t)≜1 2(|∆yi(t)|+ ∆yi(t))≥0, (11) and a falling pulse is described by y− i(t)≜1 2(|∆yi(t)| −∆yi(t))≥0. (12) A block diagram of the model is shown in Fig. 3 and the construction of y+ i(t)is illustrated in Fig. 4. The LTI ﬁlters G+ i(s)determine the glitch shape when u(t)is rising, andG− i(s)when u(t)is falling. The model is equivalently expressed as ˜ng(u(t)) =1 2NTX i=1 (g+ i−g− i)∗∆yi (t) + (g+ i+g− i)∗ |∆yi(t)| (t) .(13) Ifg− i(t) =−g+ i(t), the symmetric model (3) is obtained. 4 t1 2∆yi t1 2|∆yi| t1 2(|∆yi|+∆yi) Fig. 4: Asymmetric glitch model response to a triangle-wave. 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 Time (s)-8-6-4-20246)Vm( egatloVModel Measured Response Fig. 5: Measured and model response (13) for a TI DAC8544, using a sinusoidal input signal with an amplitude of 0.01% (6.5535) of full range (65535 →20 V). Plots offset for clarity. C. Model Validation The response of the model is illustrated in Fig. 5 where it is compared to the measured response of a DAC channel in the experimental set-up. The DAC is the 16-bit Texas Instruments DAC8544. The set-up is described in detail in Sec. V. The maximum supported sampling rate of 1 MS/s was used. It has large transition glitches at code intervals of 4096, hence there are 16 transition glitches over the full range. There is a minor glitch for every least-signiﬁcant bit. The ﬁlters G± i(s)are in this case determined to be on the form G± i(s)≜ˆA± i τW(s). (14) The areas ˆA± iare set to ˆA+ i=−60.6nVs for the major glitches with rising input, ˆA− i= 51 .9nV for the major glitches with falling input, and ˆA± i=±2.40nVs for the minor glitches. The glitches are likely generated during code transitions where the new code signal value appears before or after the signal value of the former code disappears [4]. Depending on the exact implementation, such code dependent transitions may not exhibit symmetry in response. The glitch energy at mid-code was estimated using the trapezoidal method, as illustrated in Fig. 6, where the model response of a major glitch when the input is rising is compared 0 5 10 15 20 25 30 35 40 45 50 Time (μ s)-9-8-7-6-5-4-3-2-101)Vm( egatloV Model (Filtered by Anti-Aliasing Filter) Measured Glitch (Average) Fig. 6: A measured glitch and the corresponding model response. In this case the model glitch duration τis set to the sampling time of the ADC. The measurements were averaged over several periods of the input signal. to the measured response. The areas ˆA± iof the remaining 15 glitches were found to be approximately the same. Since the mid-code glitch was primarily excited during experiments, an identical area for all major glitches provided sufﬁcient accuracy. Furthermore, τ= 1/625µs, which is the sampling time of the analogue-to-digital converter (ADC) (an Analog Devices AD7674) with a maximum supported sampling rate of 625 kS/s. This choice was intended to match the sam- pling times between measurement and simulation, to avoid downsampling the simulation results. However, running the simulation at 1 MS/s, or higher, and resampling to 625 kS/s yielded near identical results. The ﬁlter W(s)is the anti- aliasing ﬁlter, W(s)≜2πfc s+ 2πfc2 , (15) with cut-off frequency fc= 62.5kHz. As the plot in Fig. 6 indicates, the accuracy of the model is good in terms of predicting the area of the glitch as well as the shape; in this case mainly determined by the energy of the glitch exciting the dynamics of the anti-aliasing ﬁlter. Since the response was measured using an ADC with a different sampling rate (and not synchronised with the DAC), the switching times are not predicted exactly. The integral non- linearity (INL) of the DAC was measured and used to predict the static voltage levels, but there is some error in the these measurements which is neglected. III. T YPES OF DITHER In general, there are two types of dither signals: stochastic and periodic. Both achieve similar effects, and both deliver identical results in terms of the expected value [41]. In the following we determine that the expected value can be expressed via an averaged non-linearity, and consider the error in the output introduced by dithering. By removing the error, the ideal averaged response is obtained. Analysis of the effect of the model response due to dither signals is achieved using theory developed for dithering of non-smooth 5 systems [45] for periodic signals, and well-known results from probability theory [60] for stochastic signals. As we do not aim for complete generality, we assume in the upcoming Sections the existence of various densities. However, the result can without much difﬁculty be formulated in terms of the corresponding distribution functions. To avoid unnecessary notation we consider DACs with only one transition glitch in this Section: the subscript iis omitted. A. Averaging Due to Stochastic Dither The ﬁrst case to be considered is where the dither signal in (7) is of a stochastic nature. By a stochastic dither signal d(t)we understand an identically distributed stochastic process having the strictly white noise property, i.e. d(ti)andd(tj) are independent for each pair tiandtj. We follow [60] on the subject of white noise — for a rigorous mathematical exposition see [61]. In this Section we let n(u)denote a function of bounded variation (on R). It will be thought of as a threshold, e.g. as (6), and referred to as a non-linearity. Consider the strictly white noise input signal u(t)≜x(t) +d(t), (16) deﬁned as the sum of a deterministic signal x(t)and a stochas- tic dither signal d(t). Let fd(z)be the probability density function corresponding to d(t), and fx(z, t) =δ(z−x(t)) the probability density function corresponding to x(t). Here, δ(·)denotes the Dirac delta function. The signal u(t)will then have probability density function fu(z, t) =Z Rfx(z−w, t)fd(w) dw=fd(z−x(t)).(17) Consider the strictly white noise output y(t) =n(u(t)) =N(x(t)) +ε(t), (18) where the application of the dither signal makes it possible to deﬁne an averaged1non-linearity N(z)≜Z Rn(z+w)fd(w) dw , (19) related to n(u)and the stochastic dither signal d(t), but also introduces an error term ε(t). Here, ∥N∥∞≤ ∥fd∥1∥n∥∞=∥n∥∞ (20) since u∈L∞(R)by the bounded variation property of n(u). The average non-linearity thus reduces the effect caused by the non-linearity. Moreover, if LD≜supz∈R|fd(z)|<∞ then by [45, Lemma A.1] LN≤LDTV(n) (21) with LNa Lipschitz constant of N(z)andTV(n)the total variation of n(u). Now, by using (19) the expected value of the output is E[y(t)] =Z Rn(u)fd(u−x(t)) du (22a) =Z Rn(x(t) +w)fd(w) dw (22b) =N(x(t)), (22c) 1sometimes also referred to as “effective” or “smoothed”leading to the output auto-covariance Cy(t, s)≜E[y(t)y(s)]−E[y(t)]E[y(s)] (23a) =( 0 t̸=s E[y2(t)]−N2(x(t))t=s(23b) ≜q(t)χ{t}(s) (23c) where χ{t}(s)denotes the indicator function, and the ﬁrst case in (23b) follows by the strictly white noise property of y(t) and the second case follows by (22c). Consider the zero-mean strictly white noise error signal ε(t) =y(t)−N(x(t)), (24) having auto-covariance Cε(t, s) =Cy(t, s). The time-varying variance of the error signal is thus q(t) = E[ ε2(t)] =Z Rn2(u)fd(u−x(t)) du−N2(x(t)). That is, for the non-linearity (6) it follows that n2(u(t)) = n(u(t))/τ, and the expression for q(t)can be found as q(t) =1 τN(x(t))−N2(x(t)). (25) In order to approximately obtain the averaged response in the output y(t), the variance q(t)must be reduced. A well-known result in linear system theory is that for a stationary white noise input signal w, with auto-covariance Cw(t, s) =σw2χ{t}(s)where σw2is a constant, the variance of the response of the output vof an LTI-ﬁlter G(s)is [62] σv2=∥G(s)∥2σw2, (26) where ∥G∥H2denotes the H2norm of G(s). Due to the frequency selective properties of an LTI-ﬁlter, it is possible to devise a ﬁlter that has smaller variance on the output than the input, i.e. reduces the noise. A typical signal chain contains several low-pass ﬁlters; in particular the reconstruction ﬁlter (needed to satisfy the NyquistShannon theorem). This ﬁltering can be expressed by the ﬁlters gi(t),g± i(t)in the models (3) and (13). These ﬁlters can be expected to reduce the unwanted signal component due to the dither signal. Now, the variance (25) of the error signal (24) is not stationary, and (26) does not apply. However, an LTI-ﬁlter will reduce the variance of this signal: Consider the impulse response g(t)corresponding to the LTI ﬁlter G(s)and deﬁne the ﬁltered error signal ¯ε(t)≜(g∗ε)(t), as the output of the ﬁlter g(t)due to the error signal ε(t). The variance of the ﬁltered error signal is then C¯ε(t, t) =E[¯ε2(t)] (27) = (q∗g2)(t) (28) =Z Rq(t−w)g2(w) dw , (29) 6 where (28) follows by [60, Theorem 9-3]. Hence if q∈L1(R) andg2∈L2(R)then ∥C¯ε∥2=∥q∗g2∥2 (30a) ≤ ∥q∥1∥g2∥2 (30b) =∥q∥1∥Lg2∥H2 (30c) where (30b) follows by Young’s convolution theorem [63] and (30c) follows by Parseval’s theorem. By (30) the variance of the ﬁltered error signal will be attenuated by the energy of the impulse response squared g2 2. For strictly proper, unity gain low-pass ﬁlters, the energy of the impulse response is directly related to the cut-off frequency: A lower cut-off frequency yields lower energy, hence smaller variance for the ﬁltered error signal ¯εand the ﬁltered output will in this sense approach the ideal averaged response, but the effect the ﬁlter has on the signal to reconstruct, x(t), must also be taken into account. B. Averaging Due to Periodic Dither In terms of smoothing, similar results are obtained using either stochastic or periodic dither signals. In the stochastic case, low-pass ﬁltering on the output reduces the variance of the non-stationary error signal. For the periodic case it is the dither frequency and how well the low-pass ﬁltering on the output resembles a windowed integrator that determines the residual error. In this case (16) consists of a deterministic signal x(t)and a periodic dither signal d(t)with sufﬁciently high frequency and amplitude. The averaged non-linearity (19) is also deﬁned for periodic dither signals [41,43,45]. In this case fd(z)is the amplitude density function of the periodic dither signal d(t), which is the deterministic equivalent to the probability density function. As in the case of stochastic dither, the average non- linearity induced by a periodic dither reduces the effect caused by the non-linearity, as determined by (21). For each t≥0letJt= [t−ρ, t]denote the interval of length ρ > 0. The method of averaging via a periodic dither signal, with period ρ, relies on the equivalence (see [45] for a reference)Z Rn(z+w)fd(w) dw=1 ρZ Jtn(z+d(τ)) dτ (31) between the average non-linearity and a time-average over one period Jtof the periodic dither. Hence, averaging can be implemented by using a windowed integrator (a continuous- time moving average). From a practical point of view this is advantageous, as there is no readily apparent way to implement a physical realisation of the convolution product on the left-hand side of (31), but an integrator like the right- hand side of (31) can be realised using analogue circuitry. This realisation can take the form in (34), shown below, but as the dither frequency is ﬁnite, an error is introduced. To make this more precise recall ﬁrst from [45] that; if x(t) has a Lipschitz constant LX=LX(Jt)onJtthen Z Jtn(x(τ) +p(τ)) dτ−Z Jtn(˜x+p(τ)) dτ ≤2LDLXTV(n)ρ2(32)with ˜xsatisfying min t∈Jtx(t)≤˜x≤max t∈Jtx(t). (33) As with (31) the error bound (32) holds for any interval of length ρ. Using (19) and (31) and α(t)≜1 ρZ Jtγ(τ)dτ≜1 ρZ Jtn(x(τ) +p(τ))dτ, (34) the above result (32) yields |α(t)−N(x(t))|=1 ρ Z Jtγ(τ) dτ−Z Jtn(x(t) +p(τ)) dτ ≤2LDLXTV(n)ρ (35) with LX=LX(Jt)a Lipschitz constant of x(t)onJt. If ¯LX≜supt∈[0,∞)LX(Jt)<∞, the error bound (35) implies the error bound |A(s)−GN(s)| ≤2LD¯LXTV(n)ρ/σ , σ > 0 (36) between the Laplace transformed A(s)andGN(s)ofα(t) andN(x(t)), respectively, with s=σ+iω. The error bound (36) can further be elaborated on to obtain a conclusion in analogue with (30). For this, let r(u)≜H(u+ρ)−H(u) denote a rectangle function expressing the interval Jtof width ρ, with H(u)the Heaviside step function (1). The signal α(t) can then be expressed as α(t) =1 ρZ∞ 0r(t−τ)γ(τ)dτ=1 ρ(r∗γ)(t). The Laplace transformed A(s)is thus given by A(s) =1 ρR(s)Γ(s) =1−e−ρs ρsΓ(s) (37) withR(s)andΓ(s)the Laplace transformed of r(t)andγ(t) respectively. It is possible to realise a windowed integrator (34), which frequency response is expressed by R(jω)/ρ, but due to practical limitations of the resulting analogue circuitry, the actual performance will not be satisfactory. However, as noted in Sec. III-A, a typical signal chain contains several low-pass ﬁlters. The frequency response |R(jω)/ρ|is the sinc-function, which has a low-pass characteristic. If the ﬁlters in the circuit resemble the sinc-function, i.e. ∥|G(jω)| − |R(jω)/ρ|∥2is small, then the error bound (36) is a good approximation and A′(s)≜G(s)Γ(s) (38) therefore represents an approximation of GN(s)which is implementable. It can be concluded that to minimise the error when using a periodic dither, the dither frequency should be as high as practically possible, as it makes the period ρ and hence the bound (36) small, and the frequency response of the low-pass ﬁlter on the output should resemble the corresponding sinc-function. In applications, high-frequency dither signals may cause additional non-linear distortion, such as slewing. A low-pass ﬁlter has limited attenuation, hence it is not possible to completely remove the dither signal. Furthermore, the glitches, as well as other non-linearities such as the integral non-linearity (INL), will produce inter- modulation causing frequency components to appear below 7 the fundamental frequency of the dither signal. Such effects must be taken into account when determining the potential improvement from dithering. IV. P ROPERTIES In this Section we study the properties of a stochastic and periodic dither signals with uniform density applied to the glitch model. An averaged response is found in the symmetric case, and a response bound is found for the asymmetric case. A. Dither With Uniform Distribution Assume that the dither signal d(t)in the stochastic case is uniformly distributed white noise where d(t)∈[−A, A], and in the periodic case is a triangle wave with amplitude A. Then both the probability density function and the amplitude density function will equal a rectangle function f(z)as f(z) =1 2A H(z/A+ 1)−H(z/A−1) (39a) =0,|z| ≥A 1 2A,|z|< A, (39b) with Lipschitz constant LD= 1/(2A). Using (21) for the non-linearity in (6), with total variation TV(ni) = 1 /τi, the average non-linearity Ni(z)is bounded in growth by the Lipschitz constant LNi= 1/(2Aτi). Since f(z)is even, (19) is equivalent to Ni(x(t)) =Z Rni(ξ)f(x(t)−ξ)dξ . (40) Hence, for a non-linearity (6) with Ti= 0, the average non- linearity is Ni(x(t)) =1 2AτiZ RH(ξ) H(x(t)−ξ+A) (41a) −H(x(t)−ξ−A) dξ (41b) =1 2Aτi (x(t) +A)H(x(t) +A) (41c) −(x(t)−A)H(x(t)−A) (41d) =8 < :0, x(t)≤ −A 1 2Aτi(x(t) +A),|x(t)| ≤A 1 τi, x(t)≥A, (41e) and therefore Ni(x(t))∈[0,1/τi]. Fig. 7 illustrates the effect: The non-linearity ni(u(t))is shown, as well as (gi∗ni(x+ d))(t)representing the response of a low-pass ﬁlter gi(t) applied to the output yi(t) =ni(x(t) +d(t))when using a uniform white-noise dither d(t). Moreover, Ni(x(t)), given by (41), is also shown which according to (22c) correspond to the expected value E[yi(t)]. The effect of noise-modulation (25) is noticeable, as the variance is larger around zero, than towards the dither amplitude limits at −AandA. From Fig. 7 it can also be seen that the expected value E[y(t)]of the output is close to the ﬁltered mean E[(gi∗yi)(t)] = ( gi∗E[yi])(t). -A T1A Input01/OutputFig. 7: Average non-linearity: Expected value E[yi(t)] = Ni(x(t))and the ﬁltered expected value (gi∗Ni(x))(t) compared to simulated response when using uniform white- noise dither. 1) Symmetric Glitches: In the case of symmetric glitches it is straightforward to construct an average model of (3), or equivalently (13) with g− i(t) =−g+ i(t). Consider ﬁrst the mean value E[(gi∗yi)(t)] =EZ Rgi(w)yi(t−w) dw =Z Rgi(w)E[yi(t−w)] dw = (gi∗E[yi])(t) = (gi∗Ni(x))(t). Applying this to each term in the model (3) yields E[(gi∗∆yi)(t)] = ( gi∗∆Ni)(t) with ∆Ni(t)≜E[yi(t)−yi(t−τi)] (42a) =E[yi(t)]−E[yi(t−τi)] (42b) =Ni(x(t))−Ni(x(t−τi)) (42c) The averaged model corresponding to (3) is therefore E[ng(u(t))] =NTX i=1(gi∗∆Ni)(t). (43) For practical implementation it is important to note that (for a suitable choice of dither amplitude A) the average symmetric glitch model (43) can be approximated by a linear combination of the averaged non-linearities — see (44). To see this assume that for a given time-delay τi, the dither amplitude Ais chosen such that E[yi(t)] =Ni(x(t))can be considered approximately constant (for the duration of the time-delay, i.e. slowly varying compared to τi). Typically, τiis small and A therefore needs to be large, according to (41). It follows that E[(gi∗yi)(t)] =Z Rgi(w)E[yi(t−w)] dw ≈Z Rgi(w) dwNi(x(t)) =AiNi(x(t)), 8 with Ai=Gi(0)as in (8). The mean of each term in the symmetric glitch model (3) can then be approximated as E[(gi∗∆yi)(t)]≈Ai∆Ni(t) where ∆Ni(x(t))typically is close to zero as the dither amplitude Ais chosen very large. The average symmetric glitch model (43) is therefore approximately given by E[ng(u(t))]≈NTX i=1Ai∆Ni(t). (44) 2) Asymmetric Glitches: In the case of the asymmetric glitch model (13) it is not possible to ﬁnd an average model on the same form as in (43) but it is possible to ﬁnd a bound for the response. This is due to the need to take the absolute value of the square pulses ∆yi(t)in (13), which means the output cannot be constructed as a linear combination of the outputs of the non-linearities, as is the case in (3), and we resort to using the triangle inequality. For the ﬁrst term in (13)  (g+ i(t)−g− i)∗∆yi (t)≜(˜gi(t)∗∆yi)(t) we proceed as in the symmetric case to obtain E[(˜gi∗∆yi)](t) = (˜gi∗∆Ni)(t) with the approximation (for large A) E[(˜gi∗∆yi)](t)≈˜Ai∆Ni(t) where ˜Ai=A+ i−A− iandA± i=˜G± i(0). For the second term (g+ i(t) +g− i(t))∗ |∆yi(t)|≜¯gi(t)∗ |∆yi(t)| we derive two bounds. For the ﬁrst bound the triangle inequal- ity is applied as |∆yi(t)|=|yi(t)−yi(t−τ)i| ≤ |yi(t)|+|yi(t−τi)|(45) to obtain E[(¯gi∗ |∆yi|)](t)≤(¯gi∗E[|yi|])(t) + (¯gi∗E[|yi|])(t−τi) ≜B+ i(t). (46) Note that since the function ni(z), given by (6), is positive E[|yi(t)|] =Z R|ni(z)|f(z−x(t)) dz (47) =Z Rni(z)f(x(t)−z) dz (48) =Ni(x(t)), (49) with f(z)given by (39). Hence the bound (46) can equiva- lently be expressed as B+ i(t) = (¯gi∗Ni(x))(t) + (¯gi∗Ni(x))(t−τi) (50) and for large dither amplitude Abe approximated by B+ i(t)≈¯Ai Ni(x(t)) +Ni(x(t−τi)) ≜¯B+ i(t)(51) where ¯Ai=A+ i+A− i.For the second bound we note that n(u) =−n(−u) + 1 , hence similar to (45) we apply the triangle inequality to obtain |∆yi(t)|=|ni(u(t))−ni(u(t−τi))| =|ni(−u(t))−ni(−u(t−τi))| ≤ |ni(−u(t))|+|ni(−u(t−τi))| and therefore also a second bound E[(¯gi∗ |∆yi|)](t)≤(¯gi∗E[|ni(−u)|])(t) + (¯gi∗E[|ni(−u)|])(t−τi) ≜B− i(t) (52) similar to (46). Moreover, B− i(t) = (¯gi∗N(−x))(t) + (¯gi∗N(−x))(t−τi)(53) since E[|ni(−u)|] =N(−x(t)), hence for large A B− i(t)≈¯Ai Ni(−x(t)) +Ni(−x(t−τi)) ≜¯B− i(t)(54) Collecting the two bounds (46) and (52) in Bi(t) = min t{B+ i(t), B− i(t)}, an upper bound for the mean of the asymmetric glitch model (13) is E[˜ng(x(t))]≤1 2NTX i=1(˜gi∗∆Ni)(t) +Bi(t) (55) ≈1 2NTX i=1˜Ai∆Ni(t) +¯Bi(t) (56) with ¯Bi(t) = min t{¯B+ i(t),¯B− i(t)}. B. Single Glitch Responses to a Ramp Signal For simplicity consider a single threshold T1, which means NT= 1, and suppose T1= 0. Assume that the signal x(t) can be approximated locally by a ramp x(t) =LXt , (57) where 0< L Xτ1< A. 1) Symmetric Glitch Response: From (41e) and (42c) it follows that: ∆N1(t) = 1 2Aτ18 >>>>< >>>>:0, LXt∈(−∞,−A) LXt+A , L Xt∈(−A,−A+LXτ1) LXτ1, L Xt∈(−A+LXτ1, A) A+LXτ1−t , L Xt∈(A, A +LXτ1) 0, LXt∈(A+LXτ1,∞)(58) Using a periodic (triangle-wave) dither with density (39), Fig. 8 shows the the response of the symmetric glitch model (3) in blue (with u(t) = x(t)), the averaged sym- metric glitch model (43) in red and the approximation (44) is indicated by the dotted line. Fig. 9 shows the equivalent for a stochastic dither signal. In this example LX= 1000 , τ1= 10−6s = 0.001 ms, and A= 1. The output was ﬁltered, using zero-phase ﬁltering [64], by g1(t) =kg1w(t), 9 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Time (ms)00.10.20.30.40.50.60.70.8AmplitudeDithered and filtered glitch Filtered glitch Analytic approx. Filtered glitch amplitude: 4.69 Fig. 8: Symmetric glitch response, using a periodic (triangle wave) dither. Ripple is due to ﬁnite dither frequency and imperfect averaging. Note that the plot of the ﬁltered glitch response (no dither) has be clipped in order to obtain a reasonable scale for the dithered response. -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Time (ms)00.10.20.30.40.50.60.70.8AmplitudeDithered and filtered glitch Filtered glitch Analytic approx. Filtered glitch amplitude: 4.69 Fig. 9: Symmetric glitch response, using stochastic dither. The variation of the smoothed (dithered and ﬁltered) glitch is due to imperfect ﬁltering on the output. Note that the plot of the ﬁltered glitch response (no dither) has be clipped in order to obtain a reasonable scale for the dithered response. with kg1= 5·10−5andw(t) =L−1[W](t), with W(s) given by (15). It can be seen that the glitch is converted from a large amplitude disturbance with a short duration, to a smaller amplitude disturbance with a longer duration, and the maximum slope and value of the averaged glitch response is affected by A, which can be considered a design parameter. For periodic dither the period ρwill affect the result, reducing ripple as the period is reduced, but is limited by the considerations mentioned in Sec. III-B. The time- delay τ1and Lipschitz constant LXare set by the device and speciﬁc application. Given (25) and (36), increasing A does not necessarily increase the error variance or ripple in the output of the glitch model. However, the glitch model is linearly combined with the quantised output of the DAC, and the dither will be present as an unwanted disturbance in this signal. Hence, the reconstruction ﬁlter should be able to provide sufﬁcient attenuation of the dither signal, depending on the application. -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Time (ms)00.10.20.30.40.50.60.70.8AmplitudeDithered and filtered glitch Filtered glitch Bound (analytic approx.) Filtered glitch amplitude: 4.78Fig. 10: Asymmetric glitch response, using a periodic (triangle-wave) dither. The maximum amplitude of the smoothed (dithered and ﬁltered) glitch depends on parameters such as dither frequency or input signal amplitude but the expected value will not exceed the bound. Note that the plot of the ﬁltered glitch response (no dither) has be clipped in order to obtain a reasonable scale for the dithered response. -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Time (ms)00.10.20.30.40.50.60.70.8AmplitudeDithered and filtered glitch Filtered glitch Bound (analytic approx.) Filtered glitch amplitude: 4.78 Fig. 11: Asymmetric glitch response, using a stochastic dither. The variation of the smoothed (dithered and ﬁltered) glitch is due to imperfect ﬁltering on the output. A lower cut-off frequency reduces the variance and brings the signal towards the bound. The bound is for the mean value. Note that the plot of the ﬁltered glitch response (no dither) has be clipped in order to obtain a reasonable scale for the dithered response. 2) Asymmetric Glitch Response Bound: In this case the bound ¯B1(t)is: ¯B1(t) = 1 2Aτ18 >>>>>>< >>>>>>:0, LXt∈(−∞,−A) LXt+A, L Xt∈(−A,−A+LXτ1) 2LXt+ 2A−LXτ1, LXt∈(−A+LXτ1,LXτ1 2) −2LXt+ 2A+LXτ1,LXt∈(LXτ1 2, A) −LXt+A+LXτ1, LXt∈(A, A +LXτ1) 0, LXt∈(A+LXτ1,∞) (59) The analytic approximate bound (55), as well as a simulated response is shown in Fig. 10 for a periodic (triangle-wave) dither signal, and in Fig. 11 for a stochastic dither signal. 10 DAC ...(16 channels) + W(s) Anti-aliasing Filter DAC DAC8544 FPGA Interface (NI PCIe-7851R)CPU ComputerADC NI USB-6289USB DMAParallel Bus Fig. 12: Experimental set-up. Again, LX= 1000 ,τ1= 0.001ms, and A= 1. The output was ﬁltered, using zero-phase ﬁltering [64], by ˜g1=1 2(k+ g1+k− g1)w(t), (60) with k+ g1=−5.0·10−5,k− g1= 5.1·10−5, and w(t) = L−1[W](t), where W(s)is as given by (15). Again the glitch is converted from a large amplitude disturbance with a short duration, to a smaller amplitude disturbance with a longer duration. However, due to the asymmetry, the averaged glitch response is larger, but the maximum slope and value of the averaged glitch response is affected by A. Increasing Ahas the same effect as in the symmetric case in terms of error variance or ripple of the glitch model, but the quantised output of the DAC will also contain the dither signal, necessitating attenuation by the reconstruction ﬁlter. V. E XPERIMENTAL SET-UP The experimental set-up is shown in Fig. 12. The DAC is a Texas Instruments DAC8544, as noted in Sec. II-C. The DAC features a parallel interface with low latency and provides sufﬁcient sampling rate to accommodate dither signals with frequencies well above the mechanical bandwidth of common platforms used for high-precision motion control. The DAC exhibits large transition glitches making it ideal for experimen- tally validating the model and its response to dithering. Sixteen DAC-channels were used, reducing the stochastic noise-ﬂoor to emphasise the deterministic and systematic error introduced by the glitches. Note that averaging of several channels is not necessary for the method to work. The variance of any deterministic signal is zero at any time instant, and will not be affected by the averaging of several channels; the same signal is reproduced for each channel, summed and scaled, recovering the same signal. Noise, however, is independent for each channel, and summing and scaling will cause the overall variance at any time instant to be reduced by a factor 1/NC, where NCis the number of channels. In order to minimise the dither in the output of the summing stage, the inverse of the dither signal was applied to half of the DACs, causing the dithers to approximately cancel each other out. When using dither signals with opposite polarity, large voltage differences can occur in the summing 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Noise dither (1 LSB)(a) Simulation result (stochastic). Plots offset for clarity. 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Noise dither (1 LSB) (b) Experimental result (stochastic). Plots offset for clarity. Fig. 13: Uniform noise with 1 LSB peak-to-peak amplitude. stage, potentially drawing higher currents than the DAC is designed for. Hence, the DAC outputs were buffered, using the Texas Instruments LME49990 operational ampliﬁer, which has sufﬁcient bandwidth and linearity. The DACs were connected via a parallel bus to an FPGA onboard a National Instruments PCIe-7851R interface card. The DAC driver was implemented in VHDL. LabVIEW, running on the computer (CPU), was used to generate and stream signals to the FPGA via direct memory access (DMA) over the peripheral component interconnect express (PCIe) bus. Using the sixteen DACs simultaneously, a sampling rate of 1 MS/s was achieved. The output was measured using a National Instruments USB-6289, which contains an Analog Devices AD7674 18- bit successive approximation analogue-to-digital converter (ADC). This ADC has sufﬁcient linearity and sampling rate, as well as higher resolution than the DAC, ensuring that it is possible to measure the response of the DAC without additional distortion. A sampling rate of 625 kS/s was used, which is the maximum supported by the interface to USB- 6289. As described in Sec. II-C, the USB-6289 contains two ﬁrst-order passive low-pass ﬁlters (15), with fc= 62.5kHz. VI. S IMULATION AND EXPERIMENTAL RESULTS A set of simulations and experiments were conducted to validate the model and evaluate the glitch mitigation method. Since the achievable sampling rate in the experimental set-up 11 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Periodic dither (1 LSB) (a) Simulation result (periodic). Plots offset for clarity. 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Periodic dither (1 LSB) (b) Experimental result (periodic). Plots offset for clarity. Fig. 14: Triangle-wave at 69 kHz, 1 LSB peak-to-peak. is 1 MS/s, the glitch duration in the model was set to τ= 1µs. Furthermore, the model was set up using the glitch areas found in Sec. II-C; that is, the area for the major glitches was set to ˆA+ i=−60.6nVs for the rising input, and ˆA− i= 51 .9nVs for the falling input, at each major glitch i. The area of the minor glitches was set to ±2.40nVs. The reference signal x(t)was set to be a 9 Hz sine-wave with an amplitude of 0.05% of the full range of the DAC. The stochastic dither signal was produced using a pseudo- random number generator with uniformly distributed samples. The periodic dither signal was set to be a 49 kHz triangle-wave (which has a uniform amplitude distribution). The ADC input was ﬁltered by the anti-aliasing ﬁlter (15), and a second-order low-pass Butterworth ﬁlter with cut-off frequency at 10 kHz was used to ﬁlter the measured response in order to achieve the desired averaging of the glitches. Five pairs of conﬁgurations were trialled. The ﬁrst pair was using a noise dither with a 1 least signiﬁcant bit (LSB) range, that is, the dither was in the range [−0.5,0.5]LSB, or approximately 0.00153% of the full range of the DAC. The simulation result is shown in Fig. 13a and the experimental result is shown in Fig. 13b. The second pair was using a periodic dither with a 1 LSB peak-to-peak amplitude. The simulation and experimental results are shown in Fig. 14. The third was using a periodic dither with a 25 LSB (0.0381%) peak-to-peak amplitude, with results shown in Fig. 15. The 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Periodic dither (25 LSB)(a) Simulation result (periodic). Plots offset for clarity. 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Periodic dither (25 LSB) (b) Experimental result (periodic). Plots offset for clarity. Fig. 15: Triangle-wave at 69 kHz, 25 LSB peak-to-peak. fouth was using a noise dither with a 100 LSB (0.153%) range, with results shown in Fig. 16. The ﬁfth was using a periodic dither with a 100 LSB peak-to-peak amplitude, with results shown in Fig. 17. VII. D ISCUSSION The main beneﬁt from the averaging effect due to dithering and ﬁltering, is that a glitch can be converted from a large amplitude disturbance with a short duration, to a smaller amplitude disturbance with a longer duration. This is a major beneﬁt in closed-loop control applications, as a control law, which will always have limited bandwidth [65], can attenuate these low-frequency input disturbances but not the high- frequency impulse-like input disturbances. For symmetric glitches it is apparent from the example sum- marised in (58) that glitches of equal but opposing amplitudes tend to cancel each other out. The effective glitch response after dithering is small. The actual shape depends not only on the density function of the dither signal but also the input signal x(t). Increasing dither amplitude reduces the effective glitch amplitude and increases the duration of the glitch, whereas an increasing rate of change (Lipschitz constant) for the input signal has the opposite effect. If the input signal is bandwidth limited, there exists a maximum rate of change that can be used as a worst-case, and the amplitude can be chosen accordingly to provide sufﬁcient averaging of the glitches. 12 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Noise dither (100 LSB) (a) Simulation result (stochastic). Plots offset for clarity. 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Noise dither (100 LSB) (b) Experimental result (stochastic). Plots offset for clarity. Fig. 16: Uniform noise with 100 LSB peak-to-peak amplitude. For asymmetric glitches, the effect of dither amplitude and input signal rate-of-change is the same, but the glitches do not cancel each other out, and a larger excursion for the effective glitch is therefore to be expected, as illustrated by the expression (59). This is a bound for the expected value of the response, and the exact response will depend on dither frequency (for periodic dither signals) and the shape of the input signal. Note that increasing the amplitude of the dither does not necessarily increase the error variance or ripple in the output of the glitch model, due to the results in (25) and (36). However, the glitch model is linearly combined with the quantised output of the DAC, and the dither will be present as an unwanted disturbance in this signal. Hence, as the dither amplitude becomes larger, it becomes more difﬁcult to attenuate at the output. In Fig. 17 some residual ripple can be seen, when using a periodic dither. Due to the broadband nature of white noise, a signiﬁcant amount of dither power remains below the cut-off frequency when using a stochastic dither, as can be seen in Fig. 16. Since it is easier to remove the narrow-band ripple, rather than the broadband noise, a periodic dither can be considered to be more practical. However, the dither frequency is limited by the considerations mentioned in Sec. III-B. The fundamental limitations for the dither signals are set by the word size and sampling rate of the DAC: A smaller word size limits the ability to apply a large dither signal, as the 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Periodic dither (100 LSB)(a) Simulation result (periodic). Plots offset for clarity. 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 Time (s)-5-4-3-2-101234)Vm( egatloV No dither Periodic dither (100 LSB) (b) Experimental result (periodic). Plots offset for clarity. Fig. 17: Triangle-wave at 69 kHz, 100 LSB peak-to-peak. usable range of the DAC is reduced. The sampling rate limits the maximum frequency of the dither signal. For a stochastic dither, a high sampling rate means that more dither power is generated above the cut-off frequency of the reconstruction ﬁlter, which reduces overall output error variance. Similarly, for a periodic dither, a high sampling rate accommodates a higher fundamental frequency, reducing residual ripple. Considering the model validation results in Fig. 5 and 6, as well as the simulation and experimental results in Figs. 13, 14, 15, 16 and 17, it is apparent that the model provides a very good description of the glitches experienced in the DAC used in the experimental set-up. Using a small amplitude dither, as in Figs. 13 and 14, the minor glitches for each step are attenuated but the dither does not provide suppression of the major glitches. Note that the dither also linearises the quantisation steps, as expected [11]. A small amplitude dither is common in audio applications to mitigate quantisation error [66] but can be seen to aggravate the error due to glitches. Increasing the dither amplitude reduces the effect of the glitches signiﬁcantly, as observed in Fig. 15. In this case the glitch has been effectively converted to a low-frequency disturbance. Further increasing the amplitude causes further suppression of the glitches, as observed in Figs. 16 and 17. 13 VIII. C ONCLUSIONS A new glitch model was demonstrated to provide a good behavioural description of glitches produced by digital-to- analogue converters (DACs). It was further demonstrated both analytically and experimentally that dithering and low-pass ﬁltering can be used to suppress glitches if the dither has sufﬁciently large amplitude. The improvement is due to the averaging effect on the non-linearity of the DAC. It is straight- forward to retroﬁt the method to an existing, sufﬁciently fast DAC, as it requires only generation of a dither signal and a suitable analogue ﬁlter for attenuation of the dither in the output. The effect of dithering can be viewed as converting glitches from short-duration, high-amplitude disturbances to long-duration, low-amplitude disturbances, which may be fur- ther attenuated by an external feedback control law.