(19)
(11) EP 2 293 474 B1

(12) EUROPEAN PATENT SPECIFICATION

(45) Mention of the grant of the patent:
23.03.2016 Bulletin 2016/12

(21) Application number: 10188387.4

(22) Date of filing: 14.01.2009
(51) International Patent Classification (IPC): 
H04J 11/00(2006.01)
H04L 5/00(2006.01)
H04J 13/00(2011.01)
H04W 16/02(2009.01)
H04J 13/16(2011.01)

(54)

Resource allocation randomization

RANDOMISIERUNG EINER RESSOURCENZUWEISUNG

Randomisation d'affectation de ressources


(84) Designated Contracting States:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK TR

(30) Priority: 14.01.2008 US 21005 P
13.01.2009 US 352746

(43) Date of publication of application:
09.03.2011 Bulletin 2011/10

(62) Application number of the earlier application in accordance with Art. 76 EPC:
09701507.7 / 2253091

(73) Proprietor: QUALCOMM Incorporated
San Diego, CA 92121-1714 (US)

(72) Inventors:
  • Gaal, Peter
    San Diego, CA, 92121-1714 (US)
  • Malladi, Durga, Prasad
    San Diego, CA, 92121-1714 (US)
  • Zhang, Xiaoxia
    San Diego, CA, 92121-1714 (US)

(74) Representative: Wegner, Hans et al
Bardehle Pagenberg Partnerschaft mbB Patentanwälte, Rechtsanwälte Postfach 86 06 20
81633 München
81633 München (DE)


(56) References cited: : 
   
  • NTT DOCOMO ET AL: "Pilot Sequence Allocation Method in E-UTRA Uplink", 3GPP DRAFT; R1-062103 UL PILOT SEQUENCE ALLOCATION, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG1, no. Tallinn; 20060823, 23 August 2006 (2006-08-23), XP050102648, [retrieved on 2006-08-23]
  • NTT DOCOMO ET AL: "Sequence Hopping and Cyclic-Shift Value Hopping for Uplink Reference Signal in E-UTRA", , [Online] no. R1-071643, 26 March 2007 (2007-03-26), pages 1-4, XP002494362, Retrieved from the Internet: URL:http://www.3gpp1.org/ftp/tsg_ran/WG1_R L1/TSGR1_48b/Docs/R1-071643.zip>
  • NOKIA SIEMENS NETWORKS ET AL: "Cyclic Shift Hopping and DM RS Signaling", , [Online] no. R1-072294, 7 May 2007 (2007-05-07), pages 1-4, XP002494363, Retrieved from the Internet: URL:http://www.3gpp1.org/ftp/tsg_ran/WG1_R L1/TSGR1_49/Docs/R1-072294.zip> [retrieved on 2008-09-01]
   
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

CROSS-REFERENCE



[0001] This application claims priority to U.S. Application No. 61/021,005 entitled "Methods and apparatuses for resource allocation randomization", which was filed on January 14, 2008.

BACKGROUND


Field



[0002] The following description relates generally to wireless communication and in particular to using randomization to allocate sequence resources.

Background



[0003] Wireless communication systems are widely deployed to provide various types of communication content such as, for example, voice, data, and so on. Typical wireless communication systems can be multiple-access systems capable of supporting communication with multiple users by sharing available system resources (e.g., bandwidth, transmit power, ...). Examples of such multiple-access systems can include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, orthogonal frequency division multiple access (OFDMA) systems, and the like.

[0004] Generally, wireless multiple-access communication systems can simultaneously support communication for multiple mobile devices. Each mobile device can communicate with one or more base stations via transmissions on forward and reverse links. The forward link (or downlink) refers to the communication link from base stations to mobile devices, and the reverse link (or uplink) refers to the communication link from mobile devices to base stations. Further, communications between mobile devices and base stations can be established via single-input single-output (SISO) systems, multiple-input single-output (MISO) systems, multiple-input multiple-output (MIMO) systems, and so forth.

[0005] MIMO systems commonly employ multiple (NT) transmit antennas and multiple (NR) receive antennas for data transmission. A MIMO channel formed by the NT transmit and NR receive antennas can be decomposed into NS independent channels, which can be referred to as spatial channels. Each of the NS independent channels corresponds to a dimension. Moreover, MIMO systems can provide improved performance (e.g., increased spectral efficiency, higher throughput and/or greater reliability) if the additional dimensionalities created by the multiple transmit and received antennas are utilized.

[0006] MIMO systems can support various duplexing techniques to divide forward and reverse link communications over a common physical medium. For instance, frequency division duplex (FDD) systems can utilize disparate frequency regions for forward and reverse link communications. Further, in time division duplex (TDD) systems, forward and reverse link communications can employ a common frequency region. A pilot sequence allocation method is described in NTT DOCOMO ET AL: "Pilot Sequence Allocation Method in E-UTRA Uplink", 3GPP DRAFT; R1-062103 UL PILOT SEQUENCE ALLOCATION, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE; 650 ROUTE DES LUCIOLES; F- 06921 SOPHIA-ANTIPOLIS CEDEX; FRANCE, vol. RAN WG1, no. Tallinn; 20060823, 23 August 2006. However, conventional techniques can provide limited or no feedback related to channel information. Thus, there is a need to allocate a sequence resource through randomization.

SUMMARY



[0007] This need is fulfilled by the subject-matter of the independent claims. The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.

[0008] In one aspect, there can be a method for allocating a sequence resource through randomization that is operable upon a wireless communication device. The method can include producing a cyclic shift offset for use in random assignment of the sequence resource to a mobile device performed by a first module executable upon the wireless communication device. The method can also include assigning a sequence resource randomly through implementation of the produced cyclic shift offset performed by a second module executable upon the wireless communication device.

[0009] With another aspect, there can be an apparatus the uses a generator that produces a cyclic shift offset for use in random assignment of a sequence resource to a mobile device. The apparatus can also use an assigner that designates a sequence resource randomly through implementation of the generated cyclic shift offset.

[0010] In a further aspect, there can be at least one processor configured to allocate a sequence resource through randomization. The processor can include a first module for producing a cyclic shift offset for use in random assignment of the sequence resource to a mobile device. Moreover, the processor can include a second module for assigning a sequence resource randomly through implementation of the produced cyclic shift offset.

[0011] Concerning another aspect, there can be a computer program produce that incorporates a computer-readable medium. The medium can include a first set of codes for causing a computer to produce a cyclic shift offset for use in random assignment of a sequence resource to a mobile device. Also, the medium can include a second set of codes for causing the computer to assign a sequence resource randomly through implementation of the produced cyclic shift offset.

[0012] Through yet a further aspect, there can be an apparatus with means for producing a cyclic shift offset for use in random assignment of a sequence resource to a mobile device as well as means for assigning a sequence resource randomly through implementation of the produced cyclic shift offset.

[0013] In one aspect, there can be a method for using a resource, the method is operable upon a wireless communication device. The method can incorporate evaluating a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset, the evaluating is performed by a first module executable upon the wireless communication device. The method can also incorporate identifying a sequence resource to use based upon a result of the evaluation performed by a second module executable upon the wireless communication device.

[0014] With another aspect, there can be an apparatus with an analyzer that evaluates a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset as well as a selector that identifies a sequence resource to use based upon a result of the evaluation.

[0015] In a further aspect there can be at least one processor configured to use a resource. The processor can function with at least two modules - a first module for evaluating a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset and a second module for identifying a sequence resource to use based upon a result of the evaluation.

[0016] Concerning another aspect, there can be a computer program product with a computer-readable medium. The medium can include a first set of codes for causing a computer to evaluate a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset. Also, the medium can include a second set of codes for causing the computer to identify a sequence resource to use based upon a result of the evaluation.

[0017] Through yet a further aspect, there can be an apparatus with means for evaluating a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset as well as means for identifying a sequence resource to use based upon a result of the evaluation.

