Interpolation algorithm for asynchronous ADC-data

This paper presents a modified interpolation algorithm for signals with variable data rate from asynchronous ADCs. The Adaptive weights Conjugate gradient Toeplitz matrix (ACT) algorithm is extended to operate with a continuous data stream. An additional preprocessing of data with constant and linear sections and a weighted overlap of stepby-step into spectral domain transformed signals improve the reconstruction of the asycnhronous ADC signal. The interpolation method can be used if asynchronous ADC data is fed into synchronous digital signal processing.


Introduction
An approach to improve the energy efficiency of ADCs is their asynchronous operation: The ADC is operated with a variable clock depending on the characteristics of the input signal.The average power consumption of the ADC and the power required for RF data transmission is reduced with a reduction of the average sample rate.Asynchronous ADCs are potentially applicable in stand-alone sensor nodes, biomedicine (Yuan and Lam, 2013) or energy management.
The drawback of an asynchronous operation is the variable data rate which needs to be synchronized to the clock of the subsequent signal processing system by interpolation.Several methods exist for interpolation; some operate in time domain (Neubauer, 2003), others in frequency domain (Feichtinger et al., 1995).The interpolation algorithms differ considerably in complexity and the quality of the reconstructed signal.
The base for the presented interpolation algorithm is the Adaptive weights Conjugate gradient Toeplitz matrix (ACT) algorithm.It operates in the frequency domain and has the drawback of much higher computational effort than interpolation in the time domain, but it converges much faster than other frequency domain based interpolation algorithms (University of California, 2016).
The simulation data is based on a tracking ADC (Fig. 1).The output data rate is variable because it depends on the input signal characteristics.The difference between the current input signal and the output of the I-DAC controls the ADC clock rate.If the difference gets larger the clock rate is increased.The resulting datastream output is used for the interpolation.
This work is organized as follows: Sect. 2 briefly explains the basic principle of the ACT algorithm, Sect. 3 describes the extensions to the ACT algorithm, Sect. 4 presents simulation results and Sect. 5 concludes the paper.

ACT-algorithm
The ACT algorithm requires high computational effort because it uses several mathematical methods (Feichtinger et al., 1995).The first is the adaptive weights method (Neubauer, 2003) in which the weights of the points are calculated according to Eq. ( 1).This input weighting vector w j is used to calculate the spectral transformation of the time of the samples (Eq.2).The parameter M denotes the number of spectral lines of the input signal and results from the ratio of the largest time distance between two sample points and the shortest time distance between two sample points.The amplitude values p(t j ) are transformed into spectral domain using the weighting vector w j (Eq.3).
The next step in the ACT algorithm is the construction of the Toeplitz matrix T w (Eq.4).The property of the Toepliz matrix are constant values on each descending diagonal.Additionally the values above the descending main diagonal are complex conjugate of the values below the diagonal.These properties make the calculations in the subsequent iterative process very efficient (University of California, 2016).
The spectrum of weighted time values y k , the weighted spectrum of amplitude values b k and the toeplitz matrix are used to solve Eq. ( 5) for the interpolated spectrum a. b is set to b k .This equation will be solved iteratively with the help of the conjugate gradient method (Eq.6).In combination with the Toeplitz matrix the system converges quickly and after a maximum of 2M + 1 iteration loops the result is available.The initial parameters of the system are these: Finally the interpolated spectrum a k is transformed back to the time domain with Eq. ( 7) using an array t with equidistant time steps of the interpolated signal.
3 Extension to ACT algorithm Frequency based interpolation can be used on signals of a finite period because the number of sample points for the DFT is limited.To deal with a continuous data stream the data has to be split into equally spaced sections.Every section can now be interpolated for itself and the interpolated data stream is constructed by connecting the interpolated sections.

Smooth transition between sections
By connecting the interpolated sections undesired steps in amplitude can occur at the transitions of the sections.This problem can be solved by overlapping the boundaries of the sections by a certain amount of samples.Further improvement is achieved by using a smoothing function on the overlapping areas.Here the hyperbolic tangent function as proposed in Rädler ( 2016) is used.Advantages of this transition function is scalability of slope and good convergence to final values.The multiple derivative hyperbolic tangent is continuous, which is advantageous in subsequent signal processing.The smoothness of the merging of two sections is determined by σ .The higher the value of σ the smoother the transition is.But with a higher σ the function needs more samples for overlapping.Figure 2 shows the used smoothing functions with a total overlap of 100 samples and different grades of smoothness.
The merger of two sections using the smoothing function is exemplified by Eq. ( 8).The parameter µ determines the transition point between both sections.

Amplitude shifting function
Another issue of interpolation is the boundary-value problem: The first value and the last value of a section should have the same level.But this occurs either very rarely or not at all for arbitrary input signals.This results in significant interpolation errors at the section boundaries.The proposed solution is a transformation of the input signal by a linear function as described by Eq. ( 9) before the application of the interpolation algorithm.The whole section of the signal is shifted by the amplitude value of the first point of the signal to zero.In addition a linear function is added so that the last sample point is zero as well.
In Fig. 3 the linear function (gradient) is drawn in black.The linear function is alined to the first and the last value of the input signal (blue).The transformed signal (red) has its first and last point on zero level.After interpolation in the frequency domain the inverse transformation has to be applied to retrieve the original signal.

