System and method for testing timing operations of a pulse-based transceiver

The disclosure relates to an apparatus and method of testing timing associated with the transmission and reception of a pulse signal. With regard to testing the transmission of the signal, a transmitter transmits a pulse within a selected hop offset subinterval of a hop interval. The receiver takes samples of the received signal for the entire duration of the hop interval. Successful timing operation is indicated when samples indicate a pulse received within the selected subinterval, and no pulses received within other subintervals of the hop interval. With regard to testing the reception of the signal, a transmitter transmits pulses within respective hop offset subintervals of a hop interval. The receiver is enabled only for the duration of a selected subinterval, but samples are taken for the entire duration of the hop interval. Successful timing operation is indicated when the samples indicate a pulse received within the selected subinterval, and no pulses received within other subintervals.

FIELD

The present disclosure relates generally to communication systems, and more specifically, to a system and method for testing timing operations and/or other operating conditions of a pulse-based transceiver.

BACKGROUND

In communication systems, signals are often transmitted from a communication device to a remote communication device via a wireless medium. These communication devices typically employ a transceiver including a transmitter for transmitting signals and a receiver for receiving signals. In many cases, the transceiver is operated continuously whether or not signals are being transmitted or received. In some cases, operating a transceiver in a continuous manner may be acceptable. However, in other cases, such as when a limited power source (e.g., a battery) is used, this may not be desirable since the transceiver may not be able to operate continuously for long periods.

For instance, many communication devices are portable devices, such as cellular telephones, smart phones, personal digital assistants (PDAs), handheld devices, and other portable communication devices. These portable communication devices typically rely on a limited power source, such as a battery, to perform the various intended operations. A limited power source typically has a continuous use life that depends on the amount of power used by the portable device. It is generally desirable to extend the continuous use life as much as possible. Accordingly, portable communication devices are more frequently designed for improved power efficiency.

One technique for operating a transceiver in a more power efficient manner is to use pulse-based modulation and multiple access techniques to transmit and receive signals. In such a system, a transmitter may be operated in a relatively high power consumption mode during the transmission of a pulse signal. However, when the transmitter is not being used to transmit the pulse signal, it is operated in a relatively low power consumption mode in order to conserve power. Similarly, in such a system, a receiver may be operated in a relatively high power consumption mode during the reception of a pulse signal, and in a relatively low power consumption mode when the pulse signal is not being received.

As discussed above, these types of transceivers typically use pulse modulation to communicate data between devices, and orthogonal hopping pulse sequences to distinguish user devices. These types of modulation and device differentiating techniques typically rely on precise timing of the transmission and reception of pulses in order to effectuate the communication of data and the discerning of the data's originator. Accordingly, ensuring the precise timing of the transmission and reception of pulses by a transceiver is of concern.

SUMMARY

An aspect of the disclosure relates to a method of testing a transceiver. The method comprises transmitting a signal at a first time, receiving the signal at a second time, and determining an operating condition of the transceiver based on the first and second times. In some aspect, the signal comprises one or more pulses, such as ultra-wideband (UWB) pulses.

In another aspect of the disclosure, transmitting the signal at the first time occurs within a time interval based on a clock signal. In some aspect, transmitting the signal at the first time occurs within a subinterval of the time interval. In some aspect, receiving the signal at the second time occurs within the time interval.

In another aspect of the disclosure, determining the operating condition of the transceiver comprises generating samples of the received signal within the time interval, and analyzing the samples to determine the second time of the received signal within the time interval. In some aspect, the method further comprises enabling at least one component associated with receiving the signal during an entire duration of the time interval.

In another aspect of the disclosure, the operating condition comprises a first timing associated with the transmitting the signal, a second timing associated with receiving the signal, or a third timing associated with transmitting and receiving the signal. In some aspect, the method further comprises providing an indication based on the determination of the operating condition.

In another aspect of the disclosure, the method comprises enabling at least one component associated with transmitting the signal only during the transmission of the pulse, and disabling at least one component if the pulse is not being transmitted. In some aspect, transmitting the signal comprises transmitting pulses within subintervals of a time interval, respectively. In some aspect, receiving the signal comprises enabling at least one component associated with receiving the signal for only a duration of one of the subintervals of the time interval, and generating samples of the received signal for an entire duration of the time interval.

Other aspects, advantages and novel features of the present disclosure will become apparent from the following detailed description of the disclosure when considered in conjunction with the accompanying drawings.