[0018] To the accomplishment of the foregoing and related ends, the one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more aspects.

BRIEF DESCRIPTION OF THE DRAWINGS



[0019] 

Fig. 1 illustrates a representative wireless communication system in accordance with at least one aspect disclosed herein.

Fig. 2 illustrates a representative wireless communication system with a base station and detailed mobile device in accordance with at least one aspect disclosed herein.

Fig. 3 illustrates a representative wireless communication system with a detailed base station operating in a coordinated manner and mobile device in accordance with at least one aspect disclosed herein.

Fig. 4 illustrates a representative wireless communication system with a detailed base station operating in an uncoordinated manner and mobile device in accordance with at least one aspect disclosed herein.

Fig. 5 illustrates a representative wireless communication system with a detailed base station that evaluates a communication network and mobile device in accordance with at least one aspect disclosed herein.

Fig. 6 illustrates a representative wireless communication system with a detailed base station that evaluates a contextual situation and mobile device in accordance with at least one aspect disclosed herein.

Fig. 7 illustrates a representative random sequence generator in accordance with at least one aspect disclosed herein.

Fig. 8 illustrates a representative methodology for operation of a mobile device in accordance with at least one aspect disclosed herein.

Fig. 9 illustrates a representative methodology for operation regarding cyclic shift in accordance with at least one aspect disclosed herein.

Fig. 10 illustrates a representative methodology mobile device monitoring in accordance with at least one aspect disclosed herein.

Fig. 11 illustrates a representative mobile device in accordance with at least one aspect disclosed herein.

Fig. 12 illustrates a representative base station in accordance with at least one aspect disclosed herein.

Fig. 13 illustrates a representative communication system in accordance with at least one aspect disclosed herein.

Fig. 14 illustrates a representative base station in accordance with at least one aspect disclosed herein.

Fig. 15 illustrates a representative mobile device in accordance with at least one aspect disclosed herein.


DETAILED DESCRIPTION



[0020] Various aspects are now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. It may be evident, however, that such aspect(s) may be practiced without these specific details.

[0021] As used in this application, the terms "component," "module," "system" and the like are intended to include a computer-related entity, such as but not limited to hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computing device and the computing device can be a component. One or more components can reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets, such as data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems by way of the signal.

[0022] Furthermore, various aspects are described herein in connection with a terminal, which can be a wired terminal or a wireless terminal. A terminal can also be called a system, device, subscriber unit, subscriber station, mobile station, mobile, mobile device, remote station, remote terminal, access terminal, user terminal, terminal, communication device, user agent, user device, or user equipment (UE). A wireless terminal may be a cellular telephone, a satellite phone, a cordless telephone, a Session Initiation Protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device having wireless connection capability, a computing device, or other processing devices connected to a wireless modem. Moreover, various aspects are described herein in connection with a base station. A base station may be utilized for communicating with wireless terminal(s) and may also be referred to as an access point, a Node B, or some other terminology.

[0023] Moreover, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless specified otherwise, or clear from the context, the phrase "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, the phrase "X employs A or B" is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B. In addition, the articles "a" and "an" as used in this application and the appended claims should generally be construed to mean "one or more" unless specified otherwise or clear from the context to be directed to a singular form.

[0024] The techniques described herein may be used for various wireless communication systems such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA and other systems. The terms "system" and "network" are often used interchangeably. A CDMA system may implement a radio technology such as Universal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includes Wideband-CDMA (W-CDMA) and other variants of CDMA. Further, cdma2000 covers IS-2000, IS-95 and IS-856 standards. A TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM). An OFDMA system may implement a radio technology such as Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM□, etc. UTRA and E-UTRA are part of Universal Mobile Telecommunication System (UMTS). 3GPP Long Term Evolution (LTE) is a release of UMTS that uses E-UTRA, which employs OFDMA on the downlink and SC-FDMA on the uplink. UTRA, E-UTRA, UMTS, LTE and GSM are described in documents from an organization named "3rd Generation Partnership Project" (3GPP). Additionally, cdma2000 and UMB are described in documents from an organization named "3rd Generation Partnership Project 2" (3GPP2). Further, such wireless communication systems may additionally include peer-to-peer (e.g., mobile-to-mobile) ad hoc network systems often using unpaired unlicensed spectrums, 802.xx wireless LAN, BLUETOOTH and any other short- or long- range, wireless communication techniques.

[0025] Various aspects or features will be presented in terms of systems that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. A combination of these approaches may also be used. It is to be appreciated that equations disclosed herein are examples that can be use in practicing various aspects and are not intended to limit of these aspects. For instance, aspects can be practiced with different equations than those disclosed.

[0026] Referring now to Fig. 1, a wireless communication system 100 is illustrated in accordance with various embodiments presented herein. System 100 comprises a base station 102 that can include multiple antenna groups. For example, one antenna group can include antennas 104 and 106, another group can comprise antennas 108 and 110, and an additional group can include antennas 112 and 114. Two antennas are illustrated for each antenna group; however, more or fewer antennas can be utilized for each group. Base station 102 can additionally include a transmitter chain and a receiver chain, each of which can in turn comprise a plurality of components associated with signal transmission and reception (e.g., processors, modulators, multiplexers, demodulators, demultiplexers, antennas, etc.), as will be appreciated by one skilled in the art.

[0027] Base station 102 can communicate with one or more mobile devices such as mobile device 116 and mobile device 122; however, it is to be appreciated that base station 102 can communicate with substantially any number of mobile devices similar to mobile devices 116 and 122. Mobile devices 116 and 122 can be, for example, cellular phones, smart phones, laptops, handheld communication devices, handheld computing devices, satellite radios, global positioning systems, PDAs, and/or any other suitable device for communicating over wireless communication system 100. Metadata pertaining to an incoming communication (e.g., cellular call) can be displayed upon the mobile device. For instance, a number of minutes remaining on a 'pay as you go' telephone can be presented to a user.

[0028] As depicted, mobile device 116 is in communication with antennas 112 and 114, where antennas 112 and 114 transmit information to mobile device 116 over a forward link 118 and receive information from mobile device 116 over a reverse link 120. Moreover, mobile device 122 is in communication with antennas 104 and 106, where antennas 104 and 106 transmit information to mobile device 122 over a forward link 124 and receive information from mobile device 122 over a reverse link 126. In a frequency division duplex (FDD) system, forward link 118 can utilize a different frequency band than that used by reverse link 120, and forward link 124 can employ a different frequency band than that employed by reverse link 126, for example. Further, in a time division duplex (TDD) system, forward link 118 and reverse link 120 can utilize a common frequency band and forward link 124 and reverse link 126 can utilize a common frequency band.

[0029] The set of antennas and/or the area in which they are designated to communicate can be referred to as a sector of base station 102. For example, multiple antennas can be designed to communicate to mobile devices in a sector of the areas covered by base station 102. In communication over forward links 118 and 124, the transmitting antennas of base station 102 can utilize beamforming to improve signal-to-noise ratio of forward links 118 and 124 for mobile devices 116 and 122. Also, while base station 102 utilizes beamforming to transmit to mobile devices 116 and 122 scattered randomly through an associated coverage, mobile devices in neighboring cells can be subject to less interference as compared to a base station transmitting through a single antenna to all its mobile devices.

[0030] Now referring to Fig. 2, an example system 200 is disclosed for performing operation in regard to randomly assigning a sequence resource to a mobile device. A sequence resource can be allocated in a manner to mitigate overall interference in communication between a base station 202 that supports a cell and a mobile device 204. For instance, in an 8-bit configuration, there can be eight different cyclic shifts used (01234567, 12345670, 23456701...). In the system 200, a mobile device 204 is assigned an independent sequence that is unique to the mobile device 204.