Signals with sporadic constant sections
The interpolation algorithm should be suitable for all kind of signal shapes.Critical points are signals with sporadic constant sections, e.g. a square wave signal as shown in Fig. 4. At the left side the interpolated signal (blue) does not represent the original signal (red).On the right side the edges are interpolated well but large overshoots exist.The reason for this difference between both interpolations is the cutoff frequency M of the input signal.The higher M the higher the frequencies; respectively more spectral lines M (Eq.11) are used for the interpolation.To change the number of spectral lines M that are used for calculation the factor κ has to be varied.Factor κ is used to calculate M in Eq. ( 10).M must be set in relation to the minimum bandwidth of the original signal.Therefore M is calculated from the maximum sample step size T max by introducing the factor κ (Eq.10).This factor has a range between 0 and 1.The higher κ is, the better the interpolation of the slopes of a square wave signal.The number of spectral lines for interpolation depends on M (Eq.11).
The reason for overshoots in the right part of Fig. 4 is the small number of samples from the asynchronous ADC that is used as input for interpolation.An ideal asynchronous ADC produces samples only at transitions of rectangular waveform.The solution is to synthetically fill the constant sections with additional samples.The sections that have to be filled with additional samples before interpolation are detected by the variation of the distance of two successive sample points (Eq.12).A change of the distance between two successive time steps by a factor greater than τ (Eq.12), resulting in additional samples being introduced.
The factor τ has to be chosen carefully so that the fill algorithm will be activated during constant sections of a square wave signal or arbitrary signal but not at low frequent sine waves input.The activation depends on the sample rate algorithm of the asynchronous ADC.second derivative is at its maximum and the asynchronous ADC produces the largest errors compared to original signal.Therefore the peak of the sinus is well suited to demonstrate the effectiveness of the interpolation algorithm.The original sine wave (red) and the output of the asynchronous ADC ( q = 0.01) are given as well.In fact the spline interpolated function is exactly in line with sampled ADC data, but the ACT interpolation result (black) fits best with the original signal.

A
Figure 6 shows the interpolation of a triangle signal.The falling and rising slopes are interpolated well, but the vertex is flattened because of the reduced sample rate of the asynchronous ADC before the vertex.
The effectiveness of synthetic insertion of additional sample points in a square wave signal is depicted in Fig. 7.The reduced sample rate of the asynch.ADC at the rising slope of the rectangular signal and the quantization levels produces an error that is larger than the interpolation error.The overshoots due to interpolation are reduced to a minimum through the filling of the constant sections.Ringing only exists at the beginning and at the end of the section depending on the bandwidth of the interpolation algorithm.For a sinusoidal asynchronous ADC input with a frequency of 91 kHz the corresponding spectrum of the inter- polated signal is shown in Fig. 8.By reducing the interpolation cutoff frequency G to 140 kHz, a full scale resolution of 8 bits and a sample rate varying between a minimum of 2.8 MS s −1 and a maximum of 50 MS s −1 , an SNDR of 65 dB can be achieved, which is remarkable far above the SNDR of 43 dB that would have been achieved with cubic spline interpolation.The stepsize of the simulated Tracking ADC is 1 or 2 LSB per clock cycle.The results can be interpreted as follows: An interpolation in the frequency domain with interpolation cutoff frequency increases the signal resolution by oversampling.To achieve an optimal SNDR it is important to know the signal waveform that has to be processed.E.g. for a sinus the value of κ could be lower than for a rectangular waveform.
Frequency based interpolation is well suited for filtering of noise (Fig. 9).This can demonstrated by feeding a sinusoidal input with a noise ripple of 10 pW Hz −1 into the asynch.ADC input.As the peak value of signal plus noise is limited to 1 V the interpolated sinusoidal signal (blue) has a smaller amplitude than the ideal one (black).
Table 1 gives an overview of the computation time and mean deviations of the ACT algorithm in comparison to standard adaptive weights interpolation and Fourier series expansion using the program Matlab.For a sinusoidal input the ACT algorithm interpolates much faster than the other methods.The speed of interpolation depends on the number of points given and the number of spectral lines used for calculation.A square wave signal requires more computation time than a sinusoidal signal.Fourier series expansion does not converge in a reasonable time in the case of a square wave signal.The length of the interpolated signal of the waveforms given in Table 1 is 0.025 ms.This interpolation, performed with Matlab, is not suitable for real-time processing at such a high input sampling rate and signal bandwidth.But for low data rate signals e.g. for biomedical applications or environmental sensors, real-time processing may become feasible.

Conclusions
In this work the practical implementation of frequency domain interpolation of asynchronous ADC data using the ACT algorithm (Feichtinger et al., 1995) is demonstrated.The continuous data stream is split into sections for individual interpolation in the frequency domain.The original ACT algorithm is improved in three steps: firstly DC offset and 1st-order linear contribution are removed from the original function.Secondly the individual interpolated sections are reassembled using a smoothing function.Thirdly the problem of periods with reduced sample rate due to asynchronous ADC sampling is eliminated by synthetic insertion of samples before interpolation.
The application of the presented interpolation algorithm requires only a few inputs: The highest sample rate of the ADC and the frequency used for reconstruction.To achieve an optimal interpolation result additional parameters should be known: These are the actual signal frequency and waveform, required for adjustment of the length of the individual sections for interpolation, and the bandwidth of the signal adjusted by factor κ. The ratio κ of the bandwidth of the inter-

Figure 1 .
Figure 1.Asynchronous tracking ADC as signal source for interpolation algorithm. b

Figure 2 .
Figure 2. Hyperbolic tangent function for smoothing transitions between sections of samples of data stream.

Figure 3 .
Figure 3. Transformation of input signal of one section to set first and last data point to zero.
Figure of interpolation of rectangular waveform with asynch.ADC samples only at transitions; low cutoff (κ = 0.3) and high cutoff (κ = 0.8) frequency for interpolation.

Figure 5 .
Figure 5. Comparision of time domain and frequency domain based interpolation (ACT) with original signal (red) and asynchronous ADC output (x).

Table 1 .
Computation time and accuracy.