3.1. Simulation Results
To test the performance of the dynamic offset compensation structure discussed in
Section 2, a behavioral simulation is conducted and the variation in its performance with some critical parameters is analyzed. The tuning curves of the VCOs can be approximated using a polynomial-regression-based model [
16], as given in (4). The frequencies of VCO-1 and VCO-2,
and
respectively, are modeled with third-order polynomials as shown in (4) and (5), with coefficients
,
,
, and
.
As offset error shifts the entire transfer function by the same value, two identical VCOs with matching coefficients are assumed, which develop a relative dynamic offset drift,
, between them through time. The phase noise of the each VCO is incorporated by including an equivalent voltage noise,
, at the input of the VCO,
, as in (6).
The parameters used in the simulation are listed in
Table 1. Theoretically, the offset cancellation algorithm can be applied to any range of VCO frequencies. Here, a tuning sensitivity per peak-to-peak input voltage of 100 MHz/
is used, as it is approximately the maximum range of frequency that can be comfortably used for the digital emulation of the VCO on the ZYBO FPGA (in
Section 3.2) without causing timing issues. Owing to the non-linearity of the VCO, the achievable effective number of bits of open loop VCO-based ADCs is limited to 6 to 7 bits [
17], which corresponds to a major distortion figure of around −40 dBc. The tuning sensitivity value and the distortion figure are then translated into polynomial coefficients as a function of
and adjusted to be suited for digital implementation, as shown in
Table 1. The initial center frequency of the VCOs, Fc, is 100 MHz. A sinusoidal signal with a frequency, Fin, of 5 kHz is used as an input. The output sampling frequency, Fclk_samp, is around 98 kHz and a bandwidth of 20 kHz is assumed, which is quite enough for most sensor applications.
The parameters of particular interest are the size of the LUT,
, and the normalized biasing range of
,
, which is given as (7):
To characterize the impact of the relative offset in terms of the signal to noise and distortion ratio (SNDR), is modeled as random frequency uniformly distributed between two bounds to where designates the maximum magnitude of the relative VCO frequency drift.
An offline non-linearity correction block is designed with a look-up table plus a linear interpolation method [
18]. Here, 64 points are stored in memory and the rest of the corrected outputs are evaluated with linear interpolation.
Figure 4 shows the power spectral density of the offset compensation architecture for
R = 0.125,
L = 512, and
= 3 MHz. It is shown that the second harmonic distortion is suppressed by the differential architecture and the remaining third harmonic distortion is reduced by the NLC block, which resulted in an output SNDR of around 56 dB (ENOB of around 9 bits). This shows that an offline calibration can be enough if any prior offset errors are effectively compensated.
The variation in the output SNDR with the magnitude of the maximum relative offset frequency of the two VCOs (
) is depicted in
Figure 5 for the architectures with and without offset compensation. For the architecture without offset cancelation, the SNDR degrades sharply whenever the relative drift between the two VCOs grows.
The SNDR for the architecture with the offset compensation is plotted for three values of R. For R = 0.0625, the SNDR shows a sharp decline after a 3 MHz relative VCO drift, whereas for R = 0.125, the cut-off point extends up to a relative drift of around 7 MHz. For R = 0.25, the structure relatively sustains its SNDR and no sharp degradation point occurs in the whole range of the plot. Here, the cut-off points are related to the maximum relative offset for which the system can compensate. It can also be observed that the values of the cut-off points are related to the values of R, which indicate that the choice of the value of R depends on the estimate of the expected maximum relative offset drift between the two VCOs.
The impact of varying the size of the LUT,
L, on the output SNDR is shown in
Figure 6. In
Figure 6a, an
R value of 0.125 is used and the plot of output SNDR almost overlaps for
L values of 512 and 128 bits. A clear distinction starts to appear for
L values less than 64 bits, after which the SNDR starts to degrade. In
Figure 6b, an
R value of 0.25 is used and the plot of output SNDR starts to make a visible difference for
L values less than 128 bits and degrades after that. From this, we can observe that
L represents the level of resolution we achieve for the center biasing voltage of VCO-2 in the normalized range of
R. The voltage resolution of the biasing voltage of VCO-2 normalized by
,
, can be expressed as (8).
So, the higher the value of
R, the poorer the voltage resolution for a fixed
L. Alternatively, the lower the value of
L, the poorer the voltage resolution for a fixed
R. The normalized input voltage resolution,
, for the whole system can be represented as (9), where
is the effective number of bits (ENOB) of the digital output.
The choice of lower values of L starts to affect the SNDR of the final output whenever approaches . If passes beyond , the output SNDR starts to degrade because, now, would be the limiting factor.
3.2. Digital Implementation Results
To measure the dynamic performance of an implemented structure, an FPGA implementation of the whole system was developed by emulating, with digital modules, the major characteristics of the outputs of the two VCOs that are modulated by differential sinusoidal input voltages, which is briefly explained in the next section.
3.2.1. Hardware Emulation of Sine-Input-Modulated VCO
By assuming a sinusoidal input voltage, the input-modulated non-linear VCOs are emulated by cascading a digital sinusoidal wave generator and a numerically controlled oscillator, as shown in
Figure 7. The digital sinusoidal wave generator generates two sine waves (
and
) with second and third harmonic contents, as expressed in (10) and (11), where
and
are coefficients that specify the levels of the second and third harmonics, respectively.
Sensor frequency control word (SFCW) is a number corresponding to the frequency of the input sensor voltage. Then, at every cycle of the input clock, Clk_Sin, the phase accumulator register outputs a digital ramp phase value,
, whose frequency is proportional to SFCW. Phase-to-sine/-cosine converters designed with a sixteen-stage CORDIC algorithm are used to convert the digital ramp phases to digital sinusoidal waves. The square and cube terms in (10) & (11) are rewritten as in (12) & (13) respectively, and implemented in the arithmetic block of
Figure 7, which are suited for an optimized hardware implementation that avoids multiplication.
If
and
are approximated around negative powers of two, then the multiplication and division operations in the second and third terms in 12 and 13 can be implemented using only shift operations. This means the operations in the arithmetic block of
Figure 7 are only addition, subtraction, and shift operations, which greatly optimize the speed of the hardware implementation.
and
are then added to the respective center biasing values, d_bias1 and d_bias2, and serve as input to the two numerically controlled oscillators NCO-1 and NCO-2, respectively. The numerically controlled oscillators accumulate this input every cycle of Clk_NCO and the MSBs of these phase accumulators,
V1 and
V2, emulate the outputs of the two square wave VCOs modulated by differential sinusoidal input voltages.
3.2.2. LUT Implementation
The LUT is implemented with a circular shift register with write and read modes that are controlled by the level of the sampling clock, SClk, as shown in
Figure 8. When SClk is low (calibration phase), the LUT will be in writing mode, where it loads the series of bits coming from the DFF phase detector (output of Mux-2) every cycle of VCO-1 (output of Mux-1). When SClk is high (calibration phase), the LUT will be in a reading mode, where it circularly shifts every cycle of Ref (output of Mux-1), thereby delivering consecutive output bits, Data_out, stored in the calibration phase. The size of the LUT,
L, is the total number of DFFs in the LUT, whose maximum value is given in (2).
3.2.3. Measured Results
The architecture for the implementation of the full system is depicted in
Figure 9. The two operation phases are employed using a digital multiplexer (Mux) and digitally controlled switches (SW-1 and SW-2), which are all controlled by the level of the sampling clock, SClk.
A maximum calibration frequency is assumed where half of the sampling period is used for calibration and the other half is used for the conversion process. Accordingly, Phase-I occurs when the level of the sampling clock, SClk, is low, during which the LUT will be in writing mode, the 1-bit DAC is controlled by the DFF output, and the outputs of the two digital sine wave generators are disconnected from the system.
Va and
Vb, which were outputs of the 1-bit DAC in
Figure 3, are substituted with their digital equivalents of
da and
db, respectively.
Phase-II occurs when the level of SClk is high. Here, the LUT will be in reading mode and the one-bit DAC is now controlled by the successive bits read from the LUT every clock cycle of the reference oscillator, Ref. The outputs of the two digital sine wave generators are now connected to the system. The two counters, Counter-1 and Counter-2, count the edges of the VCO-1 and VCO-2 signals, respectively, for a duration of half of the sampling period, and then the output is sampled at the end of this period.
The VCO waves and the sampling clock constitute separate clock domains, which means the rising edges of one can occur independently of the other. This can lead to meta-stability issues during the sampling process, which could lead to corrupted outputs. The closer the metastable bits are to the MSB, the higher the sampling error. To avoid the possibility of such high errors, a binary to gray converter is used before sampling so that the possibility of metastable bits is reduced to less than one LSB. Then, a gray to binary code converter is used to convert it back to binary for the later subtraction process to deliver the differential output.
A 64-point offline non-linearity calibration block with linear interpolation is used to correct the distortions due to the oscillator’s non-linearity. Variable digital offset values in steps equivalent to around 1.5 MHz up to 9 MHz frequency drift are injected into the input of NCO-2 to emulate a variable relative VCO drift. The initial center frequency of the two oscillators, Fc, is 100 MHz and the sampling clock frequency, Fclk_samp, is around 98 kHz. The frequency of the sinusoidal input, Fin, is 5 kHz, whose peak-to-peak amplitude modulates the NCOs over a frequency range of 100 MHz. The distortion parameters,
, are derived from
Table 1, where their values are adjusted so that the multiplication operation can be digitally implemented using only shift operations.
A parallel structure without the dynamic offset cancelation system is also implemented with similar parameters to compare the performances. To measure the SNDR and fractional offset error, 8192 samples of the digital output are stored on a block RAM inside the ZYBO FPGA, which are later read and exported to Matlab for further analysis.
Figure 10 shows the variation in the measured fractional offset error with relative VCO drift for the architectures with and without offset compensation, which are measured for a zero value of the input. The fractional offset error is evaluated as the ratio of the digital output offset value to the full-scale output range expressed in percentage. The architecture without offset cancelation results in non-zero output offsets whenever a relative drift between the two VCO frequencies starts to occur and grows proportionally with it. For the architecture with the offset compensation, the fractional output offset errors are plotted for three values of
R. For
R = 0.0625, the system cancels up to around ±3 MHz relative drifts, whereas for
R = 0.125, the offset cancelation range extends up to around ±6 MHz. For
R = 0.25, the structure compensates for any offset in the whole plot. Here, it can be observed that the output offset error is reduced from around 5% to 0.1% for a relative drift of the oscillators, which is close to 10% of the tuning range.
The dynamic performance of the system is assessed in terms of the output SNDR by turning on the digital sine wave generator and applying a variable relative offset drift, as depicted in
Figure 9. Similar sharp corners to those of
Figure 10 can be observed on the plot of the variation of the measured output SNDR with relative VCO drift in
Figure 11. Similar to the simulation results in
Section 3.1, the system sustains its output SNDR until a certain relative frequency drift value, after which the system fails to correct further offset values. The range of frequency drift up to which the system continues to correct the offset is decided by the value of
R. It is also demonstrated that the offline non-linearity correction scheme can be sufficient as long as any appearing dynamic VCO frequency offsets are canceled before the calibration block.
The impact of varying the size of the LUT,
L, on the measured output SNDR after non-linearity calibration is shown in
Figure 12. Only values of
L that show a clear distinction in the measured SNDR are plotted. Here, we can also observe that the SNDR of the digital output can be degraded when the voltage resolution of the average biasing voltage of VCO-2, expressed in (8), is higher than that of the input voltage resolution of the system expressed in (9).
A performance comparison of this work with prior works related to offset reduction is presented in
Table 2. The techniques involve either chopping, two-phase calibrations, or a combination of the two. The results of the proposed technique in this work show a good offset reduction with a relatively higher bandwidth. It can be seen that the choice of both the architecture and offset reduction technique have an impact on the applicable bandwidth. It is known that open-loop architectures are favored for high-speed applications over their closed-loop counterparts. On top of that, the restriction of the applicable bandwidth in chopping systems limits the application of the techniques, which use both closed loop and chopping to low bandwidth applications like resistive sensor interfaces.
Given the open-loop architecture of the presented method in this work, its speed can further be improved if VCOs with higher center frequencies are used together with higher sampling frequencies. This preserves in (2) and maintain the resolution of the center biasing voltage. In such a way, it is possible to perform the two phases faster, which can make it a good alternative for even higher-speed applications.