the present invention will now be described in greater detail with reference to the accompanying drawings , in which an exemplary embodiment of the invention is shown . the present invention may , however , be embodied in many different forms and should not be construed as limited to the embodiment set forth herein ; rather the embodiment is provided so that this disclosure will be thorough and complete and will fully convey the invention to those skilled in the art . to fully understand the logic and benefits of the present invention , it is best to understand what happens in a traditional linear phase detector often used in high data rate applications . fig1 is a schematic diagram of a traditional linear phase detector 10 . an input data signal 12 has occasional edges which are to be compared to the appropriate corresponding edges of an accompanying clock signal 14 in order to compute an output phase error signal 30 , proportional to the phase difference between the input data signal 12 edges and the clock signal 14 edges . the input data signal 12 is presented to a first d - type flip flop 16 that is clocked on the rising edge of the input clock signal 14 . the input data signal 12 is also provided as a first input of a first exclusive - or ( xor ) gate 20 which will be described more fully below . the output 13 of the first d - type flip flop 16 is provided as a second input of the first xor gate 20 . the output 13 of the first d - type flip flop 16 is also provided as a first input of a second xor gate 22 , as well as the input to a second d - type flip flop 18 . the second d - type flip flop 18 which is sampled on the falling edge of the clock signal 14 . the output 13 from the first d - type flip flop and the output 19 from the second d - type flip flop 18 are then combined ( along with the original data input signal 12 ) to detect when there were changes in the sampled values in either flip flop . for example , the output of the first xor gate 23 will go logic hi when the input data signal 12 is different than the output of the first d - type flip flop 13 and the output of the second xor gate 24 will go logic hi when the output signal of the first flip flop 13 is different from the output signal of the second flip flop 19 . the width of the second xor gate output 24 will be explicitly controlled by the applied clock signal 14 and will nominally be one - half a bit period wide . the width of the first xor gate output 23 can vary as the location of edges of the data input signal 12 varies . if the input data signal edges start to shift , the corresponding output of the first xor gate 23 will also shift . as shown in fig1 , the output of the first xor gate 23 is provided to a low pass filter , and the filtered signal is provided to a first ( e . g . positive ) input of an operational amplifier 26 . the output of the second xor gate 24 is provided to a second low pass filter , with the filtered signal being provided to a second ( e . g . negative ) input of the operational amplifier 26 . the output signal 30 of the operational amplifier 26 represents the phase error signal , which is computed by determining the difference between the averaged or filtered output signal of the first xor gate 23 and the second xor gate 24 . fig2 is a timing diagram 31 illustrating the signal processing and phase error computation of the linear phase detector 10 illustrated in fig1 . in this figure , a single input data signal 12 , having a pulse of width t is shown . although not strictly necessary , the clock signal 14 is nominally centered to rise at the middle of the input data signal 12 pulse . from this figure , it can clearly be seen that the output signal of the first d - type flip flop 13 ( q 1 value ) is the sampled version of the input data signal 12 sampled at the rising edge of the applied clock signal 14 and that the output signal of the second d - type flip flop 19 ( q 2 value ) is the subsequently sampled version of the output of the first d - type flip flop 13 when sampled on the falling edge of the applied clock signal 14 . in this figure , the output of the first xor gate 23 and the output of the second xor gate 24 are shown as the half - bit wide pulses that would be computed in this case . this figure also shows how the pulse width of the first xor gate output 23 can change as the edges of the input data signal 12 changes . however , the pulse widths of the second xor gate output 24 do not change and are set by the clock period . a significant drawback associated with the aforementioned approach is therefore shown . the pulses that must be computed by the xor gates result in half - bit ( or smaller ) pulses or signals . signals with realistic rise and fall times would find it difficult to reach their full maximum values in such short periods which could either cause the aforementioned phase detector , or a larger circuit incorporating the aforementioned phase detector , not to work at all or could cause the output signal 30 to sum the averaged outputs of the first xor gate 23 and the second xor gate 24 in a way as to compute a phase error signal 30 that is not linear — i . e . some phase errors are computed right while others are amplified or attenuated ). fig3 is a schematic diagram of a phase detector 40 operating according to the principles of the present invention . as shown , the phase detector 40 uses two additional logic gates 54 , 56 as well as inserting delays , via delay elements 45 , 51 into some of the processing paths . however , these are considered acceptable trade - offs in order to achieve high speed , more linear operation of the phase detector 40 . an input data signal 42 is provided as a first input to and sampled by a first d - type flip flop 46 during the rising edge of a corresponding clock signal 44 , that is provided to the clock input of the first d - type flip flop 46 . the sampled input data signal 43 is provided as a first input to and is re - sampled by a second d - type flip flop 48 on the falling edge of the clock signal 44 , that is provided to the clock input of the second d - type flip flop 48 . the sampled input data signal 43 and the re - sampled input data signal 49 are then used to generate the individual rising edge and falling edge signals 60 - 63 that are filtered and combined and result in the phase error signal 70 provided by the phase detector 40 of the present invention . the input data signal 42 is provided as a first input to a first and gate 50 . the sampled input data signal 43 is provided to a delay element 45 , for example , a buffer or length of wiring trace , which provides a delayed version of the sampled input data signal 47 . the amount of delay provided by the delay element 45 may vary depending on implementation ; however , in the illustrated embodiment , the delay provided by the delay element 45 is set at one half a bit period for the highest data rate application . for example , at 12 . 5 gbit / sec applications , a bit period is 80 psec , so this delay is set to 40 psec . the delayed sampled input data signal 47 is provided to the inverted second input to the first and gate 50 . in this manner , rising edge pulses ( e . g . signals ) 60 , representing the difference between the input data signal 42 and the clock signal 44 is provided at the output of the first and gate 50 . the input data signal 42 is also provided to the inverted first input of a second and gate 52 . the delayed sampled input data signal 47 is provided to the second input of the second and gate 52 . in this manner , falling edge pulses ( e . g . signals ) 61 , representing the difference between the input data signal 42 and the clock signal 44 along the falling edge of the clock is provided at the output of the second and gate 52 . as shown , the rising and falling edge signals 60 , 61 are independently determined . the sampled input signal 43 is provided to the inverted first input of a third and gate 53 on the rising edge of the clock signal 44 . the re - sampled input signal 49 is provided to a second delay element 51 , which delays the application of the re - sampled input signal 53 by one half a bit period for the highest data rate application , e . g . 40 psec . the delayed re - sampled input signal 53 is provided to the second input of the third and gate 53 . in this manner , falling edge pulses ( e . g . signals ) 62 representing the difference between the re - sampled data signal 53 and the clock signal 44 is provided by the output of the third and gate 53 . the sampled input data signal 43 is provided to a first input of a fourth and gate 54 . the delayed re - sampled data signal 53 is provided to the inverted second input of the fourth and gate 54 . in this manner , rising edge pulses ( e . g . signals ) 63 , representing the difference between the sampled input data signal 43 and the clock signal 44 is provided at the output of the fourth and gate 53 . as shown , the rising edge signals 60 , 62 and the falling edge signals 61 , 63 are independently determined . the delay inserted in the processing paths , and the separate and independent computation of rising and falling pulses 60 - 63 is critical to this invention &# 39 ; s success . the separate computation enables taking advantage of the fact that there must be a falling edge between any two rising edges . this doubles the allowable time period for processing at the highest data rates such that parallel processing can be done . with this achieved , the delay can then be used to stretch the pulse of any given pulse to the maximum it can without encroaching on time potentially needed for an upcoming next decision . the phase detector 40 of the present invention can also be used in multi - data rate applications , as the amount of delay can either be programmable or could be fixed based on the maximum data rate to be used . note that if the pulse width stretching sufficiently allows operation at the maximum data rate , then it will most certainly also allow proper operation at any lower data rate where the data period , t , is even longer . once the several rising and falling edge pulses 60 - 63 are determined using the delayed sampled signals 47 , 53 ( to maximize the pulse widths ), the change - detections for the first d - type flip flop 46 and the change detectors for the second d - type flip flop 48 are individually added using analog resistive combiners , shown as nodes 64 , 65 . for example , the rising edge signal 60 and the falling edge signal 61 are added as combiner 64 ; whereas , the falling edge signal 62 and the rising edge signal 63 are added at combiner 65 . although shown as nodes , the analog combiner can be implemented , for example , using adder circuits . this analog addition is assured to be linearly independent of output pulse shape as it is then low - pass filtered , via capacitors 66 , 67 to create average voltages for both the first and second flip flop change results . these average voltage signals 64 ′, 65 ′ are provided to at the inputs of an operational amplifier 68 . the difference in these average voltages 64 ′, 65 ′ are used to compute the phase error signal 70 . fig4 is a timing diagram illustrating the signal processing and phase error computation of the phase detector 40 according to the present invention . in this illustration , a single data pulse signal 42 is used as an example . the output signal 43 of the first d - type flip flop 46 ( q 1 ) and the output signal 49 of the second d - type flip flop 48 ( q 2 ) hold the sampled input data signal 42 and the re - sampled input data signal 43 on the rising and then falling edge of the clock signal 44 . the delayed sampled input data signal 47 ( q 1 ′) is a copy of the sampled input data signal 43 , delayed by a time amount , tau . in the exemplary embodiment , tau is set to any value up to one - half a bit period for the highest data rate application being used . for example , for 80 psec bit periods present for 12 . 5 gbit / sec data rate applications , a delay up to 40 psec can be used . similarly , the delayed re - sampled input data signal 49 ( q 2 ′) is a copy of the re - sampled input data signal 43 delayed by the same time amount , tau . it can be appreciated that the first rising edge values 60 represent the movement of rising data edges while the first falling edge values 61 represent the movement of falling data edges . the second falling edge value 62 and second rising edge values 63 represent fixed pulse widths as defined by the input clock signal 44 . once individually computed using the and gates 50 , 52 , 54 , 56 , the rising and falling edge values 60 - 63 are them summed or combined . this summing is done using analog voltage summing provided by summing the voltage nodes directly . this form of suming is very high bandwidth . other forms of high bandwidth summing can also be used . the result of the suming is then low - pass filtered for example , by using an rc - type filter , and the difference between the sums of a + b and c + d is determined using a difference amplifier 68 to compute the phase difference error signal 70 . fig5 is a graph of phase error input versus measured phase error output illustrating the impact of real - world rise / fall time limits on phase measurements in pulse width modulated signals . this graph shows two traces that correspond to the measured phase error output of a phase detector that operates on half - bit windows ( e . g . a hogge detector ) as well as the measured phase error output from the phase detector of the present invention that utilized full - bit windows . both responses also show how the curves deviate from a dotted - line linear extrapolation . it is clear from fig5 that the full - bit trace ( on top ) deviates less from the linear extrapolation than the half - bit trace ( on bottom ). this demonstrates the defect present in the half - bit system and the performance improvement of this invention . the disclosed phase detector and corresponding method overcome the limitations of past linear phase detectors for use in high - speed applications by separately processing rising edge information and falling edge information to extend the amount of time that either processing needs to be completed in . this extended time allows the output pulse widths to be significantly longer , therefore extending the frequency range that linear phase detection can be accomplished . while the foregoing detailed description has described several exemplary embodiments of the specific method for linear phase error detection , it is to be understood that the above description is illustrative only and is not limiting of the disclosed invention . particularly other configurations are within the scope and sprit of this invention . thus , the invention is to be limited only by the claims set forth below .