Techniques for detecting and cancelling interference in wireless communications

Various aspects described herein relate to cancelling interference in wireless communications. Energy level detection of a received signal can be performed to determine an allocation size and position corresponding to an interfering device in the received signal. An interference demodulation reference signal (DM-RS) and cyclic shift of the interfering device in the received signal can be determined. It can be determined whether to apply successive interference cancellation on the received signal, based at least in part on the allocation size and position and the DM-RS and cyclic shift, to cancel interference from the interfering device.

INTRODUCTION

Described herein are aspects generally related to communication systems, and more particularly, to detecting and cancelling interference in wireless communications.

These multiple access technologies have been adopted in various telecommunication standards to provide a common protocol that enables different wireless devices to communicate on a municipal, national, regional, and even global level. The wireless devices typically include a user equipment (UE), such as a mobile device, which communicates with a base station to receive access to a wireless network. Small cell base stations are provided as well to provide additional coverage areas. Small cell base stations are typically coupled to an Internet backend (e.g., at a residence, office building, etc.) and provide a frontend radio access network (RAN) interface. In some technologies, within a given cell of a base station or small cell base station, interference from devices outside of the cell (intercell interference) may limit throughput of devices within the cell.

Previous mechanisms for cancelling interference include interference aware maximum ratio combining (IRC) detection, where a total estimated noise can be cancelled from a received signal, but this mechanism may not work in environments having signal-to-interference ratio (SIR) below a threshold and/or at higher constellations. Another previous mechanism allows for communicating interferer information among base stations over a backhaul connection (e.g., an X2 interface in LTE). The backhaul connection, however, may not be guaranteed between any base stations (e.g., between any small cell base stations and/or between a small cell and macro cell base station), and thus may not be relied upon in all instances.

SUMMARY

According to an example, a method for cancelling interference in wireless communications is provided. The method includes performing energy level detection of a received signal to determine an allocation size and position corresponding to an interfering device in the received signal, determining an interference demodulation reference signal (DM-RS) and cyclic shift of the interfering device in the received signal, determining whether to apply successive interference cancellation on the received signal, based at least in part on the allocation size and position and the DM-RS and cyclic shift, to cancel interference from the interfering device, and applying the successive interference cancellation on the received signal based at least in part on determining to apply the successive interference cancellation.

In a further aspect, an apparatus for wireless communications is provided that includes a transceiver, a memory configured to store instructions, and one or more processors communicatively coupled with the transceiver and the memory. The one or more processors are configured to execute the instructions to perform an energy level detection of a received signal to determine an allocation size and position corresponding to an interfering device in the received signal, determine an interference DM-RS and cyclic shift of the interfering device in the received signal, determine whether to apply successive interference cancellation on the received signal, based at least in part on the allocation size and position and the interference DM-RS and cyclic shift, to cancel interference from the interfering device, and apply the successive interference cancellation on the received signal based at least in part on determining to apply the successive interference cancellation.

In another example, an apparatus for wireless communications is provided that includes means for performing an energy level detection of a received signal to determine an allocation size and position corresponding to an interfering device in the received signal, means for determining an interference DM-RS and cyclic shift of the interfering device in the received signal, means for determining whether to apply successive interference cancellation on the received signal, based at least in part on the allocation size and position and the interference DM-RS and cyclic shift, to cancel interference from the interfering device, and means for applying the successive interference cancellation on the received signal based at least in part on determining to apply the successive interference cancellation.

In yet another example, a computer-readable storage medium comprising computer-executable code for wireless communications is provided. The code includes code for performing an energy level detection of a received signal to determine an allocation size and position corresponding to an interfering device in the received signal, code for determining an interference demodulation reference signal (DM-RS) and cyclic shift of the interfering device in the received signal, code for determining whether to apply successive interference cancellation on the received signal, based at least in part on the allocation size and position and the interference DM-RS and cyclic shift, to cancel interference from the interfering device, and code for applying the successive interference cancellation on the received signal based at least in part on determining to apply the successive interference cancellation

DETAILED DESCRIPTION

Described herein are various aspects related to performing blind detection of communications from one or more interfering devices to determine certain parameters of the one or more interfering devices (e.g., resource allocation size and/or position, channel coefficients, constellation etc.). Based on these parameters, for example, interference from the one or more interfering devices can be successively cancelled from received signals. In an example, an energy detection mechanism can be used to detect an interfering device in a received signal (e.g., to detect a size and/or position of a resource allocation). Based on detecting the interfering device, for example, a reference signal (RS) of the interfering device (and/or a corresponding cyclic shift of the RS) can be detected in the received signal based on a plurality of hypotheses corresponding to possible RS sequences (and/or corresponding cyclic shifts) defined in a radio access technology. For example, in LTE, a demodulation RS (DM-RS) can be detected in a received signal based on one of 60 possible DM-RS sequences (e.g., 60 for larger than 5 resource block (RB) allocations or 30 for equal or smaller than 5 RB allocations). In any case, coefficients corresponding to the interfering device can be computed based on the allocation size and/or position, and the detected RS and/or corresponding cyclic shift. The coefficients can be used (e.g., along with computed coefficients of the received signal) to cancel interference of the interfering device from the received signals (e.g., and/or subsequent received signals) using successive interference cancellation or other interference cancellation mechanisms.

Referring first toFIG. 1, a diagram illustrates an example of a wireless communications system100, in accordance with aspects described herein. The wireless communications system100includes a plurality of access points (e.g., base stations, eNBs, or WLAN access points)105, a number of user equipment (UEs)115, and a core network130. Access points105may include a communicating component402configured to perform interference detection and/or cancellation in communications from other devices, in accordance with aspects described herein. Though shown as employed by an access point105, substantially any wireless communication device (e.g., another small cell or macro access point105, UE115, etc.) may include and/or execute functions associated with a communicating component402to cancel interference of other devices, as described herein.

Some of the access points105may communicate with the UEs115under the control of a base station controller (not shown), which may be part of the core network130or the certain access points105(e.g., base stations or eNBs) in various examples. Access points105may communicate control information and/or user data with the core network130through backhaul links132. In examples, the access points105may communicate, either directly or indirectly, with each other over backhaul links134, which may be wired or wireless communication links. The wireless communications system100may support operation on multiple carriers (waveform signals of different frequencies). Multi-carrier transmitters can transmit modulated signals simultaneously on the multiple carriers. For example, each communication link125may be a multi-carrier signal modulated according to the various radio technologies described above. Each modulated signal may be sent on a different carrier and may carry control information (e.g., reference signals, control channels, etc.), overhead information, data, etc.