[0031] However, it is possible in a neighboring cell of another base station, a mobile device of the neighboring cell can also be assigned a sequence that matches the sequence of the mobile device 204. If the neighboring mobile device becomes too close to the cell of the base station 202, there can be interference (e.g., packets reach an incorrect destination, the base station 202 receives packets from the mobile device 204 and the neighboring mobile device, etc.). To assist in mitigation of interference, a cyclic shift offset can be randomly designated and used in determining a sequence for resource usage. The cyclic shift offset is the amount of change experienced by a sequence. For example, a cyclic shift offset of two can transfer an 8-bit sequence from 01234567 to 23456701 such that two bits are shifted.

[0032] A determination can be made that randomized sequence resource should occur or there can be automatic randomization (e.g., without making the determination, but performing upon identifying a communication instructing randomization). The base station 202 can employ a generator 206 that produces (e.g., automatically generates) a cyclic shift offset for use in random assignment of a sequence resource to a mobile device such that cyclic shifts used in the system 200 can be randomized. In one implementation, the produced cyclic shift offset is specific to a resource and performed on a per symbol basis. Based upon the cyclic shift offset produced, an assigner 208 can assign a sequence resource randomly through implementation of the generated cyclic shift offset and the assignment can be communicated to the mobile device 204.

[0033] The mobile device 204 can use an analyzer 210 that evaluates a sequence resource instruction on a sequence resource assigned for use (e.g., from the base station 202). The sequence resource can be assigned through implementation of a generated cyclic shift offset (e.g., from the assigner 208). A selector 212 can be used that identifies a sequence resource to use based upon a result of the evaluation. The mobile device 204 can used the assigned sequence resource and monitor for interference.

[0034] According to one embodiment, a determination can be made that a location of the mobile device 204 should become known to the base station 202 for use in resource assignment. For instance, a check can be performed if interference is likely with another mobile device and therefore location of the mobile device 204 should be evaluated. A transmitter 214 can obtain a request for location metadata, evaluate the request, and provide location metadata (e.g., to the base station 202) - additionally, the transmitter 214 can include a receiver portion that collects an instruction from the base station 202 on a sequence resource for use. According to one embodiment, at least a portion of the provided location metadata is used to determine a manner of cyclic shift offset generation (e.g., coordinated, uncoordinated, etc.).

[0035] The mobile device 204 can operate according to different situations. For instance, generation of the cyclic shift offset can be coordinated where a pseudo-random sequence and a deterministic sequence are added together and a result of the addition is an offset used to generate the cyclic shift offset. This can take place when the mobile device 204 is likely to interfere with a supplemental mobile device using another base station.

[0036] In an alternative embodiment, coordinated cyclic shift offset generation occurs upon processing of an interference notification. For instance, the base station 202 can perform automatically in an uncoordinated manner. The mobile device 204 can monitor operation to determine if there is interference - upon determining that there is interference the mobile device 204 can send a notification to the base station 202. The base station 202 can process the notification and perform coordinated cyclic shift offset generation.

[0037] The generation of the cyclic shift offset can also be uncoordinated where the cyclic shift offset can be generated through use of a scrambled output of a sequence generator. This can take place when the mobile device 204 is not likely to interfere with a mobile device using another base station. Moreover, the generated cyclic shift offset can be specific to a resource and performed on a per symbol basis. It is possible for generation of the cyclic shift offset to occur upon identifying communication is of a physical uplink control channel.

[0038] Production of a cyclic shift offset (e.g., cyclic shift offset hopping) can be used in a limited manner. For instance, a determination can be made on if there is PUSCH (Physical Uplink Shared Channel) or PUCCH (Physical Uplink Control Channel). If there is PUSCH then there can be no production (e.g., cyclic shift offset is explicitly signaled in an assignment, set to a static value conveyed by another level, etc.).

[0039] If communication is with PUCCH, then a cyclic shift offset can be produced. With inter-cell interference randomization, a cell specific cyclic shift offset sequence can be used. In one configuration, for cell specific cyclic shift application purposes, RS (reference signal) and control symbols within the PUCCH are not distinguished. li can be the cyclic shift offset in symbol i where it is possible:



[0040] If the cyclic shift in a symbol is ui before applying the cell specific cyclic shift offset then the symbol can be (li + ui)mod12 after applying the cell specific cyclic shift offset. There can be at least two options for generating the li (e.g., coordinated and uncoordinated). Thus, there can be mitigation of interference by randomizing cyclic shifts as well as randomizing PUSCH reference signal sequence resource allocations and PUCCH sequence resource allocation.

[0041] Referring to Fig. 3, an example system 300 is disclosed for resource allocation in a coordinated manner. A base station 202 can use a generator 206 and an assigner 208 to engage with a mobile device 204. When assigning a sequence resource to the mobile device 204, the sequence resource can be exclusive to the mobile device 204 within a cell of the base station 202.

[0042] Therefore, production of the cyclic shift offset can be performed in a coordinated manner (e.g., a level of coordination among nearby base stations) to minimize interference. An aggregator 302 can be employed that adds together a pseudo-random sequence (e.g., dependent upon a group identifier, which can be a SSC_ID (secondary synchronization code identification)) and a deterministic sequence (e.g., dependent upon an intra-group index, which can be a PSC_ID (primary synchronization code identification)), a result of the addition is an offset (e.g., used to produce cyclic shift offset). Thus, there could be a minimization to cyclic shift alignments in cells with matching group identifiers.

[0043] There can be a pseudorandom cyclic shift offset, ti, that can be determined by through scrambling sequence generator output. The sequence generator can be initialized at a subframe boundary (e.g., every subframe boundary) and clocked once in a symbol (e.g., once every symbol). For instance, a 33-bit seed sequence can be constructed according to: initial bit b32...b30 has value 0,0,0; initial bit b29...b27 has value 0,1,1; initial bit b26...b13 has value 0,0...,0; initial bit b12...b9 has value equal to that of a subframe identification; and initial bit b8...b0 has value equal to the group identifier. The subframe ID can be part of the initialization bits and thus a resulting sequence period could be one frame (e.g., 10ms). A scrambling generator can have an output of s0,s1,...,s8.ν where υ is the number of symbols per frame and the cell specific cyclic shift offset ti in symbol i can be determined as:



[0044] Thus, there can be taking of consecutive bytes of the scrambling sequence, one for each symbol and take the corresponding integer value modulo 12. The intra-group index dependent deterministic cyclic shift offset value rj 0 ≤ j < 12 could be defined as



[0045] A single formula can exist for generating the aforementioned sequences. The sum of rj for intra-group index = 1 and for intra-group index = 2 could be zero modulo 13. For any pair of intra-group indices, the element-wise shift differences could be distinct. The cell specific cyclic shift offset li in symbol i could be determined as:



[0046] Now referring to Fig. 4, an example system 400 is disclosed for resource allocation in an uncoordinated manner. A base station 202 can use a generator 206 and an assigner 208 to engage with a mobile device 204 and provide a sequence resource indication for use by the mobile device 204. It is possible for randomization to occur in an uncoordinated manner (e.g., completely randomized). If it is determined that there should be uncoordinated cyclic shift offset production, then a shuffler 402 can be employed that scrambles an output of a sequence generator (e.g., the scrambled output is an offset used to produce the cyclic shift offset).

[0047] According to one embodiment, a cyclic shift offset pattern can be used that is dependent on cell identification. The sequence generator can be initialized at a subframe boundary (e.g., every subframe boundary) and clocked once in a symbol (e.g., once every symbol). For instance, a 33-bit seed sequence can be constructed according to: initial bit b32...b30 has value 0,0,0; initial bit b29...b27 has value 0,1,0; initial bit b26...b13 has value 0,0...,0; initial bit b12...b9 has value equal to that of a subframe identification; and initial bit b8...b0 has value equal to the Cell_ID (Cell Identification). The subframe ID can be part of the initialization bits and thus a resulting sequence period could be one frame (e.g., 10ms). A scrambling generator can have an output of s0,s1,...,s8.ν where υ is the number of symbols per frame and the cell specific cyclic shift offset ti in symbol i can be determined as:



[0048] Thus, there can be taking of consecutive bytes of the scrambling sequence, one for each symbol and take the corresponding integer value modulo 12.

[0049] Now referring to Fig. 5, an example system 500 is disclosed for randomly determining a sequence resource to be used by a mobile device 204. A base station 202 can use a generator 206 and an assigner 208 to engage with the mobile device 204 and provide a sequence resource indication for use by the mobile device 204. While operation in a coordinated or uncoordinated manner can be universal, in one implementation a determination can be made on which manner to use.

[0050] A measurer 502 can be used that determines a distance among at least two base stations. The determined distance can be accessed by a concluder 504 that infers if the distance is such that interference is expected between at least one mobile device associated with each base station. There can be a determination on if the cyclic shift offset should be coordinated or uncoordinated is based upon a result of the inference. A classifier 506 can be employed for making the determination if the cyclic shift offset should be coordinated or uncoordinated (e.g., based upon a result of the inference of the concluder 504). According to an alternative embodiment, the measurer 502, concluder 504, and/or classifier 506 can function regarding distances between mobile devices or distances between mobile devices and base stations as opposed to distances between base stations.

[0051] It is to be appreciated that artificial intelligence techniques can be used to practice determinations and inferences disclosed herein. These techniques employ one of numerous methodologies for learning from data and then drawing inferences and/or making determinations related to dynamically storing information across multiple storage units (e.g., Hidden Markov Models (HMMs) and related prototypical dependency models, more general probabilistic graphical models, such as Bayesian networks, e.g., created by structure search using a Bayesian model score or approximation, linear classifiers, such as support vector machines (SVMs), non-linear classifiers, such as methods referred to as "neural network" methodologies, fuzzy logic methodologies, and other approaches that perform data fusion, etc.) in accordance with implementing various automated aspects described herein. These techniques can also include methods for capture of logical relationships such as theorem provers or more heuristic rule-based expert systems. These techniques can be represented as an externally pluggable module, in some cases designed by a disparate (third) party.

[0052] Now referring to Fig. 6, an example system 600 is disclosed for randomly determining a sequence resource to be used by a mobile device 204. A base station 202 can use a generator 206 and an assigner 208 to engage with the mobile device 204 and provide a sequence resource indication for use by the mobile device 204. When a sequence resource assignment is determined, an emitter 602 can notify the mobile device 204 of the assigned sequence resource.

[0053] An evaluator 604 can identify communication (e.g., uplink communication of the mobile device) is of a physical uplink control channel. Production of the cyclic shift offset can occur upon performing the identification. To save power resources, improver processing time, and the like, the base station 202 can operate in limited instances. In one embodiment, the base station provides a resource allocation when a mobile device 204 makes a valid request for resource allocation. An appraiser 606 can identify a request to perform resource allocation (e.g., originating from the mobile device 204, automatically originating, etc.). A categorizer 608 can be employed that determines that a cyclic shift offset should be used upon identifying the request and production of the cyclic shift offset can occur upon a positive determination.

[0054] Now referring to Fig. 7, an example pseudorandom sequence generator 700 is disclosed that can be used in accordance with at least one aspect disclosed herein (e.g., employed by the base station 202 of Fig. 2). A pseudorandom sequence can be used in sequence hopping pattern generation. The generator 700 could be used to generate all pseudorandom sequences as well as a portion of sequences.

[0055] Arithmetic can be used to compute Physical Uplink Control Channel (PUCCH) and Physical Uplink Shared Channel (PUSCH) allocation parameters in a symbol (e.g., every symbol). Moreover, there can be Flexible PUCCH cyclic shift and orthogonal cover allocation. Also, a hopping pattern can be independent of an overall allocation strategy. A mobile device can be limited in being aware of its own initial parameter set - for instance, the mobile device could not be provided information on what strategy is used to optimize the cyclic shift and orthogonal cover allocation (e.g., a base station does not disclose to a mobile device if coordinated or uncoordinated operation is used to produce the cyclic shift offset). Additionally, a single set of rules for cell specific hopping or a resource specific hopping case can be used. For PUCCH and PUSCH, a set of possible RS (reference signal) sequences denoted by their sequence index can be defined for possible RB (sequence resource) allocation cases. In the case of the PUCCH, a same set of sequences can also used to convey control information. In one implementation, there can be a single downlink (DL) signaling of bit informing to user equipment (UE) about whether sequence hopping should be used or not.

[0056] In one implementation, there can be a disablement of sequence hopping. In a case with PUSCH, the UE can use the PUSCH RS sequence index(es) corresponding to a signaled sequence group. In one case (e.g., a number of sequence resources being below or equal to 5), the UE can use a single sequence index (e.g., one of 30). In another case (e.g., a number of sequence resources being above 5), the UE can use a first sequence index in the signaled sequence group in a first slot of a subframe and use a second sequence index in a signaled sequence group in a second slot of the subframe. Therefore, the UE can alternate between the two sequences defined for the sequence group. If it is desired to have more sequences (e.g., more than two) per sequence group for a number of sequence resources greater than five, then the UE can cycle through sequence indices in a similar fashion. If there are m indices per sequence group, (e.g., the set of indexes is {k0,k1,...,km-1} in a given sequence group) then in the ith slot of a frame, the UE could use the sequence with index kimodm. In a first slot of a frame, k0 could be always used. In a case with PUCCH the UE uses a single sequence based on the signaled sequence group for both the RS and the control data modulation.

[0057] Likewise, there can be an enabling of sequence hopping. With PUSCH, the UE can use the PUSCH RS sequence index determined by a scrambling sequence generator output.). For instance, a 33-bit seed sequence can be constructed according to: initial bit b32...b30 has value 0,0,0; initial bit b29...b27 has value 0,0,1; initial bit b26...b13 has value 0,0...,0; initial bit b12...b9 has value equal to that of a subframe identification; and initial bit b8...b0 has value equal to the Cell_ID (Cell Identification). The subframe ID can be part of the initialization bits and thus a resulting sequence period could be one frame (e.g., 10ms). A scrambling generator can have an output of s0,s1,...,s8.u where u is the number of slots per frame, then the PUSCH sequence index ki in slot i can be determined as:



[0058] (e.g., taking consecutive bytes of the scrambling sequence, one for each slot and take the corresponding integer value modulo the total number of sequence indices) where m can be the number of sequences indices per sequence group, such as:



[0059] With PUCCH, the UE can use the PUCCH RS and control sequence index as determined by the scrambling sequence generator output. The sequence generator could be initialized at every subframe boundary and clocked once for every symbol. For instance, a 33-bit seed sequence can be constructed according to: initial bit b32...b30 has value 0,0,0; initial bit b29...b27 has value 0,0,1; initial bit b26...b13 has value 0,0,...,0; initial bit b12...b9 has value equal to that of a subframe identification; and initial bit b8...b0 has value equal to the Cell_ID (Cell Identification). The subframe ID can be part of the initialization bits and thus a resulting sequence period could be one frame (e.g., 10ms).

[0060] If the scrambling generator output is s0,s1,...,s8.ν where υ is a number of symbols per frame, then the PUCCH CGS (Computer Generated Sequence) sequence index ki in symbol i can be determined as:



[0061] It is possible that for the sequence index generation purposes, the RS and control symbols within the PUCCH are not distinguished.

[0062] There can be PUCCH resource specific cyclic shift hopping. Resource specific cyclic shift hopping can performed on a per symbol basis. For instance, a hopping pattern can be based on a factor 3 decimation. A resource specific cyclic shift cj in control data symbol j can determined as:



[0063] In one implementation, there can be a first symbol of every frame, j=o. After that, j can be incremented by one for every control symbol but not incremented for RS symbols. The resource specific cyclic shift ck in RS symbol k can determined as:



[0064] In one implementation, there can be a first RS symbol of every frame, k=o. After that, k can be incremented by one for every RS symbol but not incremented for control data symbols.

