1. Field of the Invention
This invention relates to a circuit for processing signals, and is particularly but not exclusively applicable to circuits for use in apparatus for determining the relative time delay between two signals.
2. Description of the Prior Art
There are many circumstances in which there is a need to detect a noncooperative object of interest in some specified surveillance area. Such tasks can be performed by one or more suitable active sensors (in which the surveillance region of interest is illuminated by an interrogating energy waveform to obtain object-backscattered returns) or passive sensors (which respond to object-generated signals or object-influenced signals from separate sources). Such sensors can extract useful information by collaborative processing of signals reflected or emitted by that object.
For example, the delay between a transmitted signal and a reflection of the signal from an object can be measured to detect the presence and range of the object. The delay between the times at which two sensors receive a signal from an object can be measured to detect the bearing of the object. Multiple pairs of sensors, each pair detecting the object's bearing, can be used to determine the position of the object.
U.S. Pat. No. 6,539,320 discloses a robust method for determining the delay between two signals, in this case a primary reference signal and its time-delayed replica. In the following, the disclosed method will be referred to as “crosslation”, and a system implementing the method will be referred to as a “crosslator”. The contents of U.S. Pat. No. 6,539,320 are incorporated herein by reference. A crosslation technique involves using events (such as zero crossings) from one signal to sample the other signal. The events occur at irregular intervals, and are preferably at least substantially a periodic. The samples are combined to derive a value which represents the extent to which the sampling coincides with features of the second signal corresponding to the events. By repeating this for different delays between the first and second signals, it is possible to discover the delay which gives rise to the value representing the greatest coincidence of events, i.e. the delay between the two signals.
In the example described in the above disclosure, a nondeterministic signal x(t) is subjected to an unknown delay to produce a signal y(t), and a reference version of the signal x(t) is examined to determine the time instants at which its level crosses zero, either with a positive slope (an upcrossing) or with a negative slope (a downcrossing). The time instants of these crossing events are used to obtain respective segments of the signal y(t), the segments having a predetermined duration. The segments corresponding to zero upcrossings are all summed, and the segments corresponding to zero downcrossings are all subtracted from the resulting sum. A representation of such segment combination is then examined to locate a feature in the form of an S-shaped odd function. In the following, the S-shaped odd function will be referred to as the crosslation function.
The position within the representation of a zero-crossing in the centre of the crosslation function represents the amount of the mutual delay between the two signals being processed.
y(t)=αx(t−τ0)+ny(t)
As shown in
The parallel outputs of the tapped delay line TDY are connected through a bank of switches BS to M averaging or integrating units AVG that accumulate data supplied by the tapped delay line TDY. The switches, normally open, are closed when a suitable signal is applied to their common control input. The time interval during which the switches are closed should be sufficiently long so that each new incremental signal sample can be acquired with minimal loss.
The time instants, at which the switches are closed and new data supplied to the averaging units, are determined by a zero-crossing detector ZCD that detects the crossings of zero level of a binary waveform obtained from the reference signal x(t) processed by a hard limiter HX; the resulting binary waveform is then delayed by a constant-delay line CDX. The value of the constant delay is equal to or greater than the expected maximum value of time delay to be determined. It should be pointed out that the averaging units receive the incremental input values from the tapped delay line TDY in a non-uniform manner, at the time instants coinciding with zero crossings of the delayed reference signal x(t).
Each time a zero upcrossing occurs, there appears transiently at the inputs of the averaging units a replica of a respective segment of the binary waveform obtained from the signal y(t). Similarly, each time a zero downcrossing occurs, there appears transiently at the inputs of the averaging units a reversed-polarity replica of a respective segment of the binary waveform obtained from the signal y(t). The averaging units thus combine the two groups of these segments to produce a representation of a combined waveform, like that of
The signals obtained at the outputs of the averaging units AVG are used by the data processor. The operations performed by the data processor are so defined and structured as to determine the location of the zero crossing situated between the two opposite-polarity main peaks exhibited by the resulting S-shaped crosslation function. The location of this zero crossing corresponds to the time delay between the signals x(t) and y(t). A set of suitable operations and their sequence can be constructed by anyone skilled in the art.
In order to simplify the structure of a crosslator system, instead of using both upcrossings and downcrossings, the reference version of a wideband non-deterministic signal x(t) can be examined to determine the time instants of zero upcrossings (or downcrossings) only. However, irrespective of the particular arrangement used, a crosslation-based technique always includes a step of determining the time instants at which a reference signal crosses a predetermined threshold. Those specific time instants are also referred to as significant events. In a hardware implementation of crosslation significant events define the time instants at which suitable trigger pulses are generated.
The crosslation techniques of U.S. Pat. No. 6,539,320 for time-delay determination are robust and particularly useful for processing non-Gaussian signals. It would be desirable to provide a way in which similar techniques can be implemented in a simple and inexpensive manner.
Aspects of the present invention are set out in the accompanying claims.
According to a further aspect of the invention, there is provided a circuit for comparing two signals in order to calculate a value which can be used as a measure of the degree to which the signals are coincident. There is also provided a variable delay circuit for delaying one of the signals by a variable amount. By operating the circuit in successive measurement cycles each of which uses a delay of different value, and comparing the values calculated by the circuit, it is possible to determine which delay value represents the greatest coincidence, and thereby determine the delay between the two signals.
The circuit which compares the two signals is arranged to derive from one of the signals events which occur at non-uniform intervals, and to use these events to sample the other signal. The samples are combined (e.g. summed or averaged) to derive the value used to represent the degree of coincidence.
By repeatedly using the same circuit with different variable delay times, it is possible to provide an estimate of the delay between the signals at significantly less cost than prior art arrangements.
According to another aspect of the invention, a signal processing circuit is operable to process two binary signals in such a way as to alter a count value each time the first and second signals have substantially coincident logic transitions, the count value being altered in a first sense if the transitions are of the same type, and in the second sense if the transitions are of opposite types. Such a circuit can thereby provide an output count value which is influenced by the number of times a transition of one signal occurs at the same time as a matching transition of the other signal, and thus represents the extent to which the two signals are coincident.
If one of the signals is delayed by a predetermined amount before processing, the count value can be used to represent the extent to which that delay matches the delay between the original signals. By having multiple processing circuits each operating on differently-delayed versions of one of the signals, or by using the same circuit repeatedly with different delays (as in the previously-mentioned aspect of the invention) it is possible to calculate which of a plurality of delays matches the delay between the two signals.
It has been found that many, and preferably all, the functions and operations performed in the previously-disclosed variants of crosslators by switches, zero-crossing detectors, averaging circuits and difference circuits can be implemented in an all-digital fashion using simple circuitry by using the techniques of this aspect of the invention.
Arrangements embodying the invention will now be described by way of example with reference to the accompanying drawings, in which:
The transmitted waveform x(t) is converted by a logic-level converter CX into a corresponding binary representation X(t). Similarly, a received waveform y(t) is first converted into a binary waveform, and then into a corresponding binary representation Y(t) by a block CY, comprising a suitable hard limiter followed by a logic-level converter. As a result, either representation, X(t) or Y(t), may assume only two logic levels: H (‘high’) and L (‘low’).
The binary representation X(t) is delayed by a constant delay line CDL whose delay is equal to the maximum operational delay value. The delayed replica of X(t) is used as a reference waveform and examined to detect the time instants at which (logic) level transitions have occurred.
The binary representation Y(t) of the received signal y(t) is also examined to detect the time instants at which (logic) level transitions have occurred.
Each time instant when a level transition (up or down) observed in X(t) coincides with a level transition (up or down) observed in Y(t), is detected and counted.
These coincidences of level transitions are detected by M identical logic blocks, LB1, LB2, . . . , LBK, . . . , LBM. Each of the logic blocks, LB1, LB2, . . . , LBK, . . . , LBM, consists of a unit-delay cell D, a combinatorial logic cell LC and a reversible (up/down) counter UDC. In the preferred embodiment, in order to enable the detection of transitions, each block receives both a signal X1 from the constant delay line CDL and a further signal X2 which has been subjected to a further delay by an auxiliary unit-delay circuit DX. Each block also receives a differently-delayed version Y1 of the signal Y(t) and uses its unit-delay cell D to derive a signal Y2 which is delayed by a unit amount relative to signal Y1.
For each occurring coincidence, both the respective transitions may be concordant (i.e. of the same kind, both up or both down), or discordant (i.e. of the opposite kind).
A reversible counter UDC in each of the M blocks, BL1, BL2, . . . , BLK, . . . , BLM, ‘counts up’, when both of the coinciding transitions are of the same type (both up or both down). The counter UDC ‘counts down’, if the coinciding transitions are of opposite types.
All the reversible counters UDC are cleared at the beginning of a measurement cycle, initiated by an external control unit (not shown), and the contents of the counters are transferred to a data processor DP when the cycle is terminated.
A data processor DPR compares all the M values supplied by the reversible counters UDC, and selects the largest value that has exceeded a predetermined detection threshold; the number of the block in which this maximum value has been registered is then used to determine the value of the unknown delay.
CK=(X1⊕X2)·(Y1⊕Y2)
Thus, a transition in each signal is detected by a respective ExOR gate and the AND gate determines whether these transitions are occurring simultaneously.
Also
UD=X1⊕Y2
Thus, an ExOR gate determines whether the X1, Y2 signals are at the same levels (i.e. whether any concurrent transitions are concordant).
The resulting logic values of these signals CK, UD for different values of X1, X2, Y1 and Y2 are shown in FIGS. 4(b) and (c).
The reversible counter UDC counts up when a pulse appears at input CK and UD=1 (i.e. when a concordant transition occurs); if UD=0 (i.e. when a discordant transition occurs), the counter counts down when a pulse occurs at input CK.
A significant simplification of the structure of the apparatus of
The system comprises the following blocks:
Each measurement cycle is initiated by the control/timing unit CTU that resets the reversible counter UDC, via input CL, and sets a required delay by supplying a suitable control signal SD to the digitally-controlled delay line DCD; the information about the delay used is also sent to input DI of the data processor DPR.
The duration of each measurement cycle is determined by the time interval needed to observe a predetermined number NT of transitions in the transmitted waveform X(t); for this purpose, the unit CTU employs an internal auxiliary counter. The state of the reversible counter UDC increases or decreases, depending on whether concordant or discordant pairs of transitions have been observed. When the number NT has been reached, the unit CTU initiates the transfer of the counter UDC contents to the data processor DPR by sending a suitable control signal DT. At this stage, the measurement cycle has been completed. A next measurement cycle begins: a new value of delay is set in the delay line DCD, and the counter UDC is cleared.
The entire process is repeated for different delay values, selected from a predetermined range of delays. When all the delay values have been used, the data processor DPR determines the delay which corresponds to the largest number of concordant pairs of transitions registered by the counter UDC; this specific delay provides an estimate of the unknown delay.
Various modifications are possible. Although in this embodiment the duration of each cycle is dependent upon the number of transitions in one of the waveforms (X(t)), it would be possible instead to have a fixed duration, so long as the signals were of such a nature that sufficient transitions can be expected within this duration. Another possibility would be to control the cycle duration in accordance with the number of detected upcrossings (or downcrossings) only.
1. An adjustable delay ADX employing an 8-bit Programmable Timing Element with delay step of 0.25 ns (Dallas Semiconductor DS1023-25)
2. A numerically-controlled delay PDX employing an 8-bit Programmable Timing Element with delay step of 1 ns (Dallas Semiconductor DS1023-100)
3. A tapped delay line (5×4 ns) TDX which is a 5-Tap Economy Timing Element (Maxim Dallas Semiconductor DS1100)
4. A tapped delay line (5×4 ns) TDY which is a 5-Tap Economy Timing Element (Maxim Dallas Semiconductor DS1100)
5. A tapped delay line (5×4 ns) TDU which is a 5-Tap Economy Timing Element (Maxim Dallas Semiconductor DS1100)
6. A constant delay unit UL introducing a fixed delay of 500 ns
7. An 8-bit (unipolar) digital-to-analogue converter DAV
8. An 8-bit (sign and 7-bit-magnitude) digital-to-analogue converter DAH
9. A Programmable Logic Device: Altera EPM7064 (4 ns)
The architecture of the Crosslator Module is based on four Logic Array Blocks (LABs), each including a number (8 or 12) of flipflops and suitable combinatorial logic arrays. The LABs employed by the Crosslator Module can be regarded as reduced versions of LABs contained in Altera 7000 Series PLDs.
As shown in
As a result, the total delay of X(t) consists of two components: a constant adjustable component (determined by CAL) and a time-varying component (determined by SD).
Each selected delay value is kept constant during a measurement cycle, which is always preceded and followed by a fixed ‘delay settling’ interval of 500 ns required by the numerically-controlled delay PDX. For correct operation of the units ADX and PDX, it is also required that the time interval between logic-level transitions should not be less than 20 ns. Therefore, the transmitted binary waveform X(t) should be suitably pre-processed to ensure that this condition is satisfied.
The delayed signal X(t), available at the output of the PDX, is applied to the 5-tap element TDX to obtain three mutually delayed replicas X3, X4 and X5. As it will be explained later, those replicas will be used for deriving various signals used by LAB 1 and also by LAB 3 of the Crosslator Module.
In a similar manner, the binary signal Y(t) being processed is applied to the 5-tap element TDY to obtain three mutually delayed replicas Y1, Y3 and Y4. As it will be explained later, those replicas will be used for deriving various signals used by LAB 1 of the Crosslator Module.
Three mutually delayed replicas, X3, X4 and X5, of X(t), and another three mutually delayed replicas, Y1, Y3 and Y4 of Y(t), are processed jointly by LAB 1. For it each delay of X(t) set by SD, and for a fixed number NT (e.g., NT=2048) of level transitions observed in X(t), LAB 1 determines the difference between the number of co-coincidences and the number of anti-coincidences occurring between X(t) and Y(t).
This difference, indicative of the confidence of detecting an object in a corresponding range cell, is available as an 8-bit (sign/magnitude) binary word at the output ES of the Crosslator Module. Additionally, a corresponding analogue output AVH is provided for displaying purposes.
The number of transitions occurring in the reference signal X(t) is determined by LAB 3 which performs the tasks of a control/timing unit. When the number of transitions in X(t) reaches a predetermined value NT, LAB 3 produces a signal CC indicating that a measurement cycle has been completed. The ‘cycle complete’ signal CC is followed by a ‘clear’ pulse CLR which occurs about 500 ns after the rising edge of CC. The ‘cycle complete’ signal CC, also used in LAB 1, LAB 2 and LAB 4, is available at output CC of the Crosslator Module.
The pulse CLR resets counters in LAB 1 and LAB 3 to their initial ‘all-zero’ state, and the ‘cycle complete’ signal CC is employed for data transfer from LAB 1 to LAB 2. The signal CC is also used to advance a ‘range-cell’ counter RCC in LAB 4; the counter sets the delay of the PDX via input SD. The value of SD is available as an 8-bit binary word at the output SD of the Crosslator Module. Additionally, a corresponding analogue output AW is provided for displaying purposes.
The analogue outputs AVH and AW can be used jointly to provide a simple A-scan radar display.
The Crosslator Module also produces a ‘start scan’ signal SS for synchronisation purposes; this signal corresponds to zero-delay interval, when SD=00000000.
The four LABs utilized by the Crosslator Module perform the following operations and functions.
LAB 1 includes a reversible 12-bit counter XCC that counts clock pulses CLK supplied by a combinatorial logic unit LCY. The direction of counting, ‘up’ or ‘down’, depends on the state of input UD driven by the LCY. The logic unit LCY receives its input signals, Y1, Y3, Y4, X3, X4 and X5, from the respective tapped delay lines TDY and TDX, and an auxiliary ‘clock disable’ signal CC is obtained from LAB 3.
The combinatorial logic unit LCY produces clock pulses CLK and an up/down control signal UD according to the equations
CLK=(X3⊕X4)·(Y3⊕Y4)·{overscore (CC)}UD=X5⊕Y1
The control signal UD is derived from transitions of signals Y1 and X5 which always appear, respectively, 8 ns before and 4 ns after the coinciding transitions of X3, X4, Y3 and Y4 occur.
Therefore, set-up and hold time conditions for the counter XCC will always be satisfied. The reversible counter XCC counts up, when a pulse appears at input CLK and UD=1; if UD=0, the counter counts down when a pulse occurs at input CLK.
Only seven most significant bits, the sign bit SB and the 7-bit magnitude MG, of the output of counter XCC are transferred to LAB 2. The reversible counter XCC is cleared (almost periodically) by pulses CLR supplied by LAB 3.
LAB 2 comprises an 8-bit buffer register BCC that stores the output of the reversible counter XCC. The data transfer is initiated by each rising edge of signal CC obtained from LAB 3. The buffer BCC may include a suitable code converter that will facilitate digital-to-analogue conversion performed by the converter DAH.
The value stored in the BCC is available as an 8-bit (sign/magnitude) binary word at the output ES of the Crosslator Module. Additionally, a corresponding analogue output AVH is provided for displaying purposes.
LAB 3 performs all the control and timing functions necessary for correct operation of the Crosslator Module. The main unit of LAB 3 is a 12-bit binary counter TXC, driven by clock pulses CKK supplied by a combinatorial logic unit LX. The unit LX performs the following logic operation
CKK=(X3⊕X4)·{overscore (CC)}
It convenient to view the counter TXC as an 11-bit counter, followed by a single flipflop with output Q12 producing signal CC, as shown in
The counter TXC operates cyclically. When its state reaches NT=2048 (i.e. Q12=1), the counter is disabled by signal CC fed back to the logic unit LX. The counter will remain in this ‘wait’ state for 500 ns until the rising edge of signal CC, propagating along a combined constant delay line (UL followed by TDU), reappears as two signals UO and U2 at the inputs of a master clear gate MCL. Because the two signals, UO and U2, are mutually delayed by 8 ns, the gate MCL produces a transient pulse CLR (of duration 8 ns) which resets the counter TXC to its initial ‘all-zero’ state. Because now Q12=0, hence CC=0, the logic block LX re-starts to supply new clock pulses CKK, and the entire cycle repeats itself.
The signal CC is also used to transfer data from the reversible counter XCC in LAB 1 to the buffer register BCC in LAB 2. Furthermore, edges of the signal CC are employed by a counter RCC in LAB 4 as clock pulses.
The signal CC makes the ‘range-cell’ counter RCC change its state cyclically from 0 to 255, thereby varying continually the delay of the PDX via input SD. The value of SD is available as an 8-bit binary word at the output SD of the Crosslator Module. Additionally, a corresponding analogue output AW is provided for displaying purposes.
The ‘all-zero’ state, SD=00000000, of the counter RCC is detected by the gate AZD for synchronisation purposes. The pulse SS produced by the gate AZD corresponds to zero-delay interval and indicates the beginning of the delay scan process.
The Crosslator Module does not employ any global clock signal, and the LABs use various signals for clocking their flipflops. Therefore, when Altera Technology is used, ‘array clock’-mode should be employed. The functions of TDX, TOY and TDU could alternatively be performed by Altera internally, and the UL unit could be replaced by a simple RC network.
The arrangements described above detect events by sensing zero upcrossings and downcrossings. It would instead by possible to detect events occurring at other levels (upcrossings and/or downcrossings).
The foregoing description of preferred embodiments of the invention has been presented for the purpose of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. In light of the foregoing description, it is evident that many alterations, modifications, and variations will enable those skilled in the art to utilize the invention in various embodiments suited to the particular use contemplated.
Number | Date | Country | Kind |
---|---|---|---|
04252786.1 | May 2004 | EP | regional |