Systems and methods for information recovery from redundancy version packets

Systems, methods, apparatuses, and media are provided for recovery of information from redundancy version packets in systematic encoding environments when a redundancy version packet containing primarily systematic information may be corrupted. A plurality of redundancy version packets may be received at a user equipment device from a transmission device. Each redundancy version packet of the plurality of redundancy version packets may be based on a same group of information bits. A first redundancy version packet of the plurality of redundancy version packets may contain more bits of the same group of information bits than do the other redundancy version packets of the plurality of redundancy version packets. The same group of information bits may be recovered based on one or more second redundancy version packets of the plurality of redundancy version packets but not based on the first redundancy version packet.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a U.S. National Stage under 35 U.S.C. § 371 of International Application No. PCT/CN2014/095822, filed Dec. 31, 2014, entitled “SYSTEMS AND METHODS FOR INFORMATION RECOVERY FROM REDUNDANCY VERSION PACKETS”. The entire contents of which are incorporated herein by reference.

BACKGROUND

Embodiments described herein generally relate to systems and methods for recovery of information from redundancy version packets.

A user equipment (“UE”), such as a mobile phone device, may be enabled for one or more radio access technologies (“RATs”), such as Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), Universal Mobile Telecommunications Systems (UMTS) (particularly, Long Term Evolution (LTE)), Global System for Mobile Communications (GSM), Wi-Fi, PCS, or other protocols that may be used in a wireless communications network or a data communications network. One or more RATs may be enabled by one, or a plurality of subscriber identity modules (“SIMs”). For example, a UE may be a multi-SIM UE, where each of a plurality of SIMs received or otherwise coupled to the multi-SIM UE may support one or more RATs.

SUMMARY

Various embodiments relate to systems and methods for recovery of information from redundancy version packets.

According to some embodiments, a method is provided. The method includes receiving a plurality of redundancy version packets at a user equipment device from a transmission device. In such embodiments, each redundancy version packet of the plurality of redundancy version packets is based on a same group of information bits. In such embodiments a first redundancy version packet of the plurality of redundancy version packets contains more bits of the same group of information bits than do the other redundancy version packets of the plurality of redundancy version packets. The method further includes recovering the same group of information bits based on one or more second redundancy version packets of the plurality of redundancy version packets but not based on the first redundancy version packet.

In some embodiments, the first redundancy version packet comprises bits from the same group of information bits. In such embodiments, the first redundancy version packet comprises error detection bits. In such embodiments, the first redundancy version packet does not comprise error correction bits.

In some embodiments, the one or more second redundancy version packets comprise error correction bits.

In some embodiments, the one or more second redundancy version packets do not comprise bits from the same group of information bits.

In some embodiments, the first redundancy version packet comprises systematic bits. In such embodiments, the first redundancy version packet does not comprise parity bits from a forward error correction encoding.

In some embodiments, the one or more second redundancy version packets comprise parity bits from a forward error correction encoding.

In some embodiments, the one or more second redundancy version packets do not comprise systematic bits.

In some embodiments, recovering the same group of information bits involves decoding the one or more second redundancy version packets but not decoding the first redundancy version packet.

In some embodiments, the method further includes determining whether the first redundancy version packet was received during a tune-away procedure.

In some embodiments, the method further includes performing the recovering the same group of information bits based on the one or more second redundancy version packets but not based on the first redundancy version packet if the first redundancy version packet was received during the tune-away procedure.

In some embodiments, the method further includes determining whether the one or more second redundancy version packets were received during the tune-away procedure. In such embodiments, the method further includes performing the recovering the same group of information bits based on the one or more second redundancy version packets but not based on the first redundancy version packet if the first redundancy version packet was received during the tune-away procedure and if the one or more second redundancy version packets were received not during the tune-away procedure.

In some embodiments, the method further includes discarding the first redundancy version packet without decoding the first redundancy version packet based on determination that the first redundancy version packet was received during the tune-away procedure. In such embodiments, the method further includes resetting a decoder based on determination that the first redundancy version packet was received during the tune-away procedure.

In some embodiments, the method further includes determining whether the first redundancy version packet was received during a rank mismatch condition.

In some embodiments, the method further includes performing the recovering the same group of information bits based on the one or more second redundancy version packets but not based on the first redundancy version packet if the first redundancy version packet was received during a rank mismatch condition.

In some embodiments, the method further includes determining whether the one or more second redundancy version packets were received during the rank mismatch condition. In such embodiments, the method further includes performing the recovering the same group of information bits based on the one or more second redundancy version packets but not based on the first redundancy version packet if the first redundancy version packet was received during the rank mismatch condition and if the one or more second redundancy version packets were received not during the rank mismatch condition.

In some embodiments, the method further includes discarding the first redundancy version packet without decoding the first redundancy version packet based on determination that the first redundancy version packet was received during the rank mismatch condition. In such embodiments, the method further includes resetting a decoder based on determination that the first redundancy version packet was received during the rank mismatch condition.

In some embodiments, the method further includes determining a coding rate that was used for the one or more second redundancy version packets.

In some embodiments, the method further includes performing the recovering the same group of information bits based on the one or more second redundancy version packets but not based on the first redundancy version packet if the determined coding rate is less than or equal to a predefined coding rate threshold.

In some embodiments, the predefined coding rate threshold is a value between 0.75 and 0.85.

In some embodiments, the predefined coding rate threshold is a value between 0.55 and 0.65.

In some embodiments, the method further includes determining a coding rate that was used for the one or more second redundancy version packets. In such embodiments, the method further includes identifying the one or more second redundancy version packets amongst possible redundancy version packets based on the same group of information bits. In such embodiments, the method further includes selecting a first predefined coding rate threshold from amongst a plurality of predefined coding rate thresholds based on the identity of the one or more second redundancy version packets. In such embodiments, the method further includes recovering the same group of information bits based on the one or more second redundancy version packets but not based on the first redundancy version packet if the determined coding rate is less than or equal to the first predefined coding rate threshold.

In some embodiments, the first predefined coding rate threshold is a value between 0.75 and 0.85. In such embodiments, a second predefined coding rate threshold of the plurality of predefined coding rate thresholds is a value between 0.55 and 0.65.

In some embodiments, recovering the same group of information bits based on the one or more second redundancy version packets but not based on the first redundancy version packets is further performed not based on a third redundancy version packet of the plurality of redundancy version packets. In such embodiments, the third redundancy version packet comprises parity bits from a forward error correction encoding.

In some embodiments, the one or more second redundancy version packets are a single redundancy version packet.

In some embodiments, the one or more second redundancy version packets are more than one redundancy version packets.

According to some embodiments, a user equipment (UE) apparatus is provided. The UE apparatus includes one or more transceivers configured to receive a plurality of redundancy version packets at from a transmission device. In such embodiments, each redundancy version packet of the plurality of redundancy version packets is based on a same group of information bits. In such embodiments, a first redundancy version packet of the plurality of redundancy version packets contains more bits of the same group of information bits than do the other redundancy version packets of the plurality of redundancy version packets. The UE apparatus further includes one or more processors configured to recover the same group of information bits based on one or more second redundancy version packets of the plurality of redundancy version packets but not based on the first redundancy version packet.

According to some embodiments, a user equipment (UE) apparatus is provided. The UE apparatus includes means for receiving a plurality of redundancy version packets from a transmission device. In such embodiments, each redundancy version packet of the plurality of redundancy version packets is based on a same group of information bits. In such embodiments, a first redundancy version packet of the plurality of redundancy version packets contains more bits of the same group of information bits than do the other redundancy version packets of the plurality of redundancy version packets. The UE apparatus further includes means for recovering the same group of information bits based on one or more second redundancy version packets of the plurality of redundancy version packets but not based on the first redundancy version packet.

According to some embodiments, a non-transitory computer-readable medium is provided. The medium includes instructions configured to cause one or more computing devices to receive a plurality of redundancy version packets at a user equipment device from a transmission device. In such embodiments, each redundancy version packet of the plurality of redundancy version packets is based on a same group of information bits. In such embodiments, a first redundancy version packet of the plurality of redundancy version packets contains more bits of the same group of information bits than do the other redundancy version packets of the plurality of redundancy version packets. The medium includes instructions configured to cause one or more computing devices to recover the same group of information bits based on one or more second redundancy version packets of the plurality of redundancy version packets but not based on the first redundancy version packet.

DETAILED DESCRIPTION

Various embodiments will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers may be used throughout the drawings to refer to the same or like parts. Different reference numbers may be used to refer to different, same, or similar parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the invention or the claim.

Various modern communication devices are described herein. Such a modern communication device may be referred to herein as a user equipment (“UE”). However, such a modern communication device may also be referred to as a mobile station (“MS”), a wireless device, a communications device, a wireless communications device, a mobile device, a mobile phone, a mobile telephone, a cellular device, a cellular telephone, and in other ways. Examples of UE include, but are not limited to, mobile phones, laptop computers, smart phones, and other mobile communication devices of the like that are configured to connect to one or more RATs.

Some UE may contain one or more subscriber identity modules (“SIMs”) that provide users of the UEs with access to one or multiple separate mobile networks, supported by radio access technologies (“RATs”). Examples of RATs may include, but are not limited to, Global Standard for Mobile (“GSM”), Code Division Multiple Access (“CDMA”), CDMA2000, Time Division-Code Division Multiple Access (“TD-CDMA”), Time Division-Synchronous Code Division Multiple Access (“TD-SCDMA”), Wideband-Code Division Multiple Access (“W-CDMA”), Time Division Multiple Access (“TDMA”), Frequency Division Multiple Access (“FDMA”), Long-Term Evolution (“LTE”), wireless fidelity (“Wi-Fi”), various 3G standards, various 4G standards, and the like.

