CIRCUITS AND METHODS FOR TIME-DELAY TO DIGITAL CONVERTERS
20190312582 ยท 2019-10-10
Inventors
- Daniel De Godoy Peixoto (Austin, TX, US)
- Xiaofan Jiang (New York, NY, US)
- Peter Kinget (Summit, NJ, US)
Cpc classification
H03M1/20
ELECTRICITY
H03K5/135
ELECTRICITY
International classification
H03M1/20
ELECTRICITY
H03K5/135
ELECTRICITY
Abstract
In accordance with some embodiments, polarity-coincidence, adaptive time-delay estimation (PCC-ATDE), mixed-signal techniques are provided. In some embodiments, these techniques use 1-bit quantized signals and negative-feedback architectures to directly determine a time-delay between signals at analog inputs and convert the time-delay to a digital number.
Claims
1. A circuit for a time-delay to digital converter, comprising: a first microphone having a first output; a second microphone having a second output; a first one-bit analog-to-digital converter having a first input coupled to the first output and having a third output; a second one-bit analog-to-digital converter having a second input coupled to the second output and having a fourth output; a first variable time delay having a third input coupled to the third output, a fourth input, and a fifth output, wherein the fourth input controls a delay amount of the first variable time delay; a second variable time delay having a fifth input coupled to the fourth output, a sixth input, and a sixth output, wherein the sixth input controls a delay amount of the second variable time delay; a first multiplier having a seventh input coupled to the fifth output, an eighth input coupled to the sixth output, and a seventh output; a third variable time delay having a ninth input coupled to the sixth output, and a eighth output; a second multiplier have a tenth input coupled to the fifth output, and eleventh input coupled to the eighth output, and a ninth output; a subtractor having a twelfth input coupled to the seventh output, a thirteenth input coupled to the ninth output, and a tenth output; an accumulator having a fourteenth input coupled to the tenth output, and an eleventh output; an attenuator having a fifteenth input coupled to the eleventh output, and a twelfth output; a differential splitter having a sixteenth input coupled to the twelfth output, a thirteenth output, and a fourteenth output; a first adder having a seventeenth input coupled to the thirteenth output, an eighteenth input coupled to an offset signal, and a fifteenth output coupled to the sixth input; and a second adder having a nineteenth input coupled to the fourteenth output, an twentieth input coupled to the offset signal, and a sixteenth output coupled to the fourth input.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
DETAILED DESCRIPTION
[0020] In accordance with some embodiments, polarity-coincidence, adaptive time-delay estimation (PCC-ATDE), mixed-signal techniques are provided. In some embodiments, these techniques use 1-bit quantized signals and negative-feedback architectures to directly determine a time-delay between signals at analog inputs and convert the time-delay to a digital number.
[0021] In a time delay estimation (TDE), the sampling frequency of the data converters F.sub.S defines the resolution. The noise from approaching automobiles or other vehicles has dominant spectral components below 250 Hz. To support a 1 ms to +1 ms delay range with 8-bit resolution for such noise-like sources, the audio signal needs to be sampled at >50 KS/s, i.e. 100 the Nyquist rate, in some embodiments.
[0022] Consider the outputs of two microphones, M.sub.1(t) and M.sub.2(t), which capture the signal of the single source x(t) at different positions in space:
M.sub.1(t)=x(t)+n (1)
M.sub.2(t)=A.x(tD)+n.sub.2(t) (2)
where D is the time delay that the algorithm needs to determine, n.sub.1(t) and n.sub.2(t) are random noise, and A the gain (or attenuation) difference in the microphones. In prior mechanisms, the estimation of D requires computing the direct cross-correlation
for many different T and then determining the argument of the peak:
D=argmax(DCC.sub.M.sub.
There are multiple ways to compute the DCC.sub.M1,M2, however, each is complex.
[0023] An alternative to using the DCC function for performing TDE is to use the polarity-coincidence correlation function (PCC):
It is known that
hence argmax(PCC.sub.M1,M2)=argmax(DCCN.sub.M1,M2). Note that the computation of PCC only needs one-bit signals, in contrast to DCC which requires multi-bit signals.
[0024] Regardless of how one obtains DCC.sub.M1,M2 or PCC.sub.M1,M2, their computation involves storing a large frame of both M.sub.1(t) and M.sub.2(t), calculating and storing all the points of the cross-correlation within the TDE range, and finally searching for the argument of the peak.
[0025] In accordance with some embodiments, polarity-coincidence-correlation, adaptive, time-delay estimation (PCC-ATDE) approaches are provided. The PCC-ATDE approaches use only two values of a polarity-coincidence correlation function to close a negative feedback loop that continuously tracks intersignal delay.
[0026]
[0027]
[0028] Attenuator 1/G 112 in
[0029] A practical problem for the architecture in
[0030] In accordance with some embodiments, this problem may be overcome using example circuit 300 of
[0031] The outputs of comparators 302 and 304 are then provided to variable-delay cells 306 and 308, respectively, which have delays of .sub.var1 and .sub.var2, respectively. The outputs of the variable delay cells produce signals M.sub.1d(t) and M.sub.2d(t):
M.sub.1d(t)=sgn(x(t.sub.var1)+n.sub.1(t.sub.var1)) (7)
M.sub.2d(t)=sgn(A.x(t.sub.var2D)+n.sub.2(t.sub.var2)) (8)
[0032] As shown in
[0033] Referring back to
M.sub.2d(t) is further delayed by fixed delay 312 by a fixed value, .sub.fix, and then multiplied by multiplier 314 with M.sub.1d(t) to create V.sub.MIXER2. The average V.sub.MIXER2 is PCC.sub.M1,M2(+.sub.fix). Note that the averages of the multipliers output, V.sub.MIXER1 and V.sub.MIXER2, do not need to be explicitly calculated.
[0034] The difference between V.sub.MIXER1 and V.sub.MIXER2 is then determined by subtractor 316. This will result in difference values of +2, 0, or 2.
[0035] Next, loop integrator 318 averages the difference values and attenuates the higher frequency components of these signals.
[0036] Attenuator 320 then receives the output of the integrator and produces an attenuated signal. The loop bandwidth, which is directly controlled by the attenuator, determines the effective length T of the averages calculated by the integrator.
[0037] Turning to
[0038] As shown in
[0039] As illustrated in
Mixer.sub.1[n]Mixer.sub.2[n]=F.sub.M.sub.
where e[n] contains the high-frequency components, with average zero, and F.sub.M.sub.
Note that, assuming that the PCC.sub.M1,M2 and .sub.fix are static, F.sub.M.sub.
e[n] does not introduce a DC error in [n], but contributes as noise at the output. If one neglects e[n] and focuses on the low-frequency output of the loop, a non-linear feedback loop that continuously increases or decreases [n] to keep F.sub.M.sub.
[0040] Based on (13), a delay-domain model can be used to predict the behavior of the PCC-ATDE loop. The PCC-ATDE operates across multiple-domains. Delay-domain models can assist in understanding how the PCC-ATDE operates. In the PCC-ATDE, the function F.sub.M.sub.
[0041] Since the only correlation between M.sub.1(t) and M.sub.2(t) comes from the source x(t), the polarity-coincidence correlation function between M.sub.1 and M.sub.2 can be approximated by the auto-polarity-coincidence correlation function of x(t) shifted by the intersignal delay D:
PCC.sub.M.sub.
This approximation can be used to understand the contribution of the microphone delay D to the values of F.sub.M.sub.
[0042] The approximation in (14) and F.sub.x,x are illustrated in
[0043] Introducing F.sub.x,x into (13), we now have a direct relation between the output of the loop [n] and the intersignal delay D that was previously implicit in F.sub.M.sub.
[0044] Using (16), the delay-domain model in
[0045] In order to maintain the negative feedback and guarantee the convergence to the correct time-delay estimation, F.sub.x,x[D] has to have positive values for >D and negative values for <D. Since F.sub.x,x[D] is defined as the difference of two consecutive values of PCC.sub.x,x[], see (15), the equivalent condition is that the derivative of PCC.sub.x,x[] is positive for positive and negative for negative .
[0046]
[0047] To define a range for the system in some embodiments, the difference between [n] and D must always be less than .sub.MAX:
|[n]D|<.sub.MAX (17)
This can be an important design parameter for sound-source localization systems, where the maximum time delay between the input signals is limited by the spacing of the microphones. For example, if the microphones are separated by approximately 35cm, the intersignal delay will be always |D|<1 ms. Applying a boundary to the output ||<1.5 ms will guarantee that the loop stays within the covered range for x(t) sources with bandwidth lower than 200 Hz that have a .sub.MAX>2.5 ms. Low-pass filters can be used before the PCC-ATDE to limit the bandwidth of x(t) in some embodiments.
[0048]
[0049] As shown, this mechanism can be implemented on a chip that has four analog inputs 1002, 1004, 1006, and 1008 that are connected to a microphone array. One of the microphones provides the reference for the time-delay estimation at input 1002; the chip outputs the time-delay of the other three analog signals with relation to this reference microphone.
[0050] The inputs are provided to inputs of comparators 1010. Any suitable comparators can be used in some embodiments. For example, in some embodiments, each comparator can be implemented as a latched comparator as shown in
[0051] The outputs of the comparators are then provided to PCC-ATDE core 1012. The core can be implemented in any suitable technology. For example, in some embodiments, the core can be implemented in 0.18 m CMOS technology to take advantage of its low leakage current, while easily meeting speed and density requirements. The core of the PCC-ATDE can be implemented with sub-threshold CMOS logic in some embodiments.
[0052] As shown in
[0053] In some embodiments, the 300 mV signals from the PCC-ATDE core can be converted to 1.8V I/O levels with the sub-threshold level shifters 1028. Any suitable level shifters can be used in some embodiments. For example, the level shifters shown in
[0054] In some embodiments, the circuit of
[0055] Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims that follow. Features of the disclosed embodiments can be combined and rearranged in various ways.