The access points105may wirelessly communicate with the UEs115via one or more access point antennas. Each of the access points105sites may provide communication coverage for a respective coverage area110. In some examples, access points105may be referred to as a base transceiver station, a radio base station, a radio transceiver, a basic service set (BSS), an extended service set (ESS), a NodeB, eNodeB, Home NodeB, a Home eNodeB, or some other suitable terminology. The coverage area110for a base station may be divided into sectors making up only a portion of the coverage area (not shown). The wireless communications system100may include access points105of different types (e.g., macro, micro, femto, and/or pico base stations). The access points105may also utilize different radio technologies, such as cellular and/or WLAN radio access technologies (RAT). The access points105may be associated with the same or different access networks or operator deployments. The coverage areas of different access points105, including the coverage areas of the same or different types of access points105, utilizing the same or different radio technologies, and/or belonging to the same or different access networks, may overlap.

In LTE/LTE-A network communication systems, the terms evolved Node B (eNodeB or eNB) may be generally used to describe the access points105. The wireless communications system100may be a Heterogeneous LTE/LTE-A network in which different types of access points provide coverage for various geographical regions. For example, each access point105may provide communication coverage for a macro cell, a pico cell, a femto cell, and/or other types of cell. Small cells such as pico cells, femto cells, and/or other types of cells may be provided by small cell base stations as low power nodes or LPNs. A macro cell may generally cover a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by UEs115with service subscriptions with the network provider. A small cell may generally cover a relatively smaller geographic area and may allow unrestricted access by UEs115with service subscriptions with the network provider, for example, and in addition to unrestricted access, may also provide restricted access by UEs115having an association with the small cell (e.g., UEs in a closed subscriber group (CSG), UEs for users in the home, and the like). An eNB for a macro cell may be referred to as a macro eNB. An eNB for a small cell may be referred to as a small cell eNB. An eNB may support one or multiple (e.g., two, three, four, and the like) cells.

The core network130may communicate with the eNBs or other access points105via one or more backhaul links132(e.g., S1 interface, etc.). The access points105may also communicate with one another, e.g., directly or indirectly via backhaul links134(e.g., X2 interface, etc.) and/or via backhaul links132(e.g., through core network130). The wireless communications system100may support synchronous or asynchronous operation. For synchronous operation, the access points105may have similar frame timing, and transmissions from different access points105may be approximately aligned in time. For asynchronous operation, the access points105may have different frame timing, and transmissions from different access points105may not be aligned in time.

The UEs115are dispersed throughout the wireless communications system100, and each UE115may be stationary or mobile. A UE115may also be referred to by those skilled in the art as a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, a station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology. A UE115may be a cellular phone, a smart phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a tablet computer, a laptop computer, a netbook, a smartbook, an ultrabook, a drone, a robot/robotic device, a cordless phone, a wearable item (such as a watch, glasses, bracelets, rings, wristbands, clothing, etc.), an entertainment device (e.g., music device, gaming device), cameras, monitors, meters, trackers, medical devices, vehicular devices, a wireless local loop (WLL) station, or the like. A UE115may be able to communicate with macro eNBs, small cell eNBs, relays, and the like. A UE115may also be able to communicate over different access networks, such as cellular or other WWAN access networks, or WLAN access networks.

The communication links125shown in wireless communications system100may include uplink (UL) transmissions from a UE115to an access point105, and/or downlink (DL) transmissions, from an access point105to a UE115. The downlink transmissions may also be called forward link transmissions while the uplink transmissions may also be called reverse link transmissions. The communication links125may carry transmissions of one or more hierarchical layers which, in some examples, may be multiplexed in the communication links125. The UEs115may be configured to collaboratively communicate with multiple access points105through, for example, Multiple Input Multiple Output (MIMO), carrier aggregation (CA), Coordinated Multi-Point (CoMP), multiple connectivity (e.g., CA with each of one or more access points105) or other schemes. MIMO techniques use multiple antennas on the access points105and/or multiple antennas on the UEs115to transmit multiple data streams. Carrier aggregation may utilize two or more component carriers on a same or different serving cell for data transmission. CoMP may include techniques for coordination of transmission and reception by a number of access points105to improve overall transmission quality for UEs115as well as increasing network and spectrum utilization.

Each of the different operating modes that may be employed by wireless communications system100may operate according to frequency division duplexing (FDD) or time division duplexing (TDD). In some examples, OFDMA communications signals may be used in the communication links125for LTE downlink transmissions for each hierarchical layer, while single carrier frequency division multiple access (SC-FDMA) communications signals may be used in the communication links125for LTE uplink transmissions.

As described herein, an access point105with a communicating component402can blindly detect interference in signals from one or more UEs115. The interference may be caused by signals from other UEs (or other wireless communication devices), and may be blindly detected based on energy level detection, determining a known DM-RS in the signal, detecting an interference DM-RS and/or cyclic shift of a signal from the interfering device, etc. In any case, communicating component402may cancel the blindly detected interference from a received signal to facilitate improved decoding or other processing of the received signal.

FIG. 2is a diagram illustrating an example of an access network200in an LTE network architecture. In this example, the access network200is divided into a number of cellular regions (cells)202. One or more small cell eNBs208(e.g., eNBs of a lower power class than eNBs204) may have cellular regions210that overlap with one or more of the cells202. The small cell eNB208may be, for example, a femto cell (e.g., home eNB (HeNB)), pico cell, micro cell, or remote radio head (RRH), etc.). The macro eNBs204are each assigned to a respective cell202and are configured to provide an access point to the core network130for all the UEs206in the cells202. Small cell eNB208can include a communicating component402configured to perform interference detection and/or cancellation in communications from other devices, in accordance with aspects described herein. Though shown as employed by a small cell eNB208, substantially any wireless communication device (e.g., another small cell eNB or macro eNB204, UE206, etc.) may execute a communicating component402to cancel interference of other devices, as described herein. There is no centralized controller shown in this example of an access network200, but a centralized controller may be used in alternative configurations. The eNBs204and/or208may be responsible for all radio related functions including radio bearer control, admission control, mobility control, scheduling, security, and connectivity to a serving gateway (not shown).