Embodiments described herein relate to both single-SIM and multi-SIM UEs. A UE that includes a plurality of SIMs and connects to two or more separate RATs using a same set of RF resources (e.g., radio-frequency (“RF”) transceivers) is a multi-SIM-multi-standby (“MSMS”) communication device. In one example, the MSMS communication device may be a dual-SIM-dual-standby (“DSDS”) communication device, which may include two SIM cards/subscriptions that may both be active on standby, but one is deactivated when the other one is in use. In another example, the MSMS communication device may be a triple-SIM-triple-standby (“TSTS”) communication device, which includes three SIM cards/subscriptions that may all be active on standby, where two may be deactivated when the third one is in use. In other examples, the MSMS communication device may be other suitable multi-SIM communication devices, with, for example, four or more SIMs, such that when one is in use, the others may be deactivated.

Further, a UE that includes a plurality of SIMs and connects to two or more separate mobile networks using two or more separate sets of RF resources is termed a multi-SIM-multi-active (“MSMA”) communication device. An example MSMA communication device is a dual-SIM-dual-active (“DSDA”) communication device, which includes two SIM cards/subscriptions, each associated with a separate RAT, where both SIMs may remain active at any given time. In another example, the MSMA device may be a triple-SIM-triple-active (“TSTA”) communication device, which includes three SIM cards/subscriptions, each associated with a separate RAT, where all three SIMs may remain active at any given time. In other examples, the MSMA communication device may be other suitable multi-SIM communication devices, with, for example, four or more SIMs, such that all SIMs are active at any given time.

In addition, a plurality of modes are enabled by one SIM, such that each mode may correspond to a separate RAT. Such a SIM is a multi-mode SIM. A UE may include one or more multi-mode SIMs. The UE may be a MSMS communication device (such as, but not limited to, a DSDS or a TSTS communication device), a MSMA communication device (e.g., a DSDA, TSTA communication device, or the like), or a multi-mode device.

As used herein, UE refers to one of a cellular telephone, smart phone, personal or mobile multi-media player, personal data assistant, laptop computer, personal computers, tablet computer, smart book, palm-top computer, wireless electronic mail receiver, multimedia Internet-enabled cellular telephone, wireless gaming controller, and similar personal electronic device that include one or more SIMs, a programmable processor, memory, and circuitry for connecting to one or more mobile communication networks (simultaneously or sequentially). Various embodiments may be useful in mobile communication devices, such as smart phones, and such devices are referred to in the descriptions of various embodiments. However, the embodiments may be useful in any electronic device, such as a DSDS, a TSTS, a DSDA, a TSTA communication device (or other suitable multi-SIM, multi-mode devices), that may individually maintain one or more subscriptions that utilize one or a plurality of separate set of RF resources.

As used herein, the terms “SIM,” “SIM card,” and “subscriber identification module” are used interchangeably to refer to a memory that may be an integrated circuit or embedded into a removable card, and that stores an International Mobile Subscriber Identity (IMSI), related key, and/or other information used to identify and/or authenticate a wireless device on a network and enable a communication service with the network. Because the information stored in a SIM enables the UE to establish a communication link for a particular communication service with a particular network, the term “SIM” may also be used herein as a shorthand reference to the communication service associated with and enabled by the information (e.g., in the form of various parameters) stored in a particular SIM as the SIM and the communication network, as well as the services and subscriptions supported by that network, correlate to one another.

Embodiments described herein are directed to improved techniques for recovery of information in environments that utilize redundancy version packets. In particular, some communications environments use a configuration involving the transmission of a first redundancy version packet (“RV0”) with primarily systematic bits (i.e., information bits and error detection bits). Subsequent redundancy version packets (“RV1”, “RV2”, etc.) include error correction bits. Such techniques may effectively use downlink resources from a base station or eNodeB to a UE. However, certain problems arise with such schemes when the eNodeB transmits using MIMO techniques in the downlink but the UE temporarily does not receive using MIMO techniques due to a tune-away being performed by the UE. This situation may be referred to as “rank mismatch.” Namely, the UE may completely lose any redundancy version packets arriving at the UE in the downlink when the UE switches to a non-MIMO mode due to a tune-away procedure. This problem may be particularly severe if the RV0redundancy version packet is lost, due to the large concentration of the systematic bits in the RV0redundancy version packet.

Nonetheless, embodiments described herein effectively mitigate the issues created by tune-away procedures and rank mismatch conditions, especially for cases where the RV0redundancy version packet is lost. In particular, embodiments described herein may allow successful recovery of information bits using one or more redundancy version packets based on those information bits but without the need to use the RV0redundancy version packet.

In some situations, a challenge with decoding redundancy version packets without the RV0redundancy version packet may arise with respect to residual block error. In particular, a UE decoding redundancy version packets without the RV0redundancy version packet may process the error detection bits with no indication of error for the block of information bits. Nonetheless, the block of information bits may in fact contain one or more errors that simply cannot be detected using the redundancy version packets then received by the UE and excluding the RV0redundancy version packet. In order to effectively avoid these residual block errors, embodiments described herein incorporate the observation that a maximum acceptable coding rate threshold can be defined for a particular one or more redundancy version packets (e.g., RV1, RV2, and RV3etc.) in order to avoid nearly all residual block errors. As such, some embodiments described herein attempt to recover information bits using redundancy version packets that may not include RV0, but such embodiments may compare the coding rate used for the redundancy version packets to an acceptable coding rate threshold value to determine if the information bits output by the decoder can be trusted or if the information bits output by the decoder may contain residual block errors.

The techniques described with respect to these various embodiments provide numerous benefits. First, information bits may be recovered by a UE even if the RV0redundancy version packet is lost or otherwise corrupted. This may allow more rapid recovery of the information bits, thereby making more efficient use of the downlink resources (e.g., the downlink bandwidth). Second, the UE may be able to safely recover the information bits based on decoding of non-RV0redundancy version packets without the risk of block errors, based on comparison of an actual coding rate to an acceptable coding rate threshold. This may result in more accurate decoding of information bits, which may result in more efficient use of the downlink resources and fewer errors in software or hardware modules receiving the information bits as output from the decoder. Third, the UE may be able to recover the information bits based on decoding of non-RV0redundancy version packets without incurring additional power overhead due to unnecessary packet decoding. In particular, the techniques described herein may result in reduced power consumption by the UE based on avoiding decoding of corrupted RV0redundancy version packets and other redundancy version packets.

With reference toFIG. 1, a schematic diagram of a system100is shown in accordance with various embodiments. The system100may include a UE110, a first base station120, and a second base station130. In some embodiments, each of the first base station120and the second base station130may represent a separate RAT, such as GSM, CDMA, CDMA2000, TD-CDMA, TD-SCDMA, W-CDMA, TDMA, FDMA, LTE, WiFi, various 3G standards, various 4G standards, and/or the like. In other words, the first base station120may represent a first RAT, and the second base station may represent a second RAT, where the first RAT and the second RAT are different RATs. By way of illustrating with a non-limiting example, the first base station120may be transmitting W-CDMA while the second base station130may be transmitting GSM. In some embodiments, each RAT may be transmitted by the associated base station at different physical locations (i.e., the first base station120and the second base station130may be at different locations). In other embodiments, each RAT may be transmitted by the associated base station at the same physical location (i.e., the first base station120and the second base station130may be physically joined, or the base stations are the same base station).

The first base station120and the second base station130may each include at least one antenna group or transmission station located in the same or different areas, where the at least one antenna group or transmission station may be associated with signal transmission and reception. The first base station120and the second base station130may each include one or more processors, modulators, multiplexers, demodulators, demultiplexers, antennas, and the like for performing the functions described herein. In some embodiments, the first base station120and the second base station130may be utilized for communication with the UE110and may be an access point, Node B, evolved Node B (eNode B or eNB), base transceiver station (BTS), or the like.

A cell140may be an area associated with the first base station120and the second base station130, such that the UE110, when located within the cell140, may connect to or otherwise access both the first and second RATs, as supported by the first base station120and the second base station130(e.g., receive signals from and transmit signals to the first base station120and the second base station130), respectively. The cell140may be a defined area, or may refer to an undefined area in which the UE110may access the RATs supported by the base stations120,130.

In various embodiments, the UE110may be configured to access the RATs from the first base station120and/or the second base station130(e.g., receive/transmit signals of the first and/or the second RAT from/to the first base station120and/or the second base station130). The UE110may be configured to access the RATs by virtue of the multi-SIM and/or the multi-mode SIM configuration of the UE110as described, such that when a SIM corresponding to a RAT is received, the UE110may be allowed to access that RAT, as provided by the associated base station.

In general, an acquisition process of a RAT refers to the process in which the UE110searches and acquires various communication protocols of the RAT in order to acquire and establish communication or traffic with the target base node that is broadcasting the RAT. Some communication protocols include synchronization channels, such as, but not limited to, primary synchronization channel (“P-SCH”), secondary synchronization channel (“S-SCH”), common pilot channel (“CPICH”), and the like. The target base nodes are nodes that transmit, broadcast, or otherwise support the particular RAT being acquired. In some embodiments, the first base station120may be a target base node for the first RAT, given that the first RAT may be transmitted by the first base station120as described. Thus, when the UE110initiates an acquisition process of the first RAT (as supported by the first base station120), a communication channel is set for future communication and traffic between the UE110and the first base station120. Similarly, the second base station130may be a target base node for the second RAT, which is transmitted by the second base station130as described. Thus, when the UE110initiates an acquisition process of the second RAT, a communication channel is set for future communication and traffic between the UE110and the second base station130. The acquisition process may be initiated when the UE110seeks to initially access the RAT, or, after attaching to an initial RAT, to identify candidate target RAT (that is not the initial RAT) for a handover.