[0065] According to one embodiment, there can be PUCCH resource hopping. At a slot boundary (e.g., every slot boundary), cyclic shift allocation can be offset according to a deterministic pattern. Thus there can be a maximization of distance in a new slot between resources that were sharing the same cyclic shift resource in a previous slot. Resource hopping can be achieved by adding a slot and resource dependent cyclic shift offset

for slot i and orthogonal cover index j. The cyclic shift offset

for slot i and orthogonal cover index j can be determined as:



[0066] An orthogonal cover index j can be mapped to spreading sequences as:



[0067] There can also be PUCCH RS resource hopping - the cyclic shift offset

for slot i and orthogonal cover index j can be determined as:



[0068] The orthogonal cover index j can be mapped to spreading sequences as:



[0069] There can be orthogonal cover hopping - an orthogonal cover can be changed at a slot boundary (e.g., at every slot boundary). A relationship between orthogonal cover functions that are associated with a pair of PUCCH resources can be the same across slot boundaries; however, a cell dependent linear offset can be applied to each orthogonal cover function. The offset can indicate that a cell specific cover function is added (e.g., element-wise multiply) to each orthogonal cover function used in a cell. This can preserve optimum distribution of orthogonal covers that could be used.

[0070] The cell specific orthogonal cover offset index can be determined by a scrambling sequence generator output. The sequence generator can initialize at a subframe boundary (e.g., every subframe boundary) and clocked once in every slot. For instance, a 33-bit seed sequence can be constructed according to: initial bit b32...b30 has value 0,0,0; initial bit b29...b27 has value 1,0,0; initial bit b26...b13 has value 0,0...,0; initial bit b12...b9 has value equal to that of a subframe identification; and initial bit b8...b0 has value equal to the Cell_ID (Cell Identification). The subframe ID can be part of the initialization bits and thus a resulting sequence period could be one frame (e.g., 10ms). If a scrambling generator output is s0,s1,...,s8.u where u is the number of slots per frame, then the cell specific orthogonal cover offset index di for the ACK (acknowledgement) data in slot i can be determined as:



[0071] While the cell specific orthogonal cover offset index ei for the RS in slot i can be determined as:



[0072] An actual applied orthogonal cover can be a sum (e.g., element-wise product) of an initial assigned orthogonal cover and the orthogonal cover function indicated by di and ei for the ACK data and ACK RS, respectively.

[0073] Referring now to Fig. 8, an example methodology 800 is disclosed for operation of a mobile device concerning sequence resource allocation. A request for the mobile device to provide location information can be collected at event 802 - commonly the request originates from a base station. The request can be a global request (e.g., transferred to all mobile devices within a base station cell) or specific (e.g., transferred individually to a base station). In an alternative implementation, a base station can track the mobile device without explicitly requesting the mobile device to provide location metadata.

[0074] The request can be evaluated and a check 804 can determine if the request is authorized. An authorized request can include that the base station (or intended destination of location information) is allowed to receive location information, the request is not out of date, etc. If the check 804 determines that the request is not authorized, then a denial can be transmitted at act 806 - other responses are possible, such as ignoring the request.

[0075] However, if the request is authorized, then the mobile device can determine its location at event 808. In an alternative embodiment, the mobile device continuously monitors its location and thus the location is known when the request is collected. The location metadata can be provided to a destination designated by the request. A follow-up can occur to determine if the intended destination obtained the information (e.g., performed through communicating with the destination, making an inference if sequence resource instruction has not occurred recently, etc.).

[0076] The location metadata can be processed by a base station and used to determine a sequence resource to be used by the mobile device. The sequence resource assigned to the mobile device can be transferred to the mobile device through an instruction - the instruction can be obtained through event 812. An evaluation can occur to determine what sequence resource is assigned to the mobile device at action 814.

[0077] Based upon a result of the evaluation, a sequence resource for use by the mobile device can be identified through act 816. A check can occur to determine if the sequence resource can be used (e.g., portion is not used by another mobile device) - upon a positive determination there can be accessing of the sequence resource at event 818. The sequence resource designated for exploitation can be used through action 820.

[0078] Referring now to Fig. 9, an example methodology 900 is disclosed for base station operation in relation to allocation of sequence resources to a mobile device. Metadata can be collected pertaining to a location of a mobile device or of a neighboring base station through action 902. An inference can be drawn at act 904 on if there is likely to be interference between a mobile device of the base station and another mobile device. A determination can be made at action 906 that a cyclic shift should be employed (e.g., based upon a result of the inference, evaluation of relevant metadata, and the like).

[0079] A check 908 can be performed to determine if there should be coordinated resource allocation or uncoordinated resource allocation. If it is determined that there should be coordinated allocation, then there can be collection of sequence metadata at act 910 and aggregating of at least part of the sequence data at event 912. If there is to be uncoordinated allocation, then sequence generator output can be collected at act 914 and scrambled at event 916. With a coordinated or uncoordinated operation, there can be generating cyclic shift offset at action 918 and assignment of a sequence resource at event 920 - a notification identifying the assigned sequence resource can transfer to the mobile device.

[0080] Referring now to Fig. 10, an example methodology 1000 is disclosed for mobile device operation regarding resource allocation. A sequence resource instruction can be collected at act 1002 and evaluated to determine which sequence resource to use at act 1004. A resource portion to use can be identified at event 1006 and implemented through action 1008.

[0081] Monitoring of operation can take place through event 1010 - the monitoring can specifically determine if the mobile device is experiencing interference due to close proximity with another mobile device or base station. A check 1012 can take place to determine if there is interference - if there is not interference, then the methodology 1000 can return to event 1010. However, if there is interference, then a determination can be made at a level of the interference at act 1014, as well as a source of interference (e.g., general static, from having a nearby mobile device with a matching resource assignment, etc.).

[0082] A check 1016 can determine if interference is at a high enough level to warrant a request for a new sequence resource. If the interference is severe enough, then a request can be sent for a new sequence resource at act 1018. For instance, a base station could assign a sequence resource in an uncoordinated manner under a premise that there is no nearby entity that would also use the sequence resource. However, if the mobile device (e.g., through methodology 1000) determines that there is interference, then the base station can be notified and perform coordinated sequence resource allocation (e.g., coordinated with an interfering entity). If the interference is not substantial, then the sequence resource assigned can be used at action 1020 - in one implementation, the methodology can return to event 1010 to monitor operation.

[0083] Referring to Figs. 8-10, methodologies relating to operations regarding assigning of sequence resources are disclosed. While, for purposes of simplicity of explanation, the methodologies are shown and described as a series of acts, it is to be understood and appreciated that the methodologies are not limited by the order of acts, as some acts can, in accordance with one or more embodiments, occur in different orders and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts can be required to implement a methodology in accordance with one or more embodiments.

[0084] It will be appreciated that, in accordance with one or more aspects described herein, inferences can be made regarding whether a cyclic shift should be used, a location of a mobile device, etc. As used herein, the term to "infer" or "inference" refers generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic-that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources. It will be appreciated that the foregoing examples are illustrative in nature and are not intended to limit the number of inferences that can be made or the manner in which such inferences are made in conjunction with the various embodiments and/or methods described herein.

[0085] Fig. 11 is an illustration of a mobile device 1100 that facilitates using a sequence resource assigned through use of a cyclic shift. Mobile device 1100 comprises a receiver 1102 that receives a signal from, for instance, a receive antenna (not shown), and performs typical actions thereon (e.g., filters, amplifies, downconverts, etc.) the received signal and digitizes the conditioned signal to obtain samples. Receiver 1102 can be, for example, an MMSE receiver, and can comprise a demodulator 1104 that can demodulate received symbols and provide them to a processor 1106 for channel estimation. Processor 1106 can be a processor dedicated to analyzing information received by receiver 1102 and/or generating information for transmission by a transmitter 1116, a processor that controls one or more components of mobile device 1100, and/or a processor that both analyzes information received by receiver 1102, generates information for transmission by transmitter 1116, and controls one or more components of mobile device 1100.