DETAILED DESCRIPTION

FIG. 1illustrates a block diagram of an exemplary transceiver100for generating and receiving a test pulse signal in accordance with an aspect of the disclosure. In summary, the transceiver100is configured to determine one or more operating conditions of the transceiver by transmitting a test pulse signal, and receiving and processing the test pulse signal. An example of an operating condition that can be determined using this technique is the accuracy of the timing of the transmission of the test pulse signal. Another example of an operating condition that can be determined using this technique is the accuracy of the timing of the reception of the test pulse signal. Other operating conditions may be determined using this technique.

In particular, the transceiver100comprises a transmitter including a pulse generator120, a buffer amplifier122, a power amplifier (PA)124, and a transmitter (Tx) timer126. Also, the transceiver100comprises a receiver including a low noise amplifier (LNA)102, a squarer104, a variable gain amplifier (VGA)106, a slicer108, a sampling oscillator110, and a receiver (Rx) timer116. Additionally, the transceiver100comprises circuitry for controlling the transmission and reception of the test pulse signal, such as, the transmit (Tx)/receive (Rx) controller140, and a clock source142. Further, the transceiver100comprises circuitry for transmitting and receiving signals to and from external devices via a wireless medium, and routing signals from the transmitter to the receiver. Such circuitry includes an antenna130and a switch132. Also, the transceiver100comprises circuitry for determining one or more operating conditions of the transceiver100, such as a timing analyzer112and a timing test result indicator114.

More specifically, the transmitter is adapted to transmit one or more pulses, such as ultra wideband (UWB) pulses, that can be used to communicate with other wireless devices, and also to determine one or more operating conditions of the transceiver100. In this regard, the Tx/Rx controller140is adapted to initiate the transmission of a pulse. The Tx/Rx controller140initiates the transmission of a pulse by sending an instruction to the Tx timer126. In response to the instruction, the Tx timer126generates an enable signal (EN), based on a clock signal generated by the clock source142and the instruction, that enables the pulse generator120, buffer amplifier122, and PA124. In response to the EN signal, the pulse generator120generates a pulse, which is applied to the PA124by way of buffer amplifier122. The PA124, in turn, amplifies the pulse to an appropriate level for either transmission to a remote wireless device or transmission to the receiver-side of the transceiver100. In the case of the pulse signal being transmitted directly to the receiver-side of the transceiver100, the gain of the PA124may be set to a defined minimum or relatively low value in order to prevent or reduce signal compression in any of the receiver components.

If the pulse signal is to be transmitted to an external wireless device via the antenna130, the switch132is configured to couple node “c” to node “a”, and decouple node “b” from both nodes “a” and “c”. On the other hand, if the pulse signal is to be transmitted directly to the receiver-side of the transceiver100, the switch132is configured to couple node “c” to node “b”, and decouple node “a” from both nodes “b” and “c”. In the case that the receiver-side of the transceiver100is to receive a pulse signal from an external wireless device via the antenna130, the switch132is configured to couple node “a” to node “b”, and decouple node “c” from both nodes “a” and “b”.

The receiver of the transceiver100is adapted to receive a pulse signal from either an external wireless device or the transmitter-side of the transceiver. In this regards, the Tx/Rx controller140is adapted to initiate the reception of a pulse. The Tx/Rx controller140initiates the reception of a pulse by sending an instruction to the Rx timer116. In response to the instruction, the Rx timer116generates an enable signal (EN) based on the clock signal generated by the clock source142and the instruction, that enables the LNA102, squarer104, and VGA106. In response to the EN signal, the LNA102amplifies the received pulse signal to an appropriate level based on whether the signal was received from a remote wireless device or the transmitter-side of the transceiver100. In the case where the pulse signal was received from the transmitter-side of the transceiver100, the gain of the LNA102may be set to a defined minimum or relatively low value in order to prevent or reduce signal compression in any receiver component. The squarer104squares the amplified pulse signal in order to generate a signal that varies as a function of the energy of the received pulse signal. The VGA106further amplifies the squared signal to a level appropriate for the slicer108. The slicer108samples and performs a 1-bit digital conversion of the received signal based on a sampling clock generated by the sampling oscillator110.