It should be appreciated by one of ordinary skill in the art thatFIG. 1and its corresponding disclosure are for illustrative purposes, and that the system100may include three or more base stations. In some embodiments, three or more base stations may be present, where each of the three or more base stations may represent (i.e., transmits signals for) one or more separate RATs in the manner such as, but not limited to, described herein.

FIG. 2is a functional block diagram of a UE200suitable for implementing various embodiments. According to various embodiments, the UE200may be the same or similar to the UE110as described with reference toFIG. 1. With reference toFIGS. 1-2, the UE200may include at least one processor201, memory202coupled to the processor201, a user interface203, RF resources204, and one or more SIMs (as denoted SIM A206and SIM B207).

The processor201may include any suitable data processing device, such as a general-purpose processor (e.g., a microprocessor), but in the alternative, the processor201may be any suitable electronic processor, controller, microcontroller, or state machine. The processor201may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, at least one microprocessor in conjunction with a DSP core, or any other such configuration). The memory202may be operatively coupled to the processor201and may include any suitable internal or external device for storing software and data for controlling and use by the processor201to perform operations and functions described herein, including, but not limited to, random access memory RAM, read only memory ROM, floppy disks, hard disks, dongles or other USB connected memory devices, or the like. The memory202may store an operating system (“OS”), as well as user application software and executable instructions. The memory202may also store application data, such as an array data structure.

The user interface203may include a display and a user input device. In some embodiments, the display may include any suitable device that provides a human-perceptible visible signal, audible signal, tactile signal, or any combination thereof, including, but not limited to a touchscreen, LCD, LED, CRT, plasma, or other suitable display screen, audio speaker or other audio generating device, combinations thereof, and the like. In various embodiments, the user input device may include any suitable device that receives input from the use, the user input device including, but not limited to one or more manual operator (such as, but not limited to a switch, button, touchscreen, knob, slider or the like), microphone, camera, image sensor, and the like.

The processor201and the memory202may be coupled to the RF resources204. In some embodiments, the RF resources204may be one set of RF resources such that only one RAT may be supported by the set of RF resources at any given time. In other embodiments, the RF resources may be a plurality of sets of RF resources, such that each set may support one RAT at a given time, thus enabling the UE200to support multiple RATs simultaneously, (e.g., in a MSMA case). The RF resources204may include at least one baseband-RF resource chain (with which each SIM in the UE200, e.g., the SIM A206and the SIM B207, may be associated). The baseband-RF resource chain may include a baseband modem processor205, which may perform baseband/modem functions for communications on at least one SIM, and may include one or more amplifiers and radios. In some embodiments, baseband-RF resource chains may share the baseband modem processor205(i.e., a single device that performs baseband/modem functions for all SIMs on the UE200). In other embodiments, each baseband-RF resource chain may include physically or logically separate baseband processors205.

The RF resources204may include transceivers that perform transmit/receive functions for the associated SIM of the UE200. The RF resources204may include separate transmit and receive circuitry, such as a separate transmitter and receiver, or may include a transceiver that combines transmitter and receiver functions. The RF resources204may each be coupled to a wireless antenna.

In some embodiments, the processor201, the memory202, and the RF resources204may be included in the UE200as a system-on-chip. In some embodiments, the one or more SIMs (e.g., SIM A206and SIM B207) and their corresponding interfaces may be external to the system-on-chip. Further, various input and output devices may be coupled to components on the system-on-chip, such as interfaces or controllers.

The UE110is configured to receive one or more SIMs (e.g., SIM A206and SIM B207), an example of which is described herein. A SIM in various embodiments may be a Universal Integrated Circuit Card (UICC) that is configured with SIM and/or USIM applications, enabling access to various RAT networks as described. The UICC may also provide storage for a phone book and other applications. Alternatively, in a CDMA network, a SIM may be a UICC removable user identity module (R-UIM) or a CDMA subscriber identity module (CSIM) on a card. A SIM card may have a CPU, ROM, RAM, EEPROM and I/O circuits. An Integrated Circuit Card Identity (ICCID) SIM serial number may be printed on the SIM card for identification. However, a SIM may be implemented within a portion of memory of the UE200, and thus need not be a separate or removable circuit, chip or card.

A SIM used in various embodiments may store user account information, an IMSI, a set of SIM application toolkit (SAT) commands, and other network provisioning information, as well as provide storage space for phone book database of the user's contacts. As part of the network provisioning information, a SIM may store home identifiers (e.g., a System Identification Number (SID)/Network Identification Number (NID) pair, a Home PLMN (HPLMN) code, etc.) to indicate the SIM card network operator provider.

In some embodiments, the UE200may include a first SIM interface (not shown) that may receive a first SIM (e.g., SIM A206), which may be associated with one or more RATs. In addition, the UE200may also include a second SIM interface (not shown) that may receive a second SIM (e.g., SIM B207), which may be associated with one or more RATs that may be different (or the same in some cases) than the one or more RATs associated with SIM A206. Each SIM may enable a plurality of RATs by being configured as a multi-mode SIM, as described herein. In some embodiments, a first RAT enabled may be a same or different RAT as a second RAT (e.g., a DSDS device may enable two RATs), where both of them may be GSM, or one of them may be GSM and the other may be W-CDMA. In addition, two RATs (which may be the same or different) may each be associated with a separate subscription, or both of them may be associated with a same subscription. For example, a DSDS device may enable LTE and GSM, where both of the RATs enabled may be associated with a same subscription, or, in other cases, LTE may be associated with a first subscription and GSM may be associated with a second subscription different from the first subscription.

In embodiments in which the UE200comprises a smart phone, or the like, the UE200may have existing hardware and software for telephone and other typical wireless telephone operations, as well as additional hardware and software for providing functions as described herein. Such existing hardware and software includes, for example, one or more input devices (such as, but not limited to keyboards, buttons, touchscreens, cameras, microphones, environmental parameter or condition sensors), display devices (such as, but not limited to electronic display screens, lamps or other light emitting devices, speakers or other audio output devices), telephone and other network communication electronics and software, processing electronics, electronic storage devices and one or more antennae and receiving electronics for receiving various RATs. In such embodiments, some of that existing electronics hardware and software may also be used in the systems and processes for functions as described herein.

Accordingly, such embodiments can be implemented with minimal additional hardware costs. However, other embodiments relate to systems and process that are implemented with dedicated device hardware (UE200) specifically configured for performing operations described herein. Hardware and/or software for the functions may be incorporated in the UE200during manufacturing, for example, as part of the original equipment manufacturer's (“OEM's”) configuration of the UE200. In further embodiments, such hardware and/or software may be added to the UE200, after manufacturing of the UE200, such as by, but not limited to, installing one or more software applications onto the UE200.

In some embodiments, the UE200may include, among other things, additional SIM(s), SIM interface(s), additional RF resource(s) (i.e., sets of RF resources) associated with the additional SIM(s), and additional antennae for connecting to additional RATs supported by the additional SIMs.

Embodiments may be implemented in a UE that performs tune-away or other similar procedures to support communication with multiple RATs. In particular, embodiments may be implemented in a UE capable of concurrently communicating with more than one RAT on a single RF chain, (i.e., a single receiver/transmitter module). For example, a UE may be configured to communicate with both the AT&T W-CDMA network and the Verizon CDMA2000 network.

FIG. 3is a schematic diagram illustrating an example of a UE300according to various embodiments. With reference toFIGS. 1-3, the UE300may correspond to the UE110,200. According to some embodiments, the UE300may include: SIM1312, SIM2314, system on a chip320, decoder322, transceiver330, primary transmitter332, primary receiver334, diversity receiver336, antennas340, first antenna342, second antenna344, connection352, connection354, and connection356.

In some embodiments, the SIM1312and the SIM2314may be subscriber identity modules that provide subscriptions for multiple RATs. The SIM1312and the SIM2314may be provided similar to the SIM A206and the SIM B207.

In some embodiments, the system on a chip320may include various components used for the operation of the UE300, such as a processor, memory, and some RF resources. The system on a chip320may be provided as a combination of the processor201, the memory202, and portions of the RF resources204. With respect to RF resources, the system on a chip320may be configured to contain components related to a modem functionality but not components related to transceiver functionality. For example, the system on a chip320may contain modulation and demodulation components. The system on a chip320may be coupled to the transceiver330by connections352,354,356.

According to some embodiments, the system on a chip320may have the decoder322. The decoder322may be configured to decode packets (e.g., redundancy version packets) received by the UE300, such as packets received by the primary receiver334and/or the diversity receiver336.

In some embodiments, the transceiver330may include the primary transmitter332, the primary receiver334, and the diversity receiver336for communication using more than one RAT. In order to support communication using multiple RATs, the transceiver330may support active use of the primary transmitter332, the primary receiver334, and the diversity receiver336for an active connection on a first RAT, while occasionally switching the use of the diversity receiver336for an idle connection on a second RAT.

According to some embodiments, the UE300may support multiple-input and multiple-output (“MIMO”) communications using the transceiver330. In such embodiments, the antennas340including the first antenna342and the second antenna344may be a MIMO pair of antennas. Furthermore, the primary receiver334and the diversity receiver336may be a MIMO pair of receivers. For example, the UE300may be configured to receive two MIMO layers in a downlink transmission (e.g., from an evolved node B (“eNodeB”), base stations120,130). In order to receive the two MIMO layers, the UE300may be configured to receive communications on the primary receiver334using the antenna342, and the UE may be configured to receive communications on the diversity receiver336using the antenna344. The transceiver330may provide the signals received on the primary receiver334and the diversity receiver336(e.g., using connections354,356) as input to the decoder322. The decoder322may then recover the information bits in the two MIMO layers by decoding the signals received on the primary receiver334and the diversity receiver336. The UE300may support other MIMO and non-MIMO configurations in various embodiments.

