Abstract:
In an ultra-wideband (“UWB”) receiver, a received UWB signal is periodically digitized as a series of ternary samples. The samples are continuously correlated with a predetermined preamble sequence to develop a correlation value. When the value exceeds a predetermined threshold, indicating that the preamble sequence is being received, estimates of the channel impulse response (“CIR”) are developed. When a start-of-frame delimiter (“SFD”) is detected, the best CIR estimate is provided to a channel matched filter (“CMF”) substantially to filter channel-injected noise.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims priority to U.S. Provisional Patent Application Ser. No. 61/316,299 (“Parent Provisional”), filed 22 Mar. 2010. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates generally to ultra-wideband communication systems, and, in particular, to a receiver for use in an ultra-wideband communication system. 
     2. Description of the Related Art 
     In general, in the descriptions that follow, we will italicize the first occurrence of each special term of art which should be familiar to those skilled in the art of ultra-wideband (“UWB”) communication systems. In addition, when we first introduce a term that we believe to be new or that we will use in a context that we believe to be new, we will bold the term and provide the definition that we intend to apply to that term. In addition, throughout this description, we will sometimes use the terms assert and negate when referring to the rendering of a signal, signal flag, status bit, or similar apparatus into its logically true or logically false state, respectively, and the term toggle to indicate the logical inversion of a signal from one logical state to the other. Alternatively, we may refer to the mutually exclusive boolean states as logic — 0 and logic — 1. Of course, as is well known, consistent system operation can be obtained by reversing the logic sense of all such signals, such that signals described herein as logically true become logically false and vice versa. Furthermore, it is of no relevance in such systems which specific voltage levels are selected to represent each of the logic states. 
     In general, in an ultra-wideband (“UWB”) communication system, a series of special processing steps are performed by a UWB transmitter to prepare payload data for transmission via a packet-based UWB channel. Upon reception, a corresponding series of reversing steps are performed by a UWB receiver to recover the data payload. Details of both series of processing steps are fully described in IEEE Standards 802.15.4 (“802.15.4”) and 802.15.4a (“802.15.4a”), copies of which are submitted herewith and which are expressly incorporated herein in their entirety by reference. As is known, these Standards describe required functions of both the transmit and receive portions of the system, but specify implementation details only of the transmit portion of the system, leaving to implementers the choice of how to implement the receive portion. 
     One of us, Michael McLaughlin, has developed certain improvements for use in UWB communication systems, which improvements are fully described in the following pending applications or issued patents, all of which are expressly incorporated herein in their entirety: 
     “A Method and Apparatus for Generating Codewords”, application Ser. No. 11/309,221, filed 13 Jul. 2006; 
     “A Method and Apparatus for Generating Codewords”, application Ser. No. 11/309,222, filed 13 Jul. 2006, now abandoned; 
     “A Method and Apparatus for Transmitting and Receiving Convolutionally Coded Data”, U.S. Pat. No. 7,636,397, issued 22 Dec. 2009; and 
     “A Method and Apparatus for Transmitting and Receiving Convolutionally Coded Data”, application Ser. No. 12/590,124, filed 3 Nov. 2009. 
     One particular problem in multi-path, spread-spectrum systems, including UWB, is channel-induced noise present in the received signal. One common technique for significantly reducing the noise level relative to the receive level is to develop, during reception of a training sequence portion of the preamble of each transmitted packet, an estimate of the channel impulse response (“CIR”). Following detection in the received packet of the start-of-frame delimiter (“SFD”), the best CIR estimate is reversed in time and the complex conjugate is developed. This conjugate CIR estimate is thereafter convolved with the payload portion of the packet using a channel matched filter (“CMF”). Shown in  FIG. 1  is a UWB receiver  10  adapted to operate in this manner. As is known, the signal received via an antenna  12  is continuously conditioned by a filter  14 . During reception of the training sequence, channel estimator  16  develops from the conditioned signal the conjugate CIR estimate. During reception of the payload data, detector  18  employs a CMF (not shown) to convolve the conditioned signal with the conjugate CIR estimate, thereby significantly improving the signal-to-noise ratio (“SNR”) and facilitating recovery of the payload data. See, also, “Efficient Back-End Channel Matched Filter (CMF)”, U.S. Pat. No. 7,349,461, issued 25 Mar. 2008. 
     As noted in 802.15.4a, §5.5.7.1, “UWB devices that have implemented optional ranging support are called ranging-capable devices (RDEVs).” (Emphasis in original.) For certain applications, such RDEVs are commonly implemented in the form of a relatively compact, autonomous radio-frequency identification (“RFID”) tag or the like. Due to the small form factor and limited power supply, it is especially important to select circuit implementations that provide maximum performance at minimum power. Unfortunately, in known implementations of the UWB receiver, improvements in performance usually come at the expense of power. For example, it is known that a rake filter provides good performance in multi-path, spread-spectrum systems such as UWB. See, e.g., slide  21  of “The ParthusCeva Ultra Wideband PHY Proposal”,  IEEE P 802.15  Working Group for Wireless Personal Area Networks , March 2003, a copy of which is submitted wherewith and which is expressly incorporated herein in its entirety by reference. However, known rake filter implementations tend to consume significantly more power than other prior art techniques. 
     While it has been proposed to implement the front-end of a spread-spectrum receiver using a fast, 1-bit analog-to-data converter (“ADC”) to reduce the size (in terms of transistor count) of the convolution logic in both the CIR estimator and the CMF, such implementations are known to be particularly sensitive to continuous-wave (“CW”) interference. This CW interference can be substantially rejected using a full 2-bit, sign+magnitude implementation such as that described by F. Amoroso in “Adaptive A/D Converter to Suppress CW Interference in DSPN Spread-Spectrum Communications”,  IEEE Trans. on Communications , vol. COM-31, No. 10, October 1983, pp. 1117-1123 (“Amoroso83”), a copy of which is submitted wherewith and which is expressly incorporated herein in its entirety by reference. However, in such implementations, having dual representations of the 0-state, i.e., [−0, +0], tend to increase system entropy, resulting in less-than-optimal circuit/power efficiency. 
     We submit that what is needed is an improved method and apparatus for use in the receiver of a UWB communication system to estimate the CIR. In particular, we submit that such a method and apparatus should provide performance generally comparable to the best prior art techniques while requiring less circuitry and consuming less power than known implementations of such prior art techniques. 
     BRIEF SUMMARY OF THE INVENTION 
     In accordance with a preferred embodiment of our invention, we provide a channel impulse response (“CIR”) estimator for use in an ultra-wideband (“UWB”) communication system in which multi-symbol packets are transmitted at a predetermined chip rate via a transmission channel, each transmitted packet comprising a synchronization header (“SHR”). In operation, an analog-to-digital converter (“ADC”) initially receives a conditioned form of each received packet, periodically samples the packet at a selected over-sample rate, and provides corresponding samples. A digital polyphase correlator receives selected samples of each symbol of the SHR, periodically selects at a selected up-sample rate a set of the selected samples, correlates said samples sets with the known transmitted sequence, correlates said samples sets with the known transmitted sequence, and develops from each sample set a partial finite impulse response (“FIR”) to each symbol. A digital polyphase accumulator receives each partial FIR developed by a selected phase of the correlator, and accumulates the partial FIRs for all symbols comprising the SHR. Finally, a digital windowing block receives the accumulated partial FIRs for selected symbol subsets, and develops from the accumulated partial FIRs for all of said subsets an estimate of the CIR. 
     Preferably, we include a preamble detector adapted to detect reception of a packet preamble and thereupon initiate full operation of the estimator. In operation, the preamble detector develops a first CIR estimate over a sliding window of the 8 most-recently-received preamble symbols, correlates the first CIR estimate with a stored second CIR estimate, and replaces the second CIR estimate with the first CIR estimate until the first CIR estimate sufficiently resembles the stored second CIR estimate. 
     In one other embodiment, our estimator can be advantageously incorporated into a UWB receiver in combination with a digital polyphase channel matched filter (“CMF”). In operation, the CMF receives selected samples of each symbol of the data payload, and convolves the selected samples of the data payload with at least a selected portion of the conjugate CIR estimate generated by our estimator. The resulting filtered samples are then combined to provide a filtered data payload. 
     In each of our embodiments, we prefer to employ ternary samples, but other sample sizes, including binary, may be employed in appropriate applications. 
     We submit that each of these embodiments of our invention estimate the CIR as effectively as any prior art method or apparatus now known to us, while consuming less power. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
       Our invention may be more fully understood by a description of certain preferred embodiments in conjunction with the attached drawings in which: 
         FIG. 1  illustrates, in block diagram form, a prior art receiver adapted for use in a UWB communication system; 
         FIG. 2  illustrates, in block diagram form, one embodiment of the receiver shown in  FIG. 1 , but constructed in accordance with our invention; 
         FIG. 3  illustrates, in flow diagram form, operation of the correlator block shown in  FIG. 2 ; 
         FIG. 4  illustrates, in block diagram form, a more detailed implementation of the correlator block shown in  FIG. 2 ; 
         FIG. 5  illustrates, in block diagram form, a more detailed implementation of the multiplexor shown in  FIG. 4 ; 
         FIG. 6  illustrates, in block diagram form, a more detailed implementation of each of the several correlators shown in  FIG. 4 ; 
         FIG. 7  illustrates, in block diagram form, a more detailed implementation of the accumulator block shown in  FIG. 2 ; 
         FIG. 8  illustrates, in block diagram form, a more detailed implementation of each of the several accumulators shown in  FIG. 7 ; 
         FIG. 9  illustrates, in block diagram form, a more detailed implementation of the windowing block shown in  FIG. 2 ; 
         FIG. 10  illustrates, in block diagram form, a more detailed implementation of each of the several energy detectors shown in  FIG. 9 ; 
         FIG. 11 , illustrates, in block diagram form, a more detailed implementation of the preamble detect block shown in  FIG. 2 ; 
         FIG. 12 , comprising  FIG. 12   a ,  FIG. 12   b , and  FIG. 12   c , illustrates, in block diagram form, alternate, more detailed implementations of the sum-of-products portion of the SFD detect block shown in  FIG. 2 ; 
         FIG. 13  illustrates, in block diagram form, a more detailed implementation of the SFD detection portion of the SFD detect block shown in  FIG. 2 ; 
         FIG. 14  illustrates, in block diagram form, an alternate embodiment of the receiver shown in  FIG. 1 , but constructed in accordance with our invention; 
         FIG. 15 , comprising  FIG. 15   a ,  FIG. 15   b ,  FIG. 15   c , and  FIG. 15   d , illustrates, in block diagram form, alternate, more detailed implementations of the correlator and accumulator blocks shown in  FIG. 14 ; and 
         FIG. 16 , comprising  FIG. 16   a ,  FIG. 16   b ,  FIG. 16   c , and  FIG. 16   d , illustrates, in block diagram form, alternate, more detailed implementations of the windowing and CIR interpolation blocks shown in  FIG. 14 . 
     
    
    
     In the drawings, similar elements will be similarly numbered whenever possible. However, this practice is simply for convenience of reference and to avoid unnecessary proliferation of numbers, and is not intended to imply or suggest that our invention requires identity in either function or structure in the several embodiments. 
     DETAILED DESCRIPTION OF THE INVENTION 
     Shown in  FIG. 2  is a UWB receiver  10 ′ constructed in accordance with our invention. As in the prior art system shown in  FIG. 1 , the signal received by antenna  12  is continuously conditioned by filter  14 . The conditioned signal is then periodically sampled by an analog-to-digital converter (“ADC”)  20  and provided as a continuous series of digital samples. In accordance with a preferred embodiment of our invention, ADC  20  is specially adapted to provide each digital sample in ternary form, i.e., [−1, 0, +1]. In view of the inability of currently available circuit technology efficiently to represent a 3-value variable in the form of a single ternary trit, we anticipate, at least in the near term, such variables will require representation using 2 conventional, binary bits, wherein a first one of the bits represents the numeric component of the variable, i.e., [0, 1], and the second bit represents the sign of the variable, i.e., [+, −]. In this regard, it could be argued that circuit technology has not progressed all that much since Soviet researchers built the first (perhaps only?) documented ternary-based computer systems. See, “ A Visit to Computation Centers in the Soviet Union ,” Comm. of the ACM, 1959, pp. 8-20; and “ Soviet Computer Technology— 1959”, Comm. of the ACM, 1960, pp. 131-166; copies of which are submitted herewith and which are expressly incorporated herein in their entirety by reference. 
     In the context of our invention, our trit can be distinguished from a conventional sign+magnitude implementation such as that described in Amoroso83, cited above. Consider the strategy for A/D conversion shown in FIG. 5 of Amoroso83; and, note, especially, that there are three separate and distinct switching thresholds: (i) a sign threshold [T 0 ]; (ii) a positive magnitude threshold [T 0 +Δ]; and (iii) a negative magnitude threshold [T 0 −Δ]. (See, also, Amoroso83, p. 1119, lines 21-24.) We have discovered that adapting the ADC to use ONLY a positive magnitude threshold [T 0 +Δ] and a negative magnitude threshold [T 0 −Δ] results in only a very small loss in resolution, while improving the performance of an impulse radio UWB receiver. Accordingly, in our preferred embodiment, ADC  20  implements only positive/negative magnitude thresholds [T 0 ±Δ], thereby simplifying the circuit while simultaneously improving both the conversion time of the ADC  20  and, in general, the performance of the receiver. Such an implementation lends itself naturally to our trit-based scheme, wherein the three defined states indicate, for example, that:
         [−1]=&gt; the input is below the negative magnitude threshold [T 0 −Δ];   [0]=&gt; the input is between the negative magnitude threshold [T 0 −Δ] and the positive magnitude threshold [T 0 +Δ]; and   [+1]=&gt; the input is above the positive magnitude threshold [T 0 +Δ].
 