[0086] Mobile device 1100 can additionally comprise memory 1108 that is operatively coupled to processor 1106 and that can store data to be transmitted, received data, information related to available channels, data associated with analyzed signal and/or interference strength, information related to an assigned channel, power, rate, or the like, and any other suitable information for estimating a channel and communicating via the channel. Memory 1108 can additionally store protocols and/or algorithms associated with estimating and/or utilizing a channel (e.g., performance based, capacity based, etc.).

[0087] It will be appreciated that the data store (e.g., memory 1108) described herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable PROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The memory 1108 of the subject systems and methods is intended to comprise, without being limited to, these and any other suitable types of memory.

[0088] Processor 1102 is further operatively coupled to an analyzer 1110 and/or a selector 1112. The analyzer 1110 can evaluate a sequence resource instruction on a sequence resource assigned for use from a base station, the sequence resource is assigned through implementation of a generated cyclic shift. Moreover, the selector 1112 can identify a sequence resource to use based upon a result of the evaluation. Mobile device 1100 still further comprises a modulator 1114 and a transmitter 1116 that transmits a signal (e.g., base CQI and differential CQI) to, for instance, a base station, another mobile device, etc. Although depicted as being separate from the processor 1106, it is to be appreciated that the analyzer 1110 and/or selector 1112 can be part of processor 1106 or a number of processors (not shown).

[0089] Fig. 12 is an illustration of a system 1200 that facilitates assignment of a sequence resource. System 1200 comprises a base station 1202 (e.g., access point, ...) with a receiver 1210 that receives signal(s) from one or more mobile devices 1204 through a plurality of receive antennas 1206, and a transmitter 1222 that transmits to the one or more mobile devices 1204 through a plurality of transmit antennas 1208. Receiver 1210 can receive information from receive antennas 1206 and is operatively associated with a demodulator 1212 that demodulates received information. Demodulated symbols are analyzed by a processor 1214 that can be similar to the processor described above with regard to Fig. 11, and which is coupled to a memory 1216 that stores information related to estimating a signal (e.g., pilot) strength and/or interference strength, data to be transmitted to or received from mobile device(s) 1204 (or a disparate base station (not shown)), and/or any other suitable information related to performing the various actions and functions set forth herein.

[0090] Processor 1214 is further coupled to a generator 1218 and/or to an assigner 1220. The generator 1218 can produce a cyclic shift for use in random assignment of a sequence resource to a mobile device. Moreover, the assigner 1220 can assign a sequence resource randomly through implementation of the generated cyclic shift. Information to be transmitted can be provided to a modulator 1222. Modulator 1222 can multiplex the information for transmission by a transmitter 1224 through antenna 1208 to mobile device(s) 1204. Although depicted as being separate from the processor 1214, it is to be appreciated that the generator 1218 and/or assigner 1220 can be part of processor 1214 or a number of processors (not shown).

[0091] Fig. 13 shows an example wireless communication system 1300. The wireless communication system 1300 depicts one base station 1310 and one mobile device 1350 for sake of brevity. However, it is to be appreciated that system 1300 can include more than one base station and/or more than one mobile device, wherein additional base stations and/or mobile devices can be substantially similar or different from example base station 1310 and mobile device 1350 described below. In addition, it is to be appreciated that base station 1310 and/or mobile device 1350 can employ the systems (Figs. 1-7 and 11-12) and/or methods (Figs. 8-10) described herein to facilitate wireless communication there between.

[0092] At base station 1310, traffic data for a number of data streams is provided from a data source 1312 to a transmit (TX) data processor 1314. According to an example, each data stream can be transmitted over a respective antenna. TX data processor 1314 formats, codes, and interleaves the traffic data stream based on a particular coding scheme selected for that data stream to provide coded data.

[0093] The coded data for each data stream can be multiplexed with pilot data using orthogonal frequency division multiplexing (OFDM) techniques. Additionally or alternatively, the pilot symbols can be frequency division multiplexed (FDM), time division multiplexed (TDM), or code division multiplexed (CDM). The pilot data is typically a known data pattern that is processed in a known manner and can be used at mobile device 1350 to estimate channel response. The multiplexed pilot and coded data for each data stream can be modulated (e.g., symbol mapped) based on a particular modulation scheme (e.g., binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), M-phase-shift keying (M-PSK), M-quadrature amplitude modulation (M-QAM), etc.) selected for that data stream to provide modulation symbols. The data rate, coding, and modulation for each data stream can be determined by instructions performed or provided by processor 1330.

[0094] The modulation symbols for the data streams can be provided to a TX MIMO processor 1320, which can further process the modulation symbols (e.g., for OFDM). TX MIMO processor 1320 then provides NT modulation symbol streams to NT transmitters (TMTR) 1322a through 1322t. In various embodiments, TX MIMO processor 1320 applies beamforming weights to the symbols of the data streams and to the antenna from which the symbol is being transmitted.

[0095] [0079] Each transmitter 1322 receives and processes a respective symbol stream to provide one or more analog signals, and further conditions (e.g., amplifies, filters, and upconverts) the analog signals to provide a modulated signal suitable for transmission over the MIMO channel. Further, NT modulated signals from transmitters 1322a through 1322t are transmitted from NT antennas 1324a through 1324t, respectively.

[0096] At mobile device 1350, the transmitted modulated signals are received by NR antennas 1352a through 1352r and the received signal from each antenna 1352 is provided to a respective receiver (RCVR) 1354a through 1354r. Each receiver 1354 conditions (e.g., filters, amplifies, and downconverts) a respective signal, digitizes the conditioned signal to provide samples, and further processes the samples to provide a corresponding "received" symbol stream.

[0097] An RX data processor 1360 can receive and process the NR received symbol streams from NR receivers 1354 based on a particular receiver processing technique to provide NT "detected" symbol streams. RX data processor 1360 can demodulate, deinterleave, and decode each detected symbol stream to recover the traffic data for the data stream. The processing by RX data processor 1360 is complementary to that performed by TX MIMO processor 1320 and TX data processor 1314 at base station 1310.

[0098] A processor 1370 can periodically determine which precoding matrix to utilize as discussed above. Further, processor 1370 can formulate a reverse link message comprising a matrix index portion and a rank value portion.

[0099] The reverse link message can comprise various types of information regarding the communication link and/or the received data stream. The reverse link message can be processed by a TX data processor 1338, which also receives traffic data for a number of data streams from a data source 1336, modulated by a modulator 1380, conditioned by transmitters 1354a through 1354r, and transmitted back to base station 1310.

[0100] At base station 1310, the modulated signals from mobile device 1350 are received by antennas 1324, conditioned by receivers 1322, demodulated by a demodulator 1340, and processed by a RX data processor 1342 to extract the reverse link message transmitted by mobile device 1350. Further, processor 1330 can process the extracted message to determine which precoding matrix to use for determining the beamforming weights.

[0101] Processors 1330 and 1370 can direct (e.g., control, coordinate, manage, etc.) operation at base station 1310 and mobile device 1350, respectively. Respective processors 1330 and 1370 can be associated with memory 1332 and 1372 that store program codes and data. Processors 1330 and 1370 can also perform computations to derive frequency and impulse response estimates for the uplink and downlink, respectively.

[0102] It is to be understood that the embodiments described herein can be implemented in hardware, software, firmware, middleware, microcode, or any combination thereof. For a hardware implementation, the processing units can be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.

[0103] When the embodiments are implemented in software, firmware, middleware or microcode, program code or code segments, they can be stored in a machine-readable medium, such as a storage component. A code segment can represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment can be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. can be passed, forwarded, or transmitted using any suitable means including memory sharing, message passing, token passing, network transmission, etc.

[0104] For a software implementation, the techniques described herein can be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes can be stored in memory units and executed by processors. The memory unit can be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.