According to some embodiments, a “rank” may indicate the configuration of the downlink transmission to the UE300. In particular, in embodiments where the UE300is configured to support multiple downlink transmission/reception configurations, the rank may indicate which configuration is being used by the transmitter (e.g., base station120) and/or the UE300. When the transmitter is transmitting a signal with two MIMO layers in the downlink to the UE300, the transmitter may be said to be using rank2. When the transmitter is transmitting a signal with only one symbol or layer, and thus not using MIMO, the transmitter may be said to be using rank1. When the UE300is receiving the downlink signal using both the primary receiver334and the diversity receiver336, the UE300may be said to be using rank2. When the UE300is receiving the downlink signal using only one receiver (e.g., the primary receiver334), the UE300may be said to be using rank1. In general, the UE300may be configured to receive using the same rank as the transmitter (e.g., base station120) is using to transmit. The UE300may support other ranks and downlink channel configurations in various embodiments.

FIG. 4is a diagram400illustrating an example of information encoding according to various embodiments. With reference toFIGS. 1-4, the information encoding of the diagram400may be implemented with an encoder420and a circular buffer450at a transmitter (e.g., an eNodeB, base stations120,130) in a downlink to a UE (e.g., UE110,200,300).

According to some embodiments, the information encoding of the diagram400may use systematic bits410as input. The systematic bits410may include information bits412and error detection bits414. The information bits412may represent the actual underlying bits of information that the UE will attempt to recover. Namely, the information bits412may be actual information being communicated to the UE apart from any error detection and/or error correction schemes being used. The error detection bits414may be bits added to the information bits412that are designed to allow the UE receiving the information bits412and the error detection bits414to determine if any of the information bits412were received in error. In some embodiments, the error detection bits414may be check bits generated according to a cyclic redundancy check (“CRC”) error detection scheme. The information bits412and the error detection bits414together may be referred to as “systematic bits” in the context of an error correction encoding, such as that illustrated in the diagram400. While the diagram400shows six units for the information bits412and two units for the error detection bits414, this is merely illustrative and many more bits may be included in the information bits412and the error detection bits414than are shown.

The encoder420may receive the systematic bits410as input and generate an output including the systematic bits410as well as error correction bits430. The error correction bits430may include first parity bits432and second parity bits434. The first parity bits432and the second parity bits434may be distinct sequences of parity bits that provide error correction information for the systematic bits410. Because the encoder420includes the systematic bits410as part of its output, the encoder420may be referred to as a “systematic encoder” or to implement a “systematic encoding.” Similarly, the output of the encoder420may be referred to as a “systematic code.” In some embodiments, the encoder420may be implemented using any of a variety of forward error correction (“FEC”) encoders. In some embodiments, the encoder420may be implemented using a turbo encoder. While the diagram400shows ten units for the first parity bits432and ten units for the second parity bits434, this is merely illustrative and many more bits may be included in the first parity bits432and the second parity bits434than are shown.

According to some embodiments, the error correction bits430may be interleaved to generate error correction bits440. Interleaving the error correction bits430to generate the error correction bits440may include interleaving the individual bits of the first parity bits432amongst the individual bits of the second parity bits434. As such, the error correction bits440may represent a mixture of the first parity bits432and the second parity bits434. The error correction bits440may be parity bits from a forward error correction encoding.

According to some embodiments, the information bits412, the error detection bits414, and the error correction bits440may be provided as input to the circular buffer450. The circular buffer450may be arranged so that the information bits412are positioned at a front or head of the circular buffer450, followed by the error detection bits414, and followed by the error correction bits440. Bits may be read out of the circular buffer450starting with the information bits412, followed by the error detection bits414, followed by the error correction bits440, and then circling back to the information bits412. In this was, the circular buffer450may be referred to as “circular” based on the circling back to the front or head of the buffer once all bits have been read through to the end or tail of the buffer.

According to some embodiments, the transmitter (e.g., the base station120) may transmit redundancy version packets470including RV0472, RV1474, RV2476, and RV3478in a downlink to a UE (e.g., UE300) based on the arrangement of bits in the circular buffer450. In some embodiments, the transmission of the redundancy version packets RV0472, RV1474, RV2476, and RV3478may be performed consistent with a type II hybrid automatic repeat request (“Type II HARQ”) scheme. While the diagram400shows eight units for each of the redundancy version packets RV0472, RV1474, RV2476, and RV3478, this is merely illustrative and many more bits may be included in the the redundancy version packets RV0472, RV1474, RV2476, and RV3478than are shown.

The transmitter may read the first eight units from the circular buffer450to generate the redundancy version packet RV0472. Because the information bits412and the error detection bits414were placed at the head of the circular buffer450, the redundancy version packet RV0472may contain entirely systematic bits (i.e., the systematic bits410). The transmitter (e.g., the base station120) may transmit the redundancy version packet RV0472in a downlink to a UE (e.g., the UE300). The UE may attempt to decode the redundancy version packet RV0472(e.g., using the decoder322) in order to recover the information bits412. The UE may use the error detection bits414to determine if the information bits412were correctly decoded. If the error detection bits414indicate that the information bits412were correctly decoded, then the UE may be considered to have successfully recovered the information bits412. If the UE successfully recovers the information bits412, then the UE may not request or otherwise process any further redundancy version packet (i.e., RV1474, RV2476, or RV3478).

If the UE (e.g., the UE300) was unable to successfully recover the information bits412, the transmitter (e.g., the base station120) may read the next eight units from the circular buffer450to generate the redundancy version packet RV1474. Because the information bits412and the error detection bits414were already read from the circular buffer450, the redundancy version packet RV1474may contain entirely error correction bits462(i.e., the first eight units of the error correction bits440). The transmitter (e.g., the base station120) may transmit the redundancy version packet RV1474in a downlink to a UE (e.g., the UE300). The UE may attempt to recover the information bits412using both the redundancy version packet RV0472and the redundancy version packet RV1474. The UE may perform this procedure by providing both the redundancy version packet RV0472and the redundancy version packet RV1474as input to a decoder (e.g., the decoder322). This approach using multiple redundancy version packets together during decoding may be referred to as “soft combining.” After decoding both the redundancy version packet RV0472and the redundancy version packet RV1474, the UE may again attempt to determine if the information bits412were correctly decoded using error detection bits414. If the UE successfully recovers the information bits412, then the UE may not request or otherwise process any further redundancy version packet (i.e., RV2476or RV3478).

If the UE (e.g., the UE300) was unable to successfully recover the information bits412, the transmitter (e.g., the base station120) may read the next eight units from the circular buffer450to generate the redundancy version packet RV2476. The redundancy version packet RV2476may contain entirely error correction bits464(i.e., the second eight units of the error correction bits440). The transmitter (e.g., the base station120) may transmit the redundancy version packet RV2476in a downlink to a UE (e.g., the UE300). The UE may attempt to recover the information bits412using all of the redundancy version packet RV0472, the redundancy version packet RV1474, and the redundancy version packet RV2476. The UE may perform this procedure by providing all of the redundancy version packet RV0472, the redundancy version packet RV1474, and the redundancy version packet RV2476as input to a decoder (e.g., the decoder322). After decoding all of the redundancy version packet RV0472, the redundancy version packet RV1474, and the redundancy version packet RV2476the UE may again attempt to determine if the information bits412were correctly decoded using error detection bits414. If the UE successfully recovers the information bits412, then the UE may not request or otherwise process any further redundancy version packet (i.e., RV3478).

If the UE (e.g., the UE300) was unable to successfully recover the information bits412, the transmitter (e.g., the base station120) may read the next eight units from the circular buffer450to generate the redundancy version packet RV3478. Because only four units of error correction bits have not been read from the circular buffer450, the redundancy version packet RV3478may contain error correction bits466(i.e., the final four units of the error correction bits440) as well as information bits468(i.e., the first four units of the information bits412). The transmitter (e.g., the base station120) may transmit the redundancy version packet RV3478in a downlink to a UE (e.g., the UE300). The UE may attempt to recover the information bits412using all of the redundancy version packet RV0472, the redundancy version packet RV1474, the redundancy version packet RV2476, and the redundancy version packet RV3478. The UE may perform this procedure by providing all of the redundancy version packet RV0472, the redundancy version packet RV1474, the redundancy version packet RV2476, and the redundancy version packet RV3478as input to a decoder (e.g., the decoder322). After decoding all of the redundancy version packet RV0472, the redundancy version packet RV1474, the redundancy version packet RV2476, and the redundancy version packet RV3478the UE may again attempt to determine if the information bits412were correctly decoded using error detection bits414. If the UE successfully recovers the information bits412, then the UE may not request or otherwise process any further redundancy version packet. If the UE does not successfully recover the information bits412, then the UE may request or otherwise process a further redundancy version packet (e.g., RV0472or an “RV4” with the next eight units of the circular buffer450). Alternatively, even if the UE does not successfully recover the information bits412, the UE or the transmitter may terminate the attempts to transmit the information bits412(e.g., based on a maximum number of permitted redundancy version packet transmissions).

According to some embodiments, the transmitter (e.g., the base station120) may transmit the redundancy version packets470in an order different than that just described. For example, the transmitter may determine the relative positions of the redundancy version packet470with respect to the circular buffer450prior to transmission of the first redundancy version packet in time. The transmitter may transmit the redundancy version packets470in any order. For example, the transmitter may transmit the redundancy version packet470in a sequence of the redundancy version packet RV0472first, the redundancy version packet RV2476second, the redundancy version packet RV3478third, and the redundancy version packet RV1474fourth.

