GENERATING SEQUENCES FOR REFERENCE SIGNALS
TECHNICAL FIELD
This document is directed generally to wireless communications.
BACKGROUND
Wireless communication technologies are moving the world toward an increasingly connected and networked society. The rapid growth of wireless communications and advances in technology has led to greater demand for capacity and connectivity. Other aspects, such as energy consumption, device cost, spectral efficiency, and latency are also important to meeting the needs of various communication scenarios. In comparison with the existing wireless networks, next generation systems and wireless communication techniques need to provide support for an increased number of users and devices, as well as support for higher data rates, thereby requiring user equipment to implement energy conservation techniques.
SUMMARY
This document relates to methods, systems, and devices for generating sequences for reference signals in mobile communication technology, including 5th Generation (5G) and New Radio (NR) communication systems. In one exemplary aspect, a wireless communication method is disclosed. The method includes communicating, with a wireless node, a reference signal on a plurality of subcarriers using a digital modulation technique, wherein the reference signal comprises M sequences (M>=2) selected based on searching from a set of sequences in a manner such that the M sequences satisfy at least one search termination condition.
In another exemplary aspect, a wireless communication method can include receiving, at a wireless node, data and a reference signal using a plurality of subcarriers, wherein the reference signal comprises M sequences (M>=2) on M symbols and is used to demodulate the data; and detecting the reference signal, based, at least in part, on searching from a set of sequences in a manner such that the M sequences satisfy at least one condition.
In yet another exemplary aspect, the M sequences include at least one pair of sequences A, B arranged in a hopping A, B, A, B, A, B, .... repetitive pattern.
In a further exemplary aspect, the above-described methods are embodied in the form of processor-executable code and stored in a computer-readable program medium.
In a yet further exemplary aspect, an apparatus that is configured or operable to perform the above-described methods is disclosed.
The above and other aspects and their implementations are described in greater detail in the drawings, the descriptions, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an example of a base station (BS) and user equipment (UE) in wireless communication, in accordance with some embodiments of the presently disclosed technology.
FIG. 2 is a block diagram of an example implementation of a wireless communication apparatus.
FIGs. 3A and 3B are block diagram representations of a portion of an apparatus, in accordance with some embodiments of the presently disclosed technology.
FIG. 4 shows an example of a wireless communication method, in accordance with some embodiments of the presently disclosed technology.
DETAILED DESCRIPTION
There is an increasing demand for fourth generation of mobile communication technology (4G, the 4th Generation mobile communication technology) , Long-term evolution (LTE, Long-Term Evolution) , Advanced long-term evolution (LTE-Advanced/LTE-A, Long-Term Evolution Advanced) and fifth-generation mobile communication technology (5G, the 5th Generation mobile communication technology) . From the current development trend, 4G and 5G systems are studying the characteristics of supporting enhanced mobile broadband, ultra-high reliability, ultra-low latency transmission, and massive connectivity.
In the new generation of NR (New Radio) technology, the Physical Uplink Control Channel (PUCCH) and the Physical Uplink Shared Channel (PUSCH) support π/2-BPSK modulation in order to further reduce the peak-to-average power ratio (PAPR) of the signal. π/2-BPSK is generated from the standard BPSK signal by multiplying the symbol sequence with a rotating phasor with phase increments per symbol period of π/2. π/2-BPSK has the same bit error rate performance as BPSK over a linear channel, however, it exhibits less envelope variation (i.e., PAPR) , making it more suitable for transmission with nonlinear channels. This improves the power-amplifier efficiency cost in the mobile terminal at lower data rates.
π/2-BPSK modulation is used to modulate the data portion of a signal, whereas the reference signal (alternatively referred to herein as DMRS signal) still uses a Zadoff-Chu (ZC) sequence or a QPSK-based computer-generated sequence (referred to as CGS sequence) . Current implementations have shown that if the data portion uses π/2-BPSK modulation and the reference signal uses a ZC sequence or a CGS sequence, the PAPR between the data portion and the reference signal is different, with the PAPR of the data portion being lower than that of the reference signal. In current implementations, when the user transmits the PUSCH or the PUCCH, the power can be adjusted only for the entire PUSCH or the PUCCH; i.e., the transmission power of a certain symbol cannot be separately adjusted. Therefore, the PAPR of the data portion not being equal to the PAPR of the reference signal portion results in the low PAPR performance of the π/2-BPSK modulation not being fully utilized, because the power adjustments are based on the higher PAPR of the reference signal. Thus, higher requirements are placed on the design of the reference signal. Accordingly, sequence design with low peak-to-average ratio becomes an issue that is yet to be solved. Furthermore, when the reference signal includes at least two sequences (e.g. in two symbols) , identifying and/or combining the two sequences together for better performance is another issue that is yet to be solved. The present patent document addresses, among other things, such a need. The present document is directed at selecting a pair of sequences from a set of sequences such that at least one search termination condition is achieved or met, resulting in better system performance. In some implementations, the search termination condition can be related to a joint autocorrelation condition associated with the pair of sequences. In some implementations, the search termination condition can be related to a length of a sequence in the pair of sequences. It will be understood that although the discussions herein are based on a pair of sequences, such discussions are merely for illustrative purposes. In some implementations, for example, the pair of sequences can be included in the reference signal as M sequences arranged in a repetitive hopping pattern expressed as A, B, A, B, ...
Implementations for the disclosed technology
FIG. 1 shows an example of a wireless communication system (e.g., an LTE, 5G or New Radio (NR) cellular network) that includes a base station (BS) 120 and one or more user equipment (UE) 111, 112 and 113. In some embodiments, the uplink transmissions (131, 132, 133) include π/2-BPSK modulated data portion and a reference signal that includes a sequence described by the presently disclosed technology. The UE may be, for example, a smartphone, a tablet, a mobile computer, a machine to machine (M2M) device, a terminal, a mobile device, an Internet of Things (IoT) device, and so on.
The present document uses section headings and sub-headings for facilitating easy understanding and not for limiting the scope of the disclosed techniques and embodiments to certain sections. Accordingly, embodiments disclosed in different sections can be used with each other. Furthermore, the present document uses examples from the 3GPP New Radio (NR) network architecture and 5G protocol only to facilitate understanding and the disclosed techniques and embodiments may be practiced in other wireless systems that use different communication protocols than the 3GPP protocols.
FIG. 2 depicts a block diagram representing an architecture of a communication apparatus such as a user equipment (UE) terminal or wireless communication apparatus 200. A terminal 200 can include one or multiple processor electronics 210 such as a microprocessor that implements one or more of the wireless techniques presented in this document. The terminal 200 can include transmitter electronics 215 and receiver electronics 220 to send and/or receive wireless signals over one or more communication interfaces such as antenna 220. In some implementations, transmitter electronics 215 and receiver electronics 220 can be integrated into a single electronics transceiver unit or module. The terminal 200 can include other communication interfaces for transmitting and receiving data. The terminal 200 can include one or more memories 205 configured to store information such as data and/or instructions related to the methods disclosed herein. In some implementations, the processor electronics 210 can include at least a portion of the transceiver electronics 215. In some embodiments, at least some of the disclosed techniques, modules or functions are implemented using the sequence generation module 225.
Implementations for generating reference signals
FIGs. 3A and 3B are block diagram representations of a portion of an apparatus, in accordance with some embodiments of the presently disclosed technology. For example, FIG. 3A is a diagram for the generation of reference signal based on π/2-BPSK. The binary sequence b (n) is modulated by a π/2-BPSK modulation module 302 and results in an output sequences d (n) . Then d (n) is precoded by a DFT operation in DFT module 304 and then mapped to the resource element (RE) used for transmission in frequency domain by RE mapping module 306. The RE mapping module 306 is connected to IFFT module 308 for an IFFT operation. The output of the IFFT module 308 corresponds to time domain sequences. The RE mapping in frequency domain and IFFT are similar to generation of OFDM signals.
The relationship between d (n) and b (n) for π/2-BPSK can be given by
wherein exp () is the exponential function, and mod is the modulus operation.
When the length of the reference signal is relatively short, e.g., shorter than 30, computer-generated sequences (CGS) can be used as symbols of the reference signal. In order to obtain the desired/target sequences, various sequence selection criteria can be used during the searching procedure, such as low PAPR, low autocorrelation, and low cross correlation between two sequences. To generate the sequences, bitstream b
u (n) as listed in Table 1, Table 2, and Table 3 can be used with π/2-BPSK modulation technique having lengths 12, 18, and 24 respectively.
Table 1: CGS FOR π/2-BPSK FOR N=12
Table 2: CGS FOR π/2-BPSK FOR N=18
Table 3: CGS FOR π/2-BPSK FOR N=24
FIG. 3B shows an example of the reference signals generation based on 8-PSK modulation technique. References signal generated using 8-PSK is similar to π/2-BPSK, e.g., by replacing π/2-BPSK modulation module 302 with 8-PSK modulation module 301. Various sequence selection criteria can be used during the searching procedure, such as low PAPR, low autocorrelation, and low cross correlation between two sequences.
The relationship between d (n) and b (n) for 8-PSK can be represented by (2) . To generate the sequences, bitstream b
u (n) as listed in Table 4 can be used with 8-PSK modulation technique having a length N=6.
Table 4: CGS FOR 8-PSK FOR N=6
Implementations for selecting at least a pair of sequences
In current NR specifications, both one-symbol DMRS (e.g., when the reference signal includes a single sequence) and two-symbol DMRS (e.g., when the reference signal includes two sequences) are supported for PUSCH. In case of two-symbol DMRS, two options are disclosed in this patent document:
● Option 1: New sequences are designed for the two DMRS symbols, which satisfy a predefined condition of joint autocorrelation. In some implementations, the sequence set used in designing the two-symbol DMRS is different from the sequence set used in designing the one-symbol DMRS.
● Option 2: Deterministic sequences pair are designed for the two DMRS symbols, which satisfy a predefined condition of joint autocorrelation. In some implementations, the sequence set used in designing the two-symbol DMRS can be the same sequence set used in designing the one-symbol DMRS.
One advantage of Option 2 over Option 1 is that a single sequence set can be used for both one-symbol DMRS and two-symbol DMRS, which saves memory (e.g., storage requirements) at the UE and/or at the base station (gNB) . Accordingly, the present document discloses how the two-symbol DMRS can be designed/selected. For example, the present document discusses how a pair of sequences can be selected from the sequence set such that one or more search termination conditions can be satisfied by the pair of sequences. It will be understood that although the discussions herein are based on a pair of sequences, such discussions are merely for illustrative purposes. In some implementations, for example, the pair of sequences can be included in the reference signal as M sequences arranged in a repetitive hopping pattern expressed as A, B, A, B, ... In some implementations, the M sequences can be based, at least in part, on identification of at least a cell, a user, or a communication channel.
The autocorrelation of a sequence can be expressed as
wherein d (. ) denotes a sequence, d (. )
*denotes the conjugate of d (. ) , N denotes the length of a sequence, and j is the cyclic shift.
If a sequence has perfect autocorrelation,
In practice, it can be extremely difficult to generate sequences having zero autocorrelation. For example, π/2-BPSK based sequences (listed in Tables 1-3) and 8-PSK based sequences (listed in Table 4) do not have perfect autocorrelation. Accordingly, in some implementations employing two DMRS symbols, joint or combined autocorrelation can be used as a criterion to determine the sequence pair to be used in the two DMRS symbols. As such, perfect (equal to zero) or almost-perfect (close to zero) joint autocorrelation is desirable.
The joint autocorrelation for a pair of sequences can be defined as:
wherein d
a (n) and d
b (n) are the two sequences used in two DMRS symbols.
The present document is directed at selecting (or, searching for) a pair of sequences (termed herein as winning pair) in a set of computer-generated sequences such that a desired search termination condition is reached. For example, the search termination condition can be based on a joint autocorrelation condition. For example, if the set of sequences are denoted S1, S2, S3, the joint autocorrelations for (S1, S2) , (S1, S3) , and (S2, S3) are calculated. These calculations are repeated over one or more cyclic shifts of S1, S2, S3. In this document, several implementations for selecting the winning sequence pair are discussed. They are as follows.
Implementation 1: The joint autocorrelation for pairs of sequences among the set of sequences is calculated. Then, based on the joint autocorrelation values, the pair of sequences which has the largest number of zero (or, near-zero) joint autocorrelation values across one or more cyclic shifts is selected as the winning pair. The near-zero condition can be implemented by checking that the joint autocorrelation value does not exceed 0.00001. In this implementation, the search termination condition is based on the largest number of zero (or, near-zero) joint autocorrelation values.
Implementation 2: The joint autocorrelation for pairs of sequences among the set of sequences is calculated. Then, based on the joint autocorrelation values, the pair of sequences which has the smallest maximum joint autocorrelation (e.g., below a threshold value) across one or more cyclic shifts is selected as the winning pair. In this implementation, the search termination condition is based on the smallest value of maximum joint autocorrelation values.
Implementation 3: The joint variance for pairs of sequences among the set of sequences is calculated. Then, based on the joint variance values, the pair of sequences which has the smallest maximum joint variance (e.g., below a threshold value) across one or more cyclic shifts is selected as the winning pair. In this implementation, the search termination condition is based on the smallest value of maximum joint variance values.
Implementations 1-3 can be implemented individually or jointly combined. Examples of joint implementations are discussed next.
Implementation 4: a first combination of implementation 1 and implementation 2.
● Step 1: Calculate the joint autocorrelation for pairs of sequences among the set of sequences based on (4) , among all cyclic shifts or specific cyclic shifts. Record the pair-wise maximum joint autocorrelation values in a first table (e.g., Table 5A) , among all cyclic shifts or specific cyclic shifts. Record the pair-wise number of zero (or, near-zero) joint autocorrelation values in a second table (e.g., Table 5B) , among all cyclic shifts or specific cyclic shifts.
● Step 2: From the first table, exclude those sequence pairs with high joint autocorrelation, e.g., sequences having joint autocorrelation above a threshold. The threshold can be related, at least in part, to the length of a sequence (denoted N) in the set of sequence. For example, when N=12 and π/2-binary phase shift keying (BPSK) modulation technique is used, the threshold can be 0.3333. When N=18 and π/2-binary phase shift keying (BPSK) modulation technique is used, the threshold can be 0.2222. When N=24 and π/2-binary phase shift keying (BPSK) modulation technique is used, the threshold can be 0.25. When N=6 and 8-PSK modulation technique is used, the threshold can be 0.4714. The remaining sequence pairs are marked as candidate set of sequences pairs for subsequent selection (s) .
● Step 3: Perform sequence paring across the set of sequences, until the sequence pair having the smallest maximum joint autocorrelation can be selected from the first table. If a sequence (e.g., Sx) has been selected to be paired with another sequence (e.g. Sy) , all the sequence pairs with the sequence Sx can be excluded from the candidate set. Update the candidate set of sequence pairs and iterate step 3 until all the sequences in the set have be paired. In some scenarios, given a sequence in a pair, multiple sequences can have the same maximum joint autocorrelation value. Accordingly, to break the tie, select the sequence pair that has the largest number of zero (or, near-zero) joint autocorrelation values, as indicated in the second table. However, if there is another tie in which even the number of zero (or, near zero) joint autocorrelations is the same across the multiple sequences, randomly select one sequence of the multiple sequences for pairing with the given sequence. For example, given sequence S1, if the sequence pairs (S1, S2) , (S1, S3) , (S1, S4) have the same maximum joint autocorrelation, then the second table is used to determine the number of zero (or, near zero) joint autocorrelation values for sequence pairs (S1, S2) , (S1, S3) , (S1, S4) . If the number of zero (or, near zero) joint autocorrelation values of (S1, S2) , (S1, S3) , (S1, S4) are assumed as 10, 12, 11 respectively, then sequence S3 is selected to be paired with S1.
Implementation 5: a second combination of implementation 1 and implementation 2.
● Step 1: Calculate the joint autocorrelation for pairs of sequences among the set of sequences based on (4) , among all cyclic shifts or specific cyclic shifts. Record the pair-wise maximum joint autocorrelation values in a first table (e.g., Table 5A) , among all cyclic shifts or specific cyclic shifts. Record the pair-wise number of zero (or, near-zero) joint autocorrelation values in a second table (e.g., Table 5B) , among all cyclic shifts or specific cyclic shifts.
● Step 2: From the second table, exclude those sequence pairs that have small number of zero (or near zero) joint autocorrelation values, e.g., number of zero (or near zero) joint autocorrelation values not exceed a threshold. The threshold can be related, at least in part, to the length of a sequence (denoted N) in the set of sequence. The remaining sequences pairs are marked as candidate set of sequences pairs for further down selection.
● Step 3: Perform sequences paring across the set of sequences, until the sequence pair having the largest number of zero (or, near-zero) joint autocorrelation values can be selected from the second table. If a sequence (e.g., Sx) has been selected to be paired with another sequence (e.g., Sy) , all the sequence pairs with the sequence Sx can be excluded from the candidate set. Update the candidate set of sequence pairs and iterate step 3 until all the sequences in the set have be paired. In some scenarios, given a sequence in a pair, multiple sequences can have the same largest number of zero (or, near-zero) joint autocorrelation values. Accordingly, to break the tie, select the sequence pair that has the smallest maximum joint autocorrelation, as indicated in the first table. However, if there is another tie in which even the maximum joint autocorrelation is the same across the multiple sequences, randomly select one sequence of the multiple sequences for pairing with the given sequence.
Table 5A: First Table in Implementation 1, with N=12
Table 5B: Second Table in Implementation 1, with N=12
Tables 5A and 5B correspond to the first table and second table in implementation 4 and implementation 5. Each of these tables have 30 rows and 30 columns corresponding to a sequence set of 30 sequences. As a discussion example, if sequence 0 (i.e., first column) is considered for the first symbol, Table 5B indicates that the largest number of zero joint autocorrelation value is 10. In other words, there are 10 cyclic shifts that have zero joint auto correlation values for sequence pairs (0, 0) , (0, 2) , (0, 4) , (0, 15) , (0, 16) , and (0, 18) , implying that the second symbol can be selected from sequence 0, 2, 4, 15, 16, and 18. When performing a search, for the search termination to be reached, 30 sequences are jointly considered.
Because the joint variance for pairs of sequences can be calculated from the joint autocorrelation, details of the procedure of implementation 3 can be deduced from the procedure of implementation 2. In this document, implementation 4 or 5 is used as an example to select winning sequence pairs (e.g., shown in Tables 6A, 7A, 8A and 9A) to be included in DMRS symbols. The first sequence is used in the first DMRS symbol and the second index is used in the second DMRS symbol. The CGS indices of the winning sequence pairs are listed in Tables 6A, 7A, 8A and 9A. Specifically, Tables 6A, 7A, 8A show the winning pair of sequences for sequence lengths of 12, 18, 24 respectively, when the digital modulation technique is π/2-binary phase shift keying (BPSK) and a size of the set of sequences is 30. Table 9A shows the winning pair of sequences for sequence length 6, when the digital modulation technique is 8-PSK and a size of the set of sequences is 30.
Tables 6B, 7B, 8B, 9B show mean (i.e., average) and maximum joint autocorrelation values for the winning pairs listed in Tables 6A, 7A, 8A, 9A respectively. For purposes of comparison, the autocorrelation for single symbol DMRS is also listed. Tables 6B, 7B, 8B, 9B indicate that mean and maximum values of the joint autocorrelation of two symbol DMRS is reduced in comparison to single symbol DMRS. Lower joint autocorrelation implies more flatness in frequency response, which results in better performance of channel estimation. Thus, design/selection of the winning pairs as disclosed herein provides at least one patentable benefit.
Table 6A: CGS pairing table showing indices of winning sequence pairs FOR N=12
| CGS index on the first DMRS symbol |
CGS index on the second DMRS symbol |
| 0 |
4 |
| 1 |
18 |
| 2 |
0 |
| 3 |
19 |
| 4 |
16 |
| 5 |
6 |
| 6 |
8 |
| 7 |
10 |
| 8 |
7 |
| 9 |
26 |
| 10 |
12 |
| 11 |
14 |
| 12 |
9 |
| 13 |
23 |
| 14 |
11 |
| 15 |
22 |
| 16 |
27 |
| 17 |
21 |
| 18 |
1 |
| 19 |
3 |
| 20 |
15 |
| 21 |
17 |
| 22 |
5 |
| 23 |
25 |
| 24 |
29 |
| 25 |
20 |
| 26 |
28 |
| 27 |
2 |
| 28 |
24 |
| 29 |
13 |
Table 6B: Autocorrelation values for winning pairs in Table 5A
Table 7A: CGS pairing table showing indices of winning sequence pairs for N=18
Table 7B: Joint autocorrelation values for winning pairs in Table 6A
Table 8A: CGS pairing table showing indices of winning sequence pairs for N=24
Table 8B: Autocorrelation values for winning pairs in Table 7A
Table 9A: CGS pairing table showing indices of winning sequence pairs for N=6
Table 9B: Joint autocorrelation values for winning pairs in Table 8A
In some implementations, the two DMRS symbols can be adjacent or non-adjacent to one another in the time domain. In some implementations, the maximum joint autocorrelation values are associated with the cyclic shifts varying from 1 to (N-1) . In some implementations, the maximum joint autocorrelation values are associated with pre-determined cyclic shifts based, at least, in part on N. For example, the pre-determined cyclic shifts can be: j=1 when N is 6, j=2 or 3 when N is 12, j=4 or 5 when the N is 18, and j=5 or 6 when N is 24.
Exemplary methods for the disclosed technology
FIG. 4 shows an example of a wireless communication method 400 for generating a winning sequence pair for use in reference signals in mobile communication technology. The method 400 includes, at step 410, transmitting, from a wireless node, a reference signal using a digital modulation technique, wherein the reference signal comprises M sequences (M>=2) based on searching from a set of sequences in a manner such that the M sequences satisfy at least one condition.
In some embodiments, a method can be implemented at a receiving wireless node. The method can include, receiving data and a reference signal using a plurality of subcarriers, wherein the reference signal comprises M sequences (M>=2) on M symbols and is used to demodulate the data; and detecting the reference signal, based, at least in part, on searching from a set of sequences in a manner such that the M sequences satisfy at least one condition.
In some embodiments, the data and the reference signal are transmitted on a physical uplink shared channel (PUSCH) or a physical uplink control channel (PUCCH) . In other embodiments, the data comprises uplink traffic data and uplink control information. In yet other embodiments, the reference signal is used to demodulate the data. In one aspect, the sequences described and constructed by embodiments of the disclosed technology advantageously enable improved demodulation performance due to their PAPR and autocorrelation properties.
It is intended that the specification, together with the drawings, be considered exemplary only, where exemplary means an example and, unless otherwise stated, does not imply an ideal or a preferred embodiment. As used herein, the use of “or” is intended to include “and/or” , unless the context clearly indicates otherwise.
Some of the embodiments described herein are described in the general context of methods or processes, which may be implemented in one embodiment by a computer program product, embodied in a computer-readable medium, including computer-executable instructions, such as program code, executed by computers in networked environments. A computer-readable medium may include removable and non-removable storage devices including, but not limited to, Read Only Memory (ROM) , Random Access Memory (RAM) , compact discs (CDs) , digital versatile discs (DVD) , etc. Therefore, the computer-readable media can include a non-transitory storage media. Generally, program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-or processor-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.
Some of the disclosed embodiments can be implemented as devices or modules using hardware circuits, software, or combinations thereof. For example, a hardware circuit implementation can include discrete analog and/or digital components that are, for example, integrated as part of a printed circuit board. Alternatively, or additionally, the disclosed components or modules can be implemented as an Application Specific Integrated Circuit (ASIC) and/or as a Field Programmable Gate Array (FPGA) device. Some implementations may additionally or alternatively include a digital signal processor (DSP) that is a specialized microprocessor with an architecture optimized for the operational needs of digital signal processing associated with the disclosed functionalities of this application. Similarly, the various components or sub-components within each module may be implemented in software, hardware or firmware. The connectivity between the modules and/or components within the modules may be provided using any one of the connectivity methods and media that is known in the art, including, but not limited to, communications over the Internet, wired, or wireless networks using the appropriate protocols.
While this document contains many specifics, these should not be construed as limitations on the scope of an invention that is claimed or of what may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features that are described in this document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination. Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results.
Only a few implementations and examples are described and other implementations, enhancements and variations can be made based on what is described and illustrated in this disclosure.