FIG. 3is a block diagram of an eNB310(e.g., access point105, eNB204, small cell eNB208, eNB440, eNB450, eNB460, etc.) in communication with a UE350(e.g., UE115,206, etc.) in an access network. In the DL, upper layer packets from the core network are provided to a controller/processor375. The controller/processor375implements the functionality of the L2 layer. In the DL, the controller/processor375provides header compression, ciphering, packet segmentation and reordering, multiplexing between logical and transport channels, and radio resource allocations to the UE350based on various priority metrics. The controller/processor375is also responsible for HARQ operations, retransmission of lost packets, and signaling to the UE350.

The transmit (TX) processor316implements various signal processing functions for the L1 layer (physical layer). The signal processing functions includes coding and interleaving to facilitate forward error correction (FEC) at the UE350and mapping to signal constellations based on various modulation schemes (e.g., binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), M-phase-shift keying (M-PSK), M-quadrature amplitude modulation (M-QAM)). The coded and modulated symbols are then split into parallel streams. Each stream is then mapped to an OFDM subcarrier, multiplexed with a reference signal (e.g., pilot) in the time and/or frequency domain, and then combined together using an Inverse Fast Fourier Transform (IFFT) to produce a physical channel carrying a time domain OFDM symbol stream. The OFDM stream is spatially precoded to produce multiple spatial streams. Channel estimates from a channel estimator374may be used to determine the coding and modulation scheme, as well as for spatial processing. The channel estimate may be derived from a reference signal and/or channel condition feedback transmitted by the UE350. Each spatial stream is then provided to a different antenna320via a separate transmitter318TX. Each transmitter318TX modulates an RF carrier with a respective spatial stream for transmission. In addition, eNB310may include a communicating component402configured to perform interference detection and/or cancellation in communications from other devices, in accordance with aspects described herein. Though shown as employed by an eNB310, substantially any wireless communication device (e.g., another eNB, UE350, etc.) may execute a communicating component402to cancel interference of other devices, as described herein. For example, communicating component402can be implemented and/or executed by one or more processors, such as TX processor316, RX processor370, controller/processor375, etc.

The controller/processor359implements the L2 layer. The controller/processor can be associated with a memory360that stores program codes and data. The memory360may be referred to as a computer-readable medium. The controller/processor359and/or other controllers and/or modules at UE350may direct operations of various techniques described herein (e.g., operations in connection withFIGS. 5A, 5B). In the UL, the controller/processor359provides demultiplexing between transport and logical channels, packet reassembly, deciphering, header decompression, control signal processing to recover upper layer packets from the core network. The upper layer packets are then provided to a data sink362, which represents all the protocol layers above the L2 layer. Various control signals may also be provided to the data sink362for L3 processing. The controller/processor359is also responsible for error detection using an acknowledgement (ACK) and/or negative acknowledgement (NACK) protocol to support HARQ operations.

In the UL, a data source367is used to provide upper layer packets to the controller/processor359. The data source367represents all protocol layers above the L2 layer. Similar to the functionality described in connection with the DL transmission by the eNB310, the controller/processor359implements the L2 layer for the user plane and the control plane by providing header compression, ciphering, packet segmentation and reordering, and multiplexing between logical and transport channels based on radio resource allocations by the eNB310. The controller/processor359is also responsible for HARQ operations, retransmission of lost packets, and signaling to the eNB310.

The controller/processor375implements the L2 layer. The controller/processor375can be associated with a memory376that stores program codes and data. The memory376may be referred to as a computer-readable medium. The controller/processor375and/or other controllers and/or modules at eNB310may direct operations of various techniques described herein (e.g., operations in connection withFIGS. 5A, 5B). In the UL, the controller/processor375provides demultiplexing between transport and logical channels, packet reassembly, deciphering, header decompression, control signal processing to recover upper layer packets from the UE350. Upper layer packets from the controller/processor375may be provided to the core network. The controller/processor375is also responsible for error detection using an ACK and/or NACK protocol to support HARQ operations.

Referring toFIGS. 4-5B, aspects are depicted with reference to one or more components and one or more methods that may perform the actions or functions described herein. In an aspect, the term “component” as used herein may be one of the parts that make up a system, may be hardware or software or some combination thereof, and may be divided into other components. Although the operations described below inFIGS. 5A and 5Bare presented in a particular order and/or as being performed by an example component, it should be understood that the ordering of the actions and the components performing the actions may be varied, depending on the implementation. Moreover, it should be understood that the following actions or functions may be performed by a specially-programmed processor, a processor executing specially-programmed software or computer-readable media, or by any other combination of a hardware component and/or a software component capable of performing the described actions or functions.

FIG. 4is a block diagram conceptually illustrating an example of a network architecture400, in accordance with aspects described herein. The network architecture400may be part of the wireless communications system100ofFIG. 1, and may include a home eNB management system (HeMS)430capable of handling operation, administration, and management (OAM) of small cell base stations in a home network. The network architecture400may also include a home eNB gateway (HeNB-GW)434, an evolved packet core (EPC)436(e.g., a core network, such as core network130), and one or more eNBs440,450,460. The eNBs440,450,460may be in communication with the HeNB-GW434via backhaul interfaces (e.g., an S1 interface). In an additional or an optional aspect, the eNBs440,450,460may communicate directly with EPC436via S1 interface. UE115can be in communication with one or more of eNBs440,450,460. Additionally, the eNBs440,450,460may communicate with one another over backhaul interfaces (e.g., X2 interfaces). The HeNB-GW434and the EPC436may communicate via an S1 mobility management entity (MME) interface. The eNBs ofFIG. 4may correspond to one or more of the access points/eNBs described above with respect toFIGS. 1-3.

In an aspect, one or more of the eNBs440,450,460(though shown and described with respect to eNB440only for ease of explanation) may be configured to perform blind interference detection and/or cancellation thereof according to aspects described herein. Accordingly, eNB440may include one or more processors403and/or a memory405that may be communicatively coupled, e.g., via one or more buses407, and may operate in conjunction with or otherwise implement a communicating component402configured to perform interference detection and/or cancellation in communications from other devices, in accordance with aspects described herein. Though shown as employed by eNB440, substantially any wireless communication device (e.g., another eNB450,460, UE115, etc.) may execute a communicating component402to cancel interference of other devices, as described herein. For example, the various operations related to communicating component402may be implemented or otherwise executed by one or more processors403and, in an aspect, can be executed by a single processor, while in other aspects, different ones of the operations may be executed by a combination of two or more different processors. For example, in an aspect, the one or more processors403may include any one or any combination of a modem processor, or a baseband processor, or a digital signal processor, or an application specific integrated circuit (ASIC), or a transmit processor, receive processor, or a transceiver processor associated with transceiver406.