The information encoding technique described with respect to the diagram400may be advantageous in some embodiments due to the bits includes in different redundancy version packets. In particular, each of the redundancy version packets RV0472, RV1474, RV2476, RV3478may include different sequences of bits. The first redundancy version packet RV0472may contain more of the group of bits to be recovered (i.e., the information bits412) than do the other redundancy version packets. In particular, the redundancy version packet RV0472may contain entirely or at least mostly systematic bits (i.e., the systematic bits410). Further, the redundancy version packet RV0472may be generated so as to not contain any error correction bits (i.e., bits from the error correction bits440). The subsequent redundancy version packets RV1474, RV2476, RV3478may include error correction bits (i.e., bits from error correction bits440). In addition, some of the subsequent redundancy version packets (e.g., RV1474, RV2476) may contain entirely error correction bits (i.e., bits from the error correction bits440). Despite containing different sequences of bits, each of the redundancy version packets RV0472, RV1474, RV2476, RV3478is based on the same original group of information bits (i.e., the information bits412). In addition, each of the redundancy version packets RV0472, RV1474, RV2476, RV3478is based on the same original group of systematic bits (i.e., the systematic bits410). In this way, while containing different sequences of bits, each of the redundancy version packets RV0472, RV1474, RV2476, RV3478provides information that may assist in recovery of the information bits412.

The information encoding technique described with respect to the diagram400may be advantageous in some embodiments due to effective use of downlink resources. In particular, even as the quality of the downlink changes, the information encoding technique of diagram400may make effective use of downlink resources. When the downlink quality is good (e.g., high signal to interference plus noise ratio (“SINR”)), the transmitter (e.g., the base station120) may only need to transmit the redundancy version packet RV0472in the downlink to the UE (e.g., the UE300). This may be the case due to the UE successfully recovering the information bits412based on decoding only redundancy version packet RV0472. Because the redundancy version packet RV0472contains entirely systematic bits and thus no error correction bits, downlink resources are not wasted on unneeded error correction bits. Nonetheless, when the downlink quality is poor (e.g., low SINR), the transmitter (e.g., the base station120) may transmit additional redundancy version packets (e.g., RV1474, RV2476, RV3478) after transmission of RV0472until the UE successfully recovers the information bits412. In this was, even while not sending unnecessary error correction bits in the redundancy version packet RV0472, the transmitter is capable of sending necessary error correction bits in the subsequent redundancy version packets RV1474, RV2476, RV3478. As such, the information encoding technique described with respect to the diagram400may make effective use of the downlink resources in both conditions of good link quality and poor link quality.

FIG. 5is a diagram500illustrating an example of a tune-away procedure according to various embodiments. With reference toFIGS. 1-5, the primary receiver334and the diversity receiver336may be used to support communication on a first RAT (“RAT1”) and a second RAT (“RAT2”). The primary receiver334and the diversity receiver336may both be in use for communication on RAT1at time502. In particular, the primary receiver334may be performing an operation of RAT1reception512while the diversity receiver336may be performing an operation of RAT1reception514. In such embodiments, a transmitter for RAT1may be transmitting a signal in a downlink to the UE300using two MIMO layers (i.e., rank2). In accordance with this transmission configuration, the UE300may be receiving the downlink signals using rank2based on the simultaneous use of the primary receiver334and the diversity receiver336for reception on RAT1.

However, at time504, the UE300may need to momentarily use the diversity receiver336for communication on RAT2. This may be the case even though active communication continues on RAT1. As an example, the UE300may be performing active communication on an LTE RAT (i.e., RAT1), such as receiving packets on the physical downlink shared channel (“PDSCH”), but the UE300may also need to monitor a paging channel for a GSM RAT (i.e., RAT2) starting at the time504. This example is merely illustrative, and other configurations of RAT1and RAT2are possible in various embodiments.

In order to support the communication on RAT2at the time504, the UE300may perform a tune-away procedure from the time504to time506. In particular, the UE300may stop reception of RAT1communications using the diversity receiver336at the time504and begin reception of RAT2communications using the diversity receiver336at the time504or at a time thereafter. As such, the operation of RAT1reception514may be terminated at the time504, and an operation of RAT2reception522may be initiated at the time504or at a time thereafter. Nonetheless, the operation of RAT1reception512may continue without interruption on the primary receiver334. When the communication for RAT2is completed, the UE may terminate the operation of RAT2reception522at the time506and initiate an operation of RAT1reception516at the time506or at a time thereafter. As such, the UE300may be configured to support simultaneous communication on both RAT1and RAT2at the same time.

While the tune-away procedure described with respect toFIGS. 1-5may be effective to support simultaneous communication on both RAT1and RAT2, the tune-away procedure may also cause problems for the reception of downlink signals for RAT1. In particular, between the time504and the time506, the diversity receiver336may not receive signals for RAT1. As such, signals transmitted by the transmitter (e.g., the base station120) for the RAT1downlink that should have been received by the diversity receiver336may be lost.

The problem of signal loss at the diversity receiver336during the tune-away procedure may be exacerbated in situations where the transmitter (e.g., the base station120) is transmitting based on a MIMO configuration in the downlink between the time504and the time506. This may occur if the UE performs the tune-away procedure without coordination by or notification to the transmitter. In particular, the signal lost by the diversity receiver336for RAT1between the time504and the time506may result in corruption of the signal received by the primary receiver334for RAT1between the time504and the time506. As an example, if the transmitter (e.g., the base station120) transmits two MIMO layers (i.e., rank2transmission) from the time502to the time504, then the UE300may successfully decode both of the MIMO layers based on the use of both the primary receiver334(i.e., the RAT1reception512) and the diversity receiver336(i.e., the RAT1reception514) for reception on RAT1(i.e., rank2reception). However, if the transmitter (e.g., the base station120) continues transmitting two MIMO layers (i.e., rank2transmission) from the time504to the time506, the UE300may not be able to successfully decode either of the MIMO layers based on the use of only the primary receiver334(i.e., the RAT1reception512) for reception on RAT1(i.e., rank1reception). This may result based on the configuration of the transmitter (e.g., the base station120) and the UE300. Namely, the UE300may be configured so that using rank1reception for a rank2downlink transmission will cause the UE300to fail to decode either of the two MIMO layers. This conflict between the reception configuration (e.g., rank1reception) of the UE300and the transmission configuration (e.g., rank2transmission) of the transmitter (e.g., the base station120) may be referred to as a “rank mismatch” condition.

The signal loss caused by the tune-away procedure and the rank mismatch condition may be especially disadvantageous in situations where the redundancy version packet RV0472is received, at least in part, at the UE300between the time504and the time506. Because the redundancy version packet RV0472contains more systematic bits than any of the other redundancy version packet470, correct reception of the redundancy version packet RV0472may be particularly important to the eventual recovery of the information bits412. For example, the decoder322may be configured to weigh the bits received for the redundancy version packet RV0472at a greater value as opposed to the bits received for the other redundancy version packets470given that the redundancy version packet RV0472contains the actual bits (i.e., the information bits412) that the UE300is configured to recover. As a further example, the UE300may be configured to only proceed with decoding of the redundancy version packets470if the redundancy version packet RV0472is first received and provided to the decoder322.

However, if the redundancy version packet RV0472is received by the UE300between the time504and the time506, then the UE300may receive the redundancy version packet RV0472in a highly corrupted form. Nonetheless, the UE300may be configured to provide the highly corrupted redundancy version packet RV0472as received to the decoder322. As a first problem, the decoder322is not likely to be able to successfully recover the information bits412from the highly corrupted redundancy version packet RV0472. As a second problem, the soft combining of the highly corrupted redundancy version packet RV0472with subsequently received redundancy version packets470(e.g., RV1474, RV2476, RV3478) may degrade the ability of the decoder322to recover the information bits412. For example, if the decoder322uses a likelihood computation (e.g., calculation of log-likelihood ratio) to determine the likelihood of various bit values for a particular systematic bit, then the decoder may require more error correction bits (and thus more redundancy version packets) to determine the correct bit value if the highly corrupted redundancy version packet RV0472is used to begin the likelihood computation. As such, reception of the redundancy version packet RV0472during a tune-away procedure or during a rank mismatch condition may delay or entirely prevent the recovery of the information bits412contained in the redundancy version packet RV0472.

According to some embodiments, techniques may be used that mitigate the problems introduced by tune-away and rank mismatch generally, and by reception of RV0during tune-away and rank mismatch more particularly.FIG. 6is a flowchart of a process600according to various embodiments. With reference toFIGS. 1-6, the process600may be performed by a UE (e.g., the UEs110,200,300).

At block602, redundancy version packets are received, including a first redundancy version packet with more information bits. The block602may include a UE (e.g., the UE300) receiving multiple redundancy version packets (e.g., RV0472, RV1474, RV2476, RV3468) that are based on a same group of information bits (e.g., the information bits412). The first redundancy version packet may be a redundancy version packet (e.g., RV0472) that has more information bits than the other received redundancy version packets. In some embodiments, the first redundancy version packet may have a higher proportion of bits that are information bits on which the received redundancy version packets are based. In some embodiments, the first redundancy version packet may be received first in time compared to the other received redundancy version packets that are based on the same group of information bits. In some embodiments, the first redundancy version packet may be received by the UE even if the first redundancy version packet cannot be successfully decoded. For example, the first redundancy packet may be received at the UE in that an electromagnetic signal encoded with information making up the first redundancy version packet may arrive at an antenna of the UE, even if the UE does not successfully recover the information encoded in the electromagnetic signal.

At block604, information bits are recovered using some of the received redundancy version packets, but not the first redundancy version packet. As such, the block604includes recovering the group of information bits on which the received redundancy version packets are based, but without use of the redundancy version packet that contains more of the information bits than do the other redundancy version packets. For example, if the received redundancy version packets include RV0472, RV1474, RV2476, and RV3478, then the block604may include recovering the information bits412using any of the following combinations of redundancy version packets: RV1474alone, RV2476alone, RV3478alone, RV1474with RV2476, RV1474with RV3478, RV2476with RV3478, RV1474with RV2476and with RV3478. However, in this example, the block604does not include recovering the information bits412using the redundancy version packet RV0472.

