This application claims benefit of priority to U.S. patent application No. 60/391,888 filed Jun. 27, 2002 and entitled “Demodulation Algorithm for the 802.15.4 Receiver”, to U.S. provisional application No. ______ filed Sep. 13, 2002, entitled “A Kind of Low Complexity Receiver Structure for the Wireless Transceiver Based on IEEE 802.15.4 Standard at 2.4 GHz”, to U.S. provisional application No. ______ filed ______, entitled “Sequence De-Modulation Algorithm for 802.15.4 Receiver at 868/915 MHz”, to U.S. patent application Ser. No. 10/422,321 filed Apr. 24, 2003 and entitled “Method for Synchronizing or Decoding a Baseband Signal”, and to U.S. patent application Ser. No. 10/455,207 filed Jun. 5, 2003, and entitled “A Baseband Receiver and Method of Using Same”, all of which are incorporated herein by reference.
The field of the present invention is receivers for communications systems. In a particular example, the invention relates to a baseband receiver process operating on a receiver for receiving a communication signal compliant with the 802.15.4 standard in the 868/915 MHz band.
Receivers form an important part of any communications system. Receivers cooperate with a transmitting device to receive an information signal and decode the information from that signal. In practice, the receiver portion is often coupled with the transmitter portion to create a transceiver. Often, this transceiver is portable so that a wireless communication may be received irrespective of location. In its portable form, it is particularly desirable to have the receiver operate with low power and be implemented in a cost efficient manner. In this way, the portable device has an affordable initial cost, and may operated for extended periods of time using a portable energy source such as a battery. However, although low cost and low power usage are desirable characteristics, the primary demand on a portable receiver is to accurately and efficiently decode a received signal, and to remain compliant with the appropriate communication standard.
Most modern communication systems comply or are based upon one or many communications standards. These communications standards are promulgated by industry associations and groups to facilitate interoperability between devices. For example, the IEEE is an organization responsible for promulgating several communication standards. Each communication standard has particular strengths and goals, and also certain associated implementation costs. For example, communication standards operating at very high data rates tend to operate over the greatest distances, allow for the greatest number of users, and are the most expensive to implement. Other communication standards set a relatively low data rate, a relatively low number of users, and may be relatively inexpensive to implement. One standard, the 802.15.4 standard is intended to be a relatively low cost and low power wireless communication standard. With the relatively low data rate, 802.15.4 compliant devices are expected to be targeted to such markets as industrial sensors, commercial metering, consumer electronics, toys and games, and home automation. Each of these markets has a great cost sensitivity, and will expect that any portable device to efficiently use its battery or other portable energy source.
The 802.15.4 specification operates in either the 2.4 GHz band or in the 868/915 MHz band, and uses a wireless transmission technology to dynamically configure and initialize a personal area network. The standard particularly sets out implementations and structures for the transmitter portion of the communication systems, but is far less detailed in describing receiver implementations.
Implementing a receiver for the 802.15.4 has been made particularly difficult due to the overall architecture of the 802.15.4 network. According to the standard, the transmitter does not provide a separate synchronization process to allow a receiver to synchronize to the transmission. Instead, 802.15.4 relies upon self-synchronization by the receiver. Self-synchronization can be a time consuming and processor intensive process, thereby using scarce power resources available at the portable receiver. Further, the standard allows the frequency of a transmission to vary as much as 40 parts per million (ppm) when operating in the 868/915 MHz band. Also, the magnitude of the frequency offset between devices may vary depending upon time, temperature, and will fluctuate substantially depending on which specific device is transmitting. Thus the standard permits the transmitter to introduce a substantial 40 ppm frequency offset at each receiver, which is substantial, variable and unpredictable.
The 802.15.4 standard is also a channel-based communication system, with the usual adjacent channel interference, fading, and noise associated with such architecture. The signal coming from an 802.15.4 transmitter, therefore suffers from degradation from a substantial frequency offset, adjacent channel interference, fading, noise, and possibly other degrading factors. In this way, the receiver needs to be constructed to properly self-synchronize and decode the incoming 802.15.4 signal, even when the signal is highly degraded.
As with many communication systems, the 802.15.4 communication system is a frame based system. As such, the transmitter assembles a data frame, encodes the data frame, modulates the data frame onto a carrier frequency, and transmits the modulated information signal to the receiver. The receiver is expected to detect the modulated signal, remove the carrier to generate a baseband signal, and synchronize with and decode the baseband signal. In the 802.15.4 standard, the frame has an 8-symbol preamble, which indicates the presence of a data frame. Accordingly, the 802.15.4 compliant receiver must synchronized to the baseband signal within only 8 symbols. The process of synchronizing to a degraded asynchronous baseband signal with only 8 symbols is typically accomplished by either providing for substantial parallel processing capability in the form of a complex gate configuration, or providing a relatively high speed processor for quickly performing algorithmic calculations. Either solution tends to use substantial power and be implemented with high-end and relatively high cost parts. In this way, even though the 802.15.4 standard is intended to be a low power and low cost arrangement, the architectural constraints of the standard may hinder building such a low cost and low power receiver. Therefore it would be desirable to have a receiver process operating on a receiver that could reliably recover information from a highly degraded baseband signal, but yet realizable in a relatively low cost and relatively low power construction.
Briefly, the present invention provides a baseband process operating on a receiver in a communication system, such as an 802.15.4 communication system in the 868/915 MHz band. In one aspect, the baseband process is useful for decoding a baseband signal, and in another aspect is useful for determining a clear channel assessment. In decoding the baseband signal, the process digitizes the baseband signal into sample sets according to a symbol period. The sample sets may be, for example, from sequential symbols having a known symbol value, such as from the preamble portion of a data frame. Since the symbol values are already known, the process may determine a reference value by correlating two or more known sample sets. To decode a sample set having an unknown code symbol, the process determines a correlation value by correlating that unknown sample set to a sample set having a known code symbol, which is typically the adjacent and preceding sample set. If the correlation value is the same as the reference value, then the unknown sample has the same code symbol as the known code symbol. The process advances to the next symbol period and sample set to sequentially decode symbols in the data frame.
The disclosed baseband process includes a decoding process optimized for a baseband signal carrying binary symbol information. In one example, the process determines a reference sign by correlating sample sets from known symbols in the preamble. The process generates a next sample set, where the next sample set has an unknown code symbol, and correlates that next sample set with a sample set having a known code symbol. The correlation result is expressed as a correlation sign, and the correlation sign is compared to the reference sign. If the correlation sign and the reference sign are the same, then the next sample set is decoded as the same code symbol as the known code symbol. In a similar manner, if the correlation sign and the reference sign are different, then the next sample set is decoded as a different code symbol as the known code symbol.
In another aspect of the baseband process, the baseband process may be useful for determining a clear channel assessment (CCA). The CCA process is used to determine if a particular channel is available for use by the communication system, and in particular, may be used to determine if the channel is in use by another communication system using the same communication standard. In operation, the CCA process digitizes the channel and generates sample sets according to a defined symbol period. The process performs multiple correlations between sample sets, with each sample set offset by a predetermined amount from the previous sample set. For example, both sample sets may be advanced by a single data point for each correlation. The correlation results are accumulated, and the results compared to a threshold. If the threshold criteria are not met, then the CCA process reports that the channel is clear and available for use by the communication system.
Advantageously, the disclosed baseband process provides a highly efficient decoding process that sequentially decodes symbols using minimal processing resources. In a similar manner, the baseband process enables an efficient CCA process to be implemented, without the need for synchronizing or decoding the channel under investigation. Accordingly, the decode and CCA processes may be implemented in a compact, low cost, and low power construction. These and other advantages will become apparent by review of the figures and detail descriptions that follow.
a is a block diagram of a baseband process in accordance with the present invention;
b is a block diagram of another baseband process in accordance with the present invention;
Referring now to
Baseband process 10 provides a particularly efficient method for decoding symbol data from the baseband signal. The efficiency of the baseband process 10 enables a highly efficient and low power receiver configuration. Accordingly, baseband process 10 is useful as the receiver portion of an 802.15.4 transceiver, where low power usage and low implementation costs are important considerations. Baseband process 10 also provides a particularly efficient method and structure for clear channel assessment in the 868/915 MHz band for the 802.15.4 standard.
In a typical arrangement, baseband process 10 operates responsive to an instruction from another portion of the wireless receiver system, for example, an RX/TX (receiver/transmit) module 23. The baseband process 10, without any need to synchronize to the communication system, may detect 28 that a data frame is being received. After a data frame is confirmed, the baseband process 10 synchronizes to the baseband signal by determining a sync adjustment factor 30. Once the adjustment factor is determined, the baseband process operates in sync with the received baseband signal, and compensates for frequency offset effects. The baseband process thereafter proceeds to sequentially decode symbols in the baseband signal. Generally, the decoding process compares a known current symbol to an unknown next symbol to efficiently decode the next symbol. Importantly the decoding process compensates for certain system disturbances and distortions, thereby increasing decoding accuracy and receiver efficiency. The decode process then advances to decode the following unknown symbol. Since the decode process repetitively correlates only two adjacent symbols, the decode circuitry is relatively simple, fast, compact, and power efficient.
Baseband process 10 is shown operating on the 868/915 MHz bands of the 802.15.4 standard. The 868/915 MHz standard specifies a 868 MHz band that operates at a data rate of 20 Kbit/ second, and a 915 MHz band that operates at a data rate of 40 Kbit/second. Both bands employ a direct sequence spread spectrum, and use a binary phase shift key (BPSK) modulation platform. Since the 868/915 MHz bands use a BPSK process, data symbols are represented as binary data. Stated alternatively, the 868/915 bands use only two symbols, which are represented by a “1” or a “0”. Each symbol (bit) is mapped to a 15-bit chip prior to modulation. Accordingly, the 868 MHz band has a chip rate of 300K chips/second, while the 915 MHz band has a chip rate of 600K chips/ second.
Baseband process 10 receives a baseband signal 12 from another portion of the receiver. The baseband signal 12 has been demodulated to remove the carrier frequency; however, the effects due to a frequency offset, noise, interference, fading, and time shift are still present in the baseband signal 12. Since the carrier signal has been removed from the baseband signal 12, baseband signal 12 generally represents a waveform that is carrying pulse information. The shape of the pulses generally relate to a binary encoding, however, the pulse shape may be substantially deformed due to the frequency offset, noise, and other degrading influences.
Baseband process 10 receives a baseband signal that may be conditioned 14, for example by filtering or other process. An amplifier 16 receives the conditioned signal. The amplifier 16 may be for example, an operational amplifier. The amplified signal is received in to an A to D (analog to digital) converter 18. The A to D converter operates responsive to a local clock source, so is not synchronized with the received baseband signal. The A to D converter 18 converts the analog amplified signal into a digital representation. For example, the A to D converter 18 may operate to generate a series of digital data sample points that represent the baseband signal. In one example, the A to D converter generates 60 data points for every symbol period of the baseband signal, thereby providing 4 samples for each chip value. It will be appreciated that other sampling speeds may be used dependant on application specific needs. To provide 4 samples for each chip value, the A to D converter may be operated at 2.4 MHz for the 915 MHz band, and at 1.2 MHz for the 868 MHz band. It will be appreciated that the sample rate may be adjusted according to application needs. For example, additional accuracy and detection speed might be obtained by increasing sample rate, and power might be conserved further by reducing the sample rate.
The A to D converter 18 is constructed as a multi-bit converter, and in one example is a four-bit converter. It will be appreciated that other bit lengths may be used consistent with this disclosure. The digitized data signal is received into energy level circuitry 25 where an energy level is calculated for the baseband signal. In some wireless communication standards, such as the 802.15.4 standard, the wireless receiver is required to report an energy level with a specific resolution. To facilitate accurate computation of the energy level, the full resolution of the digital data is used by the energy level circuitry. Accordingly, the number of bits received from the A to D converter 18 may be adjusted according to the resolution required for the energy level computation. Once the energy level is determined, the energy level is passed to the Rx/Tx controller 23 where the energy level is communicated with the base station or other parts of the communication system.
Due to the resolution requirements of the energy level circuitry 25, the A to D converter 18 is selected to output a four-bit resolution. However, it has been found that other functions for the baseband receiver may be accomplished using less than the full resolution of the digital data. Indeed, some functions operate advantageously using only a single bit of resolution. In this regard, the most significant bit from the A to D converter 18 is used for frame detect 28, sync adjustment 30, decode symbol 32, clear channel assessment 33, and the automatic gain control 21. By using fewer bits of resolution in selected functions, the complexity of the receiver circuitry may be reduced, receiver efficiency improved, and power conserved.
Before proceeding to describe the specific decode and CCA functions, the general functions of the baseband process 10 will first be described. The automatic gain control (AGC) 21 generates a gain setting that is used to adjust the gain of amplifier 16. For example, if the amplifier 16 is generating a signal that is saturating the A to D converter 18, then the AGC function will reduce the gain of the amplifier, and if the amplifier is generating a signal that is not sufficiently driving the A to D converter 18, then the AGC function will increase the gain of the amplifier. Since significant function in the receiver circuitry are dependent on receiving accurate and stable digitized data, it is important that the AGC be able to quickly and efficiently set and adjust the amplifier. For example, the preamble for an 802.15.4 signal is only 8 symbols in duration. Within that 8 symbols, the AGC needs to stabilize, a frame needs to be detected, and a sync adjustment determined. In order to increase accuracy of the receiver, it is desirable that the AGC, frame detect, and sync process occur in less than 8 symbols, for example, in as few as 3 to 4 symbols. In this regard, the baseband process 10 has structures specifically arranged for efficient receiver operation.
The AGC 21 receives the most significant bit from the A to D converter 18. The automatic gain control circuitry 18 generally counts the number of times the most significant bit is set high in a given period of time, and if the number of counts exceeds a predefined threshold, then the gain setting for the amplifier 16 is reduced. In a similar matter, if the number of counts is fewer than a set predefined threshold, then the gain of amplifier 16 is increased. In this way the automatic gain circuitry 21 provides an efficient structure for controlling the gain of amplifier 16 using only a single bit of resolution. Although AGC 21 uses only the most significant bit, it will be appreciated that other bits may be used. For example, the 3 lower bits could be monitored, with the AGC set to count each occurrence of a 7 (a “111”). Other bit resolutions may be used consistent with this disclosure.
Baseband process 10 also may include frame detect circuitry 28. The frame detect circuitry is included to make the overall decoding process more efficient by allowing some circuit modules to be activated only after a data frame is found. However, It will be appreciated that the frame detect circuitry may be optional in some implementations. In baseband process 10, the frame detect circuitry 28 is used to determine if the baseband signal includes a likely frame of data. It is desirable to conserve power by deactivating selected functions in the receiver until a frame is detected. In this way, a minimal amount of circuitry may be operational to receive, amplify, and detect the frame of the baseband signal, while other circuitry may be activated only upon the detection of a likely frame. More specifically, frame detect 28 monitors for the presence of the preamble. While the frame detect 28 is monitoring for the preamble, the sync adjustment 30 and decode symbol 32 circuitry may be deactivated, thereby saving power. It will be appreciated that other aspects of the receiver and transceiver may be deactivated during the frame detect process. Once the frame detect circuitry 28 detects a frame, then the sync offset 30 and the decode symbol 32 circuitry may be activated for synchronizing the receiver to the baseband signal and decoding symbols. The circuitry for the clear channel assessment 33 may be activated responsive to requests by the RX/ TX controller 23, for example.
In the baseband process 10, the frame detect circuitry 28 is constructed to detect preamble symbols using only the most significant bit from the A to D converter 18. The use of only a single bit to perform frame detection enables a highly efficient and power-conserving frame detection process. Further, as described in detail earlier in this disclosure, the sync adjustment circuitry 30, the decode symbol circuitry 32, and the clear channel assessment circuitry 33 may be constructed to also operate on only a single bit from the A to D converter 18.
Referring now to
A signal is received, and that signal may include a baseband information signal. The received signal may be conditioned as shown in block 54. This conditioning may be, for example filtering, and may include other active or passive functions. Further, it will be appreciated that the conditioning process may be done at other parts of the baseband process, for example after the digitizing process of block 56. The conditioned baseband signal is digitized in block 56. In one example, the baseband signal is digitized into a four-bit data signal at a rate that provides 4 samples for each chip value. It will be appreciated that other bit lengths may be used depending on specific applications and communication standard requirements. The full resolution of bits 86 are passed to energy level circuitry where an energy level is determined as shown in block 73. The energy level is then reported as an energy level in block 75 to the receive and transmit controller (Rx/Tx). The receive and transmit controller may thereby report the energy level in the baseband signal to other aspects of the communication system.
Other portions of the receiver circuit may be constructed using less than the full resolution of the digital data. For example, only the most significant bit 84 is used in other selected aspects of the baseband process. In one aspect, the most significant bit 84 is used to activate and perform an automatic gain control 58. Generally, the automatic gain control works by counting the number of most significant bits that have been set in a given time period. If the number of counted “high” states exceeds a threshold, then the AGC circuitry assumes that the digitizer is becoming saturated and lowers the gain on an amplifier. In a similar manner, if the automatic gain control circuitry counts fewer than a threshold number of “high” states in a given time period, then the automatic gain circuitry assumes that the baseband signal is not amplified sufficiently and therefore increases the gain on an amplifier.
The most significant bit 84 is also used for frame detect as shown in block 61. The frame detect circuitry seeks to find known preamble symbols, and when the preamble symbols are found, the frame detect circuitry indicates that a data frame is likely to follow. If a frame is found as indicated in block 63, then a synchronization adjustment process 65 is initiated. In one example, the synchronization adjustment process and other receiver circuitry may be inactivated until a frame is found. Once the frame is found, then the sync process and other circuitry may be turned on. In this way power is conserved. The sync process may be, for example, a sync process like the sync process to be described with reference to
Referring now to
The most significant bit 127 is monitored to determine if it is in a high state as shown in block 130. Each indication of a high signal may be counted in the count circuitry 132. The count circuitry is reset according to a period set in period circuitry 134. It will be appreciated that the length of the period may be adjusted according to application specific needs, the speed of the A to D conversion, and the amount of time allowed for the automatic gain circuitry to settle. Each time the period circuitry resets, the count is set to zero. Upon receiving an indication that a high most significant bit has been received, the count circuitry increments. A threshold has been predefined and is stored in threshold circuitry 135. In one example, both a low threshold and a high threshold have been predefined.
Upon the completion of a period, the count of the most significant bits is compared to the predefined thresholds. If the number of counts exceeds the high threshold, that may be an indication that the A to D converter is at or approaching a saturation point. Accordingly, the gain adjust circuit 139 is used to set control circuitry 141 to lower the gain of amplifier 123. In a similar manner, if the count indication is too low, then gain adjust circuitry 137 would be activated to set the control 141 to increase the gain of the amplifier 123. Accordingly, monitoring the most significant bit off of the A to D converter allows efficient gain control of the A to D converter.
Referring now to
Referring now to
Frame detect process 175 operates by detecting the presence of a preamble that identifies a data frame. In the 802.15.4 standard, the preamble includes 8 sequential and identical symbols. For example, symbol 177 and symbol 178 are alike. It will be appreciated that other communication standards may have different sequences that indicate a data frame. In the receiver, an A to D converter digitizes the baseband signal, which may include the preamble symbols. The digitizer may digitize at a rate sufficient to facilitate efficient detection and decoding, but that does not use unduly complex circuitry. For example, an A to D converter for a 915 MHz band receiver may be set to digitize at 2.4 MHz, which generates 60 samples in each symbol period (or 4 per chip value). In another example, an A to D converter for a 868 MHz band receiver may be set to digitize at 1.2 MHz, which also generates 60 samples in each symbol period (or 4 per chip value). The 1.2 or 2.4 MHz rate also permits the use of commonly available components and relatively simple circuitry, but still enables sufficient resolution to efficiently perform detection and decoding processes. It will be appreciated that other rates and bit-depths may be selected for application specific needs.
Each of the symbol periods is therefore represented by 60 data samples 179. Of course, since the 868/915 MHz bands use a BPSK modulation, there are only two available symbols: “1” or “0”. For more efficient processing and detection, each of the sample periods is apportioned into a first portion 180 with 30 samples and a second portion with 30 samples. For convenience, each one of these 30 sample portions is identified by its sample number and the portion position. For example, portion 1-1180 identifies the first 30 samples of the first symbol period, while the second 30 samples of the first symbol period are identified as 1-2. In a similar manner the first 30 samples of the second symbol period are identified as portion 2-1181. If the received baseband signal contains a preamble sequence, then portions 1-1, 2-1 and 3-1 should be similar. Also, portions 1-2, 2-2183, and 3-2 should be also be similar when a preamble sequence is present. By monitoring for a high level of correlation between selected portions, process 175 efficiently detects a symbol sequence indicative of a preamble.
It will be appreciated that it may be possible to operate the frame detect process 175 synchronously with the baseband signal. For example, such synchronous operations are possible when another process provides for synchronization between transmitter and the receiver. However, frame detect process 175 may advantageously be used without synchronization between the transmitter and the receiver. In this way, the start of the first sample period 185 may not be begin on symbol zero, and further is unlikely to begin at the start of any symbol period. The sample period 185 therefore may extend over two adjacent symbols. However, since each of the preamble symbols is alike, portions 1-1186, 2-1187 and 3-1188 will still have a high level of correlation when a symbol sequence is present. In a similar manner, portions 1-2, 2-2189, and 3-2 will also have a high level of correlation when a symbol sequence is available, irrespective of the relationship between the start of the symbol period and the start of the digitized sample.
Referring now to
The output from correlator 206 is compared to the threshold 210, the output from correlator 207 is compared to threshold 207, and the output from correlator 208 is compared to threshold 212. All of the outputs from the threshold comparison are compared in block 213, and if all of the correlator signals exceeded the threshold, then process 200 indicates a positive frame detect 214. If a frame is not detected the process 200 resets and compares portions in the next sample period.
Referring now to
The 868/915 MHz band for the 802.15.4 standard maps binary data into chips. As shown in
Referring now to
Since the communication standard defines the allowed symbols and the encoding processes, an expected pattern 285 may be determined. For example, the preamble pattern in the 802.15.4 standard is a series of 8 “0” symbols. In another example, the chip pattern associated with each symbol is also defined in the standard. It will be appreciated that additional patterns may be defined, and other standards may allow for other patterns. The expected pattern 285 is passed through a preload process 283. The preload process shapes the pattern 285 into the form of an expected waveform. The possible expected waveforms 287 are then loaded into a reference table 281. In this way, the reference table 281 is loaded with a set of reference waveforms 287. Each of these waveforms may then be provided as a reference signal input 279. The reference signal 279 is passed through a preprocessing process similar to that performed on the baseband. The reference waveform 279 is correlated in correlator 299 with a version of the reference signal 296 that has been delayed using delay 292. Correlator 299 generates a processed reference signal 304. The processed reference signal 304 is then passed into correlator 306.
Correlator 306 then provides a result 308 that indicates the level of correlation between the processed baseband signal 302 and each processed reference signal 304. By correlating each of the reference signals in reference table 281, the reference signal having the best correlation may be found. Once the best correlating reference signal is found, an important characteristic of the baseband signal has been located. For example, the receiver process 275 may be used to locate a sync adjustment or offset for an asynchronous baseband signal, or may be used to efficiently decode a baseband signal once synchronization has been found.
b shows another receiver process 310. The baseband portion 311 of receiver process 310 is similar to the process described with receiver process 275, so will not be described here in detail. However, receiver process 310 has a reference table 312 that is preloaded with reference signals already in the form for finally correlation. More specifically, each of the reference signals in reference table 312 is like one of the processed reference signals 304 described with reference to
Referring now to
The A to D converter 341 is operated at 4 times the frequency of the chips, which correspond to a frequency of either 2.4 or 1.2 MHz, as described earlier It will be appreciated that other sampling frequencies may be used consistent with this disclosure. Since the symbol 331 is either 25 or 50 microseconds in duration, the corresponding digitizing of a symbol period will require 60 samples. In one example of the process, the A to D converter is a 1-bit A to D, which enables a particularly efficient synchronization process.
Once the expected waveform 327 has been sampled, then the reference table 342 can be loaded. For example, waveform R0357 would represent an expected waveform sampled from sample 0 through sample 59. The next reference signal, R1358 represents an expected waveform starting at sample 1 and continuing through sample 59 and ending with sample 0. In a similar way, reference signal R2359 represents an expected waveform sample starting at sample 2 and continuing through sample 59 and ending with sample 1. The pattern of loading the reference table continues through expected reference waveform R59361 which would represent an expected waveform if sampling started at sample 59 and then continues to sample 58. When the reference table 342 is fully loaded, the reference table contains 60 reference signals, with each reference signal representing an expected waveform depending on the possible starting points for sampling a “0” symbol.
Referring now to
The baseband signal 382 is received in an asynchronous manner, and is delayed 406 and correlated in 407. The correlation in 407 removes the effects of any frequency offset and other degrading influences from the baseband signal, with the resulting signal then passed into correlators 410, 411, 412, and 413, where the processed baseband signal is correlated with each of the reference signals. It will be appreciated that the correlation process may be done sequentially, or may include a multiplexing process that enables a parallel operation. An accumulator or maximizing circuit 415 detects which of the correlators provides the highest power output, which would correspond to the best correlation. Since each reference signal is associated with a different sample start time, the reference signal having the best correlation will indicate the sample offset for the A to D converter. This sample offset may be used as a sync offset for synchronizing the receiver to the start position for each symbol in the baseband signal. The power level 417 of the best correlation and the index for sync offset 419 is reported from the receiver portion 380. For example, if R2392 provided a power P2 into maximizer 415, and P2 was determined to be the highest power level, then the power level P2 would be recorded as power level 417, and the index “2” would be reported. In this way, the receiver now knows that a sync offset of 2 should be applied during the decoding process. With the sync adjustment or offset known, a more efficient symbol decoding process is enable, such as the decode process illustrated in
Referring now to
The decode process 425 digitizes the baseband signal to obtain two sample sets in block 427, with each sample set representing a symbol in the preamble portion of a communication frame. Since each symbol in the preamble is known, for example, in the 802.15.4 standard to be a “0”, both sample sets represents a known code symbol. The two known preamble sample sets are correlated and a reference value obtained. In a particularly efficient implementation of method 425, the reference value is a reference sign representing the sign (positive or negative) of the correlation result. It will be appreciated, however, that other reference values may be used. The reference value, or reference sign, is useful to compensate for disturbances or distortions in the communication system. For example, a multipath situation may cause disturbances and distortions in the baseband signal for a period of time. By correlating two known preamble symbols, the resulting reference value or sign may be used to compensate and reduce the effects of such distortions and disturbances. This process is particularly effective for communication standards where disturbances and distortions are likely to change at a relatively slow rate. For example, since a communication standard compliant with the 802.15.4 standard is a personal area network, it would be unusual for either the receiver or transmitter to be moving at a rapid pace. Therefore, it is likely that distortions such as a multipath distortion would have a relatively slow rate of change. Also, the method 425 may be arranged so that the reference value or sign is determined independently for each new data frame. In this way, the decoding process 425 adapts to changing communication environment. It will also be appreciated that more sophisticated algorithms may be used to compensate for distortions and disturbances in the communication environment. For example, the historical record of reference values may be used to determine a future reference value or sign.
Since the sample set from the preamble has a known value of “0” as shown in block 428, the preamble sample set may be used as a decoding reference. For example, the baseband signal 429 may be digitized to generate another sample set 430 from a next sample period. In one example, the sample set may be from the data portion of the data frame. For ease of reference, the sample set corresponding to the known code symbol will be referred to as the “current” sample set, while the sample set corresponding to an unknown code symbol will be referred to as the “next” sample set. Block 431 shows that the current sample set is correlated with the next sample set. The correlation generates a correlation value, which may be in the form of a correlation sign. In this way, the correlation results are expressed using only the sign information from the correlation result. It will be appreciated that other correlation value representations may be used.
The correlation value is then compared to the reference value in block 432. In one example, the correlation sign is compared to the reference sign. If the correlation and the reference sign are the same, then the decode process determines that the next sample set has the same code symbol value as the current sample set as shown in block 434. If the correlation sign is different from the reference sign 433, then the method 425 determines that the next sample set has a different code symbol value as compared to the current sample set as shown in block 435. In this case, since the baseband signal carries binary signal information, the “different code symbol” is simply the binary complement.
The decode process 425 thereby has decoded the code value of the symbol associated with the “next” sample set. The process now advances to another sample set by defining the “next” sample set as a “current” sample set as shown in block 436. In this way, the method 425 proceeds by sequentially decoding symbols by comparing an unknown sample set to the immediately preceding known symbol. It will be appreciated, however, that the method 425 could also define a sample set, such as a preamble sample set, as a reference and make multiple correlations to that defined reference. However, the sequential process described above has proven to be particularly efficient to implement.
Referring now to
The code symbol for symbol period A is known, while the code symbol for symbol period B is unknown. Therefore the sample set corresponding to A is correlated with the sample set corresponding to B. More particularly, the correlation of the A sample set to the B sample set generates a correlation result, preferably in the form of a correlation sign. If the correlation sign is the same as the reference sign, then the symbol corresponding to B has the same symbol of A. For example, if 1) the reference sign is positive, 2) the A symbol period is known to be “0”, and 3) the correlation sign between A and B is a positive sign, then method 450 would decode the B symbol as representing a “0” code symbol. With the B symbol period now decoded as a “0”, the process continues by correlating the sample set of B to the sample set of C. Continuing the example, if the correlation between B and C results in a negative sign correlation result, then C would be decoded as a “1” code symbol. Continuing the example, if C and D are then correlated to obtain a positive correlation sign, then D would be decoded to have the same code symbol as C, which is a “1”. The decoding process continues sequentially through the data frame. After the last symbol of the data frame has been decoded, the baseband would reset the decoding process 450 to determine a new reference value or sign for the next data frame. In this way, method 450 adapts to changing communication conditions and environments.
In another example, if 1) the reference sign is determined to be negative, 2) the A symbol period is known to be “0”, and 3) the correlation sign between A and B is a positive sign, then method 450 would decode the B symbol as representing a “1” code symbol. With the B symbol period now decoded as a “1”, the process continues by correlating the sample set of B to the sample set of C. Continuing the example, if the correlation between B and C results in a negative sign correlation result, then C would be decoded as a “1” code symbol. Continuing the example, if C and D are then correlated to obtain a positive correlation sign, then D would be decoded to have a different code symbol as C, so “D” is decoded as “1”. The decoding process continues sequentially through the data frame. After the last symbol of the data frame has been decoded, the baseband would reset the decoding process 450 to determine a new reference value or sign for the next data frame. In this way, method 450 adapts to changing communication conditions and environments.
Of the three alternatives, it has proven particularly difficult to identify when a channel contains a signal which is a communication signal operating in the same or similar communication standard. For example, it has been particularly troublesome for an 802.15.4 receiver to identify when a particular channel is already being used by another 802.15.4 device. More particularly, it has proven difficult to determine the start time for implementing the clear channel assessment and to synchronize the CCA process with the channel signal. Compounding the problem, it is difficult to identify a preamble section in the channel, thereby making synchronization and decoding difficult, if not impractical.
Method 475 is able to do a clear channel assessment to identify an 802.15.4 signal in a channel without the need to synchronize or decode the channel signal. In operation, method 475 receives a search instruction 476 from, for example, the MAC layer or the TX/RX module. The search instruction may request a clear channel assessment for a particular channel, or may generally ask the receiver to find an open channel. Upon receiving the search instruction, the method 475 tunes to the particular channel of interest and begins digitizing any signal present on the channel. An analog to digital converter is configured according to a defined symbol period 477 and a defined sample rate 478. For example, to search for an 802.15.4 signal operating at the 868 MHz band, the symbol period may be set at 50 microseconds and the sample rate set to about 1.2 MHz for the A to D converter. In this way, the digitizer takes sufficient samples to accurately assess the channel signal, but yet may be implemented in relatively low cost and compact circuitry. In another example, if the search is for an 802.15.4 signal operating at the 915 MHz band, then the symbol period may be defined at 25 microseconds, and the sample rate may be set at about 2.4 MHz. It will be appreciated that other symbol periods and sample rates could be used depending upon particular communication signal being searched for. In another example, the symbol period and sample rate may be adjusted to search for an 802.15.4 signal operating in the 2.4 MHz band. It will be appreciated that other sample periods and sample rates may be used depending upon specific application needs. In a particular implementation of the analog to digital converter, the analog to digital converter may be operated at a sample rate of 2.4 MHz to support searching for a signal operating in the 915 MHz band. Since the digitizer is operating at 2.4 MHz, the digitized samples also may be used to search for a signal in the 868 MHz band. It will be appreciated that every other sample point may be used in the search, or all points used.
As the channel is digitized, a first sample set is generated as shown in block 480. The first sample set holds the digitized samples from the first symbol period. For example, the first sample set may include 60 sample points that correspond to one symbol period. After the first sample set has been generated, a second sample set is generated in block 481. The second sample set also includes sample points from a second symbol period. It is important to note that the digitizer is operating on a clock independent from any communication signal on the channel under investigation. Therefore, even though sample sets are taken that relate to a symbol period, it is unlikely that the sample sets will directly correspond and synchronize with any symbol communicated in the channel signal.
Block 482 shows that the first sample set and the second sample set are correlated. The correlation results are accumulated in block 483 for future analysis. Since method 475 is operating asynchronously with any communication signal on the channel, multiple comparisons and correlations may be necessary to assess the presence of an 802.15.4 communication signal in the channel. Accordingly, the method advances 484 to perform another correlation. More specifically, the method 375 advances by one or more samples. In a particular example of method 475, the method advances one sample each time another correlation is performed. For each advance, the first sample set is adjusted to advance to include a next data point. In a similar manner, the second sample set advances to include another digitized sample point, and the first and second sample sets are again correlated and results accumulated. After advancing through a full symbol period 492, if an 802.15.4 signal is present, it is likely that the correlations between the first and second sample sets will have several high correlations. The presence of several high correlations would indicate that an 802.15.4 signal is present, while only a few or no high correlations would indicate that such an 802.15.4 signal is not present. Also, it is likely that the correlations, if an 802.15.4 signal is present, will generally indicate a Gaussian or bell-shaped distribution. Accordingly, the pattern of correlation results may also be used to define a threshold that is useful to identify the presence of an 802.15.4 signal. It will be appreciated that the number of symbols digitized, the magnitude of the correlation required, and the number of high correlations required can be adjusted according to application specific needs.
After the correlation results are compared to the predefined threshold, the clear channel assessment is reported as shown in block 489. More particularly, if the threshold is exceeded, then it is reported that the channel is busy 491 while if the threshold level is not exceeded, then the channel is reported as being not busy 490. It will also be appreciated that a magnitude of the correlation may also be reported, which may be useful for understanding the energy level of the 802.15.4 signal present in the channel.
Referring now to
In one example of the clear channel assessment method, the clear channel assessment process acts responsive to an instruction from the MAC layer of the transceiver. Since a response to a clear channel assessment may not be particularly time critical, the clear channel assessment process may operate as a background task. In one example of the CCA process, the CCA process receives a signal from the channel of interest, and digitizes three symbols worth of data. In this way, the correlation, accumulation, and comparison processes described with reference to
While particular preferred and alternative embodiments of the present intention have been disclosed, it will be appreciated that many various modifications and extensions of the above described technology may be implemented using the teaching of this invention. All such modifications and extensions are intended to be included within the true spirit and scope of the appended claims.