Further, for example, the memory405may be a non-transitory computer-readable medium that includes, but is not limited to, random access memory (RAM), read only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip), an optical disk (e.g., compact disk (CD), digital versatile disk (DVD)), a smart card, a flash memory device (e.g., card, stick, key drive), a register, a removable disk, and any other suitable medium for storing software and/or computer-readable code or instructions that may be accessed and read by a computer or one or more processors403. Moreover, memory405or computer-readable storage medium may be resident in the one or more processors403, external to the one or more processors403, distributed across multiple entities including the one or more processors403, etc.

In particular, the one or more processors403and/or memory405may execute actions or operations defined by communicating component402or its subcomponents. For instance, the one or more processors403and/or memory405may execute actions or operations defined by an interference detecting component410for blindly detecting interference from one or more devices in a received signal (e.g., received by transceiver406via one or more related RF front end components). In an aspect, for example, interference detecting component410may include hardware (e.g., one or more processor modules of the one or more processors403) and/or computer-readable code or instructions stored in memory405and executable by at least one of the one or more processors403to perform the specially configured interference detecting operations described herein. Further, for instance, the one or more processors403and/or memory405may execute actions or operations defined by an interference cancelling component412for cancelling detected interference from the received signal. In an aspect, for example, interference cancelling component412may include hardware (e.g., one or more processor modules of the one or more processors403) and/or computer-readable code or instructions stored in memory405and executable by at least one of the one or more processors403to perform the specially configured interference cancelling operations described herein.

It is to be appreciated that transceiver406may be configured to transmit and receive wireless signals through one or more antennas, an RF front end, one or more transmitters, and one or more receivers. In an aspect, transceiver406may be tuned to operate at specified frequencies such that eNB440can communicate at a certain frequency. In an aspect, the one or more processors403may configure transceiver406to operate at a specified frequency and power level based on a configuration, a communication protocol, etc. to communicate uplink signals and/or downlink signals, respectively, over related uplink or downlink communication channels.

In an aspect, transceiver406can operate in multiple bands (e.g., using a multiband-multimode modem, not shown) such to process digital data sent and received using transceiver406. In an aspect, transceiver406can be multiband and be configured to support multiple frequency bands for a specific communications protocol. In an aspect, transceiver406can be configured to support multiple operating networks and communications protocols. Thus, for example, transceiver406may enable transmission and/or reception of signals based on a specified modem configuration.

FIGS. 5A and 5Billustrate an example method500for blindly detecting interference and cancelling the interference (e.g., by a small cell eNB, macro eNB, UE, and/or substantially any device that supports wireless communications) in accordance with aspects described herein.

Method500can include, at Block502, receiving a signal transmitted in a wireless communication network. In an aspect, communicating component402, e.g., in conjunction with processor(s)403, memory405, and/or transceiver406, can receive the signal transmitted in the wireless communication network. For example, communicating component402can receive the signal from UE115. The signal as received by communicating component402may include interference from one or more other UEs (not shown), eNBs, etc., which may impact the ability of eNB440to properly decode the signal from the UE115. In one example, UE115can transmit the signal to eNB440based on a radio access technology (RAT), such as LTE.

Method500may also optionally include, at Block504, cancelling one or more known DM-RSs multiplied by one or more estimated channel coefficients from a received signal to generate a detection signal. In an aspect, communicating component402, e.g., in conjunction with processor(s)403and/or memory405, may cancel the one or more known DM-RS multiplied by the one or more estimated channel coefficients from the received signal to generate the detecting signal. For example, communicating component402may know the DM-RS based on assigning the DM-RS to UE115or otherwise receiving an indication of the DM-RS used by UE115. In one example, where a received signal (e.g., RS) for a specific Rx antenna is denoted as yr(m), the main signal known DM-RS (with known cyclic-shift) is denoted by DY(m), communicating component402may cancel the known main DM-RS (with known cyclic shift), as:
Qr(m)=yr(m)DY*(m)
In this example, communicating component402may estimate a symbol timing offset (STO), denoted by Δr, as:

Δr=1p⁢Angle(∑m=p+1M⁢Qr⁡(m)⁢Qr*⁡(m-p))
where p is some integer smaller or equal to the coherence BW of the channel, and M is a main signal allocation size (in subcarriers) corresponding to the received signal. In this example, communicating component402may cancel the STO, to get the per-subcarrier channel (with no STO), as:
Hr,1(m)=Qr(m)e−j·Δr·m
In this example, communicating component402may average Hr,1(m) as:

H^r,1⁡(m)={∑s=-(L-1)2(L-1)2⁢F⁡(s)⁢Ur⁡(m-sT)for⁢⁢⁢m=1+nT⁡(n=0,1,…⁢,MT-1)H^r,1⁡(1+floor⁢⁢(m-1T))else
where L is a length of the smoothing filter (e.g., for the cross tile smoothing or other filtering), and estimate the plurality of channel coefficients by applying the STO, as:
{circumflex over (Ĥ)}r,1(m)=Ĥr,1(m)ej·Δr·m
This may be referred to as a coarse channel estimation as existence of an interfering device is not taken into account. In this example, communicating component402can then regenerate the known DM-RS (also referred to herein as the “main signal DM-RS” or “main DM-RS”) using the estimated channel coefficients and cancel out the main signal from the received signal. This post cancellation signal can be denoted as Rr(m) and/or referred to as a “detection signal” herein.

Method500may also include, at Block506, performing energy level detection of the received signal or detection signal to determine an allocation size and position corresponding to an interfering device in the received signal or detection signal. In an aspect, interference detecting component410, e.g., in conjunction with processor(s)403and/or memory405, may perform energy level detection of the received signal or detection signal to determine the allocation size and position corresponding to the interfering device in the received signal or detection signal. Thus, in an example, where the detection signal is generated at Block504, energy level detection can be performed on this detection signal (and/or on the received signal in an additional or alternative example). In one example, performing the energy level detection at Block506may optionally include, at Block508, calculating an average energy level over the received signal or detection signal per a plurality of resource block (RB) starting positions. In an aspect, interference detecting component410, e.g., in conjunction with processor(s)403and/or memory405, may calculate an average energy level over the received signal or detection signal per a plurality of RB starting positions.

For example, interference detecting component410may perform energy level detection based on determining, for each of the plurality of RB sizes (denoted by s), a winning start Aint(s) and winning end Bint(s) by maximum average energy over the RB positions (e.g., by determining contiguous RBs having the maximum average energy or at least having at least a threshold energy or at least a threshold energy difference from an adjacent RB), and calculating the maximum energy E(s)=1, 2, . . . , 34. For each winning position, interference detecting component410may store (e.g., via memory405) the two slopes R1(s)=Ps,start/Ps,start-1and R2(s)=Pend-1/Pendas well as save G(s)=C1E(s)+R1(s)+R2(s), where C1is a configurable parameter. In an example, interference detecting component410may then establish the winning size ŝ, by sorting the table containing Aint(s), Bint(s), G(s), R1(s), R2(s) according to G(s) and/or go over the sorted array, and prioritize each index based on: “priority 3”—if R1(s)≥X and R2(s)≥X and Aint(S)==Amainand Bint(s)==Bmain(e.g., where slopes threshold passed, and main RB is completely overlapping interference RB), where Amainand Bmaindenote the start and end RBs, respectively, of the received signal (or detection signal); “priority 2”—if R1(s)≥X and R2(s)≥X and {(Aint(s)==Amainand Bint(s)!=Bmain) or (Aint(s)!=Amainand Bint(s)==Bmain)} (e.g., slopes threshold passed, and either main signal and interferer signal ending RBs, or main signal and interferer signal starting RBs overlap); “priority 1”—if R1(s)≥X and R2(s)≥X and (Aint(s)!=Amainand Bint(s)!=Bmain) (e.g., slopes threshold pass, and main signal and interferer signal ending RBs and starting RBs both do not overlap); or “priority 0”—Else (no slopes threshold passing). In this example, interference detecting component410may then go over the sorted array with priority indications, and determine the resource allocation size and/or position of the signal related to the interfering device by choosing the first “priority 1” index. If no such exist, interference detecting component410may determine the first “priority 2” index. If no such index exists, interference detecting component410may determine the first “priority 3” index. If no such index exists, interference detecting component410may determine the first “priority 0” index.

Method500may also include, at Block510, determining an interference DM-RS and/or cyclic shift of the interfering device in the received signal or detection signal. In an aspect, interference detecting component410, e.g., in conjunction with processor(s)403and/or memory405, may determine the interference DM-RS and/or cyclic shift of the interfering device in the received signal or detection signal. For example, determining the interference DM-RS and/or corresponding cyclic shift thereof may allow for blindly detecting an interference signal in the received signal or the detection signal based on the DM-RS, as described further herein. For example, interference detecting component410may test one or more hypotheses of the DM-RS and/or cyclic shift along with the determined resource allocation position and/or size in attempting to determine the interference DM-RS and/or cyclic shift.

In an example, determining the interference DM-RS and/or cyclic shift at Block510may optionally include, at Block512, determining the interference DM-RS and/or cyclic shift as one of a plurality of possible DM-RS and cyclic shifts having a highest normalized correlation value based on cross correlation with the received signal or the detection signal. In an aspect, interference detecting component410, e.g., in conjunction with processor(s)403and/or memory405, may determine the interference DM-RS and/or cyclic shift as one of the plurality of possible DM-RS and cyclic shifts having a highest normalized correlation value based on cross correlation with the received signal or the detection signal. For example, interference detecting component410may perform an exhaustive correlation of all possible DM-RS and/or cyclic shifts defined by the RAT (e.g., LTE) to determine the interference DM-RS and/or cyclic shift, as described below.

In an example, in performing an exhaustive correlation, interference detecting component410may, for each DM-RS hypothesis, calculate a correlation with the received signal or the detection signal, and determine the DM-RS and cyclic shift combination having the highest correlation as the interference DM-RS and cyclic shift. For example, for each DM-RS hypothesis (e.g., each of 60 hypotheses for allocation size larger than 5 RB in LTE or 30 hypotheses for allocation size less than or equal to 5 RB in LTE), interference detecting component410can perform cyclic shift detection of cyclic shifts Sk(e.g., cyclic shift between 0 and 11). For example, interference detecting component410can cancel the DM-RS from the detection signal, where Ak(M) is the DM-RS hypothesis (with no cyclic shift):
Pr,k(m)=Rr(m)Ak*(m)
In this example, assuming Angle( ) output is in the semi-closed range [0,2π), interference detecting component410may then calculate a parameter Gkas:

Gk=Round⁢⁢{122⁢π⁡[Angle⁢⁢(∑r=1R⁢⁢∑m=2M⁢⁢Pr,k⁡(m)⁢Pr,k*⁡(m-1))]}
In this example, interference detecting component410may then calculate the cyclic shift as:

Sk={Gkif⁢⁢Gk≠120else
In this example, interference detecting component410may then cancel the cyclic shift as:

Qr,k=Pr,k⁡(m)⁢e-j·2⁢π⁢⁢Sk12·m
In this example, interference detecting component410may then calculate the STO Δr,kby:

Δr,k=1p⁢⁢Angle⁢⁢(∑m=p+1M⁢⁢Qr,k⁡(m)⁢Qr,k*⁡(m-p))
In this example, interference detecting component410may then cancel the STO, to get the per-subcarrier channel (with no STO) as:
Hr,k,2(m)=Qr,k(m)e−j·Δr,k·m.
In this example, interference detecting component410can calculate average the per-subcarrier channel, as:

Dk*⁡(m)=e-2⁢π⁢⁢jSk12⁢m⁢Ak*⁡(m).
In this example, interference detecting component410can determine the winning DM-RS index W in the end of calculating Ckfor every DM-RS hypothesis, as:

In another example, interference detecting component410may perform correlation for a set of determined possible DM-RS and/or cyclic shifts (e.g., not necessarily all possible DM-RS and/or cyclic shifts defined by the RAT) to determine the interference DM-RS and/or cyclic shift, as described below. Determining a set of possible DM-RS and/or cyclic shifts in this regard may reduce the amount of calculations involved in correlation with each reference sequence. Where the references sequences are Zadoff-Chu sequences (e.g., in LTE when the minimum number of RBs is 3), a second order differences signal can be used to determine the set of possible DM-RS and/or cyclic shifts. In using second order differences signal, xr,m, which is the post FFT received signal in Rx antenna r, can be determined, in subcarrier m, as:

xr,m=hr,m⁢ej⁢⁢2⁢π⁡[-m⁡(m+1)2⁢Nzc⁢q+c12⁢m+Δr,k2⁢π⁢m]+nr,m
where hr,m, nr,mis the corresponding channel, and noise, m=0, . . . , M−1 (M is the hypothesized allocation size) and Nzcis the smallest prime number smaller or equal to M, c=0, . . . , 11 is the cyclic shift, Δr,kis the STO, and q is defined by:

q=floor⁢⁢(NZC⁡(u+1)31+0.5)+v·(-1)floor⁡(2⁢NZC⁡(u+1)31)
where for allocation sizes larger or equal to 5 RBs: u∈{0, . . . , 29} and v∈{0,1}, and for allocation sizes between 3 or 4 RBs: u∈{0, . . . , 29} and v=0. Using these calculations, the interference detecting component410can calculate the first order differences signal:

x¨m=x.m+1⁢x.m*≅(∑r=1R⁢hr,m2)2⁢ej⁢⁢2⁢π⁡[-qNzc]+n^^m
for m=0, 1, . . . , M−3. For all q hypothesis, q is an integer, and 0≤q≤N−×1, and there is no ambiguity in the second derivative. Accordingly, for different q values, the second derivative can have different constant phase (ignoring the noise). In an example, interference detecting component410can estimate q by first calculating:

q~=-Nzc2⁢π·Angle⁢⁢(∑m=0M-3⁢x¨m)
assuming Angle result is in the range: [0,2π). Interference detecting component410can then sort the hypothesis based on the circular distance from q:
ek=|min[mod(qk−{tilde over (q)},Nzc),mod({tilde over (q)}−qk,Nzc)]|
In this example, interference detecting component410can move on with the closest s (s≥1) hypotheses:
qk1,qk2, . . . ,qks

For these s hypothesis indices k1, . . . , ksinterference detecting component410can determine the set of possible DM-RS and/or cyclic shifts, and can perform the cross correlation with the received signal or the detection signal to determine the DM-RS and cyclic shifts having a highest normalized correlation value (e.g., as described above with respect to exhaustive correlation). In this example, interference detecting component410can determine the interference DM-RS and/or cyclic shift as index W, and {circumflex over (Ĥ)}r,W,2(m) (the channel coefficients), as described. Using the reduced set of hypotheses in this regard can lower processing burden in determining the interference DM-RS and/or cyclic shift of the signal from the interfering device.

Method500may also include, at Block514, determining whether to apply successive interference cancellation on the received signal or detection signal based at least in part on the allocation size and/or position, the DM-RS, the cyclic shift, and/or channel coefficients of the signal of the interfering device. In an aspect, interference detecting component410, e.g., in conjunction with processor(s)403and/or memory405, may determine whether to apply successive interference cancellation on the received signal or detection signal based at least in part on the allocation size (M interfere) and/or position, the DM-RS, the cyclic shift, and/or the abovementioned interferer channel coefficients {circumflex over (Ĥ)}r,2(m). For example, if the highest correlation value, described above, does not achieve a threshold, the interference may not have a significant impact on communications from UE115, and may not need to be cancelled. For example, interference detecting component410may evaluate both the highest normalized correlation value (Cwin), and the ratio of the highest normalized correlation value to one or more other next highest normalized correlation values (CSecond), which can be as follows:

function⁢⁢(Cwin,CwinCSecond)≥Threshold⁢⁢(Minterfere,NoisePower)
In an example, interference detecting component410may change one or more parameters (e.g., the threshold) depending on the assumed allocation size of the interfering device and the noise power. If the above condition holds, in an example, interference detecting component410may determine to perform successive interference cancellation. In another example, interference detecting component410may determine whether to perform successive interference cancellation based on the normalized winning correlation by determining whether:

Thus, method500may also include, at Block516, applying the successive interference cancellation on the received signal or detection signal based at least in part on determining to apply the successive interference cancellation. In an aspect, interference cancelling component412, e.g., in conjunction with processor(s)403and/or memory405, may apply the successive interference cancellation on the received signal or detection signal based at least in part on interference detecting component410determining to apply the successive interference cancellation. For example, interference cancelling component412may apply the successive interference cancellation based at least in part on determined channel coefficients of the received signal or detection signal and determined interference channel coefficients. In an example, the coefficients can be refined (e.g., re-estimated) based on determining to perform successive interference cancellation and before interference cancellation is performed.

Thus, referring toFIG. 5B, applying the successive interference cancellation at Block516may optionally include, at Block520, re-estimating the interference channel coefficients for the interference DM-RS and cyclic shift based on determining to apply successive interference cancellation, and/or, at Block522, re-estimating the plurality of channel coefficients of the received signal based on determining to apply successive interference cancellation. In an aspect, interference detecting component410, e.g., in conjunction with processor(s)403and/or memory405, may re-estimate the interference channel coefficients for the interference DM-RS and cyclic shift based on determining to apply successive interference cancellation, and/or re-estimate the plurality of channel coefficients of the received signal based on determining to apply successive interference cancellation.

In an example, interference detecting component410may re-estimate the channel coefficients and interference cancellation coefficients using a MMSE (minimum mean square error) operation, which may include a linear MMSE (LMMSE) operation. For example, interference detecting component410may apply a combined LMMSE estimation for both the channel coefficients and interference cancellation coefficients (and/or may apply LMMSE on subcarriers determined to overlap between the received or detection signal and interference from the interfering device). For example, where the originally received signal (before cancellation) within a certain tile for a specific Rx antenna r, can be represented asyr, the known DM-RS (with known cyclic shift) portion within the same tile can be represented as a vectorDY, the hypothesized interference DM-RS (with hypothesized cyclic-shift) portion within the same tile can be represented asDW, andhrcan represent the r-th row of the channel matrix H (corresponding to a signal received at Rx antenna r), joint LMMSE detection of both channels within this tile, for a specific Rx antenna r can be according to the following:

h_rT=((D_Y,D_W)H⁢(D_Y,D_W)+1NoisePow⁡(r)⁢I))-1⁢(D_Y,D_W)H⁢y_r
In addition, interference detecting component410may perform cross tile smoothing (or other filtering) to the resulting channel estimates. As described further herein, the resulting channel estimates can be used in applying successive interference cancellation.

In another example, interference detecting component410may re-estimate the channel coefficients and interference cancellation coefficients using successive channel estimation. In this regard, for example, applying the successive interference cancellation at Block516may also optionally include, at Block524, cancelling an interference signal from the received signal, where the interference signal is generated based at least in part on multiplying the interference DM-RS and cyclic shift to the interference cancellation coefficients. In an aspect, interference detecting component410, e.g., in conjunction with processor(s)403and/or memory405, may cancel the interference signal from the received signal, where the interference signal is generated based at least in part on multiplying the interference DM-RS and cyclic shift to the interference cancellation coefficients (e.g., as generated in Block512). For example, interference detecting component410can subtract the computed interference signal from the received signal. In this example, interference detecting component410may re-estimate the plurality of channel coefficients and interference channel coefficients of the interference-canceled signal, as described for the received signal or detection signal in Blocks504and/or512, above. For example, applying the successive interference cancellation at Block516may also optionally include, at Block526, cancelling the known DM-RS multiplied by the plurality of channel coefficients as re-estimated from the received signal to generate a re-estimated detection signal. In an aspect, interference detecting component410, e.g., in conjunction with processor(s)403and/or memory405, may cancel the known DM-RS multiplied by the plurality of channel coefficients as re-estimated from the received signal (e.g., as re-estimated from the interference-cancelled signal from Block524) to generate the re-estimated detection signal. Interference detecting component410may then re-estimate interference channel coefficients over the re-estimated detection signal, as described in Blocks510/512. In either case, the re-estimated (refined) channel coefficients and/or interference channel coefficients may be used in performing the successive interference cancellation.

In an example, applying successive cancellation at Block516in this regard may include performing one or more iterations of the Blocks in method500. For example, method500, or a portion of the related Blocks, may continue for one or more iterations (e.g., based on a configured number or iterations, based on a configured timer, based on detecting one or more events such as successive channel coefficients being within a threshold difference, etc). In an example, each iteration may include estimating of the channel coefficients of a received signal and canceling known DM-RS s multiplied by the channel coefficients at Block504for a given signal, re-estimating the channel coefficients of the other signal at Blocks520and522, multiplying these coefficients by the other signal's DM-RS and cancelling this multiplication from the received signal at Block524, and so on.

An example process600in accordance with aspects described herein is shown inFIG. 6, where coarse main-stream channel estimation is performed over received reference symbols at602to generate coarse main-stream channel coefficients. In this example, the main-stream channel coefficients can refer to the channel coefficients of the expected signal from a UE. Process600includes, at604, regeneration of main-stream DM-RS with the channel based on the main-stream channel coefficients, and cancellation of the main-stream DM-RS from the channel at606. This can produce the detection signal (e.g., as described in Block504of method500). Process600also includes interferer allocation size and position detection at608, which can be detected from the detection signal (e.g., as in Block506), and interferer DM-RS detection and channel estimation at610(e.g., as in Blocks510and512). Based on detection criterion at612, which may include one or more decisions based on the allocation size and position, DM-RS, cyclic shift, or channel coefficients of the signal of the interfering device, it can be determined whether to continue with the interference cancellation (e.g., as in Block514). If so, the channel coefficients and/or interference channel coefficients can be re-estimated using joint (LMMSE) fine channel estimation at614to generate re-estimated channel coefficients (main-stream coefficients) and interference channel coefficients, which can correspondingly be used to cancel interference, as described herein. In another example, the channel coefficients and interference coefficients can be re-estimated based on cancellation of the interference DM-RS and fine stream channel estimation of the interference cancelled signal (e.g., as in Blocks520,522,524, and/or526). For example, process600can include regeneration of interferer stream DM-RS (e.g., the DM-RS determined for the signal from the interfering device) with the channel at616, and cancellation of the interferer DM-RS with the channel at618. Process600may also include fine main-stream channel estimation of the signal with the DM-RS of the interfering device removed at620to produce re-estimated main channel coefficients. Process600can additionally include regeneration of the main-stream DM-RS with channel at622, and cancellation of the main DM-RS with the channel at622. Process600may also include fine interferer stream channel estimation at626to produce re-estimated interference channel coefficients from the signal with the DM-RS of the intended signal removed. The re-estimated channel coefficients and/or interference channel coefficients can be used to apply successive interference cancellation, as described herein.

In an example, applying the successive interference cancellation at Block516may also optionally include, at Block528, cancelling, from the received signal, an estimated constellation of the interference channel coefficients as re-estimated. In an aspect, interference cancelling component412, e.g., in conjunction with processor(s)403and/or memory405, may cancel, from the received signal, the estimated constellation of the interference channel coefficients as re-estimated. For example, interference cancelling component412may receive the re-estimated channel coefficients and/or interference channel coefficients from interference detecting component410, and may accordingly cancel interference from the received signal and/or subsequently received signals from UE115. As described further herein, cancelling the estimated constellation of the interference channel coefficients can occur in the data path of the received signal as opposed to the DM-RS symbol path where the coefficients are determined, as described above in earlier Blocks of method500. In an example, cancelling the estimated constellation of the interference channel coefficients can include interference cancelling component412determining whether the received signal or interference is stronger, which can include determining which signal has the higher signal-to-noise ratio (SNR), reference signal received power (RSRP), reference signal received quality (RSRQ), etc., as described further with respect toFIG. 7, below.

FIG. 7illustrates example components for process700for applying successive interference cancellation (e.g., by an interference cancelling component412based on received channel coefficients hmainand interference channel coefficients hinterf). For example, if the interference signal is determined to be stronger at730, interference cancelling component412can use the re-estimated interference channel coefficients (e.g., one of the output of interference detecting component410described above) as input to an LMMSE702equalization of the interference signal, the output of which can be input to an inverse discrete Fourier transform (IDFT)704and/or the estimated LMMSE noise (from LMMSE702and/or IDFT704) can be input to an interferer constellation estimation706. Moreover, for example, the IDFT704and/or interferer constellation estimation706output may be input to a log-likelihood ratio (LLR) mapping/demapping708mechanism, to calculate the interference symbols LLRs (e.g., with no turbo decoder). In this example, interference cancelling component412can then perform soft demapping of the LLRs of the signal from the interfering device (e.g., to a complex number) or perform hard demapping of the LLRs of the signal from the interfering device (e.g., to a constellation) at710, perform a discrete Fourier transform (DFT)712, and/or then multiply with the improved interference channel coefficients at714. In this example, the interference cancelling component412can subtract the resulting signal from the received signal at716to create the detection signal (post cancellation data). In this example, the interference cancelling component412can then use LMMSE702to detect the received signal, IDFT704, de-interleaver, descrambler, rate dematching722, turbo decoder724, etc., as described further herein, after which output data bits can be determined and/or successive interference cancellation can occur by taking the LLR output of the turbo decoder724and performing hard/soft demapping at710, and so on.

If the received signal (also referred to as the main signal) is determined to be stronger at730, interference cancelling component412can perform the reverse of the above-described process with the received signal to determine output data bits and/or perform successive interference cancellation based on LLR output. For example, in this case, interference cancelling component412can use improved main channel coefficients (one of the output of interference detecting component410described above) as input to an LMMSE702equalization of the main signal, and then perform an IDFT704, de-interleaver, descrambler, rate dematching722(e.g., after LLR mapping720), and turbo decoder724on the output. In this example, the interference cancelling component412can then can either stop with the output data bits, or continue with successive interference cancellation based on the LLR output of the turbo decoder (e.g., which may include rate matching, scrambling, interleaving726the LLR output of the turbo decoder726), as described. The interference cancelling component412can then and perform soft/hard demapping710on the output, go through a DFT712, then multiply the output with the improved main channel coefficients at714, subtract from the received signal at716, and continue with detecting the interferer signal, as described above, at LMMSE702.

Specifically, in accordance with the aspects described with respect toFIG. 7, for example, interference cancelling component412may determine whether the received signal (e.g., main signal) or the interference signal is stronger at730by comparing frequency domain signal-to-noise ratio (SNR) of each stream, the fact that interfering signals are detected without turbo encoding gain—also known as hard decision loss—and constellation differences between the received signal and interference signal), and can decode starting with the stronger signal. For example, if the received signal is stronger, interference cancelling component412can perform LLR mapping720of the IDFT704output, de-interleaving, descrambling, and rate dematching722of the LLR mapping720, apply a turbo decoder724to decode the received signal, and/or apply rate matching, scrambling, and interleaving726to generate the received signal LLRs. If the interference signal is stronger, interference cancelling component412can perform LLR mapping708of the IDFT704output in generating interference signal LLRs.