In contrast to a conventional sign+magnitude implementation, our trit-based ADC  20  can be readily adapted to operate either at a higher sample rate (improved performance but with more power) or at an equivalent sample rate (substantially equivalent performance but with less complexity, thereby reducing both circuit size and power consumption).
       

     Upon power-on, a switch  22  will be configured to direct the trit sample stream to a correlator  24  portion of channel estimator  16 ′. In one embodiment, correlator  24  is adapted to correlate the sample stream with the known training sequence, and periodically to provide a partial finite impulse response (“FIR”) for each symbol. An accumulator  26  is provided to accumulate the partial FIRs on a per-symbol basis for some or all of the symbols comprising the synchronization header (“SHR”). 
     Windowing  28  is provided to selectively develop a CIR estimate based on a selected, sliding subset, i.e., window, of the accumulated per-symbol FIRs. When a sufficient number of per-symbol FIRs have been accumulated, windowing  28  develops an initial CIR estimate  30 . In one embodiment, windowing  28  is adapted thereafter to periodically develop new CIR estimates as symbols slide through the window. 
     A preamble detect  32  correlates each new CIR estimate with the CIR estimate  30 . In the event that preamble detect  32  determines that the new CIR estimate sufficiently resembles CIR estimate  30 , then preamble detect  32  signals that the preamble has been detected. If, however, the new CIR estimate does not sufficiently resemble the CIR estimate  30 , preamble detect  32  stores the new CIR estimate as CIR estimate  30 . In one embodiment, preamble detect  32  is adapted to reset accumulator  26  each time a new CIR estimate  30  is stored, thereby facilitating development of the CIR estimate  30  using only trit samples from selected portions of the preamble of the received packet. 
     As is known, the predefined SFD code comprises a predetermined set of N SFD  symbols. Once a predetermined minimum number of symbols have been received and continuing for each subsequent preamble symbol, an SFD detect  34  correlates the SFD detection code with the accumulated FIRs of the N SFD  most recently received symbols. In one embodiment, SFD detect  34  is adapted to configure switch  22  so as to direct the trit sample stream to a CMF  36  portion of detector  18 ′ when the SFD detection correlation exceeds a selected threshold, indicating that the full SHR has been received and the PHY header is immediately to follow. 
     In accordance with our invention, the CIR estimate  30  as of the moment of SFD detection comprises the best estimate of the impulse response of the channel. In one embodiment, windowing  28  is adapted to provide an index indicative of the portion of accumulator  26  upon which the final CIR estimate  30  was based. In effect, the index indicates the portion of the accumulator containing the most energy, which, in most cases, also contains the path with the highest energy, i.e., the peak path. In a ranging application, the portion of accumulator  26  immediately preceding the index can be analyzed, e.g., using interpolation, to identify the direct path. 
     In one embodiment, CMF  36  is adapted to correlate the received trit sample stream with the final, i.e., best, CIR estimate  30 , thereby filtering the CIR noise from the sample stream. The filtered sample stream is then processed in a known manner by De-hop  38 , De-spread  40 , Viterbi  42  and Reed-Solomon (“RS”) decode  44  to recover the data payload. 
       FIG. 3  illustrates, in flow diagram form, the general method of operation of the UWB receiver  10 ′ illustrated in  FIG. 2  as described above. 
     In one embodiment, correlator  24  may be implemented as a poly-phase correlator. For example, in a 500 MHz UWB system oversampled by 2 times the chip rate, the ADC sample rate must be 1000 MHz. Using a conventional single-phase correlator, the correlator must also run at 1000 MHz. However, if, as shown in  FIG. 4 , we employ 16 parallel correlators [ 1:16], each may now run at 62.5 MHz. For a spreading code of, say, length  127  (upsampled by 8 to give a preamble symbol length of 1016 samples), a mux  46  may be employed to selectively distribute the trit samples to each of the correlators [ 1:16]; for a different spreading code, say, length  31  (upsampled by 32 to give a preamble symbol length of 992 samples), mux  46  is not necessary. 
     Various alternate embodiments will occur to those skilled in this art. For example, if, in the embodiment shown in  FIG. 4 , only 8 parallel correlators are implemented, each must now run at 125 MHz. In such an embodiment, the length  127  spreading code would still be upsampled by 8 to give a preamble symbol length of 1016 samples, whereas the length  31  spreading code would be upsampled by 32 to give a preamble symbol length of 992 samples. If, however, oversampling is performed at 4 times the chip rate, then it may be desirable to implement  32  parallel correlators, each now running at 62.5 MHz. In such an embodiment, the length  127  spreading code would be upsampled by 16 to give a preamble symbol length of 2032 samples, whereas the length  31  spreading code would be upsampled by 64 to give a preamble symbol length of 1984 samples. However, if only 16 parallel correlators are implemented, each must now run at 125 MHz. In this embodiment, the length  127  spreading code would still be upsampled by 16 to give a preamble symbol length of 2032 samples, whereas the length  31  spreading code would be upsampled by 64 to give a preamble symbol length of 1984 samples. Thus, it will be appreciated that the number of phases and the operating rates thereof can be varied to accommodate the desired operating characteristics of the UWB system. 
     In the embodiment illustrated in  FIG. 4 , and in each of the variants thereof described immediately above (as well as many others), mux  46  may be implemented using a delay line of appropriate length, as shown in  FIG. 5 . 
     In one embodiment, each of the correlators (see,  FIG. 4 ) may be implemented as shown in  FIG. 6 . As illustrated, odd and even numbered trit samples received from mux  46  are sequentially staged through odd delay chain d [1:127]  and even delay chain d [2:126] , respectively. Periodically, the stored trit samples are multiplied in parallel by respective phase-specific coefficients via multipliers f [1:127] . As is known, the coefficients are related to the known preamble sequence. In accordance with our invention, these coefficients will have one of 3 values: [−1, 0, +1]. Accordingly, each of the multipliers f [1:127]  may be of simple form. Accumulators  48   a  and  48   b  sum the partial products developed by multipliers f [1:127] , and a summer  50  develops the full correlator output. 
     In one embodiment, accumulator  26  may be implemented as a poly-phase accumulator. For example, as illustrated in  FIG. 7 , for cooperation with the embodiment of correlator  24  shown in  FIG. 4 , accumulator  26  may be implemented as a corresponding number of parallel accumulators [1:16] , each operating at the same frequency as the correlators [1:16] . A mux  52  may be employed to selectively distribute the FIR estimates developed by correlators [1:16]  to each of the accumulators [1:16] . 
     In one embodiment, each of the accumulators (see,  FIG. 7 ) may be implemented as shown in  FIG. 8 . As illustrated, as FIR estimates, b x , are periodically received from mux  52 , summer  54  develops a summation, which is then recirculated through a 64-element delay chain s [1:64]  back to summer  54 , thereby allowing the summer  54  to continuously develop a partial CIR estimate, c x . 
     We have noted that, in many cases, the accumulator is significantly longer than the CMF requires to perform its function. One option to reduce the length of the CIR estimate is to implement a windowing mechanism adapted to identify the portion of the accumulator having the greatest energy. In the embodiment illustrated in  FIG. 9 , we have included windowing  28 , wherein each of the partial CIR estimates, c x , is applied to a respective one of a plurality of energy detectors [1:x] . A summer  56  periodically develops a summation of the detected energy, and, if the sum is greater than a previously stored maximum, Max n , a comparator  58  will replace the previously stored maximum with the current sum; simultaneously, the current sample index, i x , will be stored as Index n . In accordance with our invention, Index n  always indicates the position in the received sample stream at which the detected energy attained Max n . 
     In one embodiment, each of the energy detectors [1:x] , may be implemented as illustrated in  FIG. 10 . In accordance with our invention, a calculator  60  periodically develops an estimate, e x , of the energy detected in the most recent CIR estimate, each of which is then forwarded to a subtractor  62  for accumulation. Simultaneously, each estimate, e x , is forwarded via an n-element delay chain, d [1:n] , to subtractor  62  for subtraction from the current accumulation. Thus, the accumulated change in detected energy, Δe x , represents the detected energy measured over the n most-recently-received CIR estimates. As illustrated in  FIG. 10 , calculator  60  can be adapted to develop the estimate, e x , as a maximum sum of energies, ( ) 2 , or as a maximum sum of magnitudes, | |. Whereas the maximum sum of energies may be appropriate for detecting both the preamble and the SFD, the required squaring operation may be expensive to implement; one possible alternative is to implement this function as a look-up table (“LUT”). A third possible approach may be to develop each estimate, e x , using peak path loss windowing; this approach may be particularly advantageous for direct path detection. 
     In one embodiment, preamble detect  32  may be implemented as illustrated in  FIG. 11 . In accordance with our invention, preamble detect  32  is adapted to develop a new CIR estimate  30   a  over a sliding window comprising a predetermined number, say, 8, of the most-recently-received preamble symbols. A correlator  64  periodically computes the scalar product of the new CIR estimate  30   a  with the conjugate of a stored prior CIR estimate  30 . If the resultant scalar product determines the new CIR estimate  30   a  insufficiently resembles the stored CIR estimate  30 , the new CIR estimate  30   a  is stored. This process is repeated only until the correlation first exceeds a predetermined resemblance threshold selected to correspond to a sufficiently good correlation between the two consecutive CIR estimates. As would be expected, the index, Index n , corresponding to the stored CIR estimate is also stored (see,  FIG. 9 ), thereby facilitating identification of the start of the preamble in the received sample stream. 
     In one embodiment, the preamble detect  32  can be adapted to determine CIR estimate resemblance in a manner similar to the following pseudocode algorithm: 
     
       
         
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
             
           
               
                   
               
             
             
               
                 [Pcode 1] DECLARE: 
               
             
          
           
               
                   
                 $vAcc; // accumulator (complex vector of length 1024) 
               
               
                   
                 $vCor; // correlation (complex vector of length 1024) 
               
               
                   
                 $i; // FOR loop index (integer) 
               
               
                   
                 $j; // WHILE loop index (integer) 
               
               
                   
                 $rResemblance; // measure of the resemblance of two 
               
             
          
           
               
                   
                 channel estimates (real) 
               
             
          
           
               
                   
                 $vSaved; // saved 128 biggest accumulator samples 
               
             
          
           
               
                   
                 (complex vector of length 128) 
               
             
          
           
               
                   
                 $rThreshold; // resemblance threshold (real) 
               
               
                   
                 $iWindow; // start of window index (integer) 
               
             
          
           
               
                 START; 
               
             
          
           
               
                   
                 // Get a first crude estimate of the channel: 
               
             
          
           
               
                   
                 // Note this will only be a channel estimate if a 
               
               
                   
                 preamble is being received. 
               
             
          
           
               
                   
                 FOR ($i = 1; $i &lt;= 8; $i++) 
               
               
                   
                 { 
               
             
          
           
               
                   
                 $vCor = Correlation of received signal with reference 
               
             
          
           
               
                   
                 preamble sequence; 
               
             
          
           
               
                   
                 $vAcc += $vCor; 
               
               
                   
                 $i++; 
               
             
          
           
               
                   
                 } 
               
               
                   
                 $j = 0; // initialize WHILE 
               
               
                   
                 WHILE ($j === 0) 
               
               
                   
                 { 
               
             
          
           
               
                   
                 $vSaved = Window the accumulator to find sequence of 
               
             
          
           
               
                   
                 128 biggest samples; // Save the windowed portion of 
               
               
                   
                 $vAcc 
               
             
          
           
               
                   
                 $iWindow = index of start of window; 
               
               
                   
                 // Get a second crude estimate of the channel: 
               
             
          
           
               
                   
                 // Note this will only be a channel estimate if a 
               
             
          
           
               
                   
                 preamble is being received. 
               
             
          
           
               
                   
                 $vAcc = 0; 
               
               
                   
                 FOR ($i = 1; $i &lt;= 8; $i++) 
               
               
                   
                 { 
               
             
          
           
               
                   
                 $vCor = Correlation of received signal with 
               
             
          
           
               
                   
                 reference preamble sequence; 
               
             
          
           
               
                   
                 $vAcc += $vCor; 
               
               
                   
                 $i++; 
               
             
          
           
               
                   
                 } 
               
               
                   
                 Core $vAcc; 
               
               
                   
                 $rResemblance = 0.0; 
               
               
                   
                 FOR ($i = 1; $i &lt;= 128; $i++) 
               
               
                   
                 { 
               
             
          
           
               
                   
                 $rResemblance += $vSaved[$i] × $vAcc[$i + 
               
             
          
           
               
                   
                 $iWindow]*; // * denotes complex conjugate 
               
             
          
           
               
                   
                 $i++; 
               
             
          
           
               
                   
                 } 
               
               
                   
                 IF ($rResemblance real  &gt; $rThreshold) 
               
               
                   
                 { 
               
             
          
           
               
                   
                 $j = 1; // end WHILE 
               
             
          
           
               
                   
                 } 
               
             
          
           
               
                   
                 } 
               
               
                   
                 Flag that Preamble has been detected; 
               
             
          
           
               
                 END; 
               
               
                   
               
             
          
         
       
     
     In one embodiment, as illustrated in  FIG. 12  and  FIG. 13 , SFD detect  34  may be implemented as a sum-of-products (“SoP”) calculator  66 , an SoP adder  68  and windowing  70 . As illustrated in  FIG. 12   a , each SoP calculator  66  may be adapted to develop the SoP by summing the product of a respective one of the CIR estimates, c x , and the respective delayed FIR estimate, s x  (see,  FIG. 8 ). A simpler, but somewhat less effective, alternative is to develop the SoP as the sum of the CIR estimates, c x , but wherein the signs of which are first modified by the sign of the respective delayed FIR estimate, s x , as illustrated in  FIG. 12   b . A third approach, a hybrid of the embodiment shown in  FIG. 12   b  but which should be more immune to noise effects, is illustrated in  FIG. 12   c , wherein each CIR estimate, c x , is first squared, e.g., using a suitable LUT. This square is then multiplied by the sign of the respective CIR estimate, c x . Prior to summing, the sign of each square is modified by the sign of the respective delayed FIR estimate, s x . In accordance with our invention, SFD detect  34  initiates operation only after the accumulators  26  have processed at least N SFD  symbols, and, thereafter on a symbol-by-symbol basis, correlates the most-recently-received window of N SFD  symbols with a predetermined code, p [1:8] ; when the correlation first exceeds a predetermined threshold, SFD detect  34  signals that the SFD has been detected. It can be shown that setting p [1:8]  to be the SFD code itself, maximizes the correlation at the point when the SFD is received. It may be preferable, however, to select p [1:8]  so as to maximize the difference between the correlation output at SFD detect time and the maximum correlation output before this, i.e., while receiving the first parts of the SFD; such p [1:8]  can easily be found by an exhaustive search. 
     In one other embodiment, channel estimator  16 ″ may be implemented as shown in  FIG. 14 . In this form, the trit input samples are developed periodically by a set of 16 ADCs [1:16] , which, because they are connected in parallel, may be operated at a substantially lower clock rate than the single ADC of the embodiment shown in  FIG. 2 . Each of the trit sample streams is then used by a respective one of 16 correlator-accumulators [1:16]  to develop partial FIR estimates. Windowing  28 ′ develops the CIR estimate from a selected, sliding set of the partial FIR estimates. From the windowed partial FIR estimates, SFD detect  34 ′ detects the SFD. Also from the windowed partial FIR estimates, CIR interpolation  72  develops a time-of-arrival (“ToA”) estimate. 
     In one embodiment, variations of which are illustrated by way of example in  FIG. 15 , the accumulator portions of correlator-accumulators [1:16]  may be implemented as 16 accumulators, A [1:16] , each comprising 16 8-bit accumulators, which may be selectively configured as 16 parallel slices of 16 8-bit accumulators, A [1] :A [2] -A [14]:A   [15] , in high-bandwidth mode or as 8 parallel slices of 32 8-bit accumulators, A [1] -A [15] , on low bandwidth mode. By way of example,  FIG. 15   a  illustrates an implementation suitable for operating at relatively low bandwidth in a system wherein each symbol comprises 1016 samples, whereas  FIG. 15   b  illustrates an implementation suitable for operating at a higher bandwidth wherein each symbol comprises 2032 samples. Similarly,  FIG. 15   c  illustrates an implementation suitable for operating at relatively low bandwidth in a system wherein each symbol comprises 992 samples, whereas  FIG. 15   d  illustrates an implementation suitable for operating at a higher bandwidth wherein each symbol comprises 1984 samples. In accordance with our invention, the illustrated embodiments are adapted to operate on trits, as indicated by the use of the symbol “1” in  FIG. 15 . As we did above, we indicate a single-trit delay element as d x , a preamble symbol coefficient multiplier by c x , and a multi-bit sample delay-chain element by s x . 
     Alternative implementations of windowing  28 ′ are illustrated in  FIG. 16 . In particular,  FIG. 16   a  illustrates an implementation suitable for operating at relatively low bandwidth in a system wherein each symbol comprises 1016 samples, whereas  FIG. 16   b  illustrates an implementation suitable for operating at a higher bandwidth wherein each symbol comprises 2032 samples. Similarly,  FIG. 16   c  illustrates an implementation suitable for operating at relatively low bandwidth in a system wherein each symbol comprises 992 samples, whereas  FIG. 16   d  illustrates an implementation suitable for operating at a higher bandwidth wherein each symbol comprises 1984 samples. 
     Although we have described our invention in the context of two alternative embodiments, one of ordinary skill in this art will readily realize that many modifications may be made in such embodiments to adapt either to specific implementations. By way of example, it will take but little effort to adapt our invention for use with a 1-bit ADC scheme when it can be anticipated that the target application will not be subject to significant levels of in-channel CW interference. Further, the several elements described above may be implemented using any of the various known semiconductor manufacturing methodologies, and, in general, be adapted so as to be operable under either hardware or software control or some combination thereof, as is known in this art. 
     Thus it is apparent that we have provided an improved method and apparatus for use in the receiver of a UWB communication system to estimate the CIR. In particular, we submit that our method and apparatus provides performance generally comparable to the best prior art techniques while requiring less circuitry and consuming less power than known implementations of such prior art techniques. Therefore, we intend that our invention encompass all such variations and modifications as fall within the scope of the appended claims.