The process600as described departs from conventional techniques at least inasmuch as information recovery is attempted without the use of the redundancy version packet that contains the highest proportion of systematic bits. The conventional approach to decoding based on redundancy version packets is to always use the first redundancy version packet that is entirely or almost entirely systematic bits as the baseline for the decoding process. The conventional approach is based on use of subsequent redundancy version packets for recovery of information bits only as required by failed recovery of information bits using the first redundancy version packet with mostly systematic bits. As such, the process600is contrary to conventional knowledge and expectation in how decoding should be performed when redundancy version packets are used with a first redundancy version packet having entirely or almost entirely systematic bits.

FIG. 7is a flowchart of a process700according to various embodiments. With reference toFIGS. 1-7, the process700may be performed by a UE (e.g., the UEs110,200,300).

At block702, reception is started for RAT1using a primary receiver and a diversity receiver. The block702may include a UE (e.g., the UE300) starting use of a primary receiver (e.g., the primary receiver334) and starting use of a diversity receiver (e.g., the diversity receiver336) in order to receive signals in a downlink for RAT1(e.g., to receive PDSCH packets for an LTE RAT). The block702may include a UE (e.g., the UE300) receiving downlink signals using a rank2reception configuration. Similarly, a transmitter for the downlink (e.g., the base station120) may start or continue transmitting a downlink signal using a rank2transmission configuration.

At block704, reception is stopped for RAT1on the diversity receiver. The block704may include a UE (e.g., the UE300) terminating reception using the diversity receiver (e.g., the diversity receiver336) for the RAT1(e.g., an LTE RAT). The block704may be performed in accordance with a scheduled tune-away procedure. The block704may begin a tune-away procedure or a tune-away period. The block704may begin or create a rank mismatch condition for the RAT1.

At block706, reception is started for RAT2on the diversity receiver. The block706may include a UE (e.g., the UE300) starting reception using the diversity receiver (e.g., the diversity receiver336) for the RAT2(e.g., a GSM RAT) in order to perform idle mode reception for the RAT2(e.g., receiving a paging message for the GSM RAT).

At block708, a redundancy version packet RV0is received for RAT1. The block708may include a UE (e.g., the UE300) receiving the redundancy version packet RV0(e.g., RV0472) using only the primary receiver (e.g., the primary receiver334). The redundancy version packet RV0may contain entirely systematic bits. However, if the redundancy version packet RV0was transmitted in the downlink by the transmitter (e.g., the base station120) using rank2transmission configuration, the redundancy version packet RV0may be corrupted as received based on the UE receiving using a rank1reception configuration (e.g., using only the primary receiver334).

At block710, the redundancy version packet RV0for RAT1is discarded. The block710may include a UE (e.g., the UE300) discarding the redundancy version packet RV0(e.g., RV0472) received at the block708. The block710may include a UE (e.g., the UE300) discarding the redundancy version packet RV0received at the block708without providing the redundancy version packet RV0as input to a decoder (e.g., the decoder322). As such, the block708may result in the UE recovering or attempting to recover information bits on which the redundancy version packet RV0is based without the use of the redundancy version packet RV0. The block710may be performed based on determination that the redundancy version packet RV0was received at the block708during a tune-away procedure. The block710may be performed based on determination that the redundancy version packet RV0was received at the block708during a rank mismatch condition.

At block712, a decoder is reset. The block712may include a UE (e.g., the UE300) resetting a decoder (e.g., the decoder322) contained therein. The block712may include a UE (e.g., the UE300) resetting (e.g., setting likelihood values to zero) a buffer (e.g., a log-likelihood ratio buffer (“LLR buffer”)) contained in a decoder (e.g., a turbo decoder). The block712may be performed in order to not use any redundancy version packets received during a tune-away procedure or a rank mismatch condition as inputs to a decoding procedure.

At block714, reception is stopped for RAT2on the diversity receiver. The block714may include a UE (e.g., the UE300) terminating reception using the diversity receiver (e.g., the diversity receiver336) for the RAT2(e.g., a GSM RAT). The block714may be performed in accordance with the end of a tune-away procedure.

At block716, reception is started for RAT1on the diversity receiver. The block716may include a UE (e.g., the UE300) starting reception using the diversity receiver (e.g., the diversity receiver336) for the RAT1(e.g., an LTE RAT) in order to perform active mode reception for the RAT1(e.g., receiving PDSCH packets for an LTE RAT). The block716may end a tune-away procedure or a tune-away period. The block716may end a rank mismatch condition for the RAT1.

At block718, a redundancy version packet RV1is received for RAT1. The block718may include a UE (e.g., the UE300) receiving the redundancy version packet RV1(e.g., RV1474) using both the primary receiver (e.g., the primary receiver334) and the diversity receiver (e.g., the diversity receiver336). In particular, if the redundancy version packet RV1was transmitted in the downlink by the transmitter (e.g., the base station120) using a rank2transmission configuration, the redundancy version packet RV1may be received in an uncorrupted form based on the UE receiving using a rank2reception configuration (e.g., using both the primary receiver334and the diversity receiver336).

At block720, the redundancy version packet RV1is provided as input to the decoder. The block720may include a UE (e.g., the UE300) providing the received uncorrupted redundancy version packet RV1(e.g., RV1474) to a decoder (e.g., the decoder322) as input for a decoding operation. In particular, based on the block710and the block712, the redundancy version packet RV1may be the first input provided to the decoder for a decoding operation to recover the information bits on which the redundancy version packets RV0and RV1are based. If the information bits are successfully recovered based on decoding the redundancy version packet RV1, then the process700may terminate.

At block722, a redundancy version packet RV2is received for RAT1. The block722may include a UE (e.g., the UE300) receiving the redundancy version packet RV2(e.g., RV2476) using both the primary receiver (e.g., the primary receiver334) and the diversity receiver (e.g., the diversity receiver336). In particular, if the redundancy version packet RV2was transmitted in the downlink by the transmitter (e.g., the base station120) using rank2transmission configuration, the redundancy version packet RV2may be received in an uncorrupted form based on the UE receiving using a rank2reception configuration (e.g., using both the primary receiver334and the diversity receiver336).

At block724, the redundancy version packet RV2is provided as input to the decoder. The block724may include a UE (e.g., the UE300) providing the received uncorrupted redundancy version packet RV2(e.g., RV2476) to a decoder (e.g., the decoder322) as input for a decoding operation. If the information bits are successfully recovered based on decoding the redundancy version packets RV1and RV2, then the process700may terminate.

At block726, a redundancy version packet RV3is received for RAT1. The block726may include a UE (e.g., the UE300) receiving the redundancy version packet RV3(e.g., RV3478) using both the primary receiver (e.g., the primary receiver334) and the diversity receiver (e.g., the diversity receiver336). In particular, if the redundancy version packet RV3was transmitted in the downlink by the transmitter (e.g., the base station120) using rank2transmission configuration, the redundancy version packet RV3may be received in an uncorrupted form based on the UE receiving using a rank2reception configuration (e.g., using both the primary receiver334and the diversity receiver336).

At block728, the redundancy version packet RV3is provided as input to the decoder. The block728may include a UE (e.g., the UE300) providing the received uncorrupted redundancy version packet RV3(e.g., RV3478) to a decoder (e.g., the decoder322) as input for a decoding operation. If the information bits are successfully recovered based on decoding the redundancy version packets RV1, RV2, and RV3, then the process700may terminate. Otherwise, the process700may continue with reception and decoding of further redundancy version packets. Alternatively, the process700may terminate based on a maximum allowed number of redundancy version transmissions for a single group of information bits.

According to some embodiments, the blocks of the process700may be performed in a different order and various blocks may be omitted. As an example, in some embodiments the resetting of the decoder in the block712may be skipped even if the redundancy version packet RV0is discarded in the block710.

FIG. 8is a flowchart of a process800according to various embodiments. With reference toFIGS. 1-8, the process800may be performed by a UE (e.g., the UEs110,200,300).

At block802, reception is started for RAT1using a primary receiver and a diversity receiver. The block802may include a UE (e.g., the UE300) starting use of a primary receiver (e.g., the primary receiver334) and starting use of a diversity receiver (e.g., the diversity receiver336) in order to receive signals in a downlink for RAT1(e.g., to receive PDSCH packets for an LTE RAT). The block802may include a UE (e.g., the UE300) receiving downlink signals using a rank2reception configuration. Similarly, a transmitter for the downlink (e.g., the base station120) may start or continue transmitting a downlink signal using a rank2transmission configuration. At any point after the block802, a tune-away procedure may begin and/or end. At any point after the block802, a rank mismatch condition may occur.

At block804, a redundancy version packet is received for RAT1. The block804may include a UE (e.g., the UE300) receiving any redundancy version packet (e.g., the RV0472, the RV1474, the RV2476, or the RV3478) for a single group of information bits (e.g., the information bits412). The redundancy version packet for RAT1may be received during a tune-away procedure or not during a tune-away procedure. The redundancy version packet for RAT1may be received during a rank mismatch condition or not during a rank mismatch condition.