In an example, interference cancelling component412can perform soft/hard LLR demapping710of the received signal LLRs and/or the interference signal LLRs. For example, soft mapping can be done using the non-linear MMSE estimator:

where y denotes the noisy constellation symbol, ŝ(y) can be the demapper output, S can be the constellation size, sican be the i-th constellation symbol, E{s|y} can be the expectation of transmitted constellation symbol s given received noisy symbol y, P can be the theoretic probability, and B can be the number of LLRs per constellation symbol, and using:

For example, interference cancelling component412can apply the LMMSE702based on the following:
suCLB(m)=(HH(m)Cz(m)−1H(m)+I)−1ĥuCH(m)Cz(m)−1y(m)

Where H(m) represents the estimated channel matrix in subcarrier m, andhu(m) represents its column u∈{uC, uN}, corresponding to the current detected interfering device, and next detected interfering device respectively, the input data signal for both Rx antennas is denoted as columny(m), and the interferer+noise correlation matrix as Cz. Thus, each overlapping subcarrier in the first iteration is:
Cz(m)=CN(m)+huN·huNH
and each overlapping subcarrier in the next iteration is:
Cz(m)=CN(m)+huN·huN·σI2.
For every non overlapping subcarrier, it can be assumed that there is no interference except for the estimated noise, and so:
Cz(m)=CN(m)
where CN(m) is the estimated noise for each subcarrier, and σI2is remaining noise which comes as output from the soft/hard LLR demapping710, described above. In this example, an unbiased LMMSE702may be represented as:

In addition, for example, interference cancelling component412can determine whether the received signal or interference signal is stronger based on using the successive interference cancellation. As described, this can take into account the SNR of each signal, the constellation and code rate (e.g., the modulation and coding scheme (MCS)), and whether the signal can be detected using a turbo decoder. In another example, interference cancelling component412can determine whether the received signal or interference signal is stronger based on the SNR of each signal based on the following:

StrongerUser=arg⁢⁢maxu⁢{∑m=mimf⁢⁢h_u⁡(m)2}
Where miis the first overlapping subcarrier, and mfis the last overlapping subcarrier. In another example, interference cancelling component412can determine the interference signal as stronger, and should be detected first based on evaluating the calculated post-LMMSE equalization MSE (e.g., average of MSE(m) calculated in the IRC equalizer over the allocation subcarriers), and/or based on considering the decided constellation. For example, if the post-LMMSE equalization MSE achieves a threshold for 16-QAM, interference cancelling component412can determine the interference signal is stronger and may be detected first, or can otherwise determine the main signal is stronger, and accordingly continue successive interference cancellation, as described herein.

In addition, for example, for each interference signal from an interfering device, interference cancelling component412can estimate a constellation (e.g., using a maximum a posteriori (MAP) based constellation estimation algorithm to at least provide the interference signal constellation). For example, where Q represents a hypothesized constellation, N represents the number of subcarriers within the data buffer received, M(Q) represents the number of symbols in constellation, and P(Q|y) represents the probability of the constellation Q given the noisy symbols vectory,

Additionally, some parts of the processes may have logic740defining behavior based on a stage of the successive interference cancellation (SIC) process and/or flags based on whether the interference signal or main signal is determined to be stronger, as described above.

The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” For example, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form. Unless specifically stated otherwise, the term “some” refers to one or more. Moreover, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from the context, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B. As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members and duplicate members. As an example, “at least one of: a, b, or c” is intended to cover: a, b, c, a-b, a-c, b-c, a-b-c, a-a-b, a-b-b-b-c, a-c-c, etc. All structural and functional equivalents to the elements of the various aspects described herein that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed as a means plus function unless the element is expressly recited using the phrase “means for.”