1. Field
The present disclosure relates generally to communication systems, and more particularly, to methods and apparatuses for packet detection.
2. Introduction
Wireless networks are widely deployed to provide various services to consumers, such as telephony, data, video, audio, messaging, broadcasts, and the like. Today, wireless networks enable broadband communications over broad geographic regions (e.g., metropolitan, regional, nationwide, or even global), as well as more localized and personalized regions. Wireless networks covering local regions have become increasing pervasive in recent years. These wireless networks are often referred to as Wireless Local Area Networks (WLANs) which have been standardized, by way of example, by the Institute of Electrical Engineers (IEEE) 802.11 committee. WLANs are deployed to cover small areas with a geographic coverage ranging from a few tens of meters to a few hundred meters. A WLAN uses unlicensed spectrum to provide access to a network, typically covering only the network operator's own property. By way of example, many homes, office buildings, campuses, hotels, transportation hubs (e.g., airports, train stations, etc.) and other facilities contain WLAN access points to the Internet.
With any wireless network, a wireless receiver must be able to detect the transmission of data packets from a wireless transmitter in the presence of noise, interference and other disturbances in the wireless channel. In IEEE 802.11 compliant networks, for example, this may be achieved by detecting at the receiver a repeating pattern in the preamble of the data packet. Typically, this is achieved by means of an autocorrelation process. However, the standard autocorrelator has the disadvantage that it triggers on any type of periodic waveform, such as, by way of example, a single tone interferer within the bandwidth of interest. Even if the interferer power is relatively low, the effect of the Automatic Gain Control (AGC) in addition to the Signal-to-Noise Ratio (SNR) gain in the autocorrelator can lead to a significant number of false alarms. This can have several detrimental effects such as flooding the receiver with false detects, which may cause an increase in packet loss. The receiver may also experience an increase in its buffer requirements to account for the large number of false alarms, as well as an increase in power consumption to process false detected packets down the receiver chain.
Accordingly, systems and methods for packet detection in wireless networks are needed.
Aspects of the present disclosure relate to an apparatus for signal processing. The apparatus includes a first autocorrelator configured to autocorrelate a received signal using a first time delay to produce a first correlation magnitude, a second autocorrelator configured to autocorrelate the received signal using a second time delay different from the first time delay to produce a second correlation magnitude, and a detector configured to determine whether the received signal comprises a packet preamble based on the first and second correlation magnitudes.
Aspects of the present disclosure relate to an apparatus for signal processing. The apparatus includes means for autocorrelating a received signal using a first time delay to produce a first correlation magnitude, means for autocorrelating the received signal using a second time delay different from the first time delay to produce a second correlation magnitude, and detector means for determining whether the received signal comprises a packet preamble based on the first and second correlation magnitudes.
Aspects of the present disclosure relate to a method of signal processing. The method includes autocorrelating a received signal using a first time delay to produce a first correlation magnitude, autocorrelating the received signal using a second time delay different from the first time delay to produce a second correlation magnitude, and determining whether the received signal comprises a packet preamble based on the first and second correlation magnitudes.
Aspects of the present disclosure relate to a computer program product for signal processing, comprising a machine-readable medium having instructions executable to autocorrelate a received signal using a first time delay to produce a first correlation magnitude, autocorrelate the received signal using a second time delay different from the first time delay to produce a second correlation magnitude, and determine whether the received signal comprises a packet preamble based on the first and second correlation magnitudes.
Aspects of the present disclosure relate to a wireless node. The wireless node includes a receiver configured to receive a signal, and a processing system. The processing system includes a first autocorrelator configured to autocorrelate the received signal using a first time delay to produce a first correlation magnitude, a second autocorrelator configured to autocorrelate the received signal using a second time delay different from the first time delay to produce a second correlation magnitude, and a detector configured to determine whether the received signal comprises a packet preamble based on the first and second correlation magnitudes.
It will be understood that other aspects of methods and apparatuses will become readily apparent to those skilled in the art from the following disclosure, wherein it is shown and described only several embodiments of the methods and apparatuses by way of illustration. As will be realized by those skilled in the art, the methods and apparatuses are capable of other and different embodiments and its several details are capable of modification in various other respects, all without departing from the spirit and scope of this disclosure. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
Various aspects of methods and apparatuses will now be presented in the detailed description by way of example, and not by way of limitation, with reference to the accompanying drawings, wherein:
In accordance with common practice, some of the drawings may be simplified for clarity. Thus, well-known structures and components may be shown in block diagram form, or omitted entirely, in order to avoid obscuring the various concepts presented throughout this disclosure.
Various aspects of methods and apparatuses are described more fully hereinafter with reference to the accompanying drawings. These methods and apparatuses may, however, be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of these methods and apparatuses to those skilled in the art. Based on the descriptions herein teachings herein one skilled in the art should appreciate that that the scope of the disclosure is intended to cover any aspect of the methods and apparatuses disclosed herein, whether implemented independently of or combined with any other aspect of the disclosure. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure herein may be embodied by one or more elements of a claim.
Although particular aspects of methods and apparatuses are described herein, many variations and permutations of these aspects fall within the scope of the disclosure. Although some benefits and advantages of such aspects may be mentioned, the scope of the disclosure is not intended to be limited to particular benefits, uses, or objectives. Rather, all aspects presented throughout this disclosure are intended to be broadly applicable to different wireless technologies, system configurations, networks, and transmission protocols, some of which are illustrated by way of example in the figures and in the following detailed description. Accordingly, the detailed description and drawings are merely illustrative of various methods and apparatuses rather than limiting, the scope of the disclosure being defined by the appended claims and equivalents thereof.
Several aspects of methods and apparatuses will be presented in the context of a wireless local area network (WLAN). A WLAN may be used to provide wireless connectivity and efficient data transfer employing widely used networking protocols. The various aspects described herein may apply to Wi-Fi or, more generally, any member of the IEEE 802.11 family of wireless protocols. By way of example, the various aspects described herein may be used to support the IEEE 802.11ah protocol. The IEEE 802.11ah protocol is a network protocol operating in the sub-1-GHz frequency range (e.g., operating in the 902-928 MHz range in the United States), which provides greater wireless range than other IEEE 802.11 protocols. However, as those skilled in the art will readily appreciate, such aspects may be extended to other wireless networks, such as wireless wide area networks (WWANs), wireless personal area networks (WPANs), or any other suitable wireless network regardless of its geographic reach or network protocol. According any reference to an IEEE 802.11 network is intended only to illustrate various aspects of methods and apparatuses, with the understanding that such aspects may have a wide range of applications.
The wireless network 100 may support any number of access points distributed throughout a geographic region to provide coverage for access terminals 120. For simplicity, one access point 110 is shown. An access point is generally a fixed terminal that provides backhaul services to access terminals in a geographic coverage region, however, the access point may provide a relay function to another access point that provides backhaul services. An access terminal, which may be fixed or mobile, utilizes the backhaul services of an access point or engages in peer-to-peer communications with other access terminals. Examples of access terminals include a cellular telephone, cordless telephone, session initiation protocol (“SIP”) phone, a wireless local loop (“WLL”) station, a personal digital assistant (“PDA”), a handheld device having wireless connection capability, or some other suitable processing device connected to a wireless modem. Accordingly, various aspect presented herein may be incorporated into a phone (e.g., a cellular phone or smartphone), a computer (e.g., a laptop), a portable communication device, a headset, a portable computing device (e.g., a personal data assistant), an entertainment device (e.g., a music or video device, or a satellite radio), a gaming device or system, a global positioning system device, or any other suitable device that is configured to communicate via a wireless medium.
The wireless nodes operating in the wireless network 100 may use any suitable multiple access technology to gain access to the wireless channel. Examples include Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Spatial Division Multiple Access (SDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-Carrier Frequency Division Multiple Access (SC-FDMA) systems, Carrier Sense Multiple Access (CSMA), or any combination thereof, or any other suitable wireless technology that enable multiple wireless nodes to share a wireless channel.
The format of the data transmitted by the wireless nodes 100 may take on various forms depending on the particular air interface standard being used and the wireless protocol required by that standard. By way of example, in IEEE 802.11 ah compliant networks, the wireless nodes are configured to transmit data in the form of packets with each data packet containing a series of Orthogonal Frequency Division Multiplexing (OFDM) symbols. OFDM, in addition to being a multiple access technology as indicated earlier, may also be used as a digital modulation technology.
The transmit node 300 is shown with a transmit (TX) data processor 304, which may be used to receive data from a data source 302 and encode (e.g., Turbo code) the data to facilitate forward error correction (FEC) at the receive node 350. The encoding process results in a sequence of code symbols that may be blocked together and mapped to a signal constellation by the TX data processor 304 to produce a sequence of modulation symbols.
The modulation symbols from the TX data processor 304 may be provided to an OFDM modulator 306. The OFDM modulator 306 splits the modulation symbols into a number of parallel streams and then maps each stream to a subcarrier. An Inverse Fast Fourier Transform (IFFT) is then performed on each set of subcarriers to produce time domain OFDM symbols, with each OFDM symbol having a set of subcarriers.
Similarly, header data from a packet header generator 308 is provided to the OFDM modulator 306. The OFDM modulator 306 splits the header data into a number of parallel streams, and then maps each stream to a subcarrier. An IFFT is then performed on each set of subcarriers to produce one or more time domain OFDM symbols which constitutes the packet header.
The data packet is formed with OFDM symbols carrying the packet header followed by OFDM symbols carrying the payload.
In one embodiment of a transmit node 300, a TX spatial processor 310 may be used to provide spatial processing for data packets in a Multiple Input Multiple Output (MIMO) antenna system. Multiple antennas at the transmit node 300 may be used to communicate with multiple antennas at the receive node 350 to improve data throughput without additional bandwidth or transmit power. This may be accomplished by spatially precoding the data packets into a number of spatially precoded streams, and then providing each spatially precoded stream to a different antenna 314 via a transmitter 312.
The receive node 350 includes a receiver 354. The receiver 354 receives the RF signal through multiple antennas 352 and provides RF signal processing functions to recover data packets from the carrier and provide digital baseband samples to a receiver training module 356.
The receiver training module 356 may be used to process the preamble transmitted with each data packet. The receiver training module unit 356 may be comprised of several modules working together to train the receive node 350. These modules include a data packet detection module 358, an AGC tuning module 360, a frequency offset/timing recovery module 360, and a channel estimate module 362. In a manner to be described in greater detail later, the data packet detection module 358 performs an autocorrelation process on the STF to detect valid packets. The STF is also used by the AGC tuning module 360 to adjust the AGC in the receiver 354. The frequency offset/timing recovery module 361 uses the STF and the LTF to coarsely and finely correct for frequency offsets and timing errors in the OFDM symbols via a signal correction module 366. The LTF is also used by the channel estimate module 364 to estimate the channel response to assist the RX data processor 370 downstream.
A RX spatial processor 367 may be used to provide spatial decoding in embodiments employing MIMO antenna systems. The spatially decoded OFDM symbols may be provided by the RX spatial processor 367 to an OFDM demodulator 368.
The OFDM demodulator 368 recovers the data carried on each subcarrier in the OFDM symbols in the payload and multiplexes the data into a stream of modulation symbols. The OFDM demodulator 368 converts the stream from the time-domain to the frequency domain using a Fast Fourier Transfer (FFT).
A RX data processor 370 is used to translate the modulation symbols back to the correct point in the signal constellation. Because of noise and other disturbances in the wireless channel, the modulation symbols may not correspond to an exact location of a point in the original signal constellation. Using the channel response from the channel estimate module 364, the RX data processor 370 detects which modulation symbol was most likely transmitted by finding the smallest distance between the received point and the location of a valid symbol in the signal constellation. These soft decisions may be used, in the case of Turbo codes, for example, to compute a Log-Likelihood Ratio (LLR) of the code symbols associated with the given modulation symbols. The RX data processor 370 then uses the sequence of code symbol LLRs in order to decode the data that was originally transmitted before providing the data to a data sink 372.
Several examples of a data packet detection module will now be presented. The data packet module may include a first autocorrelator configured to autocorrelate a received signal using a first time delay to produce a first correlation magnitude, a second autocorrelator configured to autocorrelate the received signal using a second time delay to produce a second correlation magnitude, and a detector configured to determine whether the received signal comprises a packet preamble based on the first and second correlation magnitudes. In some embodiments, a third autocorrelator may be added. In these embodiments, the third autocorrelator may be configured to autocorrelate the received signal using a third time delay to produce a third correlation magnitude, and the detector may be further configured to determine whether the received signal comprises a packet preamble based on the first, second and third correlation magnitudes. An autocorrelator is a device that correlates a signal with a delayed version of itself. It is typically used to detect repeating patterns in a waveform. The implementation of the autocorrelator is well known in the art, and thus those skilled in the art will readily be able to construct a suitable autocorrelator for data packet detection in accordance with the teachings herein.
As described above, a detector may be used to determine whether the received signal comprises a packet preamble based on correlation magnitudes generated by multiple autocorrelators. In some embodiments, the detector may be configured to make this determination by comparing the each correlation magnitude to a threshold. By way of example, the detector may be configured to determine that the received signal contains a packet preamble when the correlation magnitude from one autocorrelator “exceeds a threshold” and the correlation magnitude from another autocorrelator is “below a threshold” (i.e., a null space). The phrase “exceeds a threshold,” or any variant thereof, is used throughout this disclosure merely to indicate that the correlation of the received signal is sufficiently high to indicate the possible presence of a packet preamble. In implementation, the detector may be configured to indicate sufficiently high correlation when the correlation magnitude is a greater than a threshold, greater than or equal to a threshold, or in the case where the correlation magnitude is inverted, less than a threshold, or less than or equal to a threshold. Similarly, the phrase term “below a threshold,” or any variant thereof, is used throughout this disclosure merely to indicate that the correlation of the received signal is sufficiently low to indicate the possible presence of a packet preamble. In implementation, the detector may be configured to indicate sufficiently low correlation when the correlation magnitude is less than threshold, less than or equal to a threshold, or in the case where the correlation magnitude is inverted, greater than a threshold, or greater than or equal to a threshold. Those skilled in the art will be best suited to determine the appropriate polarities and thresholds depending on the particular application and overall design constraints.
where, xi is the latest digital baseband complex (IQ) sample and τ is the threshold with the summation being carried over length M. M is defined based on the repetition interval of the STF short symbols.
The primary autocorrelator 402 does not discriminate based on the shape of the waveform. Any waveform that is periodic may trigger the primary autocorrelator 402 as long as it meets the threshold criterion described above. The null space autocorrelator 404 may be used to avoid false alarm resulting from narrow band interferers in the form of one or two tone inputs. The null space autocorrelator 404 takes advantage of the additional dimensions in the STF and validates the hypotheses generated by the primary autocorrelator 402. The additional dimensions that are used are orthogonal to the dimensions used in the primary autocorrelator 402. Due to the sequence properties of the STF, these orthogonal projections provide the ability to distinguish valid data packets form single and two tone interferers.
True orthogonal projection, on the entire STF space, increases the complexity of the autocorrelator since it would need the ability to precisely track wrap around points. To reduce this complexity, a partial orthogonal projection may be used. Such partial orthogonal projection can be shown to have very little loss in performance while providing very good discrimination capability.
The null space autocorrelator 404 may be configured to project in an orthogonal dimension to the primary autocorrelator 402. This may be achieved by setting the time delay of the null space autocorrelator 404 to a time shorter than the repetition interval of the STF short symbols. Preferably, the time delay is set to the interval that results in the correlation magnitude of the null space autocorrelator 404 being at substantially the lowest autocorrelation magnitude for the STF. The correlator output from the null space autocorrelation 404 may be normalized with the received power over the same interval to account for the variation in the received power. The magnitude of the correlator output may then be compared to a null space threshold by a comparator 410 in the detector 406 and a null space decision flag set when the output is below the null space threshold. The algorithm for this process may be written as:
where, M is the repetition length of the STF short symbol, N is the offset between the full repetition interval of the short symbols and the partial null space interval, and τNSD is the null space threshold.
The detector 406 also includes a gate 412. The gate 412 is used to indicate when valid data packets arrive at the receive node. In this example, the gate 412 performs an “and” function and provides a valid data packet indicator when both decision flags from the comparators 408, 410 are set. That is, the detector 406 provides an indication that a valid data packet has been received when the magnitude of the output from the primary autocorelator 402 exceeds the correlation threshold and the magnitude of the output from the null space autocorelator 404 is below the null space threshold.
The null space autocorrelator 404 will reject single tone interferers and most two tone interferes. However, there are some two tone interferer combinations that create beat frequencies which may fall within the null space and hence meet the conditions in Equation (2). In order to avoid such cases, another null space autocorrelator may be added with a different time delay.
As explained earlier, the gate 412 is used to indicate when valid data packet arrive at the receive node. In this example, the gate 412 performs an “and” function and provides a valid data packet indicator when all three decision flags from the comparators 408, 410, 416 are set. That is, the detector 406 provides an indication that a valid data packet has been received when the magnitude of the output from the primary autocorrelator 402 exceeds the correlation threshold and the magnitudes of the outputs from the null space autocorrelators 404, 414 are below their respective null space thresholds.
The null space autocorrelator 404 also operates in the same manner as described earlier in connection with
The detector 406 is the same as described earlier in connection with
The null space autocorrelator 404 also operates in the same manner as described earlier in connection with
The detector 406 is the same as described earlier in connection with
The processor 506 is responsible for managing the bus and general processing, including the execution of software stored on the machine-readable media 508. The processor 506 may be implemented with one or more general-purpose and/or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuitry that can execute software. Alternatively, or in addition to the one or more general-purpose and/or special-purpose processors, the processor 506 may be implemented with dedicated hardware such as, by way of example, one or more FPGAs (Field Programmable Gate Array), PLDs (Programmable Logic Device), controllers, state machines, gated logic, discrete hardware components, or any other suitable circuitry, or any combination of circuits.
Software shall be construed broadly to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. The software may be stored or transmitted over as one or more instructions or code on a machine-readable medium. Machine-readable media include both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage medium may be any available medium that can be accessed by a processor. By way of example, and not limitation, such machine-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a processor. Also, any connection is properly termed a machine-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared (IR), radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Thus, in some aspects machine-readable media may comprise non-transitory machine-readable media (e.g., tangible media). In addition, for other aspects machine-readable media may comprise transitory machine-readable media (e.g., a signal). Combinations of the above should also be included within the scope of machine-readable media.
In the hardware implementation illustrated in
The processing system 502 may be configured as a general-purpose processing system with one or more microprocessors providing the processor functionality and external memory providing at least a portion of the machine-readable media 506, all linked together with other supporting circuitry through an external bus architecture. Alternatively, the processing system 502 may be implemented with an ASIC (Application Specific Integrated Circuit) with the processor 506, supporting circuitry (not shown), and at least a portion of the machine-readable media 508 integrated into a single chip.
The machine-readable media 508 may be used to store a number of software modules. The software modules include instructions that when executed by the processor 506 cause the processing system to become a special purpose processing system that performs various functions presented throughout this disclosure. Each software module may reside in a single storage device or distributed across multiple memory devices. By way of example, a software module may be loaded into RAM from a hard drive when a triggering event occurs. During execution of the software module, the processor 506 may load some of the instructions into cache to increase access speed. One or more cache lines may then be loaded into a general register file for execution by the processor 506. When referring to the functionality of a software module below, it will be understood that such functionality is implemented by the processor 506 when executing instructions from that software module.
In one embodiment of a wireless node, the data packet detection module 358 (see
This algorithm may be used to implement the primary autocorrelator, as well as both null space autocorrelators, simply by changing the specified time period in block 704. This allows various hardware components like tapped delay lines to be shared which further reduces implementation complexity. By way of example, the same tapped delay line may be used to implement all three autocorrelators with a variable stored in the machine-readable media to set the appropriate time period for the particular autocorrelation process being run.
It is understood that any specific order or hierarchy of steps described in the context of a software module is being presented to provide an examples of a wireless node. Based upon design preferences, it is understood that the specific order or hierarchy of steps may be rearranged while remaining within the scope of the disclosure.
Whether the data packet detection module is implemented in hardware, software, or a combination thereof will depend 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 disclosure.
The previous description is provided to enable any person skilled in the art to fully understand the full scope of the disclosure. Modifications to the various configurations disclosed herein will be readily apparent to those skilled in the art. Thus, the claims are not intended to be limited to the various aspects of the disclosure described herein, but are to be accorded the full scope consistent with the language of claims. The term “apparatus” shall be construed broadly to mean any wireless node (e.g., access point, access terminal, etc.), or any block, module, component, circuit, part, or the like, or any combination thereof used in a wireless node. The term “method” shall similarly be construed broadly to mean the operation of a wireless node, or any step, process, algorithm, or the like, or any combination thereof performed by a wireless node. Reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. A claim that recites at least one of a combination of elements (e.g., “at least one of A, B, or C”) refers to one or more of the recited elements (e.g., A, or B, or C, or any combination thereof). All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112(f) unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”
Number | Name | Date | Kind |
---|---|---|---|
7480234 | Hart et al. | Jan 2009 | B1 |
7697593 | Nakao | Apr 2010 | B2 |
8306160 | Takahashi et al. | Nov 2012 | B2 |
20060002485 | Moher | Jan 2006 | A1 |
20070147552 | Olesen et al. | Jun 2007 | A1 |
20070217524 | Wang et al. | Sep 2007 | A1 |
20080298223 | Chang et al. | Dec 2008 | A1 |
20090034652 | Song et al. | Feb 2009 | A1 |
20090304128 | Izumi et al. | Dec 2009 | A1 |
20120207232 | Zhang et al. | Aug 2012 | A1 |
20130094619 | Shellhammer et al. | Apr 2013 | A1 |
20130136198 | Chavali et al. | May 2013 | A1 |
20130215993 | Taghavi Nasrabadi et al. | Aug 2013 | A1 |
20140087751 | Do et al. | Mar 2014 | A1 |
Entry |
---|
International Search Report and Written Opinion—PCT/US2014/055362—ISA/EPO—Dec. 18, 2014. |
Number | Date | Country | |
---|---|---|---|
20150078172 A1 | Mar 2015 | US |