At block806, a determination is made as to whether a tune-away procedure or a rank mismatch condition is occurring. The block806may include a UE (e.g., the UE300) determining whether a tune-away procedure is occurring. For example, the UE may determine whether any tune-away procedure is scheduled for a receiver (e.g., the diversity receiver336) used for RAT1communications. As another example, the UE may determine whether the receivers (e.g., the primary receiver334and the diversity receiver336) are both in fact being presently used for RAT1communications. The block806may include a UE (e.g., the UE300) determining whether a rank mismatch condition is occurring. For example, the UE may determine a current downlink transmission rank (e.g., rank2transmission by the base station120). This may be performed based on data received in a physical downlink control channel (“PDCCH”) or based on information stored on the UE. Continuing the example, the UE may determine a current downlink reception rank (e.g., rank1reception by the UE300). This may be performed based on determining whether a tune-away procedure is occurring or based on information stored on the UE. Continuing the example, if the current downlink transmission rank differs from the current downlink reception rank, then the UE may determine that a rank mismatch condition is occurring. If a tune-away procedure or a rank mismatch condition is determined to be occurring at the block806, then the process800continues at block808. If a tune-away procedure or a rank mismatch condition is not determined to be occurring at the block806, then the process800continues at block812.

At the block808, the redundancy version packet received at the block804is discarded. The block808may include a UE (e.g., the UE300) discarding the received redundancy version packet (e.g., any of the redundancy version packet470) based on determination that the received redundancy version packet was received by the UE during a tune-away procedure or a rank mismatch condition. Because the redundancy version packet is determined to have been received during a tune-away procedure or a rank mismatch condition, the redundancy version packet may be expected to be corrupted and thus not useful for decoding in order to recover the information bits on which the received redundancy version packet is based.

At block810, a decoder is reset. The block810may include a UE (e.g., the UE300) resetting a decoder (e.g., the decoder322) contained therein. The block810may include a UE (e.g., the UE300) resetting (e.g., setting likelihood values to zero) a buffer (e.g., a log-likelihood ratio buffer (“LLR buffer”)) contained in a decoder (e.g., a turbo decoder). The block810may be performed in order to not use any redundancy version packets received during a tune-away procedure or a rank mismatch condition as inputs to a decoding procedure. After performance of the block810, the process800continues with the block804, wherein further redundancy version packets may be received based on the same group of information bits.

At the block812, the redundancy version packet received at block804is provided as input to the decoder. The block812may include a UE (e.g., the UE300) providing the received redundancy version packet (e.g., any of the redundancy version packets470) to a decoder (e.g., the decoder322) as input for a decoding operation. Because the redundancy version packet was not determined to have been received during a tune-away procedure or a rank mismatch condition, the redundancy version packet may be expected to be uncorrupted and thus useful for decoding in order to recover the information bits on which the received redundancy version packet is based.

At block814, output of the decoder is analyzed. The block814may be performed based on a UE (e.g., the UE300) performing a decoding operation using the decoder (e.g., the decoder322). The decoding operation may be performed based on the redundancy version packet received at the block804(and any earlier iterations of the block804). The decoding operation may be performed so as to determine most likely values for a group of systematic bits (e.g., the systematic bits410) including the group of information bits (e.g., the information bits412) on which the received redundancy version packets (e.g., the redundancy version packets470) are based as well as a group of error detection bits (e.g., the error detection bits414). The block814may include a processor (e.g., a processor included in the system on a chip320, the processor201, the baseband modem processor205) determining whether the most likely values for the group of information bits along with the most likely values for the group of error detection bits as output by the decoder indicate any errors. If no error is indicated, then the UE may determine that the information bits have been successfully recovered. If an error is indicated, then the UE may determine that the information bits have not been successfully recovered.

At block816, a determination is made as to whether the information bits on which the redundancy version packet is based have been successfully recovered. If the analysis of the decoder output at the block814determined that the information bits were successfully recovered, the process800continues at block818. If the analysis of the decoder output at the block814determined that the information bits were not successfully recovered, the process800continues at the block804, wherein further redundancy version packets may be received based on the same group of information bits.

At the block818, the information bits are provided as output. The block818may include a UE (e.g., the UE300) providing as output the information bits (e.g., the information bits412) successfully decoded as a result of the input at block812and determined to be successfully decoded at the block814. The block818may include the UE providing the information bits to another hardware or software module of the UE for further processing.

According to some embodiments, the blocks of the process800may be performed in a different order and various blocks may be omitted. As an example, in some embodiments the resetting of the decoder in the block810may be skipped even if a redundancy version packet is discarded in the block808.

FIG. 9is a flowchart of a process900according to various embodiments. With reference toFIGS. 1-9, the process900may be performed by a UE (e.g., the UEs110,200,300).

At block902, reception is started for RAT1using a primary receiver and a diversity receiver. The block902may include a UE (e.g., the UE300) starting use of a primary receiver (e.g., the primary receiver334) and starting use of a diversity receiver (e.g., the diversity receiver336) in order to receive signals in a downlink for RAT1(e.g., to receive PDSCH packets for an LTE RAT). The block902may include a UE (e.g., the UE300) receiving downlink signals using a rank2reception configuration. Similarly, a transmitter for the downlink (e.g., the base station120) may start or continue transmitting a downlink signal using a rank2transmission configuration. At any point after the block892, a tune-away procedure may begin and/or end. At any point after the block902, a rank mismatch condition may occur.

At block904, a redundancy version packet is received for RAT1. The block904may include a UE (e.g., the UE300) receiving any redundancy version packet (e.g., the RV0472, the RV1474, the RV2476, or the RV3478) for a single group of information bits (e.g., the information bits412). The redundancy version packet for RAT1may be received during a tune-away procedure or not during a tune-away procedure. The redundancy version packet for RAT1may be received during a rank mismatch condition or not during a rank mismatch condition.

At block906, a determination is made as to whether a tune-away procedure or a rank mismatch condition is occurring. The block906may include a UE (e.g., the UE300) determining whether a tune-away procedure is occurring. For example, the UE may determine whether any tune-away procedure is scheduled for a receiver (e.g., the diversity receiver336) used for RAT1communications. As another example, the UE may determine whether the receivers (e.g., the primary receiver334and the diversity receiver336) are both in fact being presently used for RAT1communications. The block906may include a UE (e.g., the UE300) determining whether a rank mismatch condition is occurring. For example, the UE may determine a current downlink transmission rank (e.g., rank2transmission by the base station120). This may be performed based on data received in a physical downlink control channel (“PDCCH”) or based on information stored on the UE. Continuing the example, the UE may determine a current downlink reception rank (e.g., rank1reception by the UE300). This may be performed based on determining whether a tune-away procedure is occurring or based on information stored on the UE. Continuing the example, if the current downlink transmission rank differs from the current downlink reception rank, then the UE may determine that a rank mismatch condition is occurring. If a tune-away procedure or a rank mismatch condition is determined to be occurring at the block906, then the process900continues at block908. If a tune-away procedure or a rank mismatch condition is not determined to be occurring at the block906, then the process900continues at block912.

At block908, the redundancy version packet received at the block904is discarded. The block908may include a UE (e.g., the UE300) discarding the received redundancy version packet (e.g., any of the redundancy version packet470) based on determination that the received redundancy version packet was received by the UE during a tune-away procedure or a rank mismatch condition. Because the redundancy version packet is determined to have been received during a tune-away procedure or a rank mismatch condition, the redundancy version packet may be expected to be corrupted and thus not useful for decoding in order to recover the information bits on which the received redundancy version packet is based.

At block910, a decoder is reset. The block910may include a UE (e.g., the UE300) resetting a decoder (e.g., the decoder322) contained therein. The block910may include a UE (e.g., the UE300) resetting (e.g., setting likelihood values to zero) a buffer (e.g., a log-likelihood ratio buffer (“LLR buffer”)) contained in a decoder (e.g., a turbo decoder). The block910may be performed in order to not use any redundancy version packets received during a tune-away procedure or a rank mismatch condition as inputs to a decoding procedure. After performance of the block910, the process900continues with the block904, wherein further redundancy version packets may be received based on the same group of information bits.

At the block912, the redundancy version packet received at the block904is provided as input to the decoder. The block912may include a UE (e.g., the UE300) providing the received redundancy version packet (e.g., any of the redundancy version packets470) to a decoder (e.g., the decoder322) as input for a decoding operation. Because the redundancy version packet was not determined to have been received during a tune-away procedure or a rank mismatch condition, the redundancy version packet may be expected to be uncorrupted and thus useful for decoding in order to recover the information bits on which the received redundancy version packet is based.

At block914, one or more redundancy version packets are identified. In some embodiments, the block914may include a UE (e.g., the UE300) identifying the redundancy version packet received at the block904as a particular redundancy version packet in a sequence of redundancy version packets (e.g., the RV0472versus the RV1474versus the RV2476versus the RV3478). As an example, the block914may include the UE identifying the redundancy version packet as a first redundancy version packet (e.g., the RV0472) that contains entirely systematic. As another example, the block914may include the UE identifying the redundancy version packet as a first redundancy version packet (e.g., the RV0472) that contains more systematic bits than other redundancy version packets based on the same information bits. As another example, the block914may include the UE identifying the redundancy version packet as a first redundancy version packet (e.g., the RV0472) that contains more information bits than other redundancy version packets based on the same information bits.

In some embodiments, the block914may include a UE (e.g., the UE300) identifying a particular combination of redundancy version packets. For instance, the block914may include the UE identifying all redundancy version packets received at the block904(including previous iterations of the block904) that are based on the same group of information bits and that were not determined to be received during a tune-away procedure or during a rank mismatch condition (as determined at the block906). As such, the block914may include the UE identifying the combination of redundancy version packets based on the same group of information bits that have been provided as input to the decoder in various iterations of the block912. For example, if the iterations of the blocks904and906resulted in discarding of the redundancy version packet RV0472but not discarding of the redundancy version packets RV1474and RV2476, then the block914(in the present iteration) may include identifying the combination of redundancy version packets available for decoding as the redundancy version packets RV1474and RV2476. As another example, if the iterations of the blocks904and906resulted in discarding of the redundancy version packets RV0472and RV1474but not discarding of the redundancy version packets RV2476and RV3478, then the block914(in the present iteration) may include identifying the combination of redundancy version packets available for decoding as the redundancy version packets RV2476and RV3478.