The timing analyzer112is adapted to analyze the slices of the received signal to determine one or more operating conditions of the transceiver100. As discussed in more detail below, if the operation condition of the transceiver100that is being determined is the timing of the transmission of the pulses, then the timing analyzer112analyzes the received signal slices to determine if a pulse was transmitted within a particular hop offset subinterval of a hop interval, and no pulses were transmitted within other hop offset subintervals of the hop interval. Similarly, if the operation condition of the transceiver100that is being determined is the timing of the reception of the pulses, then the timing analyzer112analyzes the received signal slices to determine if a pulse was received within a particular hop offset subinterval of a hop interval, and no pulses were received within other hop offset subintervals of the hop interval.

The timing analyzer112instructs the Tx/Rx controller140to control the transmission and reception of a pulse signal pursuant to the test or determination being conducted. It shall be understood that the timing analyzer112may be adapted to determine other operating conditions of the transceiver100by analyzing the slices of the received signal. The timing test result indicator114is adapted to generate an indication of the test result conducted by the timing analyzer112. For instance, the indicator114may be any one or more of the following: a display, a transducer such as a speaker, a touch sensory system, a temperature sensory system, other somatosensory system, a controller, etc. Alternatively, or in addition to, the indicator114may provide an indication by sending a packet via a serial or other port, by interrogating a particular memory device, or performing some other operation.

Although in the examples described herein, the test pulse signal transmitted by the transmitter-side of the transceiver100is received by the receiver-side of the transceiver, it shall be understood that external equipment may be used to receive and process the transmitted test pulse signal in order to determine one or more operating conditions associated with the transmitter-side of the transceiver. Alternatively, or in addition to, it shall be understood that external equipment may be used to transmit a test pulse signal to the receiver-side of the transceiver100in order to determine one or more operating conditions associated with the receiver-side of the transceiver.

Additionally, with reference toFIG. 1, a means for transmitting a signal may include any one or more of the following: the pulse generator120, the buffer122, the power amplifier (PA)124, the transmitter (TX) timer126, the clock source142, and the transmit/receive (TX/RX) controller140. A means for receiving a signal may include any one or more of the following: the low noise amplifier (LNA)102, the squarer104, the variable gain amplifier (VGA)106, the receive (RX) timer116, the slicer108, the sampling oscillator110, the clock source142, and the transmit/receive (TX/RX) controller140. A means for determining an operating condition may include the timing analyzer112. A means for generating samples may include one or more of the following: the slicer108and the sampling oscillator110. A means for analyzing the samples may include the timing analyzer112. A means for enabling at least one component of the receiving means may include one or more of the following: the TX/RX controller140, the clock source142, and the RX timer116. A means for providing an indication may include the timing test result indicator114. A means for enabling or disabling at least one component of the transmitting means may include one or more of the following: the TX/RX controller140, the clock source142, and the TX timer126.

FIG. 2Aillustrates a diagram depicting a relationship between exemplary clock signal, hop interval, hop offset subinterval, test transmit signal, and test receive signal in accordance with another aspect of the disclosure. The top graph in the diagram depicts an exemplary clock signal that may be generated by clock source142. As illustrated, the clock signal may be substantially periodic and square-wave in shape. In this example, a period of the clock signal may substantially correspond to a duration of a hop interval. Below the graph of the clock signal are N exemplary hop intervals illustrated. Each hop interval may be comprised of eight (8) hop offset subintervals, labeled 0-7.

As an example, hop offset subintervals may be used to distinguish pulses transmitted and/or received from different users. In a simple implementation, a first user may be assigned to transmit and receive pulses within hop offset subinterval (2), while a second user may be assigned to transmit and receive pulses within hop offset subinterval (4). In a more complex implementation, a first user may be assigned a first hopping (e.g., pseudorandom) sequence of N hop offset subintervals, and a second user may be assigned a second and different hopping (e.g., pseudorandom) sequence of N hop offset subintervals. The first and second hopping sequences may be configured orthogonal to each other in order to prevent or minimize pulse collisions. Two consecutive or adjacent hop intervals may be configured as a data or pulse interval. For instance, if a pulse is transmitted in hop interval (0), then at a receiver end, the pulse may be interpreted as a logic (0). Similarly, if a pulse is transmitted in hop interval (1), then at a receiver end, the pulse may be interpreted as a logic (1). For each data or pulse interval, a single pulse is transmitted within the assigned hop offset subinterval.

