The present invention relates to wireless communications in general and, in particular, to error correction and detection.
Orthogonal Frequency Division Multiplexing (“OFDM”) is a widely adopted signaling scheme for wireless communications, due at least in part to its robustness against the effects of multipath fading channel propagation. A basic concept of OFDM is to carry the modulated bit-streams on individual orthogonal subcarriers. This transmission technique is especially suited for mitigating the effect of the multipath fading channel that often occurs during mobile reception.
In certain implementations, differential quadrature phase shift keying (DQPSK) modulation may be used in OFDM and other systems to avoid channel estimation during demodulation. Use of DQPSK may be based in part on the assumption that the channel will change slowly over time. However, in high Doppler environments, the channel may vary more quickly, which may degrade the performance of DQPSK. Traditional methods and devices may have difficulties with coherent demodulation in such environments. Therefore, it may be desirable to have novel devices and methods for detecting the location of errors due to fast varying channels or other adverse channel conditions. Further, it may be desirable to identify novel devices and methods that may be used to correct such errors.
Systems, methods, and devices are described for detecting and correcting errors. In one embodiment, samples are received representative of a wireless signal which includes a number of subcarriers. One or more of the subcarriers are identified as a reference subcarrier, and the identification may be based on an energy measurement. A value for the reference subcarrier is identified at a selected symbol. The value may be identified by calculating a difference measurement for the reference subcarrier between a known symbol and the selected symbol. A difference measurement is then calculated between the identified subcarrier and a second subcarrier for the selected symbol.
A determination is made whether a decision for a value at one or more of the subcarriers at the selected symbol is in error based on calculations which include the identified value and the difference measurement between the identified subcarrier and a second subcarrier. The determination for a given subcarrier may, in addition, be based on calculations from a number of additional difference measurements between a series of subcarriers from the reference subcarrier to the subcarrier with the decision in error. The decision in error may be corrected.
A further understanding of the nature and advantages of the present invention may be realized by reference to the following drawings. In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
In various embodiments of the invention, a mobile communications device is described, and is configured to receive wireless OFDM signals including a number of subcarriers. Errors may occur in demodulating the received subcarriers, and such errors may be detected and corrected at the device according to such embodiments.
To do so, the device may identify one of the subcarriers as a reference subcarrier, and this identification may be based on an energy measurement. A value for the reference subcarrier is identified at a selected symbol. This value may be determined by using a difference measurement between a pilot symbol (or other known symbol) and the selected symbol at the reference subcarrier. A difference measurement is then calculated between the identified subcarrier and a second subcarrier for the selected symbol, and used with the identified value to determine whether a first decision at an adjacent subcarrier is in error. A number of additional difference measurements between subcarriers may be used to make additional error decisions, leveraging results of the determination. Novel techniques to correct the decision in error are described, as well.
The following description provides examples only, and is not intended to limit the scope, applicability, or configuration of the invention. Rather, the ensuing description of the embodiments will provide those skilled in the art with an enabling description for implementing embodiments of the invention. Various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention.
Thus, various embodiments may omit, substitute, or add various procedures or components, as appropriate. For instance, it should be appreciated that in alternative embodiments, the methods may be performed in an order different from that described, and that various steps may be added, omitted, or combined. Also, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner.
It should also be appreciated that the following systems, methods, and software may individually or collectively be components of a larger system, wherein other procedures may take precedence over or otherwise modify their application. Also, a number of steps may be required before, after, or concurrently with the following embodiments.
Systems, devices, and methods are described for the identifying errors in demodulation and making corrective decisions. Turning to
In the illustrated embodiment, the device 105 communicates with one or more base stations 110, here depicted as a cellular tower. A base station 110 may be one of a collection of base stations utilized as part of a system 100 that communicates with the device using wireless signals. Thus, the communications device 105 may receive wireless signals from the base station 110, and detect and correct errors which occur in demodulating the signal according to embodiments of the invention. These novel detection and correction techniques will be described in detail below.
The base station 110 is in communication with a Base Station Controller (BSC) 115 that routes the communication signals between the network 120 and the base station 110. In other embodiments, other types of infrastructure network devices or sets of devices (e.g., servers or other computers) may also serve as an interface between a network 120 and the base station 110. For example, a BSC 115 may communicate with a Mobile Switching Center (MSC) that can be configured to operate as an interface between the device 105 and a Public Switched Telephone Network (PSTN).
The network 120 of the illustrated embodiment may be any type of network, and may include, for example, the Internet, an IP network, an intranet, a wide-area network (WAN), a local-area network (LAN), a virtual private network (VPN), the Public Switched Telephone Network (PSTN), or any other type of network supporting data communication between any devices described herein. A network 120 may include both wired and wireless connections, including optical links. The system 100 also includes a data source 125, which may be a server or other computer configured to transmit data (video, audio, or other data) to the communications device 105 via the network 120.
It is worth noting that aspects of the present invention may be applied to a variety of devices (such as communications device 105) generally and, more specifically, may be applied to mobile digital television (MDTV) devices. Aspects of the present invention may be applied to digital video broadcast standards that are either in effect or are at various stages of development. These may include the European standard DVB-H, the Japanese standard ISDB-T, the Korean standards digital audio broadcasting (DAB)-based Terrestrial-DMB and Satellite-DMB, the Chinese standards DTV-M, Terrestrial-Mobile Multimedia Broadcasting (T-MMB), Satellite and terrestrial interaction multimedia (STiMi), and the MediaFLO format proposed by Qualcomm Inc. While the present invention is described in the context of the DMB standard, it may also be implemented in any of the above or future standards, and as such is not limited to any one particular standard.
In one embodiment, the system 100 is an OFDM system. It is worth noting, however, that some embodiments of the invention are applicable to other multicarrier systems. At the base station 110 of such a system, the QAM symbols may be modulated by means of an IFFT (inverse fast fourier transform) on N parallel subcarriers, and then the transmitted signal xn(m) can be expressed as follows:
where Xn,k represents the QAM symbol in the kth subcarrier during the nth symbol period, N and Ts represent the number of subcarriers and the duration of an OFDM symbol, respectively.
At the receiver, the received signal rn(m) can be expressed as:
where L is the number of multipath, w(m) represents the additive white Gaussian noise (AWGN), ε is the frequency offset, and ρi, θi and τi represent the amplitude attenuation, the phase shift, and the relative delay corresponding to the ith path, respectively.
Referring to
The device 105-a includes a number of receiver components, which may include: an RF down-conversion and filtering unit 210, A/D unit 215, demodulator unit 220, and FEC decoder unit 225. These units of the device 105-a may, individually or collectively, be implemented with one or more Application Specific Integrated Circuits (ASICs) adapted to perform some or all of the applicable functions in hardware. Alternatively, the functions may be performed by one or more other processing units (or cores), on one or more integrated circuits. In other embodiments, other types of integrated circuits may be used (e.g., Structured/Platform ASICs, Field Programmable Gate Arrays (FPGAs), and other Semi-Custom ICs), which may be programmed in any manner known in the art. The functions of each unit may also be implemented, in whole or in part, with instructions embodied in a memory, formatted to be executed by one or more general or application-specific processors. The device 105-a may include one or more memory units (not shown) used for a variety of purposes.
In one embodiment, the radio frequency signal is received via an antenna 205. The desired signal is selected and down-converted and filtered through the RF down-conversion and filtering unit 210. The output of that unit 210 is the analog baseband (or passband at much lower frequency than the original radio frequency) signal, which is converted into digital signal by the A/D unit 215. At the demodulator unit 220, the digital signal is received and processed to produce a stream of data. The demodulator unit 220 may perform symbol synchronization, FFT processing, frequency offset correction and estimation, and equalizer functions in a variety of combinations known in the art. The demodulator unit 220 may also perform the error detection and correction techniques according to embodiments of the invention.
Detected error data which has been corrected may be forwarded to an FEC decoder unit 225, which may decode the signal and output a stream of data (note that the data may be further processed by other components of the demodulator unit 220 before being forwarded to FEC decoder unit 225, and in some embodiments the transmitted data need not be encoded so there need not be a FEC decoder unit 225). This data stream may be forwarded to a layer 2/layer 3/additional processing unit 230 for further processing. It is worth noting that in one embodiment, the demodulator unit 220 and FEC decoder unit 225 are receiver components 235 implemented in a single PHY chip. It is also worth noting that in another embodiment, the RF down-conversion and filtering unit 210, A/D unit 215, demodulator unit 220, and FEC decoder unit 225 are implemented in a single chip with RF and PHY functionality.
Turning to
The index illustrates a simplified time domain representation of certain subcarriers over adjacent symbols. For example, reference numeral 305 illustrates rk=1, n and reference numeral 310 illustrates previous time sample rk=1, n−1 for the subcarrier k. For purposes of example, assume a simplification of aspects of Eq. 2. A received sample post FFT for subcarrier k at time n may be represented as rk,n=Hk,nxk,n, where H is the channel coefficient and x represents the original transmitted constellation. In the time direction, it can be assumed in certain conditions that the channel difference between two consecutive (or nearby) time samples ∠(Hk,nH*k,n−1)≅0. This is because in certain environments, the channel for each of two adjacent (or nearby) time samples will be very similar. Consider first the case of a carrier, k+1, over consecutive time samples, rk=1, n 305, and rk=1, n−1 310. In this case, multiplying rk=1,n by the conjugate of rk=1,n−1 provides a difference measurement at subcarrier k for a received signal at the pair of consecutive samples. Assuming a slowly varying channel, the following equation results:
{circumflex over (d)}k,n=rk,nr*k,n−1=Hk,nH*k,n−1xk,nx*k,n−1≅xk,nx*k,n−1. Eq. 3
Therefore, the likelihood that consecutive time samples for a carrier have flat channel characteristics may be leveraged to effectively cancel the impact of the channel and retrieve xk=1,n and the conjugate of xk=1,n−1. This principle may be applied to instances concerning time samples in the other time direction (e.g., rk=1,nr*k=1,n+1=Hk=1,nH*k=1,n+1xk=1,nx*k=1,n+1≅xk=1,nx*k=1,n+1). This principle may also be applied in certain circumstances to nearby time samples (e.g., rk, n with rk, n−2, or rk with rk, n+3). While in one embodiment, therefore, the difference measurement between rk=1,n and rk=1, n−1 maybe calculated using rk=1,nr*k=1,n−1≅xk=1,nx*k=1,n−1, other difference measures may be used in other embodiments. However, while the above may hold true in flat channel environments, in high Doppler environments or in conditions where the channel is otherwise quickly time-varying, this assumption will be less likely to be valid.
Turning to
In one embodiment, the demodulator unit 220-a receives samples (e.g., complex samples) representative of a wireless signal which includes a number of subcarriers (perhaps an OFDM signal received from A/D unit 215 of
A detection/correction processing unit 420 may then make a determination whether a decision for a value at a subcarrier at the selected symbol is in error, the determination based on a series of calculations which include the identified value and the difference measurement between the identified subcarrier and a second subcarrier. The determination for a given subcarrier may, in addition, be based on calculations (e.g., by the frequency differential calculation unit 415) for a number of additional difference measurements between a series of subcarriers from the reference subcarrier to the subcarrier with the decision in error. The decision in error may be corrected by the detection/correction processing unit 420.
Based on the determination by the control unit 410-a, a switch 520 may have different outputs. If the Doppler/fast varying channel measurement is below the threshold, the switch 520 may output 525 a soft decision {circumflex over (d)}k,n (e.g., to the FEC decoder 225 of
Alternatively, if the Doppler/fast varying channel measurement is above the threshold, the time differential calculation unit 405 may perform additional processing to output a hard decision
Also, when the Doppler/fast varying channel measurement is above the threshold, the control unit 410-a or switch 520 may control an energy detection unit 535 to perform energy detection over the N carriers. In one embodiment, two carrier locations are identified, Ptr0 & Ptr1, where maximum energy is detected from 1 to N/2 and N/2+1 to N respectively. The subcarriers where maximum energy is detected may then be used as reference subcarriers. Note that in other embodiments, there may be more or fewer pointers, and the procedures for detecting maximum energy may vary (e.g., there may be an average over time, or there may be other factors which dictate the selection of particular pointers). Nonetheless, in the example embodiment, Ptr0 & Ptr1 are forwarded (e.g., from energy detection unit 535 or control unit 410) for further processing to the detection/correction processing unit 420 (as illustrated in
Turning back momentarily to
For purposes of explanation, again refer to
r
k,n
r*
k−1,n
=H
k,n
H*
k−1,n
x
k,n
x*
k−1,n
≅x
k,n
x*
k−1,n. Eq. 4
Therefore, the likelihood that adjacent carriers have flat channel characteristics may be leveraged to effectively cancel the impact of the channel and retrieve the product of xk=1,n and the conjugate of xk=2,n. Thus, in the example, assume rk=1,n and rk=2,n are received, then the product of xk=1,n and the conjugate of xk=2,n may be calculated. If one of the subcarriers at a symbol is known, determined, or otherwise calculated (e.g., xk=2,n is known), xk=1,n may be calculated (e.g., xk=1,n=rk=1,nr*k=2,n/x*k=2,n). This principle may be applied to instances concerning adjacent subcarriers in the other frequency direction (e.g., rk,nr*k+1,n=Hk,nH*k+1,nxk,nx*k+1,n≅xk,nx*k+1,n). This principle may also be applied in certain circumstances to nearby subcarriers (e.g., rk 310 with rk−2, or rk 310 with rk+3). While in one embodiment, therefore, the difference measurement between rk,n and rk−1,n may be calculated using rk,nr*k−1,n≅xk,nx*k−1,n, other difference measures may be used in other embodiments. While we have shown that the difference measurement between rk,n and rk−1,n may be used directly to identify the correct value for an adjacent subcarrier xk−1,n, it may be used indirectly as well. For example, the correct value for the adjacent subcarrier xk−1,n may be used, with a new difference measurement between rk−1,n and rk−2,n, to determine the correct value xk−2,n (thus, by using the initial difference measurement and the first correct value to make a decision for the adjacent subcarrier xk−1,n, these calculations also are indirectly used in additional difference measurements and decisions or error detection for other subcarriers).
With this description, again refer to
Â
j,n
=r
k,n
r*
k−1,n
≅x
k,n
x*
k−1,n. Eq. 5
The Âj,n term output from the multiplier block 610 is sent to the 90° slicer block 615, which outputs a hard decision Āj,n. Assuming that one of xk,n or xk−1,n is known (e.g., has been corrected, determined, or is otherwise known), the Âj,n or Āj,n terms may be the difference measurements used to detect an error, verify a correct decision, or calculate a value for the adjacent subcarrier.
Note that the Âj,n term may be better understood with additional reference to the index 300 of
The output Āj,n from 90° slicer block 615 is buffered at buffer unit 620 (or there may be delay lines or other buffering functionality known in the art). A conjugate unit 625 takes the complex conjugate of the buffered signal. At block 630, the presently incoming Āj,n signal is multiplied by the complex conjugate of the buffered signal Ā*j,n−1 to produce thereby the
j,n
=Ā
j,n
Ā*
j,n−1. Eq. 6
Thus, in one embodiment of the invention, consider a received symbol rk,n which includes N carriers (represented by N complex samples) for purposes of example. Referring to
Zd
k,n
=
j,n
k−1,n(
In one embodiment, for each subcarrier to be checked (for error detection purposes), the detection unit 705 calculates the following:
Thus, for the subcarrier I, and both adjacent subcarriers, if the sum from Eq. 8 is not 0, an error is detected for subcarrier I. Thus, referring to Eq. 7 and 8, a first difference measurement for the reference subcarrier between a known symbol and a later symbol is used to estimate a value for the reference subcarrier at the selected data symbol (see discussion related to
In one embodiment, the detection unit 705 begins detecting at each reference subcarrier Ptr0 & Ptr1 (where the maximum energy is detected from 1 to N/2 and N/2+1 to N respectively by the time domain processing unit 405), and progresses in both directions from each reference subcarrier across subcarriers. Thus, additional difference measurements for subcarriers between a reference subcarrier and one or more subcarriers with errors may be calculated, and used in detection. Thus, error detection decisions for the symbol may be based on a series of calculations made up of difference measurements from a reference subcarrier across subcarriers, along with the initial estimated value at the reference subcarrier. Intermediate subcarrier values (e.g., between the reference subcarrier carrier and a second subcarrier of interest) may be identified through verification or correction, and these intermediate values may be used with the additional difference calculations for error detection and correction. Thus, in some embodiments, the values of each subcarrier are built from knowledge of the reference subcarrier, and developed across subcarriers using this initial knowledge and a series of difference measurements.
In other embodiments, the detection unit 705 begins detecting from another point(s) or in other ordering schemes. A number of orders or progressions through the subcarriers are possible. In some embodiments, only a subset of subcarriers is checked. The detection calculation may operate without the correction scheme described herein, or utilize only aspects thereof.
If an error is detected through the above process (or perhaps through another detection process), data from the detection unit 705 may be forwarded to the correction unit 710. In one embodiment, the correction unit 705 begins correcting in both directions from Ptr0 & Ptr1 (where the maximum energy is detected from 1 to N/2 and N/2+1 to N respectively by the time differential calculation unit 405). In one embodiment, the subcarriers where maximum energy is detected provide a better likelihood that the time domain processing (e.g., using Eq. 3) will provide accurate decisions. In other embodiments, the correction unit 710 begins detecting and/or correcting from another point(s) or in other ordering schemes (e.g., additional pointers, other methods to identify valid starting point or points, modified correction equations, etc.). Thus, the maximum energy subcarrier(s) may effectively provide a reference calculation to use in correcting remaining subcarriers, although other reference calculations may be determined in other manners, as well.
One embodiment of the correction calculation is as follows, and may be implemented with or without all or part of the detection process described above. Using the equations from above, note the following:
Therefore, modifying Eq. 9 provides the following:
Corrected dk,n=
for correcting errors (or simply calculating the correct dk,n) in a first direction. Modifying Eq. 9 also provides the following:
Corrected dk,n=
for correcting errors (or simply calculating the correct dk,n) in a second direction. Thus, referring to Eq. 10 and 11, a first difference measurement for the reference subcarrier between a known symbol and a later symbol is used to estimate a value for the reference subcarrier, and thus the first difference measurement and the estimated value may be used in calculations to determine or correct a value for another subcarrier at the selected data symbol (see discussion related to
The following pseudocode in Table 1 provides an example of an implementation according to one embodiment of the invention:
N − 1, increment = 1
I + 1
N/2 + 2, decrement = −1
I − 1
N/2 − 1, increment = 1
I + 1
2, decrement = −1
I − 1
The demodulator unit 220 of
At block 805, a series of samples representative of a wireless signal is received, the samples including a number of symbols. At block 810, a subcarrier is identified to serve as a reference subcarrier. At block 815, a value is identified for the reference subcarrier at a selected one of the symbols. At block 820, using the received samples, a difference measurement between the identified subcarrier and a second subcarrier is calculated for the selected symbol. At block 825, a determination is made whether a decision for a value at a subcarrier at the selected symbol is in error, the determination made based on calculations using the identified value and the difference measurement. This method 800 may be performed utilizing Eqs. 7 and 8.
At block 905, a series of samples representative of a wireless signal is received, the samples including a number of symbols. At block 910, a subcarrier is identified to serve as a reference subcarrier. At block 915, a value for the reference subcarrier at a selected one of the symbols is identified. At block 920, using the received samples, a difference measurement between the identified subcarrier and a second subcarrier is calculated for the selected symbol. At block 925, a decision for a value at a subcarrier at the selected symbol is corrected based on a calculation including the identified value and the difference measurement. This method 900 may be performed utilizing Eqs. 10 and 11.
At block 1005, a series of samples representative of a wireless signal is received, the samples including a known symbol and one or more data symbols. At block 1010, a reference subcarrier is identified based on an energy measurement. At block 1015, using the received samples, a first difference measurement for the reference subcarrier between the known symbol and a selected one of the data symbols is calculated to estimate a value for the identified subcarrier at the selected data symbol.
At block 1020, using the received samples, a difference measurement between the identified subcarrier and a second subcarrier is calculated for the selected data symbol. At block 1025, a determination is made whether a decision for the selected data symbol identifying a value at one of the subcarriers is in error, the determination based at least in part on one or more calculations using the estimated value and the second difference measurement. At decision block 1030, if the decision is not error, the process flows to block 1035, where the decision is identified as correct. At decision block 1030, if the decision is in error, the value for the decision in error is corrected based on calculations including the identified value and the second difference measurement. The correct or corrected value from block 1035 or 1040 may later be used with additional difference measurements across subcarriers to detect or correct additional errors. Thus, the identified value and the second difference measurement may be used directly, or indirectly, for calculations related to error detection and correction.
At block 1105, a series of samples representative of a wireless signal OFDM is received, the samples including a known symbol and next data symbols. At block 1110, a reference subcarrier is identified based on an energy measurement. At block 1115, using the received samples, a difference measurement for the reference subcarrier between the known symbol and the data symbol is calculated to estimate a value for the reference subcarrier at the data symbol.
At this point, the process splits in two directions (e.g., as set forth in Table 1). At block 1120-a, using the received samples, a second difference measurement between the reference subcarrier and the adjacent subcarrier in a first direction for the selected data symbol is calculated. At block 1125-a, using the received samples, a third difference measurement between the adjacent subcarrier for the selected data symbol and the adjacent subcarrier for the known symbol is calculated. At block 1130-a, a determination is made whether a decision for the adjacent subcarrier in the first direction at the selected symbol is in error, the determination based on calculations using the estimated value and the second and third difference measurements. At block 1135-a, if the decision is in error, the decision for the adjacent subcarrier at the selected symbol is corrected based on calculations using the identified value and the second and third difference measurements. At block 1140-a, the adjacent subcarrier is identified as the reference subcarrier and the correct/corrected decision as the estimated value. The process then returns to block 1120-a, where the detection and correction process repeats across pairs in the first direction for a number of subcarriers, leveraging previous correct/corrected values and the various difference measurements.
Returning to the split related to the second direction, at block 1120-b, using the received samples, a fourth difference measurement between the reference subcarrier and the adjacent subcarrier in a second direction for the selected data symbol is calculated. At block 1125-b, using the received samples, a fifth difference measurement between the adjacent subcarrier for the selected data symbol and the adjacent subcarrier for the known symbol is calculated. At block 1130-b, a determination is made whether a decision for the adjacent subcarrier in the second direction at the selected symbol is in error, the determination based on calculations using the estimated value and the fourth and fifth difference measurements. At block 1135-b, if the decision is in error, the decision for the second adjacent subcarrier at the selected symbol is corrected based on calculations using the identified value and the fourth and fifth difference measurements. At block 1140-b, the second adjacent subcarrier in the second direction is identified as the reference subcarrier, and the correct/corrected decision is identified as the estimated value. The process then returns to block 1120-b, where the detection and correction process repeats across pairs in the second direction for a number of subcarriers, leveraging previous correct/corrected values and the various difference measurements.
It is worth noting that the functional units and components of the demodulator 220 of
It should be noted that the methods, systems, and devices discussed above are intended merely to be examples. It must be stressed that various embodiments may omit, substitute, or add various procedures or components as appropriate. For instance, it should be appreciated that, in alternative embodiments, the methods may be performed in an order different from that described, and that various steps may be added, omitted, or combined. Also, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. Also, it should be emphasized that technology evolves and, thus, many of the elements are examples and should not be interpreted to limit the scope of the invention.
Specific details are given in the description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the embodiments.
Also, it is noted that the embodiments may be described as a process which is depicted as a flow diagram or block diagram. Although each may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may have additional steps not included in the figure.
Moreover, as disclosed herein, the term “memory” or “memory unit” may represent one or more devices for storing data, including read-only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices, or other computer-readable mediums for storing information. The term “computer-readable medium” includes, but is not limited to, portable or fixed storage devices, optical storage devices, wireless channels, a sim card, other smart cards, and various other mediums capable of storing, containing, or carrying instructions or data.
Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored in a computer-readable medium such as a storage medium. Processors may perform the necessary tasks.
Having described several embodiments, it will be recognized by those of skill in the art that various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the invention. For example, the above elements may merely be a component of a larger system, wherein other rules may take precedence over or otherwise modify the application of the invention. Also, a number of steps may be undertaken before, during, or after the above elements are considered. Accordingly, the above description should not be taken as limiting the scope of the invention.
This application claims priority from co-pending U.S. Provisional Patent Application No. 60/915,609, filed May 2, 2007, entitled “DETECTION AND CORRECTION OF ERRORS IN COHERENT DEMODULATOR” (Attorney Docket No. 025950-000600US), which is hereby incorporated by reference, as if set forth in full in this document, for all purposes.
Number | Date | Country | |
---|---|---|---|
60915609 | May 2007 | US |