[0105] With reference to Fig. 14, illustrated is a system 1400 that facilitates sequence resource management. For example, system 1400 can reside at least partially within a mobile device. It is to be appreciated that system 1400 is represented as including functional blocks, which can be functional blocks that represent functions implemented by a processor, software, or combination thereof (e.g., firmware). System 1400 includes a logical grouping 1402 of means (e.g., electrical components) that can facilitate operation. For instance, logical grouping 1402 can include an electrical component for producing a cyclic shift offset for use in random assignment of a sequence resource to a mobile device 1404 and/or an electrical component for assigning a sequence resource randomly through implementation of the produced cyclic shift offset 1406. Additionally, system 1400 can include a memory 1408 that retains instructions for executing functions associated with electrical components 1404 and 1406. While shown as being external to memory 1408, it is to be understood that one or more of electrical components 1404 and 1406 can exist within memory 1408.

[0106] Turning to Fig. 15, illustrated is a system 1500 facilitates usage of sequence resources. System 1500 can reside within a base station, for instance. As depicted, system 1500 includes functional blocks that can represent functions implemented by a processor, software, or combination thereof (e.g., firmware). System 1500 includes a logical grouping 1502 of means (e.g., electrical components) that can facilitate operation. Logical grouping 1502 can include an electrical component for evaluating a sequence resource instruction on a sequence resource assigned for use from a base station, the sequence resource is assigned through implementation of a generated cyclic shift offset 1504. In addition, the logical grouping 1502 can include an electrical component for identifying a sequence resource to use based upon a result of the evaluation 1506. Additionally, system 1500 can include a memory 1508 that retains instructions for executing functions associated with electrical components 1504 and 1506. While shown as being external to memory 1508, it is to be understood that electrical components 1504 and 1506 can exist within memory 1508.

[0107] The various illustrative logics, logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Additionally, at least one processor may comprise one or more modules operable to perform one or more of the steps and/or actions described above.

[0108] Further, the steps and/or actions of a method or algorithm described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium may be coupled to the processor, such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. Further, in some aspects, the processor and the storage medium may reside in an ASIC. Additionally, the ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal. Additionally, in some aspects, the steps and/or actions of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a machine readable medium and/or computer readable medium, which may be incorporated into a computer program product.

[0109] In one or more aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage medium may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection may be termed a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs usually reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0110] In the following further aspects are described that do not form part of the invention.

[0111] In a first aspect, a method for allocating a sequence resource through randomization is described that is operable upon a wireless communication device, comprising producing a cyclic shift offset for use in random assignment of the sequence resource to a mobile device performed by a first module executable upon the wireless communication device; and assigning a sequence resource randomly through implementation of the produced cyclic shift offset performed by a second module executable upon the wireless communication device. Also, production of the cyclic shift offset may be performed in a coordinated manner. Production may comprise adding together a pseudo-random sequence and a deterministic sequence, a result of the addition is an offset used to produce the cyclic shift offset. Also, production of the cyclic shift offset may be performed in an uncoordinated manner. Production may comprise scrambling an output of a sequence generator, the scrambled output is an offset used to produce the cyclic shift offset. Further, the method for allocating a sequence resource may comprise determining if the cyclic shift offset should be coordinated or uncoordinated. Thereby determining a distance among at least two base stations; and inferring if the distance is such that interference is expected between at least one mobile device associated with each base station, determining if the cyclic shift offset should be coordinated or uncoordinated is based upon a result of the inference. The method for allocating a sequence resource may further comprise identifying a request to perform resource allocation; and determining that a cyclic shift offset should be used upon identifying the request, production of the cyclic shift offset occurs upon a positive determination.

[0112] In another further aspect, an apparatus is described, comprising a generator that produces a cyclic shift offset for use in random assignment of a sequence resource to a mobile device; and an assigner that designates a sequence resource randomly through implementation of the generated cyclic shift offset. Also, production of the cyclic shift offset may be performed in a coordinated manner. Further, the apparatus may comprise an aggregator that adds together a pseudo-random sequence and a deterministic sequence, a result of the addition is an offset used to produce the cyclic shift offset. Also, production of the cyclic shift offset may be performed in an uncoordinated manner. The apparatus may further comprise a shuffler that scrambles an output of a sequence generator, the scrambled output is an offset used to produce the cyclic shift offset. The apparatus may also comprise a classifier that determines if the cyclic shift offset should be coordinated or uncoordinated. Wherein, the apparatus may comprise a measurer that determines a distance among at least two base stations; and a concluder that infers if the distance is such that interference is expected between at least one mobile device associated with each base station, determining if the cyclic shift offset should be coordinated or uncoordinated is based upon a result of the inference. Also the apparatus may further comprise an appraiser that identifies a request to perform resource allocation; and a categorizer that determines that a cyclic shift offset should be used upon identifying the request, production of the cyclic shift offset occurs upon a positive determination.

[0113] In yet another further aspect, at least one processor configured to allocate a sequence resource through randomization is described, comprising a first module for producing a cyclic shift offset for use in random assignment of the sequence resource to a mobile device; and a second module for assigning a sequence resource randomly through implementation of the produced cyclic shift offset.

[0114] In another further aspect, a computer program product is described, comprising a computer-readable medium comprising a first set of codes for causing a computer to produce a cyclic shift offset for use in random assignment of a sequence resource to a mobile device; and a second set of codes for causing the computer to assign a sequence resource randomly through implementation of the produced cyclic shift offset.

[0115] In another further aspect, an apparatus is described, comprising means for producing a cyclic shift offset for use in random assignment of a sequence resource to a mobile device; and means for assigning a sequence resource randomly through implementation of the produced cyclic shift offset.

[0116] In yet another further aspect, a method for using a resource is described, the method is operable upon a wireless communication device, comprising evaluating a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset, the evaluating is performed by a first module executable upon the wireless communication device; and identifying a sequence resource to use based upon a result of the evaluation performed by a second module executable upon the wireless communication device. Here, the generation of the cyclic shift offset may be coordinated. Whereby, a pseudo-random sequence and a deterministic sequence are added together, a result of the addition is an offset used to generate the cyclic shift offset. If the cyclic shift offset is coordinated, the mobile device is not likely to interfere with a mobile device using another base station. Whereby, coordinated cyclic shift offset generation occurs upon processing of an interference notification. Also, the generation of the cyclic shift offset might be uncoordinated. Here, the cyclic shift offset is generated through use of a scrambled output of a sequence generator. The method for using a resource may further comprise providing location metadata, at least a portion of the provided location metadata is used to determine a manner of cyclic shift offset generation.

[0117] In yet another further aspect, an apparatus is described, comprising an analyzer that evaluates a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset; and a selector that identifies a sequence resource to use based upon a result of the evaluation. Here, the generation of the cyclic shift offset might be coordinated. Thus, a pseudo-random sequence and a deterministic sequence are added together, a result of the addition is an offset used to generate the cyclic shift offset. For coordinated generation, the mobile device is likely to interfere with a mobile device using another base station. Whereby, coordinated cyclic shift offset generation occurs upon processing of an interference notification. However, generation of the cyclic shift offset might uncoordinated. Here, the cyclic shift offset is generated through use of a scrambled output of a sequence generator. The apparatus may further comprise a transmitter that provides location metadata, at least a portion of the provided location metadata is used to determine a manner of cyclic shift offset generation.

[0118] In another further aspect, at least one processor is described, configured to use a resource comprising a first module for evaluating a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset; and a second module for identifying a sequence resource to use based upon a result of the evaluation.

[0119] In another further aspect, a computer program product is described, comprising a computer-readable medium comprising a first set of codes for causing a computer to evaluate a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset; and a second set of codes for causing the computer to identify a sequence resource to use based upon a result of the evaluation.