As an example, a data frame or packet may be configured to have 64 data or pulse intervals. As discussed above, a data or pulse interval may comprise two consecutive hop intervals. Accordingly, in this example, there are 128 hop intervals (e.g., N=128). Also, as previously discussed, each hop interval may comprise eight (8) hop offset subintervals. Thus, in this example, there are 1024 hop offset subintervals (e.g., 128×8). Further, in accordance with this example, the slicer108may be configured to generate 16 samples or slices per hop offset subinterval. Accordingly, in this example, the slicer108may generate 16,384 slices per data frame or packet (1024×16).

In accordance with a testing of an exemplary operating condition of the transceiver100, such as the transmission of a pulse, the Tx/Rx controller140may be operated to cause the transmitter to transmit a pulse at hop offset subinterval (1) for all hop interval in a data frame or packet. The transmitted pulse is illustrated as a dotted line in the top or Tx portion of each hop interval. During proper operation of the transceiver100, the transmitted pulse should be received by the receiver after a relatively small delay from the transmission of the pulse. The received pulse is illustrated as a solid line in the bottom or Rx portion of each hop interval. For example, a successful result may be indicated when only a single pulse is detected at the receiver within a hop offset subinterval based on the hop offset subinterval in which the transmitted pulse was sent (e.g., the same hop offset subinterval). This test may be repeated for each hop offset and for each Tx timer126if there are multiple timers.

FIG. 2Billustrates an exemplary test receive signal in accordance with another aspect of the disclosure. As previously discussed, the slicer108may generate 128 slices per each hop interval. Then, the timing analyzer112generates a running count of the slice value for each slice position for the hop intervals in a data frame or packet. For instance, the maximum for the running count of the slice value for a particular position is 128 because there are 128 hop intervals, and the slice value for each position is either a one (1) or zero (0). An upper threshold TH1may be set to a specified high percentage (e.g., 80%) of the maximum value (e.g., 128), such as 102 (e.g., ˜80% of 128). A lower threshold TH2may be set to a specified low percentage (e.g., 20%) of the maximum value (e.g., 128), such as 26 (e.g., ˜20% of 128). The upper threshold TH1may be set based on historical, actual and/or estimated values of running counts associated with a successful reception of pulses. The lower threshold TH2may be set based on historical, actual and/or estimated values of running counts associated with noise present in the received signal.

A successful result may be indicated as follows: (1) the running count(s) for one or more slice positions pertaining to a hop offset subinterval is equal to or above the upper threshold TH1, which indicates the presence of a pulse in that hop offset subinterval; (2) the hop offset subinterval indicative of having a pulse is consistent with the hop offset subinterval in which the pulse was transmitted (e.g., transmitted in hop offset subinterval (1) and received in hop offset subinterval (1)); (3) the running counts for all slice positions pertaining to other hop offset subintervals are equal to or below the lower threshold TH2, which indicates the absence of a pulse in those hop offset subintervals; and (4) the running counts for slice positions in the hop offset subinterval following the hop subinterval indicative of having a pulse are ignored to account for the pulse signal leaking into the following hop offset subinterval.

The example illustrated inFIG. 2Bindicates a successful result. For instance, the running count of slice positions 23-31 within the hop offset subinterval (1) are equal to or above the upper threshold TH1, which indicates the presence of a pulse in that hop offset subinterval. The hop offset subinterval (1) corresponds to the hop offset subinterval (1) in which the pulse was transmitted. The other hop offset subintervals (0) and (3)-(7) indicate the absence of pulse by the corresponding running counts of all of their slice positions being equal to or below the lower threshold TH2. The running counts of the slice positions of the hop offset subinterval (2) following the hop offset subinterval (1) indicative of having a pulse are ignored due to signal leakage into that hop offset subinterval (2) as shown.

Additional information related to the operating condition of the transceiver may be obtained by analyzing the running counts of slice positions for one or more data frames or packets. For instance, the running counts may indicate variation or drift in the timing of the transmission of the pulses. Statistical information, such as standard deviation, may be obtained by analysis of the running counts of slice positions. This may be useful to further ascertain the operating condition of the transceiver.

FIG. 3illustrates a flow diagram of an exemplary method300of testing a timing operation of a transmitter in accordance with another aspect of the disclosure. The method300is one example of a method for determining one or more operation conditions of the transceiver100, as previously discussed. That is, the timing and other parameters associated with the transmission of a pulse may be determined by implementing the exemplary method300.

