Disclosed aspects relate to a hardware-efficient carrier-sensing method.
There is always a need for reducing hardware and complexity in a system while optimizing performance, as well as reducing the computational and processing overhead in telecommunication systems. One area with special requirements that can prove burdensome to a system is carrier sensing. A Carrier Sensing Multiple Access with Collision Avoidance (CSMA-CA) protocol, for example, is a probabilistic media access control (MAC) protocol, where a node in a network verifies the absence of other data traffic, prior to transmitting on a shared communication medium, such as an electrical bus or a band of the electromagnetic spectrum that is used for communication.
In many conventional systems, there is one correlator used or dedicated to the processing of each distinct codeword that is used in implementing the communication protocol. For example, the offset quadrature phase shift keying (abbreviated as “O-QPSK”) PHY of the Institute of Electrical and Electronics Engineers (abbreviated as “IEEE”) Standard 802.15.4 (2011) for Low-Rate wireless Personal Area Networks (LR-WPANs) (hereinafter “15.4 Standard”) specifies a codebook that includes sixteen distinct codewords (hereinafter “15.4 codewords”). Conventionally, a device would require one dedicated correlator in order to sense each codeword in the 15.4 codebook, that is, sixteen correlators to sense all 15.4 codewords. This is an expensive and hardware-intensive solution associated with a high computational overhead penalty.
Accordingly, there is a need in the art, to avoid and circumvent the drawbacks of the above-described conventional approach.
Aspects of the invention are disclosed in the following description and related drawings directed to specific aspects of the invention.
In accordance with aspects of the disclosure, a method for hardware-efficient carrier sensing is provided. The method may include receiving a received signal during a detection window, generating a phase-discriminated waveform based on the received signal, determining a plurality of absolute values respectively based on a plurality of correlations of the phase-discriminated waveform, and generating a detection metric based on a peak value of the plurality of absolute values.
In accordance with other aspects of the disclosure, an apparatus for hardware-efficient carrier sensing is provided. The apparatus may include a receiver configured to receive a received signal during a detection window, a processor, and a memory coupled to the processor. The processor may be configured to generate a phase-discriminated waveform based on the received signal, determine a plurality of absolute values respectively based on a plurality of correlations of the phase-discriminated waveform, and generate a detection metric based on a peak value of the plurality of absolute values.
In accordance with yet other aspects of the disclosure, another apparatus for hardware-efficient carrier sensing is provided. The apparatus may include means for receiving a received signal during a detection window, means for generating a phase-discriminated waveform based on the received signal, means for determining a plurality of absolute values respectively based on a plurality of correlations of the phase-discriminated waveform, and means for generating a detection metric based on a peak value of the plurality of absolute values.
The accompanying drawings are presented to aid in the description of embodiments of the invention and are provided solely for illustration of the embodiments and not any limitations thereof.
Aspects of the invention are disclosed in the following description and related drawings directed to specific embodiments of the invention. Alternate embodiments may be devised without departing from the scope of the invention. Additionally, well-known elements of the invention will not be described in detail or will be omitted so as not to obscure the relevant details of the invention.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over the other embodiments. Likewise, the term “embodiments of the invention” does not require that all embodiments of the invention include the discussed feature, advantage or mode of operation
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of embodiments of the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Further, many embodiments are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It will be recognized that various actions described herein can be performed by specific circuits (e.g., application specific integrated circuits (ASICs)), by program instructions being executed by one or more processors, or by a combination of both. Additionally, these sequence of actions described herein can be considered to be embodied entirely within any form of computer readable storage medium having stored therein a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects of the invention may be embodied in a number of different forms, all of which have been contemplated to be within the scope of the claimed subject matter. In addition, for each of the embodiments described herein, the corresponding form of any such embodiments may be described herein as, for example, “logic configured to” perform the described action.
Those of skill in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be 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.
Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The methods, sequences, and/or algorithms described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
Accordingly, an embodiment of the invention can include a computer readable media embodying the methods disclosed herein. Accordingly, the invention is not limited to illustrated examples, and any means for performing the functionality described herein are included in embodiments of the invention.
While the foregoing disclosure shows illustrative embodiments of the invention, it should be noted that various changes and modifications could be made herein without departing from the scope of the invention as defined by the appended claims. The functions, steps, and/or actions of the method claims in accordance with the embodiments of the invention described herein need not be performed in any particular order. Furthermore, although elements of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
Wireless personal area networks (WPANs) are used to convey information over relatively short distances. Unlike wireless local area networks (WLANs), connections effected via WPANs involve little or no supporting infrastructure. This feature allows small, power-efficient, and relatively inexpensive solutions to be implemented for a wide range of devices. The raw data rate is high enough (250 kb/s) to satisfy a set of applications. But it is also scalable down to the needs of sensor and automation needs (20 kb/s or below) for wireless communications. The 15.4 Standard, for example, may define the physical layer (PHY) and medium access control (MAC) sublayer specifications for low data rate wireless connectivity.
The wireless device 100 may include an antenna 110 coupled to a modem 120. The modem 120 may perform physical (PHY) layer functions and may include a receiver 130, a transmitter 140, and a RF assembly 150. The wireless device 100 may further include a MAC module 160, a radio control unit 170, and other components 190, as will be discussed in greater detail below.
The receiver 130 may include a clear channel assessment module 132 and a receiver function module 134. The clear channel assessment module 132 may perform carrier-sensing functions. As will be discussed in greater detail below, the wireless device 100 may be configured to operate in accordance with the 15.4 Standard, which may require the wireless device 100 to determine that a particular channel is clear before transmitting on the particular channel. The determination may be referred to as a clear channel assessment (which may be abbreviated as “CCA”). The receiver function module 134 may include one or more components configured to perform other receiving functions associated with the receiver 130, for example, demodulation of signals received at the antenna 110.
The transmitter 140 may include a transmission function module 142. The transmission function module 142 may be configured to perform transmitting functions associated with the transmitter 140, for example, spreading and/or modulation of signals to be transmitted via the antenna 110.
The receiver 130 and transmitter 140 may each be coupled to the RF assembly 150. The RF assembly 150 may be configured to selectively couple the antenna 110 to the receiver 130 and/or the transmitter 140. The RF assembly 150 may also be configured to receive control signals from the radio control unit 170.
The MAC module 160 may include a CSMA-CA module 162 and a MAC function module 164. The CSMA-CA module 162 may interact with the radio control unit 170 to enable Rx/Tx Digital/RFA components if necessary. As will be discussed in greater detail below, the CSMA-CA module 162 may perform one or more algorithms associated with carrier sensing and/or collision avoidance, for example, a CSMA-CA protocol. For example, the CSMA-CA module 162 may exchange signals with the clear channel assessment module 132 of the receiver 130 in the modem 120. The signals may include, for example, instructions for performing carrier sensing sent from the CSMA-CA module 162 to the clear channel assessment module 132. The instructions to perform carrier sensing may specify, for example, a particular channel, a particular detection window, etc. The signals may further include, for example, carrier-sensing data that indicates, for example, an energy level associated with a particular channel. The signal may further include, for example, received signal data associated with a particular channel, codewords associated with the received signal data, and/or indications as to whether the received signal data has modulation and spreading characteristics associated with a particular standard (for example, the 15.4 Standard). The MAC function module 164 may include one or more components configured to perform other receiving functions associated with the MAC module 160, for example, miscellaneous MAC functions other than CSMA-CA.
The radio control unit 170 may be configured to control one or more components of the modem 120, for example, the receiver 130, the transmitter 140, and/or the RF assembly 150. For example, the radio control unit 170 may receive an indication from the CSMA-CA module 162 that a clear channel assessment has been performed and/or that a clear channel has been identified. The radio control unit 170 may be further configured to instruct the transmitter 140 and/or RF assembly 150 to transmit a signal and/or specify a channel (for example, an identified clear channel) upon which to perform the transmission.
The other components 190 may include other components necessary for the functioning of the wireless device 100, for example, a processor, a memory, a power unit, a user interface, etc. The various components of the wireless device 100 described above may be implemented using one or more processors, memories, and/or transceivers. For example, one or more processors and one or more memories coupled to the one or more processors may be used to implement one or more functions of one or more of the components of the wireless device 100.
The illustrated example of wireless transceiver 200 includes PLL 202, modulator 204, digital controller 210, buffers 212 and 214, transmit amplifiers 216, transmit matching network 218, transmit/receive switch 220, antenna 222, divider 224, receive matching network 226, front end amplifier 228, mixer 230, low pass filter 232, mixers 234 and 236, low pass filters 238 and 240, and analog-to-digital converters (ADCs) 242 and 244.
The example wireless device 300A is illustrated in
While internal components of wireless devices such as the wireless devices 300A and 300B can be embodied with different hardware configurations, a basic high-level configuration for internal hardware components is shown as platform 302 in
In one aspect, wireless communications by wireless devices 300A and 300B may be enabled by the transceiver 306 based on different technologies, such as Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (W-CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiplexing (OFDM), Global System for Mobile (GSM), 2G, 3G, 4G, Long-Term Evolution (LTE), or other protocols that may be used in a wireless communications network or a data communications network. Voice and/or data can be transmitted to the electronic devices from a RAN using a variety of networks and configurations. Accordingly, the illustrations provided herein are not intended to limit the aspects of the invention and are merely to aid in the description of aspects of the invention.
Accordingly, aspects of the present disclosure can include a wireless device (e.g., wireless devices 300A, 300B, etc.) configured, and including the ability to perform the functions as described herein. For example, transceiver 306 may be implemented as wireless transceiver 200 of
At 410, the wireless device 100 optionally determines whether there is data to be transmitted on a particular channel. In some implementations, the determining at 410 may be performed by the CSMA-CA module 162 depicted in
It will be understood that the determining at 410 may be omitted. As an alternative, the CSMA-CA algorithm 400 may proceed to 420 intermittently, for example, periodically.
At 420, the wireless device 100 listens to the channel during a detection window. The detection window may include, for example, a set period of time. The listening at 420 may include, for example, transmitting an instruction to listen to the channel during the detection window and may be performed by, for example, the CSMA-CA module 162 depicted in
At 430, the wireless device 100 determines whether a characteristic signal is detected during the detection window. In some implementations, the characteristic signal may be a signal that is modulated and spread in accordance with a particular standard, for example, the 15.4 Standard. Accordingly, the wireless device 100 may identify one or more modulation and spreading characteristics of the signal and determine whether they match the modulation and spreading characteristics of the particular standard, for example, the 15.4 Standard. The determining at 430 may be performed by, for example, the clear channel assessment module 132 and/or the CSMA-CA module 162 depicted in
If, at 430, the wireless device 100 determines that the characteristic signal is detected during the detection window (‘yes’ at 430), then the CSMA-CA algorithm 400 proceeds to 440. At 440, the wireless device 100 backs off the channel. The backing off at 440 may include waiting until a particular time and/or waiting for a particular duration of time. After the backing off at 440 is complete, the CSMA-CA algorithm 400 may return to the listening at 420.
If, at 430, the wireless device 100 determines that the characteristic signal is not detected during the detection window (‘no’ at 430), then the CSMA-CA algorithm 400 proceeds to 450. At 450, the wireless device 100 transmits data on the channel. The transmitting at 450 may include transmitting of the data determined at 410. The transmitting at 450 may include, for example, transmitting an instruction to transmit data to one or more of the transmitter 140, the RF assembly 150, and the radio control unit 170, and may be performed, for example, by the CSMA-CA module 162. Additionally or alternatively, the transmitting at 450 may include, for example, transmitting the data and may be performed, for example, by one or more of the antenna 110, the transmitter 140, and the RF assembly 150.
As noted above, identifying a characteristic signal may be expensive and hardware-intensive and may be associated with a high computational overhead penalty. For example, consider an implementation in which the wireless device 100 is performing the determining at 430 by receiving a signal and determining whether the received signal was transmitted in compliance with the 15.4 Standard. The wireless device 100 may perform the determining at 430 by analyzing the modulation and spreading characteristics of the received signal. To assist the reader in understanding how a 15.4 Standard-compliant signal may be recognized based on modulation and spreading characteristics,
As an example, a twenty-bit stream of input bits 510 is provided having the sequence “1001 1001 1011 0010 0001” (with spacing added between nibbles for ease of illustration). If, for example, the stream of input bits 510 were to be transmitted in accordance with the 15.4 Standard, the stream of input bits 510 would first be mapped to the stream of data symbols 520. In order to perform the mapping, the stream of input bits 510 would be divided into nibbles 511-515, each nibble consisting of four input bits. In particular, a first nibble 511 would consist of bits “1001,” a second nibble 512 would consist of bits “1001,” a third nibble 513 would consist of bits “1011,” a fourth nibble 514 would consist of bits “0010,” and a fifth nibble 515 would consist of bits “0001.” Then, each nibble would be converted to a data symbol. In the present illustration, the conversion is performed as specified in the 15.4 Standard, that is, by converting each nibble beginning with the least-significant bit (LSB) and proceeding to the most-significant bit (MSB). In particular, the first nibble 511 would be interpreted as binary “1001” and converted to a first data symbol 521 consisting of data symbol “9,” the second nibble 512 would be interpreted as binary “1001” and converted to a second data symbol 522 consisting of data symbol “9,” the third nibble 513 would be interpreted as binary “1101” and converted to a third data symbol 523 consisting of data symbol “13,” the fourth nibble 514 would be interpreted as binary “0100” and converted to a fourth data symbol 524 consisting of data symbol “4,” and the fifth nibble 515 would be interpreted as binary “1000” and converted to a fifth data symbol 525 consisting of data symbol “8.”
The table 600 of
The codewords shown in the second column 620 may be nearly-orthogonal pseudo-random noise sequences. For example, the first data symbol 521 consisting of data symbol “9” may be mapped to a first codeword 631 having the sequence of chip values “10111000110010010110000001110111,” the second data symbol 522 consisting of data symbol “9” may be mapped to a second codeword 632 having the sequence of chip values “10111000110010010110000001110111,” the third data symbol 523 consisting of data symbol “13” may be mapped to a third codeword 633 having the sequence of chip values “01100000011101111011100011001001,” the fourth data symbol 524 consisting of data symbol “4” may be mapped to a fourth codeword 634 having the sequence of chip values “01010010001011101101100111000011,” and the fifth data symbol 525 consisting of data symbol “8” may be mapped to a fifth codeword 635 having the sequence of chip values “10001100100101100000011101111011.” It will be understood that this is merely an example showing how the 15.4 Standard in particular might be recognized, and that the signal may include any other recognizable sequence in accordance with aspects of the disclosure.
Once the codewords 631-635 (and their respective sequences of chip values) have been determined, the chip values may be modulated onto a carrier. In the 15.4 Standard, the modulation includes offset quadrature phase shift keying (abbreviated as “O-QPSK”) with half-sine pulse shaping, wherein a “1” is represented by the first half of a sine wave (the positive half) and a “0” or “−1” is represented by the second half of the sine wave (the negative half). Even-indexed chips (c0, c2, c4, etc.) are modulated onto the in-phase (I) carrier, and odd-indexed chips (c1, c3, c5, etc.) are modulated onto the quadrature-phase (Q) carrier. To form the offset between I-phase and Q-phase chip modulation, the Q-phase chips may be delayed by one chip duration with respect to the I-phase chips.
Returning to
For example, in order to comply with the 15.4 Standard, the wireless device 100 must support a particular clear channel assessment (CCA) function. For example, in a carrier-sense based CCA mode associated with the 15.4 Standard, a channel is considered to be clear and safe to transmit data if the presence of a carrier modulated in accordance with the 15.4 Standard cannot be detected in the received signal during the detection window. It should be noted that 15.4 also supports multiple physical layer (PHY) formats, for example, O-QPSK PHY formats. The CSMA-CA algorithm allows you to back off on the transmission and try transmitting the information again (as at 440). The orthogonal quadrature phase-shift keying (O-QPSK) PHY of the IEEE 802.15.4 technology supports carrier sense mode of CCA, where “modulation and spreading characteristics of the PHY” form the signature that is used for detecting a 15.4 signal.
The conventional approach, which will be discussed in greater detail below, may have high costs in terms of space, production expense, and/or processing power. However, these costs may be advantageously reduced in accordance with aspects of the disclosure.
In the conventional approach, the wireless device 100 may include a 1:1 ratio of correlators to distinct codewords. For example, to determine if a particular channel is clear, the wireless device 100 must determine a correlation between the received signal (or portions thereof) and each of the sixteen different 15.4 codewords. If the received signal includes any sequence of 15.4 codewords during the detection window, the wireless device 100 must determine (at 430) that the channel is not clear, and observe the back-off period (as at 440). The wireless device 100 may only transmit data (at 450) if the signal portion does not correlate to any sequence of the sixteen 15.4 codewords. Given that the 15.4 Standard may specify a detection window with a duration of eight codewords (128 μs, with each 15.4 codeword having a duration of 16 μs), it will be understood that the wireless device 100 must be configured to recognize any one of 168 (˜4.294×109) possible codeword sequences. Moreover, for a single correlator operating at 8 MHz, one hundred and twenty-eight taps may be required for each 16 μs duration. Accordingly, the determining at 430, when performed using the conventional approach, may have high costs in terms of processing and/or power consumption. The present disclosure provides new techniques for reducing the amount of processing and/or power consumption necessary to perform clear channel assessment.
As will be understood from
In a spreading communication protocol (e.g. CDMA), the sequence is data independent. That is, the same sequence is used regardless of the transmitted bits. In this implementation, the term codeword is data dependent as in channel coding. That is, we have 16 possible sequences/codewords and pick one depending on the combination of each 4-bit group to be transmitted.
Note that a set of multiple codewords are referred to as a codebook. In one example, the codebook can be implemented in the form of a look-up table such as the table 600 depicted in
The codewords can be generated through cyclic shifting and bit inversion. For example, it will be observed from the table 600 depicted in
Usually, spreading codes such as those described above with respect to
As mentioned earlier, the 15.4 Standard uses sixteen codewords (16). Carrier-sensing methods exploit the characteristics of the correlation of phase-discriminated waveforms corresponding to any pair of 15.4 codewords. One embodiment that will be discussed is a correlator matched to the 15.4 codeword zero (0).
The 15.4 PHY spreads the input bits by mapping each nibble to one of sixteen (16) 32-chip codewords. The codewords 1 through 7 are cyclic-shifted versions of codeword 0, where the shifting happens at multiples of four chips. Codewords 8 through 15 are related to codewords 0 through 7, respectively, through the inversion of odd-indexed chips.
Each nibble (i.e. a group of 4 bits) is mapped to 32 chips. The odd-indexed chips have odd indices if we indexed those chips from 0 to 31. These relationships produce a characteristics pattern in the cross-correlation between different codewords. The cyclic shifting causes the peaks of the cross-correlation to occur at delays of multiples of four chips (2 μs). The chip inversion results in similar cross-correlation, but with negative peaks (as opposed to positive peaks), when any codeword 0 through 7 is correlated with another codeword 8 through 15.
A 15.4 modulated waveform is a result of O-QPSK modulating and half-sine pulse shaping the outcome of the 15.4 spreading discussed above. This phase discrimination of the waveforms preserves the characteristic cross-correlation properties discussed above, if the phase discriminator uses samples that are one chip apart, for example, 0.5 μs apart. As will be discussed in greater detail below, the phase-discriminated waveform may be a product of a complex-valued received signal sample and the complex conjugate of a sample that preceded it by a fixed duration.
The plurality of codewords may constitute a codebook, wherein each codeword in the codebook corresponds to a particular data symbol. One or more pairs of codewords in the plurality of codewords may be related to one another based on cyclic shifting, bit inversion, or any combination thereof.
As noted above, the table 600 depicted in
The graph 700 generally illustrates the absolute value of the correlation between each codeword in the example 15.4 Standard codebook and the particular codeword “0.” The horizontal axis 700x of the graph 700 depicts a time offset denoted in microseconds. The vertical axis 700y of the graph 700 depicts the absolute value of the correlation for each particular time offset. As will be understood from
Codewords “0” and “8” (labeled in
The apparatus 800 receives an input 801 at a correlator module 810. The input 801 may be a received signal associated with a particular channel. As will be discussed in greater detail below, the correlator module 810 may be configured to generate a phase-discriminated waveform based on the received signal and determine a plurality of absolute values respectively based on a plurality of correlations of the phase-discriminated waveform. The plurality of absolute values generated by the correlator module 810 may be transmitted to a peak detector module 860, which may be configured to generate a detection metric based on one or more peak values of the plurality of absolute values. The detection metric may constitute an output of the apparatus 800.
The correlator module 810 may include a delay module 822, a complex conjugator 824, and a multiplier module 826. The delay module 822, the complex conjugator 824, and the multiplier module 826 may be used to generate a phase-discriminated waveform 829. In particular, the input 801 may provide a stream of data that includes a sequence of discrete samples. The input 801 may be, for example, a baseband signal sampled at a rate of 4 MHz (one sample every 0.25 μs). While new samples are provided at the input 801, a delay may be performed on a previous sample by the delay module 822. The previous sample may be delayed by, for example, once chip value relative to the new sample (0.5 μs in this example). The delay module 822 may include a delay line, i.e., a set of cascaded delays or a buffer containing 0.5 μs of samples (i.e., a buffer of two samples for an input rate of 4 MHz). The previous sample may be provided to the complex conjugator 824, which generates a complex conjugate of the previous sample. The complex conjugator 824 may then provide the complex conjugate to the multiplier module 826. The multiplier module 826 may multiply the new sample (provided at the input 801) by the complex conjugate of the previous sample (provided by the complex conjugator 824). The result of the multiplying may be referred to as a phase-discriminated waveform 829.
It will be understood that
In a second example implementation, the complex conjugator 824 may precede the delay module 822. In particular, a complex conjugate of the input 801 may be determined by the complex conjugator 824, the complex conjugate may be delayed by the delay module 822, and then the output of the delay module 822 may be provided to the multiplier module 826. As used herein, the term “delayed complex conjugate signal of the received signal” may broadly refer to a signal that is delayed and then complex-conjugated, or to a signal that is complex-conjugated and then delayed.
In a third example implementation, the complex conjugator 824 may operate ‘in parallel’ with the delay module 822. In particular, the input 801 may be provided to both the delay module 822 and the complex conjugator 824, and the respective outputs of the delay module 822 and the 824 may be provided to the multiplier module 826.
Accordingly, generating the phase-discriminated waveform may comprise multiplying the received signal by a delayed complex conjugate of the received signal (as in the first example implementation and the second example implementation), multiplying a delayed received signal by a complex conjugate of the received signal (as in the third example implementation), or any combination thereof.
The phase-discriminated waveform 829 may be provided to a block correlator 832. The block correlator 832 may correlate the phase-discriminated waveform 829 based on a particular codeword. For example, the block correlator 832 may determine a correlation between the phase-discriminated waveform 829 and a particular phase-discriminated waveform corresponding to the particular codeword. The correlation result may then be provided to an absolute value module 834, which determines an absolute value of the correlation result and provides a correlator module output 839.
As noted above, the input to the block correlator 832 may be the phase-discriminated waveform 829. The output of the block correlator 832 may peak when the input corresponds to the codeword to which the correlator is matched. To achieve this, the block correlator 832 may include an adder and coefficients that are matched to a particular phase-discriminated waveform corresponding to a particular codeword. The coefficients may be derived based on a binary chip sequence corresponding to the codeword, a half-sine pulse shaping function, a sample rate of the input 801 (e.g., 4 MHz), and/or a sample separation used for phase-discrimination. For example, in implementations configured to operate in accordance with the 15.4 Standard, the particular codeword used by the block correlator 832 may be the 15.4 codeword “0.” This scenario is depicted in
Accordingly, if the block correlator 832 is matched to the 15.4 codeword “0” and the phase-discriminated waveform 829 corresponds to any of sixteen different 15.4 codewords (codeword “0,” codeword “1,” codeword “2,” etc.), then the correlator module output 839 will resemble the peak or series of peaks that corresponds to that particular 15.4 codeword, as depicted in
In some implementations, for example, implementations that include 15.4 codewords, the codeword may span 16 μs, i.e., sixty-four samples at 4 MHz. The samples may be linearly combined based on respective coefficients to compute an output sample. For every input sample provided to the block correlator 832, the block correlator 832 may provide an output sample. The block correlator 832 may be viewed as a filter since for every input sample, a correlation is recomputed. Because the input to correlator is the phase-discriminated waveform 829, correlator coefficients associated with the block correlator 832 should be set to match a phase-discriminated waveform of the codeword in concern. For example, the correlator coefficients may be derived based on the chip sequence corresponding to a particular 15.4 codeword, half-sine pulse shaping, sample rate and sample separation used for phase-discrimination.
The peak detector module 860 detects if the peaks of the correlator module output 839 are similar to the peaks that are characteristic of a 15.4 waveform. To perform this task, the peak detector module 860 receives the correlator module output 839 at a demultiplexer 862. The demultiplexer 862 may demultiplex the correlator module output 839 to a plurality of paths. For example, if there are N paths, then the demultiplexer 862 will provide the first sample to the first path, the second sample to the second path . . . the Nth sample to the Nth path, the (N+1)th sample to the first path, etc.
In some implementations, the number of paths may be based on the sampling rate of the input 801 and the duration of the specified codeword. For example, a 15.4 codeword may have a duration of 16 μs and each path may gather samples at a spacing of 2 μs. Accordingly, the peak detector module 860 may include as many paths as are necessary to ensure that the samples in each path are 2 μs apart. That is, eight paths (N=8) are necessary if the input rate is 4 MHz (as depicted in
Each path within the peak detector module 860 may include a peak detector module and a peak summer module. For example, as depicted in
The peak detector module 870 may receive a plurality of successive samples from the demultiplexer 862. After the plurality of successive samples are received, the peak detector module 870 may determine a peak value from among the plurality of successive samples.
In some implementations, the plurality of successive samples may be eight. For example, as will be understood from
As noted above, each path depicted in
After receiving the plurality of successive samples, the peak detector module 870 may determine a peak value from among the plurality of successive samples. After the peak value has been determined by the peak detector module 870, the peak detector module 870 may provide the peak values to the peak summer module 880.
To return to an earlier example in which the plurality of successive samples include eight samples collected at 2 μs intervals, it will be understood that the peak detector module 870 may provide a peak value to the peak summer module 880 once very 16 μs (i.e., at a rate of 62.5 kHz). It will be observed that, in this scenario, the peak detector module 870 effectively obtains the value of the peak within a window that corresponds to the duration of a codeword and/or a nibble.
As noted above, the peak detector module 870 may be configured to provide a peak value to the peak summer module 880. As noted above, a peak value may be provided every 16 μs in some implementations. The peak summer module 880 may be configured to receive a plurality of successive peak values and compute a sum of the plurality of successive peak values. The sum computed by the peak summer module 880 may be provided to the all-path peak detector module 890.
As noted above, in some implementations of the 15.4 Standard, the detection window associated with the clear channel assessment has a duration equal to the total duration of eight codewords, for example, 128 μs. Moreover, a peak value may be provided by the peak detector module 870 at 16 μs intervals, i.e., the duration associated with one codeword. Accordingly, the number of peak values to be summed by the peak summer module 880 may be set to eight. Therefore, the peak summer module 880 may be configured to compute the sum of the eight peak values received from the peak detector module 870 during the previous eight nibble durations, i.e., the previous 128 μs.
As noted above, each path may receive demultiplexed samples that correspond to the separation between peak positions associated with the different codewords. For example, as will be understood from
The apparatus 800 may not be configured to recognize ex ante which path of the plurality of paths includes the peak values. Therefore, the all-path peak detector module 890 is provided to determine the peak value of the sums computed over all the paths (Path 0, Path 1, etc.). The peak summer modules 880, 881, 887 (etc.) may each compute a sum for their respective paths and provide the sums to the all-path peak detector module 890. The all-path peak detector module 890 may determine the greatest of the sums and generate a detection metric 891.
The detection metric 891 represents a sum of the peaks when the input is a signal having modulation and spreading characteristics associated with a particular standard (for example, the 15.4 Standard). Generally, the detection metric 891 is large (i.e., greater than a detection threshold value) if the particular modulation and spreading characteristics are detected and significantly smaller (i.e., less than the detection threshold value) in the absence of these particular modulation and spreading characteristics. In order to determine whether the particular signal has been detected, the detection metric 891 is provided to a comparator 894, which determines whether the detection metric 891 exceeds the detection threshold value. If the detection metric 891 exceeds the detection threshold value, then the output 899 of the apparatus 800 will indicate that a characteristic signal has been detected, and if the detection metric 891 does not exceed the detection threshold value, then the output 899 will indicate that the characteristic signal has not been detected. As will be understood by returning to
The components and functions represented by
Means for delaying and determining a complex conjugate of the received signal to generate a delayed complex conjugate signal may correspond at least in some aspects to, for example, the delay module 822 and complex conjugator 824 depicted in
At 910, the method 900 samples a received signal on a channel. For example, the wireless device 100 may receive a signal at the antenna 110 and sample the received signal using the RF assembly 150 and/or the receiver 130. The sampling rate may be, for example, 4 MHz. The sampled signal from 910 may be provided as an input to, for example, the clear channel assessment module 132 depicted in
At 920, the method 900 generates a phase-discriminated waveform. The generating at 920 may be performed, for example, by the correlator module 810 depicted in
At 922, the method 900 delays the signal provided at 910 to generate a delayed signal. The delaying at 922 may be performed, for example, by the delay module 822 depicted in
At 924, the method 900 determines a complex conjugate of the delayed signal. The complex conjugate determining at 924 may be performed, for example, by the complex conjugator 824 depicted in
Although the delaying at 922 precedes the determining of the complex conjugate at 924 as depicted in
At 926, the method 900 multiplies the received signal and the delayed complex conjugate signal. The product multiplying at 926 may be performed, for example, by the multiplier module 826 depicted in
At 930, the method 900 correlates the phase-discriminated waveform with a codeword. The correlating at 930 may be performed, for example, by the block correlator 832 depicted in
At 940, the method 900 determines an absolute value of the correlation result. The absolute value determining at 940 may be performed by the absolute value module 834 depicted in
At 950, the method 900 demultiplexes the absolute value samples to a plurality of paths. The demultiplexing at 950 may be performed, for example, by the demultiplexer 862 depicted in
At 960, the method 900 determines, for each path, a peak value for a plurality of successive absolute value samples. The peak value determining at 960 may be performed, for example, by a plurality of peak detector modules, each peak detector module being associated with a different path of the plurality of paths. The peak detector modules may be analogous to the peak detector modules 870, 871, 877 depicted in
At 970, the method 900 computes, for each path, a sum of a plurality of successive peak values. The computing at 970 may be performed, for example, by a plurality of peak summer modules, each peak summer module being associated with a different path of the plurality of paths. The peak summer modules may be analogous to the peak summer modules 880, 881, 887 depicted in
At all-path determining at 980, the method 900 determines a greatest computed sum from among the plurality of paths to generate a detection metric. The all-path determining at 980 may be performed, for example, by the all-path peak detector module 890 depicted in
At 990, the method 900 compares the detection metric against a detection threshold value to determine if the detection metric is greater than the detection threshold value. The threshold value comparison at 990 may be performed, for example, by the comparator 894 depicted in
For example, if the detection metric is less than the detection threshold value (‘no’ at 990), then the wireless device 100 may determine at 992 that the channel upon which the signal was received (at 910) is clear. By contrast, if the detection metric is greater than the detection threshold value (‘yes’ at 990), then the wireless device 100 may determine at 994 that the channel upon which the signal was received (at 910) is busy or not clear.
While the foregoing disclosure shows illustrative aspects of the disclosure, it should be noted that various changes and modifications could be made herein without departing from the scope of the invention as defined by the appended claims. The functions, steps, and/or actions of the method claims in accordance with the aspects of the disclosure described herein need not be performed in any particular order. Furthermore, although elements of the disclosure may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
The present application for patent claims the benefit of U.S. Provisional Patent Application No. 62/314,721, entitled “CARRIER-SENSING METHOD FOR IEEE 802.15.4 O-QPSK PHY,” filed Mar. 29, 2016, pending, and assigned to the assignee hereof and hereby expressly incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62314721 | Mar 2016 | US |