At the block916, an actual coding rate that was used for one or more redundancy version packets is determined. A coding rate is a ratio defined by the proportion of all bits that are useful bits. In the context of error correction encoding, the coding rate may specify the portion of all bits output by the encoder that are systematic bits. The block916may include a UE (e.g., the UE300) determining an actual coding rate used for encoding of the redundancy version packet received at the block904. The coding rate may be determined based on data received in a physical downlink control channel (“PDCCH”) or based on information stored on the UE. The block916may include a UE (e.g., the UE300) determining an actual coding rate that was used for the combination of redundancy version packets as identified at the block914. For example, in cases where the block914resulted in identifying a combination of more than one redundancy version packets, but the same coding rate was used for each of the more than one redundancy version packets, the shared coding rate used for each of the more than one redundancy version packets may be determined as the actual coding rate at the block916. As another example, in cases where the block914resulted in identifying a combination of more than one redundancy version packets, and different coding rates were used for each of the more than one redundancy version packets, an average of the coding rates used for each of the more than one redundancy version packets may be determined as the actual coding rate at the block916. The actual coding rate may be determined in other ways in various embodiments.

At block918, a predefined coding rate threshold is selected. The block918may include a UE (e.g., the UE300) selecting a predefined coding rate threshold based on the identification of the redundancy version packets at the block914. For example, the UE (e.g., the UE300) may have stored thereon (e.g., in memory included in the system on a chip320) a list of predefined coding rate thresholds that correspond to the various combinations of redundancy version packets that may be identified at the block914. Based on identification of the combination of redundancy version packets at the block914, the UE may select the corresponding predefined coding rate threshold. In some embodiments, predefined coding rate thresholds may only be defined for some of the possible combinations of redundancy version packets. For example, the following pairs of {combination of redundancy version packets—predefined coding rate thresholds} may be defined: {RV0472-1.0}; {RV1-0.6}; {RV2-0.6}; {RV3-0.8}; {RV1and RV2-1.0}; {RV2and RV3-1.0}; {RV1, RV2, and RV3-1.0}. In cases where a predefined coding rate threshold is not specified for a particular combination of redundancy version packets, a default value may be used (e.g., 1.0).

The predefined coding rate thresholds may be defined prior to reception of the redundancy version packets based on experimentation or modeling of the downlink channel. In particular, the predefined coding rate threshold may be chosen so that decoding the identified combination of redundancy version packets generally results in no or few (e.g., less than or equal to 5%) residual block errors. Residual block errors are errors in the information bits that cannot be identified by the decoder even with some or all of the error detection bits. In particular, based on the potential lack of the redundancy version packet containing primarily or entirely systematic bits (e.g., the redundancy version packet RV0472), the decoder may be more likely to generate output containing residual block errors. However, a given combination of redundancy version packets may be safely decoded with few or no residual block errors as long as the actual coding rate is below some particular level. As such, while any redundancy version packet received outside of a tune-away procedure and outside of a rank mismatch condition may be provided to the decoder in order to assist in recovery of the information bits, the output of the decoder may not be read by the UE as a trusted estimate of the information bits if the actual coding rate is not at or below the level of the predefined coding rate threshold predefined as corresponding to the combination of redundancy version packets that have been provided to the decoder as input.

While the predefined coding rate thresholds may vary depending on assumptions or conditions of the downlink channel, some examples may be given. The following examples may be based on: a pedestrian or vehicular model (e.g., Extended Pedestrian A Model5(“EPAS”) or Extended Vehicular A Model5(“EPVS”)) for an LTE RAT using 8×2 MIMO transmission; using a control format indicator set to two; using 20 MHz, 4 RB assignments; using SU-2-layer transmission; using Eigen beamforming based on wideband SRS (96 RB) with 13 dB power target and 5 ms feedback delay; using Type II HARQ with four redundancy version packets; and using pairs of modulation and control scheme (“MCS”) with coding rate of20-0.54, 23-0.7, 24-0.76, 25-0.8, and 27-0.89. Based on these parameters for the downlink channel model, a predefined coding rate threshold of 0.6 may be set for decoding of redundancy version packet RV1474alone or decoding of redundancy version packet RV2476alone. This value of 0.6 may reflect the observation that no or few residual block errors exist in the recovered information bits when decoding either RV1474or RV2476alone when the actual coding rate is at or below 0.6, even with the signal to interference plus noise ratio varying between 10 dB and 40 dB. Based on the parameters for the downlink channel model described above, a predefined coding rate threshold of 0.8 may be set for decoding of redundancy version packet RV3478alone. This value of 0.8 may reflect the observation that no or few residual block errors exist in the recovered information bits when decoding RV3478alone when the actual coding rate is at or below 0.8, even with the signal to interference plus noise ratio varying between 10 dB and 40 dB. Similar coding rate thresholds may be defined for other combinations of redundancy version packets based on the same or different downlink channel assumptions.

At block920, a determination is made as to whether the actual coding rate is less than or equal to the selected predefined coding rate threshold. The block920may include a UE (e.g., the UE300) comparing the actual coding rate determined at the block916with the predefined coding rate threshold selected at the block918. If the actual coding rate is determined to not be less than or equal to the selected predefined coding rate threshold at the block920, then the process900continues at the block904, wherein further redundancy version packets may be received based on the same group of information bits. If the actual coding rate is determined to be less than or equal to the selected predefined coding rate threshold at the block920, then the process900continues at block922.

At block922, output of the decoder is analyzed. The block922may be performed based on a UE (e.g., the UE300) performing a decoding operation using the decoder (e.g., the decoder322). The decoding operation may be performed based on the redundancy version packet or packets received at the block904(and any earlier iterations of the block904). The decoding operation may be performed so as to determine most likely values for a group of systematic bits (e.g., the systematic bits410) including the group of information bits (e.g., the information bits412) on which the received redundancy version packets (e.g., the redundancy version packets470) are based as well as a group of error detection bits (e.g., the error detection bits414). The block922may include a processor (e.g., a processor included in the system on a chip320, the processor201, the baseband modem processor205) determining whether the most likely values for the group of information bits along with the most likely values for the group of error detection bits as output by the decoder indicate any errors. If no error is indicated, then the UE may determine that the information bits have been successfully recovered. If an error is indicated, then the UE may determine that the information bits have not been successfully recovered.

At block924, a determination is made as to whether the information bits on which the redundancy version packet is based have been successfully recovered. If the analysis of the decoder output at the block922determined that the information bits were successfully recovered, the process900continues at block926. If the analysis of the decoder output at the block922determined that the information bits were not successfully recovered, the process900continues at the block904, wherein further redundancy version packets may be received based on the same group of information bits.

At block926, the information bits are provided as output. The block926may include a UE (e.g., the UE300) providing as output the information bits (e.g., the information bits412) successfully decoded as a result of the input at block912and determined to be successfully decoded at the block922. The block926may include the UE providing the information bits to another hardware or software module of the UE for further processing.

According to some embodiments, the blocks of the process900may be performed in a different order and various blocks may be omitted. As an example, in some embodiments the resetting of the decoder in the block910may be skipped even if a redundancy version packet is discarded in the block908.

FIG. 10illustrates an example of a UE1000, which may correspond to the UEs110,200,300inFIGS. 1-3. With reference toFIGS. 1-10, the UE1000may include a processor1002coupled to a touchscreen controller1004and an internal memory1006. The processor1002may correspond to the processor201. The processor1002may be one or more multi-core integrated circuits designated for general or specific processing tasks. The internal memory1006may correspond to the memory202. The memory1006may be volatile or non-volatile memory, and may also be secure and/or encrypted memory, or unsecure and/or unencrypted memory, or any combination thereof. The touchscreen controller1004and the processor1002may also be coupled to a touchscreen panel1012, such as a resistive-sensing touchscreen, capacitive-sensing touchscreen, infrared sensing touchscreen, etc. Additionally, the display of the UE1000need not have touch screen capability. The touch screen controller1004, the touchscreen panel1012may correspond to the user interface203.

The UE1000may have one or more cellular network transceivers1008a,1008bcoupled to the processor1002and to two or more antennae1010and configured for sending and receiving cellular communications. The transceivers1008and antennae1010a,1010bmay be used with the above-mentioned circuitry to implement the various embodiment methods. The UE1000may include two or more SIM cards1016a,1016b,corresponding to SIM A206and SIM B207, coupled to the transceivers1008a,1008band/or the processor1002and configured as described above. The UE1000may include a cellular network wireless modem chip1011that enables communication via a cellular network and is coupled to the processor. The one or more cellular network transceivers1008a,1008b,the cellular network wireless modem chip1011, and the two or more antennae1010may correspond to the RF resources204.

The UE1000may include a peripheral device connection interface1018coupled to the processor1002. The peripheral device connection interface1018may be singularly configured to accept one type of connection, or multiply configured to accept various types of physical and communication connections, common or proprietary, such as USB, FireWire, Thunderbolt, or PCIe. The peripheral device connection interface1018may also be coupled to a similarly configured peripheral device connection port (not shown).

The UE1000may also include speakers1014for providing audio outputs. The UE1000may also include a housing1020, constructed of a plastic, metal, or a combination of materials, for containing all or some of the components discussed herein. The UE1000may include a power source1022coupled to the processor1002, such as a disposable or rechargeable battery. The rechargeable battery may also be coupled to a peripheral device connection port (not shown) to receive a charging current from a source external to the UE1000. The UE1000may also include a physical button1024for receiving user inputs. The UE1000may also include a power button1026for turning the UE1000on and off