In particular, according to the method300, the transceiver100may be set to a fixed test configuration (block302). For instance, in this regards, the LNA102and PA124may be set to respective specified minimal or relatively low gains in order to prevent too high signal levels at the receiver-side of the transceiver100. This may be done to prevent significant signal compression at one or more components at the receiver-side of the transceiver100. Additionally, the switch132may be configured to couple nodes “b” and “c”, and decouple node “a” from both nodes “b” and “c”. Such parameters may be fixed throughout the testing method300.

Additionally, the transceiver100may be set to an initial test configuration (block304). For instance, the current Tx timer j to be tested (e.g., Tx timer 0) may be set or enabled. Also, the current hop interval k to be tested (e.g., hop interval 0) may be set. Additionally, the current hop offset subinterval l to be tested (e.g., hop offset subinterval 0) may be set. As discussed below, such parameters may be changed throughout the testing method300.

Then, according to the method300, the transmitter-side of the transceiver100transmits a pulse within the current hop offset subinterval l of the current hop interval k using the current Tx timer j (block306). That is, the pulse generator120, buffer122, and PA124are enabled only during the current hop offset subinterval l of the current hop interval k. These devices are disabled during the other hop offset subintervals of the current hop interval k. The receiver-side of the transceiver100is enabled to receive the signal from the transmitter-side for the entire duration of the current hop interval k (block308). That is, the LNA102, squarer104, and VGA106are enabled for the entire duration of the current hop interval k.

Then, according to the method300, the slicer108generates slices of the received signal for the entire duration of the current hop interval k (block310). With regard to the example previously discussed, the slicer108may take 128 slices of the received signal per the current hop interval k. The timing analyzer112then generates a running count of the value of each of the slices (block312). Then, in block314, the variable k indicative of the current hop interval is incremented. And, in block316, it is determined whether the new current hop interval k exceeds the number of hop intervals K−1 for a data frame or packet (e.g., K−1=128). If the current hop interval k does not exceed the number of hop intervals K−1 in a data frame or packet (e.g., k<K), then the operations pertaining to blocks306through316are repeated.

If, on the other hand, the current hop interval k does exceed the number of hop intervals K−1 in a data frame or packet (e.g., k=K), the timer analyzer112assesses the transmitter timing for the current hop offset subinterval l and Tx timer j by analyzing the running counts of the slices (block318). As previously discussed with reference toFIGS. 2A-2B, the transmitter timing is running properly if the following criteria are met: (1) the running count(s) for one or more slice positions pertaining to the current hop offset subinterval l is equal to or above the upper threshold TH1, which indicates the presence of a pulse in that hop offset subinterval; (2) the running counts for all slice positions pertaining to other hop offset subintervals are equal to or below the lower threshold TH2, which indicates the absence of a pulse in those hop offset subintervals; and (3) the running counts for slice positions in the next hop offset subinterval l+1 are ignored to account for the pulse signal leaking into the following hop offset subinterval.

In block320, the current hop offset subinterval l is incremented (e.g., l=l+1). Then, it is determined whether the new current hop offset subinterval l exceeds the number of hop offset subintervals L−1 in a hop interval (block322). If not (e.g., l<L), the operations indicated in blocks306through322are repeated. On the other hand, if the current hop offset subinterval l exceeds the number of hop offsets subintervals L−1 in a hop interval (e.g., l=L), then the current timer j is incremented (e.g., j=j+1) (block324). Then, it is determined whether the new current timer j exceeds the number of Tx timers J−1 to be tested (block326). If not (e.g., j<J), the operations indicated in blocks306through326are repeated. On the other hand, if the current Tx timer j exceeds the number of Tx timers J−1 to be tested (e.g., j=J), then the transmitter timer testing operation may end (block328).

FIG. 4Aillustrates a diagram depicting another relationship between exemplary clock signal, hop interval, hop offset subinterval, test transmit signal, and test receive signal in accordance with another aspect of the disclosure. This diagram is similar to the one depicted inFIG. 2A, and thus, the relationship between the clock signal, hop interval, and hop offset subinterval have been thoroughly discussed. The diagram ofFIG. 4Adiffers from that ofFIG. 2Ain that the transmit signal is configured to test the Rx timer116. In this example, the transmit signal consists of a plurality of pulses transmitted within all the hop offset subintervals of each hop interval, respectively. Further, in this example, the receiver (e.g., the LNA102, squarer104, and VGA106) is enabled only for a duration of a selected hop offset subinterval and disabled for the remaining hop offset subintervals of each hop interval.