[0120] In yet another further aspect, an apparatus is described, comprising means for evaluating a sequence resource instruction on a sequence resource assigned for use, the sequence resource is assigned through implementation of a generated cyclic shift offset; and comprising means for identifying a sequence resource to use based upon a result of the evaluation.


Claims

1. A method for allocating a sequence resource through randomization, comprising:

producing (918) a cyclic shift offset for use in random assignment of the sequence resource to a mobile device; and

assigning a sequence resource randomly through implementation of the produced cyclic shift offset;

characterized in that the method further comprises:

determining a distance between base stations, mobile devices or mobile devices and base stations;

inferring (904) if the determined distance is such that interference is expected; and

determining (908) if the cyclic shift offset should be coordinated among nearby base stations or uncoordinated based upon a result of the inference.


 
2. The method of claim 1, if it is determined that the cyclic offset is performed in a coordinated manner, adding (912) together a pseudo-random sequence and a deterministic sequence, wherein a result of the addition is an offset used to produce the cyclic shift offset.
 
3. The method of claim 1, if it is determined that the cyclic offset is performed in an uncoordinated manner, scrambling (916) an output of a sequence generator, wherein the scrambled output is an offset used to produce the cyclic shift offset.
 
4. The method of claim 1, further comprising:

identifying a request to perform resource allocation; and

determining that a cyclic shift offset should be used upon identifying the request, production of the cyclic shift offset occurs upon a positive determination.


 
5. A computer program product, comprising a computer-readable medium with instructions for carrying out a method according to any of claims 1 to 4.
 
6. An apparatus (1402), comprising:

means (1404) for producing a cyclic shift offset for use in random assignment of a sequence resource to a mobile device;

means (1406) for assigning a sequence resource randomly through implementation of the produced cyclic shift offset;

characterized in that the apparatus further comprises:

means for determining a distance between base stations, mobile devices or mobile devices and base stations;

means for inferring if the determined distance is such that interference is expected; and

means for determining if the cyclic shift offset should be coordinated among nearby base stations or uncoordinated based upon a result of the inference.


 


Ansprüche

1. Ein Verfahren zum Zuweisen einer Sequenz Ressource durch Randomisierung, aufweisend:

Erzeugen (918) eines zyklischen Verschiebungsabstands zur Verwendung bei zufälliger Zuordnung von der Sequenz Ressource zu einem mobilen Gerät; und

Zufälliges Zuordnen einer Sequenz Ressource durch die Implementierung von dem erzeugten zyklischen Verschiebungsabstand;

dadurch gekennzeichnet, dass das Verfahren weiter aufweist:

Bestimmen einer Entfernung zwischen Basisstationen, mobilen Geräten oder mobilen Geräten und Basisstationen;

Folgern (904), ob die bestimmte Entfernung derart ist, dass Störung erwartet wird; und

Bestimmen (908), ob der zyklische Verschiebungsabstand unter nahen Basisstationen koordiniert werden sollte oder unkoordiniert, basierend auf einem Ergebnis von der Folgerung.


 
2. Das Verfahren nach Anspruch 1, falls es bestimmt ist, dass die zyklische Beabstandung durchgeführt wird in einer koordinierten Weise, zusammenaddierend (912) eine pseudozufällige Sequenz und eine deterministische Sequenz, worin ein Ergebnis von der Addition ein Abstand ist, benutzt, um den zyklischen Verschiebungsabstand zu erzeugen.
 
3. Das Verfahren nach Anspruch 1, falls es bestimmt ist, dass die zyklische Beabstandung durchgeführt wird in einer unkoordinierten Weise, Scrambling (916) einer Ausgabe von einem Sequenzgenerator, worin die gescrambelte Ausgabe ein Abstand ist, benutzt, um den zyklischen Verschiebungsabstand zu erzeugen.
 
4. Das Verfahren nach Anspruch 1, weiter aufweisend:

Identifizieren einer Anfrage, um Ressourcenzuweisung durchzuführen; und

Bestimmen, dass ein zyklischer Verschiebungsabstand benutzt werden sollte bei Identifizieren der Anfrage, Erzeugung von dem zyklischen Verschiebungsabstand erfolgt bei einer positiven Bestimmung.


 
5. Ein Computerprogramm-Produkt, aufweisend Ein computerlesbares Medium mit Anweisungen zum Ausführen eines Verfahrens nach jedem von Ansprüchen 1 bis 4.
 
6. Eine Vorrichtung (1402), aufweisend:

Mittel (1404) zum Erzeugen eines zyklischen Verschiebungsabstands zur Verwendung bei zufälliger Zuordnung von der Sequenz Ressource zu einem mobilen Gerät;

Mittel (1406) für zufälliges Zuordnen einer Sequenz Ressource durch die Implementierung von dem erzeugten zyklischen Verschiebungsabstand;

dadurch gekennzeichnet, dass die Vorrichtung weiter aufweist:

Mittel zum Bestimmen einer Entfernung zwischen Basisstationen, mobilen Geräten oder mobilen Geräten und Basisstationen;

Mittel zum Folgern, ob die bestimmte Entfernung derart ist, dass Störung erwartet wird; und

Mittel zum Bestimmen, ob der zyklische Verschiebungsabstand unter nahen Basisstationen koordiniert werden sollte oder unkoordiniert, basierend auf einem Ergebnis von der Folgerung.


 


Revendications

1. Un procédé d'allocation d'une ressource de séquence par randomisation, comprenant :

la production (918) d'un décalage de transfert cyclique pour une utilisation dans une attribution aléatoire de la ressource de séquence à un dispositif mobile ; et

l'attribution d'une ressource de séquence aléatoirement par implémentation du décalage de transfert cyclique produit ;

caractérisé en ce que le procédé comprend en outre :

la détermination d'une distance entre des stations de base, entre des dispositifs mobiles ou entre des dispositifs mobiles et des stations de base ;

la déduction (904) si la distance déterminée est telle qu'une interférence est à attendre ; et

la détermination (908) si le décalage de transfert cyclique doit être coordonné entre stations de base voisines ou non coordonné en fonction d'un résultat de la déduction.


 
2. Le procédé de la revendication 1, comprenant, s'il est déterminé que le décalage cyclique est exécuté d'une manière coordonnée, l'addition (912) ensemble d'une séquence pseudo-aléatoire et d'une séquence déterministe, un résultat de l'addition étant un décalage utilisé pour produire le décalage de transfert cyclique.
 
3. Le procédé de la revendication 1, comprenant, s'il est déterminé que le décalage cyclique est exécuté d'une manière non coordonnée, le brouillage (916) d'une sortie d'un générateur de séquences, la sortie brouillée étant un décalage utilisé pour produire le décalage de transfert cyclique.
 
4. Le procédé de la revendication 1, comprenant en outre :

l'identification d'une requête pour exécuter une allocation de ressource ; et

la détermination qu'un décalage de transfert cyclique doit être utilisé sur identification de la requête, la production du décalage de transfert cyclique ayant lieu sur une détermination positive.


 
5. Un programme-produit informatique, comprenant :

un support lisible par calculateur avec des instructions pour mettre en oeuvre un procédé selon l'une des revendications 1 à 4.


 
6. Un équipement (1402), comprenant :

des moyens (1404) de production d'un décalage de transfert cyclique pour une utilisation dans une attribution aléatoire d'une ressource de séquence à un dispositif mobile ;

des moyens (1406) d'attribution d'une ressource de séquence aléatoirement par implémentation du décalage de transfert cyclique produit ;

caractérisé en ce que l'équipement comprend en outre :

des moyens de détermination d'une distance entre des stations de base, entre des dispositifs mobiles ou entre des dispositifs mobiles et des stations de base ;

des moyens de déduction si la distance déterminée est telle qu'une interférence est à attendre ; et

des moyens de détermination si le décalage de transfert cyclique doit être coordonné entre stations de base voisines ou non coordonné en fonction d'un résultat de la déduction.


 




Drawing


















































Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description




Non-patent literature cited in the description