The present invention relates to wireless communications and more particularly to a method and apparatus for canceling interference from a received signal, wherein the interference is caused by a windowing function applied to the signal prior to the signal being transmitted.
A variety of services are available for a future generation 4G wireless communication system. These services are continuously evolving to help the users communicate at high data transfer rates. For many of these services the physical layer of the communication system uses multiplexing technology to enable simultaneous transmission, and reception of independent signals. Orthogonal frequency division multiplexing (OFDM) is one of the multiplexing techniques used by the physical layer of the communication system to enable high speed transmission and reception of digital data signals including, but not limited to, digitized text, digitized video and digitized audio. Due to its feasibility for high-speed data transmission, OFDM was selected as the multiplexing encoding scheme used in implementing an over-the-air interface for Wireless Local Area Networks (WLAN) as specified in the Institute of Electrical and Electronics Engineers (IEEE) 802.11a and HIPERLAN/2, 802.16 Broadband Wireless Access (BWA), and Digital Audio Broadcasting (DAB) standards in the field of wireless communications, and for Asymmetric Digital Subscriber line (ADSL) and Very high-data rate Digital Subscriber Line (VDSL).
OFDM is a modulation technique for transmission based upon the concept of frequency division multiplexing (FDM), wherein each frequency channel is in essence a “sub-channel” that carries a separate stream of data across a communication channel that comprises a plurality of the sub-channels. For each modulation scheme, serial bits comprising the digitized data are encoded to generate a plurality of modulation symbol streams that modulate a plurality of subcarriers at different frequency offsets from a carrier frequency. An OFDM symbol stream modulated onto at least one subcarrier represents a sub-channel. In OFDM, the subcarrier frequencies are chosen such that they are orthogonal to each other, which allows high spectral efficiency.
OFDM modulation and demodulation are typically implemented using digital filter banks using Fast Fourier Transform (FFT). A transmitted OFDM symbol's time domain sample sequence is generated from a set of subcarrier modulation symbols by carrying out an Inverse Discrete Fourier Transform, usually implemented as an Inverse Fast Fourier Transform (IFFT), on the sequence of subcarrier modulation symbols. More particularly, after the sequence of serial bits are converted to a sequence of subcarrier modulation symbols associated with the set of subcarriers, a time domain sample sequence is generated from the inverse DFT of the subcarrier modulation symbol sequence.
In order to meet a spectral emission mask specification, which may be quite severe (e.g. the DSRC class C and M masks), a non-rectangular window (or windowing) function is applied to the time domain sample sequence (note, a rectangular window function amounts to no applied window function). The application of the windowing function is a sample-by-sample multiplication of the windowing function and the time domain sample sequence. This results in interference from inter-tone interference (ITI) and inter-symbol interference (ISI), which reduces the maximum achievable carrier-to-interference (C/I) ratio and which in turn translates to a reduction in receiver sensitivity. In other words, at a certain threshold, ITI and ISI decreases the C/I ratio to a point as to compromise the integrity of the received data. Accordingly, if the maximum achievable C/I is less than that required for a given data rate (i.e., modulation and coding scheme), that rate is not supportable for data transmission. Moreover, in some cases the maximum achievable C/I may be les than that required for even the lowest modulation and coding rate, thereby, making the channel unusable.
More specifically, the application of the window function modifies the original time domain sample sequence of a given OFDM symbol in two ways. First, weighted time domain samples from OFDM symbols adjacent (prior and/or subsequent) to the current OFDM symbol are added to a portion of the time domain samples of the current OFDM symbol, and second, a portion of the current OFDM symbol's time domain sample sequence is modified or weighted according to the applied window function. As a result, the transmitted time domain sample sequence for the current OFDM symbol contains time domain samples from the current OFDM symbol, some of which have been modified, as well as weighted samples from adjacent OFDM symbols.
The receiver, attempts to recover the original subcarrier modulation symbols from the received OFDM symbol's time domain sample sequence by correlating, via a DFT, the received sample sequence with each orthogonal subcarrier. Ideally, a transmitted OFDM time domain sequence is the sum of orthogonal subcarriers (sine waves or tones), where each subcarrier is weighted by its associated modulation symbol. In order for the weighted subcarriers to remain orthogonal, the periodicity of each subcarrier must be preserved for the entire correlation period or equivalently the entire DFT time. However, applying different weights to a portion of the time domain sample sequence generated from the weighted subcarriers (as does the windowing function) destroys the periodicity of the subcarriers within the correlation period, which in turn destroys the orthogonality between the subcarriers. As a result, correlation of the received time domain sample sequence with a particular desired subcarrier (sine wave) yields energy from other subcarriers in addition to the desired subcarrier, resulting in the ITI. ISI results from the presence of time domain samples of adjacent (in time) OFDM symbols in the current OFDM symbol's time domain sample sequence to be processed. That is, inclusion of time domain samples from adjacent OFDM symbols in the sequence to be correlated (DFTed), results in weighted subcarrier modulation symbols from the adjacent OFDM symbols as well as from the current OFDM symbol.
Further adding to the problem at the receiver end is that the received signal can be notably distorted when the transmitted signal reaches the receiver with different delay times over different paths, which is known in the art as multipath fading and is in practice due, for example, to reflections of radio signals against objects (such as mountains and buildings). This distortion also causes ISI as is manifested due to the temporal spreading and consequent overlap of individual pulses to a degree that a receiver cannot reliably distinguish between individual OFDM symbols, which (as discussed above) reduces the maximum attainable C/I ratio resulting in decreased receiver sensitivity.
To avoid ISI under multipath fading conditions, a guard time interval is inserted prior to an OFDM block or OFDM symbol. During this interval, a cyclic prefix is transmitted to provide a buffer for the overlap of adjacent OFDM symbols due to multipath conditions. The cyclic prefix is usually a copy of the last portion of the OFDM symbol (e.g., the D samples) prepended to the front of the OFDM symbol. For proper implementation (or ideally to attain sufficient maximum attainable C/I to support all possible data rates), the length of the cyclic prefix should exceed the maximum path delay. However, this is not practical in many instances for a number of reasons. First, the maximum path delay varies from place to place and from time to time making it difficult to design a system that could adaptively adjust the number of cyclic prefixes to accommodate all possible data rates. Second, even is the number of cyclic prefixes could be sufficiently increased, it would be at the expense of spectral efficiency since the addition of cyclic prefixes reduces the spectral efficiency of the system. Furthermore, increasing the number of cyclic prefixes does not address the ITI and ISI introduced by the addition of a non-rectangular windowing function at the transmitter, which reduces the amount of tolerable channel delay spread thereby, reducing the effective guard interval provided by the cyclic prefixes.
Thus, what is needed is a technique for cancelling (which herein means reducing) the ISI and/or ITI caused by application of a non-rectangular windowing function to a signal prior to its transmission.
The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views and which together with the detailed description below are incorporated in and form part of the specification, serve to further illustrate various embodiments and to explain various principles and advantages all in accordance with the present invention.
Before describing in detail embodiments that are in accordance with the present invention, it should be observed that the embodiments reside primarily in combinations of method steps and apparatus components related to a method and apparatus for interference cancellation in a wireless communication system. Accordingly, the apparatus components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Thus, it will be appreciated that for simplicity and clarity of illustration, common and well-understood elements that are useful or necessary in a commercially feasible embodiment may not be depicted in order to facilitate a less obstructed view of these various embodiments.
It will be appreciated that the embodiments of the invention described herein may be comprised of one or more generic or specialized processors (or “processing devices”) such as microprocessors, digital signal processors (DSPs), customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the method and apparatus for interference cancellation in a wireless communication system described herein. The non-processor circuits may include, but are not limited to, a radio receiver, a radio transmitter and user input devices. As such, these functions may be interpreted as steps of a method to perform interference cancellation in a wireless communication system described herein. Alternatively, some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more application specific integrated circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic. Of course, a combination of the two approaches could be used. Both the state machine and ASIC are considered herein as a “processing device” for purposes of the foregoing discussion and claim language.
It is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation. Moreover, it will be appreciated that the embodiments of the invention described herein may be used for cancellation of interference in any wireless communication system that applies a window function to the transmitted signal, especially in multiple access systems where a shared resource can be divided in such a way as to enable simultaneous use of the shared resource by multiple users. Further it is expected that a person of ordinary skill in the art will realize that the interference cancellation method and apparatus described herein can be used with any modulation scheme including, but not limited to, Binary Phase-Shift Keying (BPSK), Quadrature Phase-Shift Keying (QPSK), Minimum-Shift Keying (MSK), Offset Quadrature Phase-Shift Keying (OQPSK), Quadrature Amplitude Modulation (QAM), etc.
Generally speaking, pursuant to the various embodiments, the invention describes methods and an apparatus for interference cancellation in a wireless communication system. For example in a multiple access communication system, such as an OFDM system, a time domain window function is often applied in a transmitting device to a transmitted signal sample sequence, to meet a spectral emissions mask. The application of a time domain window function to the sample sequence causes interference in the form of inter-symbol interference (ISI) and inter-tone interference (ITI). The invention discloses a method used in a receiving device to cancel this interference from the received signal sample sequence and to, thereby, increase receiver sensitivity and the maximum achievable C/I ratio. The invention applies coefficients, which are derived from the window function, to the received signal sample sequence to perform the interference cancellation.
In an embodiment, derived coefficients representing a channel impulse response between the transmitting device and the receiving device are further applied to the received signal sample sequence to perform the interference cancellation. The plurality of coefficients may be determined instantaneously, determined a priori and stored in a memory in the receiving device or a combination of both, depending on processing and memory constraints in the receiving device. The coefficients that are derived from the window function are derived under varying conditions of multipath delay.
In an OFDM system, these derived coefficients are applied to a plurality of regenerated subcarrier modulation symbols for a current and at least one adjacent OFDM symbol to produce an estimated interference value for each received subcarrier's modulation symbol of the current OFDM symbol. The corresponding estimated interference value is subtracted from each received subcarrier's modulation symbol of the current OFDM symbol to at least in part cancel the interference caused by application of the window function. The cancellation of interference from the received OFDM symbols is performed in the frequency domain, thereby, requiring less complex processing. Those skilled in the art will realize that the above recognized advantages and other advantages described herein are merely exemplary and are not meant to be a complete rendering of all of the advantages of the various embodiments of the present invention.
Referring now to the drawings, and in particular
Each communication device comprises at least a processing device (not shown), e.g., a DSP, for processing a digitized data signal including modulating or demodulating the data signal onto or off of one or more carrier signals. Each communication device further comprises transceiver apparatus (including both transmitting and receiving apparatus, also referred to in the art as radio front-end apparatus) that usually includes a power amplifier, one or more filters, an equalizer, a duplexer, and an antenna (e.g. antenna 115 in transmitting device 110 and antenna 125 in receiving device 130) to transmit and receive the modulated signal. Moreover, the communication devices further comprises additional elements as are needed in a commercial embodiment including, but not limited to, memory, user input devices, display devices, analog-to-digital and digital-to-analog converters, and the like. The communication devices may be, for instance, portable or mobile radios, laptops, Personal Digital Assistants, etc.
System 100 can be any wireless communication system. However for purposes of describing embodiments herein, system 100 is an OFDM system, wherein the communication devices use the OFDM multiplexing technique to enable the data communications. In one implementation, the communication devices (including devices 110 and 130) are operable in accordance with the IEEE 802.11a and/or 802.16 standards described above and can use a number of modulation schemes including, but not limited to, BPSK, QPSK, 16 QAM and 64 QAM. Moreover, although only two communication devices are shown for ease of illustration, typically system 100 comprises many more communication devices.
As mentioned above, in an OFDM system a transmitting device (e.g., device 110) may apply a window function to an OFDM signal prior to signal transmission in order to meet a spectral transmission mask specification. This communication paradigm is described next by reference to
To generate one OFDM symbol (e.g., Xi in
IFFT 230 performs an inverse DFT (using an inverse FFT algorithm) to generate a time domain OFDM symbol sequence that is essentially a summation of the M orthogonal modulated subcarriers at their various offset frequencies (from a carrier frequency). Module 240 repeats a last portion of this OFDM symbol at the beginning of the OFDM symbol (i.e., the cyclic prefix), thus forming a Guard Interval (GI) on the OFDM symbol. The length of the cyclic prefix corresponds to a guard interval time selected to minimize ISI. Although not shown, pilot and/or synchronization symbols are usually inserted into at least some of the subcarrier modulation symbols streams to assist the receiving device with timing synchronization in recovering the transmitted signal and to enable the receiving device to estimate the effect of the channel (e.g., magnitude and phase distortion) on the transmitted signal.
As stated above, in order to meet a specified spectral emission mask, windowing block 250 applies a time domain window function to the time domain sample sequence of the OFDM symbol, which unfortunately destroys the orthogonality between the subcarriers and mixes portions of adjacent OFDM symbols together close to the edges of the time domain sample sequence of the OFDM symbol. Usually the output of block 250 is converted to an analog baseband signal via one or more digital to analog converters (not shown) to generate a baseband signal waveform. IQ modulator 260 upconverts this baseband signal to a radio frequency (RF) signal at the carrier frequency, which is generated by the local oscillators 270. HPA 280 amplifies the RF signal, which is transmitted via antenna 115.
where N is the number FFT samples, D is the number of cyclic prefix samples, L is the number of samples comprising a transition region between two OFDM symbols, and n is a sample index. As can be seen from the OFDM symbol sequence 310 in
The interference, ITI and ISI, induced on OFDM symbol Xi can be seen from the sample sequence 310. Firstly, note that last L/2 samples 322 of OFDM symbol, Xi, are weighted by the non-unity values of the window function, resulting in a loss of orthogonality among the subcarriers of OFDM symbol Xi, which in turn is manifested as ITI. The same is true for the first L/2 samples of the cyclic prefix interval (CPI) samples, if the receiver includes any of these samples in the FFT (i.e. the receiver timing is advanced). Secondly, note that each of the first and last L/2 (weighted) samples of symbol Xi are pairwise summed with L/2 weighted samples 324 from symbols Xi+1 and Xi−1, respectively. This results in ISI since any samples from adjacent OFDM symbols that are included in the FFT processing of symbol Xi will result in interference from subcarriers of the adjacent OFDM symbols.
It should be noted that the teachings herein do not depend on the windowing function applied in the transmitting device, but are applicable when any type of windowing function is used including, but not limited to, a Hamming window, a Hanning window, a Bartlett window, a Blackman window, a Kaiser window, etc., is applied to a sequence of the OFDM time domain samples.
As stated above, the maximum attainable C/I ratio associated with the transmitted OFDM symbols is decreased in the presence of the ITI and ISI caused by using the windowing function w(n). It can be shown that maximum attainable average signal power to interference power, C/I, for a kth subcarrier after applying the window function defined by equation (1) for a channel with maximum path delay D can be expressed as equation (2):
hp, represents the complex channel coefficient of the propagation path having delay equal to p samples so that E{|hp|2} represents the average power of the pth path where E { } is the expectation operator; m is a subcarrier index; and the β coefficients (which are explained in additional detail below) result from the derivation of the interference (both ISI and ITI) caused by applying the windowing function at the transmitter. More particularly, in an embodiment, βk,i,p (m), (i=1, 2) represent the interference due to the mth subcarrier on the kth subcarrier for the pth propagation path and are derived from the particular windowing function used.
The degradation in C/I has been verified via simulation. For example, simulations have shown that in one case the maximum attainable C/I over a single fixed path declined abruptly from infinity (no interference) to 50 dB based on a transition length L of two samples. The reduction in the maximum attainable C/I results in a reduction in receiver sensitivity. Furthermore, if the resulting maximum attainable C/I is lower than the minimum required C/I for any modulation scheme, that modulation scheme cannot be used.
Receiving device 130 receives the RF signal comprising the OFDM symbol sequence 310 at the antenna 125 and passes the signal to the receiver apparatus 410. Receiver apparatus 410 comprises elements such as, for instance: a preselector filter that can be a simple band pass filter designed to pass a desired signal and reject spurious out-of-band signals; a downconverter to downconvert the received signal from RF to baseband frequencies; and an analog to digital converter to sample and digitize the received signal, thereby, generating the time domain OFDM symbol sequence 320.
The digitized time domain OFDM signal sequence is received into FFT module 415 and CIR estimator 455. FFT module 415 performs a DFT (using a FFT algorithm) to transform the time domain sample sequence of the OFDM symbol into a frequency domain sample sequence of subcarrier modulation symbols. Equalizer 420 compensates for the effects of the propagation channel (e.g., magnitude and phase distortion) on the received subcarrier modulation symbol sequence. Processing device 425 can be a DSP (or some other type of processing device such as one described above) and provides, typically among other functions, the interference estimator 427 functionality to cancel interference from the received OFDM symbols, which was caused by applying the window function to the transmitted signal. It should be noted that
Decoder 430, which in this embodiment is a conventional FEC decoder, generates serial output bits that are ideally substantially those that were transmitted by the transmitting device. These serial output bits can, for example, be put into one or more output formats for a user of the receiving device to see via a display device or to hear via a speaker. The decoded bits are further processed by encoder 435 and interleaving and mapping module 440 in substantially the same manner as the modules 210 and 220, respectively, in the transmitting device shown in
Finally, the CIR estimator 455 uses pilot and perhaps data subcarrier modulation symbols (in a decision directed channel estimator) in a known way to estimate the effects of the propagation channel on the received signal (i.e., to estimate the impulse response of the channel). Based on the results of the CIR estimator 455, CIR coefficients are selected from memory 450 and provided to processing device 425 for interference estimation. Memory 450 could be a Random Access Memory (RAM), Read-Only Memory (ROM) or a combination of one or more different or same kind of memory modules.
Memory 450 also, in one embodiment, stores the β coefficients mentioned above that are used by the interference estimator 427 to mitigate the interference caused by applying the window function to the transmitted signal. Those of ordinary skill in the art will realize that any information that enables the estimation of the ISI and/or ITI caused by w(n) can be stored in the memory 450. It should be further noted that in this embodiment, the β coefficients and information used for interference estimation (are determined a priori and stored in memory 450, for example, in the form of a look-up table. However in other embodiments, these coefficients (and information) can be determined and used instantaneously in some type of adaptive manner as a signal is received, or a combination of both the a priori and adaptive methods depending on the memory and/or processing constraints of the receiving device.
In an embodiment, the coefficients that are applied to the received signal to cancel the window-induced interference are the β coefficients and, usually the CIR coefficients. The β coefficients are derived from the windowing function. Moreover, in an embodiment, which is described in detail below by reference to
Where the transmitting device uses w(n) as defined in equation (1), it was shown in
where index m refers to interfering subcarriers, Xi(m) is the mth subcarrier's modulation symbol of the current OFDM symbol and Xi+1,(m) and Xi−1 are the mth subcarrier's modulation symbol of the adjacent OFDM symbol.
In order to cancel the interference induced by the IEEE 802.11a suggested window function, the coefficients βk,1,p (m) and βk,2,p (m) for a finite set of channel path delays are determined using equations (8) and (11) and can be stored in a look-up table and applied to regenerated subcarrier modulation symbols Xi(m), m≠k, Xi−1(m), Xi+1(m) of the current, previous and next OFDM symbols, respectively, which are regenerated from the decoder 430 output bits after re-encoding (using encoder 435), interleaving and mapping (using interleaving and mapping module 435).
Accordingly, the interference for the kth subcarrier is calculated as
Based on this equation (14), canceling the window-induced interference caused by applying w(n) to the transmitted signal requires knowledge of the channel impulse response hp, which can be estimated in the CIR estimator 455 from a training sequence via taking the IFFT of the estimated channel frequency response. Alternatively, the channel impulse response may be estimated from the cross correlation of a known long training sequence with the received sequence. In this embodiment, the CIR and stored coefficients, βk,1,p (m) and βk,2,p (m) are used to weight the regenerated Xi(m), m≠k, Xi−1(m)and Xi+1(m). Moreover, in a further implementation, the CIR coefficients are compared to a predetermined threshold such that only those exceeding the threshold are used to calculate the interference. In this way, a trade-off between computation complexity and accuracy of the interference calculation can be attained.
As can be further seen from equation (14), canceling the interference due to the IEEE 802.11a window is problematic in that it requires regenerated subcarrier modulation symbols from the subsequent, (i+1)th, OFDM symbol (i.e., non-causal). Furthermore, all adjacent symbols contribute mutual ISI to each other. That is, OFDM symbols i−1 and i mutually interfere with each other as do symbols i and i+1. Therefore, a joint solution is necessary for cancellation of interference from adjacent OFDM symbols. The problem of non-causality and mutual interference can be overcome by using a modified IEEE 802.11a window function being shifted in time. This modified window function w(n) is defined by the following equation (15):
where N is the number FFT samples, D is the number of cyclic prefix samples, L is the number of samples comprising the transition region of the window, and n is the sample index.
Without, interference cancellation, this window (as defined by equation (15)), on average, results in more interference than the IEEE 802.11a window for channels with maximum path delay p<L since all such paths contribute interference from one or more of the last L samples of the FFT sample window. However, when used with the interference cancellation methods in accordance with the teachings herein, the modified window function will provide higher C/I, since all of the ISI due to the (i−1)th OFDM symbol can be removed from the ith symbol along with the ITI.
The maximum average achievable C/I using the modified window function is defined by the following equation (16):
Accordingly, the interference for the modified window is now,
Note that storage for the coefficients βk,1,p (m) is needed only for a finite set of channel path delays based on equation 21. These are then applied only to the Xi(m), m≠k, and Xi−1(m) of the current and previous OFDM symbols, respectively, which have been regenerated from the decoder output bits after re-encoding and symbol mapping. The interference is then calculated in accordance with the following equation (22):
Window-induced interference cancellation, where the w(n) is defined by equation (15) is illustrated by reference to
Turning now to
At step 830, device 130 determines coefficients that are derived from the windowing function, w(n). In this embodiment, determining the coefficients comprises selecting the proper β coefficients associated with a given path length, subcarrier and modulation scheme, under the control of block 770. At step 840, the interference estimator 727 applies the CIR coefficients and the β coefficients to regenerated subcarrier modulation symbols 734, 735 for the current OFDM symbol Xi and the previously transmitted OFDM symbol Xi−1, respectively, in OFDM symbol sequence 610 to produce estimated interference values Itot,k for the kth subcarrier, wherein values Itot,k are determined using equation (22) above.
Subcarrier modulation symbols for all but the current subcarrier k in the current OFDM symbol are used by the interference estimator 727 to estimate the ITI, which is distorting a current subcarrier modulation symbol for subcarrier k of the current OFDM symbol. Subcarrier modulation symbols for all of the subcarriers in the previously transmitted OFDM symbol are used by the interference estimator 727 to estimate the ISI, which is distorting the current subcarrier modulation symbol for subcarrier k of the current OFDM symbol. The regenerated subcarrier modulation symbols 734 and 735 are generated by encoder 435 and interleaving and mapping module 440 processing the decoded bits output from the decoder 430. Finally, the processing device 725 of receiving device 130 (at step 850) subtracts a corresponding interference value (e.g., Itot,k) from each received subcarrier modulation symbol distorted by the window-induced interference, (e.g., Yi+ITOT), such that the interference caused by the windowing function is at least in part cancelled.
In the foregoing specification, specific embodiments of the present invention have been described. However, one of ordinary skill in the art will appreciate that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention. The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.
Moreover in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “has”, “having,” “includes”, “ including,” “contains”, “containing” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. The terms “a” and “an” are defined as one or more, unless explicitly stated otherwise herein.