FIG. 4Billustrates an exemplary test receive signal in accordance with another aspect of the disclosure. The diagram ofFIG. 4Bis similar to the diagram ofFIG. 2Bbecause the criteria for a successful test of the Rx timer116are similar to the criteria for a successful test of the Tx timer126. That is, a successful result may be indicated as follows: (1) the running count(s) for one or more slice positions pertaining to a hop offset subinterval is equal to or above the upper threshold TH1, which indicates the presence of a pulse in that hop offset subinterval; (2) the hop offset subinterval indicative of having a pulse is consistent with the hop offset subinterval in which the receiver was enabled; and (3) the running counts for all slice positions pertaining to other hop offset subintervals are equal to or below the lower threshold TH2, which indicates the absence of a pulse in those hop offset subintervals.

The example illustrated inFIG. 4Bindicates a successful result. For instance, the running count of slice positions 23-31 within the hop offset subinterval (1) are equal to or above the upper threshold TH1, which indicates the presence of a pulse in that hop offset subinterval. The hop offset subinterval (1) corresponds to the hop offset subinterval (1) during which the receiver was enabled. The other hop offset subintervals (0) and (3)-(7) indicate the absence of pulse by the corresponding running counts of all of their slice positions being equal to or below the lower threshold TH2.

FIG. 5illustrates a flow diagram of an exemplary method500of testing a timing operation of a receiver in accordance with another aspect of the disclosure. The method500is one example of a method for determining one or more operation conditions of the transceiver100, as previously discussed. That is, the timing and other parameters associated with the reception of pulses may be determined by implementing the exemplary method500.

In particular, according to the method500, the transceiver100may be set to a fixed test configuration (block502). For instance, in this regards, the LNA102and PA124may be set to respective specified minimal or relatively low gains in order to prevent too high signal levels at the receiver-side of the transceiver100. This may be done to prevent significant signal compression at one or more components at the receiver-side of the transceiver100. Additionally, the switch132is configured to couple nodes “b” and “c”, and decouple node “a” from both nodes “b” and “c”. Such parameters may be fixed throughout the testing method500.

Additionally, the transceiver100may be set to an initial test configuration (block504). For instance, the current Rx timer j to be tested (e.g., Rx timer 0) may be set or enabled. Also, the current hop interval k to be tested (e.g., hop interval 0) may be set. Additionally, the current hop offset subinterval l to be tested (e.g., hop offset subinterval 0) may be set. As discussed below, such initial parameters are changed throughout the testing method500.

Then, according to the method500, the transmitter-side of the transceiver100transmits respective pulses within every hop offset subinterval of the current hop interval k (block506). That is, the pulse generator120, buffer122, and PA124are enabled throughout the entire duration of the current hop interval k. The receiver-side of the transceiver100is enabled to receive the signal from the transmitter-side for only the duration of the current hop offset subinterval l of the current hop interval k (block508). That is, the LNA102, squarer104, and VGA106are enabled for only the duration of the current hop offset subinterval l of the current hop interval k. The receiver is disabled for the other hop offset subintervals of the current hop interval k.

Then, according to the method500, the slicer108generates slices of the received signal for the entire duration of the current hop interval k (block510). With regard to the example previously discussed, the slicer108may take 128 slices of the received signal per the current hop interval k. The timing analyzer112then generates a running count of the value of each of the slices (block512). Then, in block514, the variable k indicative of the current hop interval is incremented. And, in block516, it is determined whether the new current hop interval k exceeds the number hop intervals K−1 for a data frame or packet. If the current hop interval k does not exceed the number of hop intervals K−1 in a data frame or packet (e.g., k<K), then the operations pertaining to blocks506through516are repeated.

If, on the other hand, the current hop interval k does exceed the number of hop intervals K−1 in a data frame or packet (e.g., k=K), the timer analyzer112assesses the receiver timing for the current hop offset subinterval l and Rx timer j by analyzing the running counts of the slice positions (block518). As previously discussed with reference toFIGS. 4A-4B, the receiver timing is running properly if the following criteria are met: (1) the running count(s) for one or more slice positions pertaining to the current hop offset subinterval l is equal to or above the upper threshold TH1, which indicates the presence of a pulse in that hop offset subinterval; and (2) the running counts for all slice positions pertaining to other hop offset subintervals are equal to or below the lower threshold TH2, which indicates the absence of a pulse in those hop offset subintervals.

In block520, the current hop offset subinterval l is incremented (e.g., l=l+1). Then, it is determined whether the new current hop offset subinterval l exceeds the number of hop offsets L−1 in a hop interval (block522). If not (e.g., l<L), the operations indicated in blocks506through522are repeated. On the other hand, if the current hop offset 1 exceeds the number of hop offsets L−1 in a hop interval (e.g., l=L), then the current Rx timer j is incremented (e.g., j=j+1) (block524). Then, it is determined whether the new current Rx timer j exceeds the number J−1 of Rx timers to be tested (block526). If not (e.g., j<J), the operations indicated in blocks506through524are repeated. On the other hand, if the current Rx timer j exceeds the number J−1 of Rx timers to be tested (e.g., j=J), then the Rx timer testing operation may end (block528).

FIG. 6illustrates a block diagram of an exemplary apparatus600in accordance with another aspect of the disclosure. In general, the apparatus600is configured for determining an operating condition of a transceiver. The operating condition is based on a first time T1associated with the transmission of a signal, and a second time T2associated with the reception of the signal. More specifically, the operating condition is based on a comparison of the first and second times (T1and T2).

In particular, the apparatus600comprises a transceiver610including a signal transmitting module612and a signal receiving module614. The apparatus600also comprises an operating condition determining module620coupled to both the signal transmitting module612and the signal transmitting module614. In operation, the signal transmitting module612transmits a signal at time T1. The signal receiving module614receives the signal at time T2. The operating condition determining module620determines an operation condition of the transceiver610based on a comparison of the first and second times (T1and T2).

FIG. 7illustrates a block diagram of another exemplary apparatus700in accordance with another aspect of the disclosure. The apparatus700comprises a data generator720, a data receiver730, and a transceiver operating condition assessor740, all of which are coupled to a transceiver710. The transceiver operating condition assessor740determines one or more operating conditions of the transceiver710, and may be implemented as described herein. The data generator720generates data for transmission by the transceiver710to a remote wireless device via a wireless medium. The data receiver730receives data received by the transceiver710from a remote wireless via the wireless medium.

The data generator720and the data receiver730may be implemented as specific devices depending on the application of the apparatus700. For instance, if the apparatus700is implemented as a headset, the data generator720may be a data-generating transducer, such as a microphone, and the data receiver730may be a data-processing transducer, such as a speaker. Similarly, if the apparatus700is implemented as a watch, the data generator720may be a data-generating device, such as a keyboard or touch-sensitive display, and the data receiver730may be a user interface, such as a display. Likewise, if the apparatus700is implemented as a sensing device, the data generator720may be a data-generating device, such as a sensor, and the data receiver730may be a controller that controls the sensing operation.

The apparatus700may be implemented as many distinct devices, such as a gaming device, shoe, robotic or mechanical device responsive to data, a medical device, an audio device, an athletic monitoring device, and others. In such distinct devices, the data generator720and data receiver730may be implemented to complement the various distinct applications of the distinct devices. For instance, the data generator720and data receiver730may be separate or integrated devices, and may include a microprocessor, microcontroller, a reduced instruction set computer (RISC) processor, a display, an audio device, one or more light emitting diodes (LED), a user device, etc.

FIG. 8Aillustrates different channels (channels1and2) defined with different pulse repetition frequencies (PRF) as an example of a pulse modulation that may be employed in any of the communications systems, devices, and apparatuses described herein. Specifically, pulses for channel1have a pulse repetition frequency (PRF) corresponding to a pulse-to-pulse delay period802. Conversely, pulses for channel2have a pulse repetition frequency (PRF) corresponding to a pulse-to-pulse delay period804. This technique may thus be used to define pseudo-orthogonal channels with a relatively low likelihood of pulse collisions between the two channels. In particular, a low likelihood of pulse collisions may be achieved through the use of a low duty cycle for the pulses. For example, through appropriate selection of the pulse repetition frequencies (PRF), substantially all pulses for a given channel may be transmitted at different times than pulses for any other channel.

The pulse repetition frequency (PRF) defined for a given channel may depend on the data rate or rates supported by that channel. For example, a channel supporting very low data rates (e.g., on the order of a few kilobits per second or Kbps) may employ a corresponding low pulse repetition frequency (PRF)). Conversely, a channel supporting relatively high data rates (e.g., on the order of a several megabits per second or Mbps) may employ a correspondingly higher pulse repetition frequency (PRF).

FIG. 8Billustrates different channels (channels1and2) defined with different pulse positions or offsets as an example of a modulation that may be employed in any of the communications systems described herein. Pulses for channel1are generated at a point in time as represented by line806in accordance with a first pulse offset (e.g., with respect to a given point in time, not shown). Conversely, pulses for channel2are generated at a point in time as represented by line808in accordance with a second pulse offset. Given the pulse offset difference between the pulses (as represented by the arrows810), this technique may be used to reduce the likelihood of pulse collisions between the two channels. Depending on any other signaling parameters that are defined for the channels (e.g., as discussed herein) and the precision of the timing between the devices (e.g., relative clock drift), the use of different pulse offsets may be used to provide orthogonal or pseudo-orthogonal channels.

FIG. 8Cillustrates different channels (channels1and2) defined with different timing hopping sequences modulation that may be employed in any of the communications systems described herein. For example, pulses812for channel1may be generated at times in accordance with one time hopping sequence while pulses814for channel2may be generated at times in accordance with another time hopping sequence. Depending on the specific sequences used and the precision of the timing between the devices, this technique may be used to provide orthogonal or pseudo-orthogonal channels. For example, the time hopped pulse positions may not be periodic to reduce the possibility of repeat pulse collisions from neighboring channels.

FIG. 8Dillustrates different channels defined with different time slots as an example of a pulse modulation that may be employed in any of the communications systems described herein. Pulses for channel L1are generated at particular time instances. Similarly, pulses for channel L2are generated at other time instances. In the same manner, pulse for channel L3are generated at still other time instances. Generally, the time instances pertaining to the different channels do not coincide or may be orthogonal to reduce or eliminate interference between the various channels.

It should be appreciated that other techniques may be used to define channels in accordance with other pulse modulation schemes. For example, a channel may be defined based on different spreading pseudo-random number sequences, or some other suitable parameter or parameters. Moreover, a channel may be defined based on a combination of two or more parameters.

FIG. 9illustrates a block diagram of various ultra-wide band (UWB) communications devices communicating with each other via various channels in accordance with another aspect of the disclosure. For example, UWB device1902is communicating with UWB device2904via two concurrent UWB channels1and2. UWB device902is communicating with UWB device3906via a single channel3. And, UWB device3906is, in turn, communicating with UWB device4908via a single channel4. Other configurations are possible. The communications devices may be used for many different applications, and may be implemented, for example, in a headset, microphone, biometric sensor, heart rate monitor, pedometer, EKG device, watch, shoe, remote control, switch, tire pressure monitor, or other communications devices. A medical device may include smart band-aid, sensors, vital sign monitors, and others. The communications devices described herein may be used in any type of sensing application, such as for sensing automotive, athletic, and physiological (medical) responses.

Any of the above aspects of the disclosure may be implemented in many different devices. For example, in addition to medical applications as discussed above, the aspects of the disclosure may be applied to health and fitness applications. Additionally, the aspects of the disclosure may be implemented in shoes for different types of applications. There are other multitude of applications that may incorporate any aspect of the disclosure as described herein.

Also, it should be understood that any reference to an element herein using a designation such as “first,” “second,” and so forth does not generally limit the quantity or order of those elements. Rather, these designations are generally used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be employed there or that the first element must precede the second element in some manner. Also, unless stated otherwise a set of elements comprises one or more elements. In addition, terminology of the form “at least one of A, B, or C” or “one or more of A, B, or C” or “at least one of the group consisting of A, B, and C” used in the description or the claims means “A or B or C or any combination of these elements.”

Those of skill in the art understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, any data, instructions, commands, information, signals, bits, symbols, and chips referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

In a hardware implementation, the machine-readable media may be part of the processing system separate from the processor. However, as those skilled in the art will readily appreciate, the machine-readable media, or any portion thereof, may be external to the processing system. By way of example, the machine-readable media may include a transmission line, a carrier wave modulated by data, and/or a computer product separate from the wireless node, all which may be accessed by the processor through the bus interface. Alternatively, or in addition, the machine-readable media, or any portion thereof, may be integrated into the processor, such as the case may be with cache and/or general register files.

Thus, certain aspects may comprise a computer program product for performing the operations presented herein. For example, such a computer program product may comprise a computer-readable medium having instructions stored (and/or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein. In some aspects, a computer-readable medium comprises codes executable to perform one or more operations as taught herein. For certain aspects, the computer program product may include packaging material.