# Patent

## Title
Low par zero auto-correlation zone sequences for code sequence modulation

## Abstract

In one non-limiting exemplary embodiment, a method includes: randomly selecting a set of sequences with each sequence having sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences is a candidate set of sequences; calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and in response to the first cubic metric being larger than at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This patent application claims priority under 35 U.S.C. §119(e) from U.S. Provisional Patent Application No. 60/936,379, filed Jun. 20, 2007, and from U.S. Provisional Patent Application No. 60/967,792, filed Sep. 7, 2007, the disclosures of which are incorporated by reference herein in their entirety.


TECHNICAL FIELD
The exemplary and non-limiting embodiments of this invention relate generally to wireless communication systems, methods, devices and computer program products and, more specifically, relate to techniques for transmitting information between a user device and a wireless network device.
BACKGROUND
Certain abbreviations that may be found in the description and/or in the Figures are herewith defined as follows:

    3GPP Third Generation Partnership Project
    CAZAC constant-amplitude zero auto-correlation
    CDF cumulative distribution function
    CDM code division multiplexing
    CDMA code division multiple access
    CM cubic metric
    CP cyclic prefix
    CQI channel quality indicator
    DFT discrete Fourier transform
    DFT-S-OFDM discrete Fourier transform spread OFDM (SC-FDMA based on frequency domain processing)
    eNode B E-UTRAN Node B (eNB)
    E-UTRAN evolved UTRAN
    FDM frequency division multiplexing
    FDMA frequency division multiple access
    FFT fast Fourier transform
    IFFT inverse FFT
    LB long block
    LTE long term evolution of UTRAN (E-UTRAN)
    Node B base station
    OFDM orthogonal frequency division multiplexing
    OFDMA orthogonal frequency division multiple access
    PAR peak to average ratio
    PRB physical resource block
    PUCCH physical uplink control channel
    PUSCH physical uplink shared channel
    QPSK quadrature phase shift keying
    RAZAC random zero auto-correlation
    RRC radio resource control
    SC subcarrier
    SC-FDMA single carrier, frequency division multiple access
    SNR signal to noise ratio
    UE user equipment, such as a mobile station or mobile terminal
    UL uplink
    UTRAN universal terrestrial radio access network
    ZC Zadoff-Chu


A proposed communication system known as evolved UTRAN (E-UTRAN, also referred to as UTRAN-LTE) is currently under discussion within the 3GPP. The working assumption is that the DL access technique will be OFDMA, and the UL technique will be SC-FDMA.
Reference may be made to Section 6 of 3GPP TR 36.211, V1.0.0 (2007-03), 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Physical Channels and Modulation (Release 8) for a description of the UL physical channels.
Reference may also be made to 3GPP TR 25.814, V7.1.0 (2006-09), 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Physical layer aspects for evolved Universal Terrestrial Radio Access (UTRA) (Release 7), such as generally in section 9.1, for a description of the SC-FDMA UL of E-UTRAN.
FIG. 1A reproduces FIG. 12 of 3GPP TS 36.211 and shows the UL slot format for a generic frame structure.
As is described in Section 9.1 of 3GPP TR 25.814, the basic uplink transmission scheme is single-carrier transmission (SC-FDMA) with cyclic prefix to achieve uplink inter-user orthogonality and to enable efficient frequency-domain equalization at the receiver side. Frequency-domain generation of the signal, sometimes known as DFT-spread OFDM (DFT S-OFDM), is assumed.
FIG. 1B shows the generation of pilot samples. An extended or truncated Zadoff-Chu symbol sequence is applied to an IFFT block via a sub-carrier mapping block. The sub-carrier mapping block determines which part of the spectrum is used for transmission by inserting a suitable number of zeros at the upper and/or lower end. A CP is inserted into the output of the IFFT block.
In the PUCCH sub-frame structure for the UL control signaling, seven SC-FDMA symbols (also referred to herein as “LBs” for convenience) are currently defined per slot. A sub-frame consists of two slots. Part of the LBs are used for reference signals (pilot long blocks) for coherent demodulation. The remaining LBs are used for control and/or data transmission.
The current working assumption is that for the PUCCH the multiplexing within a PRB is performed using CDM and (localized) FDM is used for different resource blocks. In the PUCCH, the bandwidth of one control and pilot signal always corresponds to one PRB=12 SCs.
Two types of CDM are used both for data and pilot LBs. Multiplexing based on the usage of cyclic shifts provides nearly complete orthogonality between different cyclic shifts if the length of cyclic shift is larger than the delay spread of the radio channel. For example, with an assumption of a 5 microsecond delay spread in the radio channel, up to 12 orthogonal cyclic shifts within one LB can be achieved. Sequence sets for different cells are obtained by changing the sequence index.
Another type of CDM may be applied between LBs based on orthogonal covering sequences, e.g., Walsh or DFT spreading. This orthogonal covering may be used separately for those LBs corresponding to the RS and those LBs corresponding to the data signal. The CQI is typically transmitted without orthogonal covering.
Of particular interest to the exemplary embodiments of this invention is control channel signaling and, in particular, the use of the PUCCH.
As was noted, it has been determined in 3GPP that UEs having CQI transmission are code division multiplexed by means of different cyclic shifts of CAZAC sequences. In commonly owned and copending U.S. Provisional Patent Application No. 60/933,760, filed Jun. 8, 2007, by Kari Pajukoski, Esa Tiirola and Kari Hooli, entitled: Multi-code Precoding for CAZAC Sequence Modulation, Nokia Siemens Networks Oy Docket No.: 2007P02633, Harrington & Smith, PC Docket No. 863.0066.P1 (US), multi-code sequence modulation is provided to allow for larger CQI sizes, and a multi-code preceding for CAZAC sequence modulation is described.
One problem related to conventional CAZAC sequence modulation is the small spectrum efficiency per UE, due to the fact that only one modulated CAZAC sequence per UE can be transmitted during the long block. Correspondingly, the maximum symbol rate is limited to one symbol per block. Spectrum efficiency can be increased by transmitting multiple modulated CAZAC sequences simultaneously, however the use of this approach suffers from an increased PAR, which in turn results in either higher UE power consumption or decreased CQI coverage. The preceding method disclosed in U.S. Provisional Patent Application No. 60/933,760 significantly reduces PAR for multi-code sequence modulation. However, multi-code sequence modulation can still exhibit a larger PAR than single code sequence modulation.
3GPP has proposed the use of Zadoff-Chu sequences, as well as the extended and truncated modifications of Zadoff-Chu sequences, considered together with numerically searched CAZAC-like sequences. However, the multi-code sequence modulation has not been considered in the design of these sequences and one result of this is an increase in CM when multi-code sequence modulation is applied.
In 3GPP TSG RAN WG1 #49, Kobe, Japan, May 7-11, 2007, “Design of CAZAC Sequences for Small RB Allocations in E-UTRA UL”, Texas Instruments, R1-072206, a numerical search method for CAZAC-like sequences is presented. The method can be approximately summarized as follows:

    1. A set of initial sequences are randomly selected with elements on the unit circle.
    2. Sequences are iterated with two steps in a loop:
    
        a. Sequences are forced to flat in frequency by dividing each sequence element with its amplitude; and
        b. Sequences are forced to flat in time by dividing each sequence element with its amplitude.
    
    


More specifically, R1-072206 describes a method for generating CAZAC sequences by computer search using random initialization. Because a random procedure is used to search these CAZAC sequences, they are referred to as Random-CAZAC. The procedure for generating the CAZAC sequence of length N is as follows:

    
    
        (1) Let i=1, in the first step generate N QPSK random complex numbers:

{tilde over (X)}if={{tilde over (x)}if(1), {tilde over (x)}if(2), . . . {tilde over (x)}if(n) . . . , {tilde over (x)}if(N)}; {tilde over (x)}if(n)ε{1+j, 1−j, −1+j, −1−j}. 

        (2) Next, define the sequence:
    
    






  
    
      X
      i
      f
    
    =
    
      
        {
        
          
            
              x
              1
              f
            
            ⁡
            
              (
              1
              )
            
          
          ,
          
            
              x
              1
              f
            
            ⁡
            
              (
              2
              )
            
          
          ,
          
            ...
            ⁢
            
              
            
            ⁢
            
              
                x
                1
                f
              
              ⁡
              
                (
                n
                )
              
            
            ⁢
            
              
            
            ⁢
            ...
          
          ⁢
          
            
          
          ,
          
            
              x
              1
              f
            
            ⁡
            
              (
              N
              )
            
          
        
        }
      
      =
      
        
          {
          
            
              
                
                  
                    x
                    ~
                  
                  i
                  f
                
                ⁡
                
                  (
                  1
                  )
                
              
              
                
                
                  
                    
                      x
                      ~
                    
                    i
                    f
                  
                  ⁡
                  
                    (
                    1
                    )
                  
                
                
              
            
            ,
            
              
                
                  
                    x
                    ~
                  
                  i
                  f
                
                ⁡
                
                  (
                  2
                  )
                
              
              
                
                
                  
                    
                      x
                      ~
                    
                    i
                    f
                  
                  ⁡
                  
                    (
                    2
                    )
                  
                
                
              
            
            ,
            
              ...
              ⁢
              
                
              
              ⁢
              
                
                  
                    
                      x
                      ~
                    
                    i
                    f
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
                
                  
                  
                    
                      
                        x
                        ~
                      
                      i
                      f
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  
                
              
              ⁢
              ...
            
            ⁢
            
              
            
            ,
            
              
                
                  
                    x
                    ~
                  
                  i
                  f
                
                ⁡
                
                  (
                  N
                  )
                
              
              
                
                
                  
                    
                      x
                      ~
                    
                    i
                    f
                  
                  ⁡
                  
                    (
                    N
                    )
                  
                
                
              
            
          
          }
        
        .
      
    
  
  ⁢
  
    
  




    
    
        (3) Let sequence {tilde over (X)}it={{tilde over (x)}it(1), {tilde over (x)}it(2), . . . , {tilde over (x)}it(N)} be the IFFT of sequence {tilde over (X)}if, and define the sequence:
    
    






  
    X
    i
    t
  
  =
  
    
      {
      
        
          
            x
            i
            t
          
          ⁡
          
            (
            1
            )
          
        
        ,
        
          
            x
            i
            t
          
          ⁡
          
            (
            2
            )
          
        
        ,
        
          ...
          ⁢
          
            
          
          ⁢
          
            
              x
              i
              t
            
            ⁡
            
              (
              n
              )
            
          
          ⁢
          
            
          
          ⁢
          ...
        
        ⁢
        
          
        
        ,
        
          
            x
            i
            t
          
          ⁡
          
            (
            N
            )
          
        
      
      }
    
    =
    
      
        {
        
          
            (
            
              
                
                  
                    x
                    ~
                  
                  i
                  t
                
                ⁡
                
                  (
                  1
                  )
                
              
              
                
                
                  
                    
                      x
                      ~
                    
                    i
                    t
                  
                  ⁡
                  
                    (
                    1
                    )
                  
                
                
              
            
            )
          
          ,
          
            (
            
              
                
                  
                    x
                    ~
                  
                  i
                  t
                
                ⁡
                
                  (
                  2
                  )
                
              
              
                
                
                  
                    
                      x
                      ~
                    
                    i
                    t
                  
                  ⁡
                  
                    (
                    2
                    )
                  
                
                
              
            
            )
          
          ,
          
            ...
            ⁢
            
              
            
            ⁢
            
              (
              
                
                  
                    
                      x
                      ~
                    
                    i
                    t
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
                
                  
                  
                    
                      
                        x
                        ~
                      
                      i
                      t
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  
                
              
              )
            
            ⁢
            
              
            
            ⁢
            ...
            ⁢
            
              
            
            ⁢
            
              (
              
                
                  
                    
                      x
                      ~
                    
                    i
                    t
                  
                  ⁡
                  
                    (
                    N
                    )
                  
                
                
                  
                  
                    
                      
                        x
                        ~
                      
                      i
                      t
                    
                    ⁡
                    
                      (
                      N
                      )
                    
                  
                  
                
              
              )
            
          
        
        }
      
      .
    
  




    
    
        (4) Let the FFT of the sequence Xit be now denoted by {tilde over (X)}if; set i=i+1 and go back to step (2). Repeat the above steps (2), (3) and (4) for say M=1000 or more.
    
    


For large number of iterations, it is said that it was found that the resulting sequence XMt is a CAZAC sequence. Further, several such CAZAC sequences can be generated by starting with a different random sequence in step (1) above.
SUMMARY
The below summary section is intended to be merely exemplary and non-limiting.
In one exemplary embodiment of the invention, a method comprising: randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences; calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and in response to the first cubic metric being larger than at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence.
In another exemplary embodiment of the invention, a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for performing operations, said operations comprising: randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences; calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and in response to the first cubic metric being larger than at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence.
In another exemplary embodiment of the invention, an apparatus comprising: a memory and at least one processor, where the at least one processor is configured to: randomly select a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences; calculate a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and in response to the first cubic metric being larger than at least one threshold, remove the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence, where the at least one saved sequence is stored on the memory.
In another exemplary embodiment of the invention, an apparatus comprising: means for randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences; means for calculating a first cubic metric or each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and means, in response to the first cubic metric being larger than at least one threshold, for removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence.



BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other aspects of exemplary embodiments of this invention are made more evident in the following Detailed Description, when read in conjunction with the attached Drawing Figures, wherein:
FIG. 1A reproduces FIG. 12 of 3GPP TS 36.211 and shows the UL slot format for a generic frame structure;
FIG. 1B is a block diagram that illustrates the generation of pilot samples for the 3GPP LTE SC-FDMA UL;
FIG. 2 shows a simplified block diagram of various electronic devices that are suitable for use in practicing the exemplary embodiments of this invention;
FIG. 3 is a graph that presents the CDF of CM for extended and truncated Zadoff-Chu sequences, as well as for 12 exemplary RAZAC sequences, with results for both single code (1×) and multi-code (2×) modulation being depicted;
FIG. 4 is a logic flow diagram in accordance with exemplary embodiments of a method, and a computer program product, in accordance with this invention for determining the set of random zero auto-correlation (RAZAC) sequences shown in FIG. 5;
FIGS. 5A-5E, collectively referred to as FIG. 5, show a set of RAZAC sequences in accordance with the exemplary embodiments of this invention;
FIGS. 6A and 6B, collectively referred to as FIG. 6, show a selected subset of the set of RAZAC sequences of FIG. 5;
FIG. 7 is a logic flow diagram in accordance with exemplary embodiments of a method, and a computer program product, in accordance with this invention for use in selecting the subset of RAZAC sequences shown in FIG. 6;
FIG. 8 shows a set of RAZAC-like sequences for length 1RB PUSCH demodulation reference sequences in accordance with the exemplary embodiments of this invention;
FIGS. 9A-9C, collectively referred to as FIG. 9, show a set of RAZAC-like sequences for length 2RB PUSCH demodulation reference sequences in accordance with the exemplary embodiments of this invention;
FIG. 10 is another logic flow diagram in accordance with exemplary embodiments of a another method, and a computer program product, in accordance with this invention for use in selecting a subset of the exemplary RAZAC-like sequences shown in FIG. 9;
FIG. 11 is another logic flow diagram in accordance with exemplary embodiments of a another method, and a computer program product, in accordance with this invention for use in selecting a set of the exemplary sequences;
FIG. 12 is another logic flow diagram in accordance with exemplary embodiments of a another method, and a computer program product, in accordance with this invention for use in selecting a set of the exemplary sequences; and
FIG. 13 is another logic flow diagram in accordance with exemplary embodiments of a another method, and a computer program product, in accordance with this invention for use in selecting a set of the exemplary sequences.



DETAILED DESCRIPTION
The exemplary embodiments of this invention pertain at least in part to the UL portion of the LTE, and, more specifically, pertain to PUCCH DL CQI modulation in the UL PUCCH channel. The exemplary embodiments of this invention provide novel sequences suitable for both multi-code and single-code sequence modulation while exhibiting a low PAR. The exemplary embodiments of this invention also provide novel sequences suitable as PUSCH demodulation reference sequences, for example, for both 1 and 2 resource block (RB) allocations.
By way of introduction, reference is made to FIG. 2 for illustrating a simplified block diagram of various electronic devices that are suitable for use in practicing the exemplary embodiments of this invention. In FIG. 2, a wireless network 1 is adapted for communication with a UE 10 via at least one Node B (base station) 12 (also referred to herein as an eNode B 12). The network 1 may include a network control element 14 coupled to the eNode B 12 via a data path 13. The UE 10 includes a data processor (DP) 10A, a memory (MEM) 10B that stores a program (PROG) 10C, and a suitable radio frequency (RF) transceiver 10D having a transmitter (T) and a receiver (R) for bidirectional wireless communication with the eNode B 12, which also includes a DP 12A, a MEM 12B that stores a PROG 12C, and a suitable RF transceiver 12D having a transmitter (T) and a receiver (R). The eNode B 12 is typically coupled via the data path 13 to the network control element 14 that also includes at least one DP 14A and a MEM 14B storing an associated PROG 14C. At least one of the PROGs 10C and 12C is assumed to include program instructions that, when executed by the associated DP, enable the respective electronic device to operate in accordance with the exemplary embodiments of this invention, as will be discussed below in greater detail.
In a typical implementation, there will be a plurality of UEs 10 that are present and that require the use of UL signaling.
In general, the various embodiments of the UE 10 can include, but are not limited to, cellular telephones, personal digital assistants (PDAs) having wireless communication capabilities, portable computers having wireless communication capabilities, image capture devices such as digital cameras having wireless communication capabilities, gaming devices having wireless communication capabilities, music storage and playback appliances having wireless communication capabilities, Internet appliances permitting wireless Internet access and browsing, as well as portable units or terminals that incorporate combinations of such functions.
The exemplary embodiments of this invention may be implemented by computer software executable by the DP 10A of the UE 10 and the DP 12A of the eNode B 12, or by hardware, or by a combination of software (and firmware) and hardware.
The MEMs 10B, 12B and 14B may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The DPs 10A, 12A and 14A may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on a multi-core processor architecture, as non-limiting examples.
Discussing now in greater detail the exemplary embodiments of this invention, there is provided a set of numerically searched sequences which have the following properties:

    
    
        nearly zero auto-correlation zone that provide nearly orthogonal cyclic shifts and flat frequency response;
        a CM mainly below 1 dB with single-code sequence modulation; and
        a low CM when used with the precoded multi-code sequence modulation presented in U.S. Provisional Patent Application No. 60/933,760.
    
    


The disclosed sequences may be differentiated from the sequences previously considered in 3GPP in at least two main respects. First, the sequences exhibit a low CM with precoded multi-code sequence modulation. Second, the sequences do not have constant amplitude in time, thus, they are not characterized as CAZAC-like sequence. Instead, they may be characterized generally as random zero auto-correlation (RAZAC) sequences or as RAZAC-like sequences.
An exemplary set of 53 RAZAC sequences is presented in FIGS. 5A-5E. In this case, each of the 53 sequences has 12 elements each comprised of a value having a real and an imaginary part. In FIGS. 5A-5E, the sequences are presented both in the frequency and time domains. From the set of sequences, sequence subsets may be selected so that the cross-correlations between the sequences within the subset are reasonable (acceptable for use). A non-limiting example of such a subset containing 12 sequences is shown in FIGS. 6A and 6B, and includes the sequences 4, 20, 21, 24, 26, 31, 32, 33, 36, 39, 46 and 51 from the set of RAZAC sequences shown in FIG. 5. Such a subset allows for a sequence reuse factor of 12.
It should be pointed out that FIG. 5 is not intended to present an exhaustive list of RAZAC sequences, and that there may be others that could be employed. It is also pointed out that the RAZAC sequences may be rotated and/or scaled by multiplying the entire sequence by a complex number. However, this type of operation does not fundamentally change the sequence.
The sequences may be numerically searched with the following method that forms an aspect of the exemplary embodiments of this invention (reference is also made to FIG. 4 in this regards).
4A. A set of initial sequences are randomly selected with elements on the unit circle.
4B. The sequences are iterated with three steps in a loop:

    
    
        4Ba. Sequences are forced to flat in frequency by dividing each sequence element with its amplitude.
        4Bb. For each sequence, the CM is calculated for both single code and multi-code modulation. If both CMs are less than some given thresholds, and less than the CM during previous iterations, the sequence is saved. This step may be performed every nth iteration (e.g., every 5th iteration).
        4Bc. For each sequence, the variance of the sequence element amplitudes in time is calculated for both single code and multi-code modulation. If the variance with single code modulation is larger than with multi-code modulation, the sequence with single code modulation is forced to flat in time by dividing sequence elements with the amplitude. If the variance with multi-code modulation is larger than with single code modulation, the sequence with multi-code modulation is forced to flat in time by dividing each sequence element with its amplitude.
    
    


During the search, different exemplary embodiments of the method may used with differences in steps 4Bb and 4Bc. Note that the presence and execution of the steps 4Bb and 4Bc is clearly different than the search method discussed above for R1-072206.
The unit circle may be a unit circle in the complex plane such that the frequencies for the sequence elements of the randomly selected sequences have a real part and an imaginary part, as with the examples shown in FIGS. 5, 6, 8 and 9, as described in greater detail below. In some exemplary embodiments, each sequence element has a frequency selected from constellation points on a unit circle (see FIGS. 8 and 9). In some exemplary embodiments, each sequence element has a frequency selected from four constellation points on a unit circle (see FIGS. 8 and 9). The constellation points (e.g., the four constellation points) may be evenly-spaced about the unit circle (see FIGS. 8 and 9). In some exemplary embodiments, the constellation points comprise QPSK constellation points.
From the obtained set of sequences, a subset may be selected from it with the following method that also forms an aspect of the exemplary embodiments of this invention (reference is made to FIG. 7 in this regard).
7A. All sequences are included in a candidate sequence subset. Cross-correlations are calculated for all sequence pairs. For each sequence pair, cross-correlations are calculated for all cyclic shift combinations, from which the cross-correlation value with the largest amplitude is selected as a cross-correlation representative value for the cross-correlations between that sequence pair.
7B. Three cross-correlation thresholds C1, C2, C3 are selected so that C1>C2>C3.
7C. Calculations are iterated in a loop so that one sequence is removed from the candidate subset on each iteration. Iterations are continued until there remain a desired number of sequences in the candidate subset, or no sequences are found to be removed. There are four steps in the loop:

    
    
        7Ca. For each sequence, denoted with k, the related cross-correlation representative values are examined. The number of representative values exceeding a cross-correlation threshold is counted for each threshold C1, C2, C3, resulting in A1(k), A2(k), A3(k).
        7Cb. Only the sequences having A1 equal to the maximum A1 value over all sequences are selected for further consideration in 7Cc.
        7Cc. Only the sequences having A2 equal to the maximum A2 value over all sequences considered in 7Cc are selected for further consideration in 7Cd.
        7Cd. The sequence having the largest A3 value over all sequences considered in 7Cd is removed from the candidate sequence subset. If there are multiple sequences with the largest A3 value, one sequence from those is selected to be removed. Also the cross-correlation representative values related to the removed sequence are removed from the calculation.
    
    


As non-limiting examples, the sequences as described above may be used for sequence modulation on the PUCCH, as well as for demodulation and sounding reference signals of length 12. When considering sequence modulation on the PUCCH, a reasonable subset of sequences, such as in FIG. 6, may be defined and saved in the memories 10B, 12B of the UE 10 and the eNB 12. Sequences and their cyclic shifts may be allocated by means of higher layer signaling (e.g., by RRC signaling). The sequence index may be cell-specific, whereas the cyclic shift index or indices may be resource-specific and/or UE-specific. The modulation used with multi-code sequence modulation may be as described in U.S. Provisional Patent Application No. 60/933,760. In addition, the two cyclic shifts used in the multi-code modulation may be consecutive, e.g., one of the pairs {0,1}, {2,3}, {4,5}, {6,7}, {8,9}, {10,11}.
In further exemplary embodiments of the invention, exemplary sets of 30 RAZAC-like sequences of 1 and 2 RB lengths for PUSCH demodulation reference sequences are presented in FIGS. 8 and 9, respectively. In this case each of the 30 sequences has 12 elements (1 RB length) or 24 elements (2 RB length) in frequency, each element comprised of a value having a real and an imaginary part. These values are restricted so that they can be represented with 2 bits. This limits the number of allowed values per sequence element to 4. Due to this limited sequence set, a candidate sequence set can be searched with conventional numerical search methods so that the candidate sequence set fulfills the following three requirements:

    
    
        Sequences have low PAR with single sequence modulation and with multi-sequence modulation in the case of sequences of length 12.
        Sequences have reasonable (i.e., acceptable for use) cross-correlations with extended Zadoff-Chu sequences of length 36.
        Sequences of length 24 have reasonable (i.e., acceptable for use) cross-correlations with a set of sequences of length 12 (which is selected first).
    
    


However, to select a sequence set from the exemplary candidate sequence set(s) so that the cross-correlations between the sequences within the set are reasonable (i.e., acceptable for use), the following variant of the method depicted in FIG. 7 may be used. This variant is shown in the exemplary logic flow diagram of FIG. 10.
10A. All sequences are included in a candidate sequence subset. Cross-correlations are calculated for all sequence pairs. For each sequence pair, cross-correlations are calculated for all cyclic shift combinations, from which the cross-correlation value with the largest amplitude is selected as a cross-correlation representative value for the cross-correlations between that sequence pair. In addition, for each sequence pair, mean squared difference between cross-correlations and m/sqrt(N) is calculated over all cyclic shift combinations, resulting in B2(k). N is the sequence length and k is the sequence index. The value 1/sqrt(N) is the cross-correlation value between Zadoff-Chu sequences and m is a scaling factor.
10B. Cross-correlation threshold D and scaling factor m are selected.
10C. Calculations are iterated in a loop so that one sequence is removed from the candidate subset on each iteration. Iterations are continued until there remain a desired number of sequences in the candidate subset, or no sequences are found to be removed. There are three steps in the loop:

    
    
        10Ca. For each sequence, denoted with k, the related cross-correlation representative values are examined. The number of representative values exceeding a cross-correlation threshold C is counted for threshold D, resulting in B1(k).
        10Cb. Only the sequences having B13 equal to the maximum B1 value over all sequences are selected for further consideration in 10Cc.
        10Cc The sequence with the largest mean squared difference B2(k) is discarded.
    
    


It should be noted that threshold C may be adjusted and calculation repeated to obtain a sequence set of a desired size. In addition, mean cross-correlation between a sequence pair may be used instead of the mean squared difference.
As further non-limiting examples, the sequence sets selected as described above may be used for sequence modulation on the PUCCH, as well as for demodulation and sounding reference signals of lengths 12 and 24.
As should be appreciated, a number of advantages can be realized by the use of the exemplary embodiments of this invention. For example, and referring to FIG. 3, the CDF of the CM is presented for extended and truncated Zadoff-Chu (ZC) sequences, as well as for the subset of 12 RAZAC sequences shown in FIG. 6. It can be seen that for the RAZAC sequences only few cyclic shifts of the sequences have a CM greater than 1 dB in the case of single code modulation. In addition, the CM remains less than 1 dB in the case of multi-code modulation. Thus, the RAZAC sequences shown in FIGS. 5 and 6 provide a significant improvement in the CM as compared to truncated and extended Zadoff-Chu sequences. Although not shown in FIG. 3, the sequences presented in R1-072206 exhibit high CM values in the case of multi-code modulation with consecutive cyclic shifts. One should also note that due at least to UE 10 power limitations, differences in CM values that are less than 1 dB are generally not significant.
Based on the foregoing it should be apparent that the exemplary embodiments of this invention provide for, in a non-limiting aspect thereof, a method, apparatus and computer program product for providing a user equipment with a plurality of RAZAC or RAZAC-like sequences for use in single-code or multi-code sequence modulation of an uplink transmission to a base station.
The exemplary embodiments of this invention further provide for precoding the multi-code sequence modulation.
Further in accordance with exemplary embodiments of this invention, the UE 10 of FIG. 2 is constructed to contain circuitry (e.g., at least one memory) configured to store a plurality of RAZAC sequences for use in single-code or multi-code sequence modulation of an uplink transmission to a base station, where the UE may further include circuitry configured to precode the multi-code sequence modulation.
Below are provided further descriptions of non-limiting, exemplary embodiments. The below-described exemplary embodiments are separately numbered for clarity and identification. This numbering should not be construed as wholly separating the below descriptions since various aspects of one or more exemplary embodiments may be practiced in conjunction with one or more other aspects or exemplary embodiments.

    (1) In one non-limiting, exemplary embodiment, and as shown in FIG. 11, a method comprising: randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences (801); calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation (802); and in response to the first cubic metric being larger than at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence (803).


A method as in any above, further comprising: calculating a second cubic metric for each sequence of the candidate set of sequences, where the second cubic metric is for multi-code modulation; and in response to at least one of the first cubic metric or the second cubic metric being larger than the at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain that at least one saved sequence. A method as in any above, where the at least one threshold comprises a first threshold and a second threshold, where removing the corresponding sequence is performed in response to at least one of the first cubic metric being larger than the first threshold or the second cubic metric being larger than the second threshold. A method as in any above, further comprising: calculating cross-correlations for a plurality of different cyclic shift combinations of each sequence of the candidate set of sequences against a second sequence set; selecting a cross-correlation value having a largest amplitude as a representative cross-correlation value for the cross-correlations between the corresponding sequence and the second sequence set; and in response to the representative cross-correlation value being larger than a threshold, removing the corresponding sequence from the candidate set of sequences. A method as in any above, where the second sequence set is comprised of second sequences having a length of 36 sequence elements or second sequences having a length of 12 sequence elements. A method as in any above, where each sequence element of the sequences in the selected set of sequences has a frequency selected from four possible constellation points on a unit circle in a complex plane. A method as in any above, where the at least one saved sequence has a length of one resource block or two resource blocks.
A method as in any above, where the at least one saved sequence comprises at least one of:

















element
1
 0.7071 − 0.7071i
−0.7071 + 0.7071i
 0.7071 + 0.7071i
0.7071 + 0.7071i



2
−0.7071 + 0.7071i
 0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i 



3
 0.7071 − 0.7071i
 0.7071 − 0.7071i
−0.7071 − 0.7071i
0.7071 + 0.7071i



4
 0.7071 + 0.7071i
 0.7071 − 0.7071i
−0.7071 − 0.7071i
0.7071 − 0.7071i



5
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
0.7071 + 0.7071i



6
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
−0.7071 + 0.7071i 



7
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 − 0.7071i
−0.7071 + 0.7071i 



8
−0.7071 − 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i 



9
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
0.7071 − 0.7071i



10
 0.7071 + 0.7071i
 0.7071 + 0.7071i
 0.7071 + 0.7071i
0.7071 − 0.7071i



11
 0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
−0.7071 + 0.7071i 



12
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i
0.7071 − 0.7071i
















element
1
−0.7071 − 0.7071i 
−0.7071 − 0.7071i
 0.7071 + 0.7071i




2
−0.7071 + 0.7071i 
 0.7071 + 0.7071i
−0.7071 + 0.7071i




3
0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i




4
0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i




5
−0.7071 − 0.7071i 
−0.7071 − 0.7071i
 0.7071 − 0.7071i




6
0.7071 + 0.7071i
−0.7071 + 0.7071i
 0.7071 − 0.7071i




7
−0.7071 − 0.7071i 
−0.7071 − 0.7071i
−0.7071 − 0.7071i




8
−0.7071 − 0.7071i 
−0.7071 − 0.7071i
−0.7071 − 0.7071i




9
0.7071 − 0.7071i
−0.7071 + 0.7071i
 0.7071 + 0.7071i




10
0.7071 − 0.7071i
 0.7071 + 0.7071i
−0.7071 − 0.7071i




11
0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i




12
−0.7071 − 0.7071i 
 0.7071 − 0.7071i
 0.7071 − 0.7071i









A method as in any above, where the at least one saved sequence comprises at least one of:
















element
1
−0.7071 − 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



2
−0.7071 − 0.7071i
0.7071 − 0.7071i
−0.7071 + 0.7071i



3
−0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



4
 0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



5
−0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



6
 0.7071 + 0.7071i
−0.7071 − 0.7071i 
 0.7071 + 0.7071i



7
−0.7071 − 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



8
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



9
 0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



10
−0.7071 + 0.7071i
0.7071 + 0.7071i
 0.7071 − 0.7071i



11
 0.7071 + 0.7071i
0.7071 − 0.7071i
 0.7071 + 0.7071i



12
 0.7071 + 0.7071i
0.7071 + 0.7071i
 0.7071 + 0.7071i



13
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
 0.7071 + 0.7071i



14
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



15
 0.7071 − 0.7071i
−0.7071 + 0.7071i 
 0.7071 + 0.7071i



16
 0.7071 − 0.7071i
0.7071 − 0.7071i
 0.7071 − 0.7071i



17
−0.7071 − 0.7071i
0.7071 + 0.7071i
−0.7071 + 0.7071i



18
 0.7071 + 0.7071i
0.7071 + 0.7071i
−0.7071 − 0.7071i



19
−0.7071 − 0.7071i
−0.7071 − 0.7071i 
−0.7071 − 0.7071i



20
 0.7071 − 0.7071i
0.7071 + 0.7071i
 0.7071 + 0.7071i



21
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



22
 0.7071 + 0.7071i
0.7071 − 0.7071i
 0.7071 + 0.7071i



23
 0.7071 + 0.7071i
−0.7071 − 0.7071i 
 0.7071 + 0.7071i



24
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



























element
1

0.7071 − 0.7071i
 0.7071 − 0.7071i




2

0.7071 − 0.7071i
 0.7071 + 0.7071i




3

0.7071 − 0.7071i
−0.7071 − 0.7071i




4

−0.7071 − 0.7071i 
−0.7071 − 0.7071i




5

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




6

0.7071 − 0.7071i
 0.7071 − 0.7071i




7

0.7071 + 0.7071i
−0.7071 + 0.7071i




8

0.7071 + 0.7071i
 0.7071 − 0.7071i




9

−0.7071 + 0.7071i 
 0.7071 − 0.7071i




10

−0.7071 + 0.7071i 
−0.7071 − 0.7071i




11

0.7071 − 0.7071i
−0.7071 − 0.7071i




12

−0.7071 + 0.7071i 
−0.7071 − 0.7071i




13

0.7071 − 0.7071i
 0.7071 − 0.7071i




14

0.7071 + 0.7071i
−0.7071 − 0.7071i




15

0.7071 − 0.7071i
−0.7071 − 0.7071i




16

−0.7071 − 0.7071i 
 0.7071 + 0.7071i




17

0.7071 + 0.7071i
 0.7071 − 0.7071i




18

0.7071 − 0.7071i
 0.7071 + 0.7071i




19

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




20

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




21

0.7071 + 0.7071i
 0.7071 − 0.7071i




22

−0.7071 − 0.7071i 
 0.7071 + 0.7071i




23

0.7071 − 0.7071i
 0.7071 − 0.7071i




24

0.7071 − 0.7071i
−0.7071 + 0.7071i









A method as in any above, where the at least one saved sequence is used for sequence modulation on a physical uplink control channel. A method as in any above, where the at least one saved sequence is used for demodulation and sounding of at least one reference signal. A method as in the previous, where said reference signals have a length of 12. A method as in any above, where the at least one saved sequence is allocated using higher layer signaling (e.g., radio resource control signaling). A method as in any above, where the at least one saved sequence comprises at least one sequence index. A method as in the previous, where said at least one sequence index is cell-specific. A method as in any above, where the at least one saved sequence comprises at least one cell-specific sequence index. A method as in any above, where two consecutive cyclic shifts are used in multi-code modulation based on the at least one saved sequence.
A method as in any above, where the at least one saved sequence comprises at least one zero auto-correlation sequence. A method as in any above, where the at least one saved sequence comprises at least one random zero auto-correlation sequence. A method as in any above, where the at least one saved sequence comprises at least one random zero auto-correlation-like sequence. A method as in any above, where the at least one random zero auto-correlation-like sequence consists of 30 sequences. A method as in any above, where said at least one random zero auto-correlation-like sequence has a length of one resource block or two resource blocks. A method as in any above, where said at least one random zero auto-correlation-like sequence comprises at least one of first sequences having a length of 12 sequence elements or second sequences having a length of 24 sequence elements. A method as in any above, where the sequence elements of the at least one saved sequence comprise values restricted such that said values can be represented with two bits.
A method as in any above, where the at least one saved sequence is used for sequence modulation for at least one communication transmitted from a mobile station. A method as in any above, where the at least one saved sequence is used for sequence modulation for at least one communication received by a mobile station. A method as in any above, where the at least one saved sequence is used for sequence modulation for at least one communication transmitted from a base station. A method as in any above, where the at least one saved sequence is used for sequence modulation for at least one communication received by a base station. A method as in any above, where the at least one saved sequence is used for at least one wireless communication within an evolved universal terrestrial radio access network.
A method as in any above, where each sequence element of the sequences in the selected set of sequences has a frequency selected from QPSK constellation points on a unit circle in a complex plane. A method as in any above, where each sequence element of the sequences in the selected set of sequences has a frequency selected from four possible QPSK constellation points on a unit circle in a complex plane. A method as in any above, where randomly selecting the set of sequences comprises randomly selecting in a frequency domain. A method as in any above, where randomly selecting the set of sequences comprises randomly selecting only in a frequency domain. A method as in any above, where cyclic shifts of the sequences in the selected set of sequences are orthogonal to one another.
A method as in any above, where the at least one saved sequence comprises a plurality of saved sequences, the method further comprising: selecting a subset of the at least one saved sequence.
A method as in the previous, where selecting the subset of the plurality of saved sequences comprises: calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a plurality of different cyclic shift combinations; selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences; and iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration: for each sequence of the plurality of saved sequences, counting a first number of representative values exceeding a first cross-correlation threshold, a second number of representative values exceeding a second cross-correlation threshold and a third number of representative values exceeding a third cross-correlation threshold, where the first cross-correlation threshold is greater than the second cross-correlation threshold and the second cross-correlation threshold is greater than the third cross-correlation threshold; selecting for further consideration those sequences having the first number of representative values equal to a maximum first number of representative values over all sequences under consideration; selecting for further consideration those sequences having the second number of representative values equal to a maximum second number of representative values over all sequences under consideration; removing a sequence having a largest third number of representative values over all sequences under consideration; removing the cross-correlation representative values related to the removed sequence; and placing remaining sequences back under consideration.
A method as in any above, where selecting the subset of the plurality of saved sequences comprises: calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a plurality of different cyclic shift combinations; selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences; and iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration: for each sequence of the plurality of saved sequences, counting p numbers of representative values exceeding p different cross-correlation thresholds; selecting for further consideration those sequences having the p−p+1 number of representative values equal to a maximum p-p+1 number of representative values over all sequences under consideration; selecting for further consideration those sequences having the p−p+2 number of representative values equal to a maximum p−p+2 number of representative values over all sequences under consideration; and so on through the p−1 number of representative values; removing a sequence having a largest p-th number of representative values over all sequences under consideration; removing the cross-correlation representative values related to the removed sequence; and placing remaining sequences back under consideration.
A method as in any above, where calculating cross-correlations comprises calculating cross-correlations for each pair of sequences of the plurality of saved sequences for all cyclic shift combinations. A method as in any above, the method further comprising: selecting the first, second and third cross-correlation thresholds. A method as in any above, where iteration of the sequences of the plurality of saved sequences is performed until there remain a desired number of sequences or no sequences are found to be removed. A method as in any above, where the zero or more of the sequences of the plurality of saved sequences that are removed on each iteration consists of one sequence.
A method as in any above, where selecting the subset of the plurality of saved sequences comprises: calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a first plurality of different cyclic shift combinations; selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences; for each pair of sequences, calculating mean squared difference between the cross-correlations and m/sqrt(N) over a second plurality of different cyclic shift combination, where m comprises a scaling factor and N comprises a sequence length; iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration: for each sequence of the plurality of saved sequences, counting a number of representative values exceeding a cross-correlation threshold; selecting for further consideration those sequences having the number of representative values equal to a maximum number of representative values over all sequences under consideration; removing a sequence having a largest mean squared difference over all sequences under consideration; removing the cross-correlation representative values and the mean squared difference values related to the removed sequence; and placing remaining sequences back under consideration.
A method as in any above, where selecting the subset of the plurality of saved sequences comprises: calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a first plurality of different cyclic shift combinations; selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences; for each pair of sequences, calculating mean cross-correlation between the pair of sequences; iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration: for each sequence of the plurality of saved sequences, counting a number of representative values exceeding a cross-correlation threshold; selecting for further consideration those sequences having the number of representative values equal to a maximum number of representative values over all sequences under consideration; removing a sequence having a largest mean cross-correlation over all sequences under consideration; removing the cross-correlation representative values and the mean cross-correlation values related to the removed sequence; and placing remaining sequences back under consideration.
A method as in any above, where calculating cross-correlations comprises calculating cross-correlations for each pair of sequences of the plurality of saved sequences for all cyclic shift combinations. A method as in any above, where iteration of the sequences of the plurality of saved sequences is performed until there remain a desired number of sequences or no sequences are found to be removed. A method as in any above, where the zero or more of the sequences of the plurality of saved sequences that are removed on each iteration consists of one sequence. A method as in any above, where the first plurality of different cyclic shift combinations comprises the second plurality of different cyclic shift combinations. A method as in any above, the method further comprising: selecting at least one of the cross-correlation threshold or the scaling factor m. A method as in any above, where a value 1/sqrt(N) comprises a cross-correlation value between Zadoff-Chu sequences.
A method as in any above, the method further comprising: using the selected subset for at least one wireless communication.
A method as in any above, where the subset of the plurality of saved sequences is used for sequence modulation on a physical uplink control channel. A method as in any above, where the subset of the plurality of saved sequences is used for demodulation and sounding of at least one reference signal. A method as in the previous, where said reference signals have a length of 12. A method as in any above, where the subset of the plurality of saved sequences is allocated using higher layer signaling (e.g., radio resource control signaling). A method as in any above, where the subset of the plurality of saved sequences at least one sequence index. A method as in the previous, where said at least one sequence index is cell-specific. A method as in any above, where the subset of the plurality of saved sequences comprises at least one cell-specific sequence index. A method as in any above, where two consecutive cyclic shifts are used in multi-code modulation based on the subset of the plurality of saved sequences.
A method as in any above, where the subset of the plurality of saved sequences comprises at least one zero auto-correlation sequence. A method as in any above, where the subset of the plurality of saved sequences comprises at least one random zero auto-correlation sequence. A method as in any above, where the subset of the plurality of saved sequences comprises at least one random zero auto-correlation-like sequence. A method as in any above, where the at least one zero auto-correlation-like sequence consists of 30 sequences. A method as in any above, where said at least one random zero auto-correlation-like sequence has a length of one resource block or two resource blocks. A method as in any above, where said at least one random zero auto-correlation-like sequences comprises at least one of first sequences having a length of 12 sequence elements or second sequences having a length of 24 sequence elements. A method as in any above, where the sequence elements of the subset of the plurality of saved sequences comprise values restricted such that said values can be represented with two bits.
A method as in any above, where the subset of the plurality of saved sequences is used for sequence modulation for at least one communication transmitted from a mobile station. A method as in any above, where the subset of the plurality of saved sequences is used for sequence modulation for at least one communication received by a mobile station. A method as in any above, where the subset of the plurality of saved sequences is used for sequence modulation for at least one communication transmitted from a base station. A method as in any above, where the subset of the plurality of saved sequences is used for sequence modulation for at least one communication received by a base station. A method as in any above, where the subset of the plurality of saved sequences is used for at least one wireless communication within an evolved universal terrestrial radio access network.
A method as in any above, wherein the method is implemented by a computer program. A method as in any above, wherein the method is implemented by a program of instructions tangibly embodied on a program storage device readable by a machine, said program of instructions executable by the machine for performing operations, said operations comprising steps of the method. A method as in any of the above, and further comprising one or more additional aspects of the exemplary embodiments as described elsewhere herein.

    (2) In another non-limiting, exemplary embodiment, a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for performing operations, said operations comprising: randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences (801); calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation (802); and in response to the first cubic metric being larger than at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence (803).


A program storage device as in the previous, and further comprising one or more additional aspects of the exemplary embodiments as described elsewhere herein, such as those further aspects described above with respect to one or more exemplary methods (i.e., number (1) above).

    (3) In another non-limiting, exemplary embodiment, an apparatus comprising: a memory and at least one processor, where the at least one processor is configured to: randomly select a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences; calculate a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and in response to the first cubic metric being larger than at least one threshold, remove the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence, where the at least one saved sequence is stored on the memory.


An apparatus as in the previous, and further comprising one or more additional aspects of the exemplary embodiments as described elsewhere herein, such as those further aspects described above with respect to one or more exemplary methods (i.e., number (1) above). An apparatus as in any above, further comprising at least one of a transceiver or an antenna. An apparatus as in any above, embodied in an integrated circuit.

    (4) In another non-limiting, exemplary embodiment, an apparatus comprising: means for randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences; means for calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and means, in response to the first cubic metric being larger than at least one threshold, for removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence.


An apparatus as in the previous, and further comprising one or more additional aspects of the exemplary embodiments as described elsewhere herein, such as those further aspects described above with respect to one or more exemplary methods (i.e., number (1) above). An apparatus as in any above, further comprising means for communicating, such as means for transmitting and/or means for receiving, as non-limiting examples. An apparatus as in any above, embodied in an integrated circuit. An apparatus as in any above, further comprising means for storing the at least one saved sequence. An apparatus as in the previous, where the means for storing comprises a memory. An apparatus as in any above, where the means for randomly selecting, the means for calculating and the means for removing comprise at least one processor.

    (5) In another non-limiting, exemplary embodiment, an apparatus comprising: first circuitry configured to randomly select a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences; second circuitry configured to calculate a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and third circuitry configured, in response to the first cubic metric being larger than at least one threshold, to remove the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence.


An apparatus as in the previous, and further comprising one or more additional aspects of the exemplary embodiments as described elsewhere herein, such as those further aspects described above with respect to one or more exemplary methods (i.e., number (1) above). An apparatus as in any above, further comprising communication circuitry configured to at least one of transmit or receive communications to or from another apparatus. An apparatus as in any above, embodied in an integrated circuit. An apparatus as in any above, further comprising storage circuitry configured to store the at least one saved sequence.

    (6) In another non-limiting, exemplary embodiment, and as shown in FIG. 12, a method comprising: randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences (901); calculating a first cubic metric and a second cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation and the second cubic metric is for multi-code modulation (902); and in response to at least one of the first cubic metric or the second cubic metric being larger than at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence (903).


A method as in the previous, and further comprising one or more additional aspects of the exemplary embodiments as described elsewhere herein, such as those further aspects described above with respect to one or more exemplary methods (i.e., number (1) above). A method as in any above, implemented by a computer program or an apparatus, similar to one or more of those exemplary embodiments identified above as (2), (3), (4) and/or (5).

    (7) In another non-limiting, exemplary embodiment, and as shown in FIG. 13, a method comprising: randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences (951); calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation (952); and based on at least one comparison of the first cubic metric to at least one threshold, removing an unsuitable corresponding sequence from the candidate set of sequences to obtain at least one saved sequence (953).


A method as in the previous, where an unsuitable corresponding sequence comprises a sequence having a first cubic metric larger than the at least one threshold. A method as in any of the above, and further comprising one or more additional aspects of the exemplary embodiments as described elsewhere herein, such as those further aspects described above with respect to one or more exemplary methods (i.e., number (1) above). A method as in any above, implemented by a computer program or an apparatus, similar to one or more of those exemplary embodiments identified above as (2), (3), (4), (5) and/or (6).
The exemplary embodiments of the invention, as discussed above and as particularly described with respect to exemplary methods, may be implemented as a computer program product comprising program instructions embodied on a tangible computer-readable medium. Execution of the program instructions results in operations comprising steps of utilizing the exemplary embodiments or steps of the method.
The exemplary embodiments of the invention, as discussed above and as particularly described with respect to exemplary methods, may be implemented in conjunction with a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for performing operations. The operations comprise steps of utilizing the exemplary embodiments or steps of the method.
It should be noted that the terms “connected,” “coupled,” or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and may encompass the presence of one or more intermediate elements between two elements that are “connected” or “coupled” together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As employed herein two elements may be considered to be “connected” or “coupled” together by the use of one or more wires, cables and/or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as several non-limiting and non-exhaustive examples.
In general, the various exemplary embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the exemplary embodiments of this invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
Note further that the blocks shown in the logic flow diagrams of FIGS. 4, 7, 10 and 11 may also be viewed as a plurality of interconnected functional circuits/functions that operate as described.
As was noted above, it should be appreciated that at least some aspects of the exemplary embodiments of the inventions may be practiced in various components such as integrated circuit chips and modules. The design of integrated circuits is by and large a highly automated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate.
Programs, such as those provided by Synopsys, Inc. of Mountain View, Calif. and Cadence Design, of San Jose, Calif. automatically route conductors and locate components on a semiconductor chip using well established rules of design as well as libraries of pre-stored design modules. Once the design for a semiconductor circuit has been completed, the resultant design, in a standardized electronic format (e.g., Opus, GDSII, or the like) may be transmitted to a semiconductor fabrication facility or “fab” for fabrication.
Various modifications and adaptations to the foregoing exemplary embodiments of this invention may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings. However, any and all modifications will still fall within the scope of the non-limiting and exemplary embodiments of this invention.
As but one example, while the exemplary embodiments have been described above in the context of the E-UTRAN (UTRAN-LTE) system, it should be appreciated that the exemplary embodiments of this invention are not limited for use with only this one particular type of wireless communication system, and that they may be used to advantage in other wireless communication systems. Further, the exemplary embodiments of this invention are not constrained for use with any specific frame format, numbers of long blocks within a frame, sub-carrier mapping scheme, type of modulation and/or precoding technique, as non-limiting examples, that may have been referred to above.
In addition, some of the features of the various non-limiting and exemplary embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.

## Claims

1. A method comprising:
randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences;
calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and
in response to the first cubic metric being larger than at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence.

2. A method as in claim 1, further comprising:
calculating a second cubic metric for each sequence of the candidate set of sequences, where the second cubic metric is for multi-code modulation; and
in response to at least one of the first cubic metric or the second cubic metric being larger than the at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain the at least one saved sequence.

3. A method as in claim 2, where the at least one threshold comprises a first threshold and a second threshold, where removing the corresponding sequence is performed in response to at least one of the first cubic metric being larger than the first threshold or the second cubic metric being larger than the second threshold.

4. A method as in claim 1, further comprising:
calculating cross-correlations for a plurality of different cyclic shift combinations of each sequence of the candidate set of sequences against a second sequence set;
selecting a cross-correlation value having a largest amplitude as a representative cross-correlation value for the cross-correlations between the corresponding sequence and the second sequence set; and
in response to the representative cross-correlation value being larger than a threshold, removing the corresponding sequence from the candidate set of sequences.

5. A method as in claim 4, where the second sequence set is comprised of second sequences having a length of 36 sequence elements or second sequences having a length of 12 sequence elements.

6. A method as in claim 1, where the at least one saved sequence is used for sequence modulation on a physical uplink control channel.

7. A method as in claim 1, where two consecutive cyclic shifts are used in multi-code modulation based on the at least one saved sequence.

8. A method as in claim 1, where the at least one saved sequence comprises a plurality of random zero auto-correlation-like sequences.

9. A method as in claim 1, where each sequence element of the sequences in the selected set of sequences has a frequency selected from four possible constellation points on a unit circle.

10. A method as in claim 1, where the at least one saved sequence has a length of one resource block or two resource blocks.

11. A method as in claim 1, where the at least one saved sequence comprises at least one of:

















element
1
 0.7071 − 0.7071i
−0.7071 + 0.7071i
 0.7071 + 0.7071i
0.7071 + 0.7071i



2
−0.7071 + 0.7071i
 0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i 



3
 0.7071 − 0.7071i
 0.7071 − 0.7071i
−0.7071 − 0.7071i
0.7071 + 0.7071i



4
 0.7071 + 0.7071i
 0.7071 − 0.7071i
−0.7071 − 0.7071i
0.7071 − 0.7071i



5
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
0.7071 + 0.7071i



6
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
−0.7071 + 0.7071i 



7
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 − 0.7071i
−0.7071 + 0.7071i 



8
−0.7071 − 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i 



9
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
0.7071 − 0.7071i



10
 0.7071 + 0.7071i
 0.7071 + 0.7071i
 0.7071 + 0.7071i
0.7071 − 0.7071i



11
 0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
−0.7071 + 0.7071i 



12
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i
0.7071 − 0.7071i
















element
1
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 + 0.7071i




2
−0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i




3
 0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i




4
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i




5
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 − 0.7071i




6
 0.7071 + 0.7071i
−0.7071 + 0.7071i
 0.7071 − 0.7071i




7
−0.7071 − 0.7071i
−0.7071 − 0.7071i
−0.7071 − 0.7071i




8
−0.7071 − 0.7071i
−0.7071 − 0.7071i
−0.7071 − 0.7071i




9
 0.7071 − 0.7071i
−0.7071 + 0.7071i
 0.7071 + 0.7071i




10
 0.7071 − 0.7071i
 0.7071 + 0.7071i
−0.7071 − 0.7071i




11
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i




12
−0.7071 − 0.7071i
 0.7071 − 0.7071i
 0.7071 − 0.7071i.

12. A method as in claim 1, where the at least one saved sequence comprises at least one of:
















element
1
−0.7071 − 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



2
−0.7071 − 0.7071i
0.7071 − 0.7071i
−0.7071 + 0.7071i



3
−0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



4
 0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



5
−0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



6
 0.7071 + 0.7071i
−0.7071 − 0.7071i 
 0.7071 + 0.7071i



7
−0.7071 − 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



8
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



9
 0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



10
−0.7071 + 0.7071i
0.7071 + 0.7071i
 0.7071 − 0.7071i



11
 0.7071 + 0.7071i
0.7071 − 0.7071i
 0.7071 + 0.7071i



12
 0.7071 + 0.7071i
0.7071 + 0.7071i
 0.7071 + 0.7071i



13
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
 0.7071 + 0.7071i



14
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



15
 0.7071 − 0.7071i
−0.7071 + 0.7071i 
 0.7071 + 0.7071i



16
 0.7071 − 0.7071i
0.7071 − 0.7071i
 0.7071 − 0.7071i



17
−0.7071 − 0.7071i
0.7071 + 0.7071i
−0.7071 + 0.7071i



18
 0.7071 + 0.7071i
0.7071 + 0.7071i
−0.7071 − 0.7071i



19
−0.7071 − 0.7071i
−0.7071 − 0.7071i 
−0.7071 − 0.7071i



20
 0.7071 − 0.7071i
0.7071 + 0.7071i
 0.7071 + 0.7071i



21
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



22
 0.7071 + 0.7071i
0.7071 − 0.7071i
 0.7071 + 0.7071i



23
 0.7071 + 0.7071i
−0.7071 − 0.7071i 
 0.7071 + 0.7071i



24
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



























element
1

0.7071 − 0.7071i
 0.7071 − 0.7071i




2

0.7071 − 0.7071i
 0.7071 + 0.7071i




3

0.7071 − 0.7071i
−0.7071 − 0.7071i




4

−0.7071 − 0.7071i 
−0.7071 − 0.7071i




5

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




6

0.7071 − 0.7071i
 0.7071 − 0.7071i




7

0.7071 + 0.7071i
−0.7071 + 0.7071i




8

0.7071 + 0.7071i
 0.7071 − 0.7071i




9

−0.7071 + 0.7071i 
 0.7071 − 0.7071i




10

−0.7071 + 0.7071i 
−0.7071 − 0.7071i




11

0.7071 − 0.7071i
−0.7071 − 0.7071i




12

−0.7071 + 0.7071i 
−0.7071 − 0.7071i




13

0.7071 − 0.7071i
 0.7071 − 0.7071i




14

0.7071 + 0.7071i
−0.7071 − 0.7071i




15

0.7071 − 0.7071i
−0.7071 − 0.7071i




16

−0.7071 − 0.7071i 
 0.7071 + 0.7071i




17

0.7071 + 0.7071i
 0.7071 − 0.7071i




18

0.7071 − 0.7071i
 0.7071 + 0.7071i




19

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




20

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




21

0.7071 + 0.7071i
 0.7071 − 0.7071i




22

−0.7071 − 0.7071i 
 0.7071 + 0.7071i




23

0.7071 − 0.7071i
 0.7071 − 0.7071i




24

0.7071 − 0.7071i
 −0.7071 + 0.7071i.

13. A method as in claim 1, where the at least one saved sequence is used for sequence modulation for at least one communication transmitted from a mobile station.

14. A method as in claim 1, where the at least one saved sequence is used for sequence modulation for at least one communication received by a base station.

15. A method as in claim 1, where the at least one saved sequence is used for at least one wireless communication within an evolved universal terrestrial radio access network.

16. A method as in claim 1, where the at least one saved sequence comprises a plurality of saved sequences, the method further comprising: selecting a subset of the plurality of saved sequences.

17. A method as in claim 16, where selecting the subset of the plurality of saved sequences comprises:
calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a plurality of different cyclic shift combinations;
selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences; and
iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration:
for each sequence of the plurality of saved sequences, counting a first number of representative values exceeding a first cross-correlation threshold, a second number of representative values exceeding a second cross-correlation threshold and a third number of representative values exceeding a third cross-correlation threshold, where the first cross-correlation threshold is greater than the second cross-correlation threshold and the second cross-correlation threshold is greater than the third cross-correlation threshold;
selecting for further consideration those sequences having the first number of representative values equal to a maximum first number of representative values over all sequences under consideration;
selecting for further consideration those sequences having the second number of representative values equal to a maximum second number of representative values over all sequences under consideration;
removing a sequence having a largest third number of representative values over all sequences under consideration;
removing the cross-correlation representative values related to the removed sequence; and
placing remaining sequences back under consideration.

18. A method as in claim 16, where selecting the subset of the plurality of saved sequences comprises:
calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a first plurality of different cyclic shift combinations;
selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences;
for each pair of sequences, calculating mean squared difference between the cross-correlations and m/sqrt(N) over a second plurality of different cyclic shift combination, where m comprises a scaling factor and N comprises a sequence length;
iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration:
for each sequence of the plurality of saved sequences, counting a number of representative values exceeding a cross-correlation threshold;
selecting for further consideration those sequences having the number of representative values equal to a maximum number of representative values over all sequences under consideration;
removing a sequence having a largest mean squared difference over all sequences under consideration;
removing the cross-correlation representative values and the mean squared difference values related to the removed sequence; and
placing remaining sequences back under consideration.

19. A non-transitory program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for performing operations, said operations comprising:
randomly selecting a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences;
calculating a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and
in response to the first cubic metric being larger than at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence.

20. A program storage device as in claim 19, further comprising:
calculating a second cubic metric for each sequence of the candidate set of sequences, where the second cubic metric is for multi-code modulation; and
in response to at least one of the first cubic metric or the second cubic metric being larger than the at least one threshold, removing the corresponding sequence from the candidate set of sequences to obtain the at least one saved sequence.

21. A program storage device as in claim 20, where the at least one threshold comprises a first threshold and a second threshold, where removing the corresponding sequence is performed in response to at least one of the first cubic metric being larger than the first threshold or the second cubic metric being larger than the second threshold.

22. A program storage device as in claim 19, the operations further comprising:
calculating cross-correlations for a plurality of different cyclic shift combinations of each sequence of the candidate set of sequences against a second sequence set;
selecting a cross-correlation value having a largest amplitude as a representative cross-correlation value for the cross-correlations between the corresponding sequence and the second sequence set; and
in response to the representative cross-correlation value being larger than a threshold, removing the corresponding sequence from the candidate set of sequences.

23. A program storage device as in claim 19, where the at least one saved sequence comprises at least one of:

















element
1
 0.7071 − 0.7071i
−0.7071 + 0.7071i
 0.7071 + 0.7071i
0.7071 + 0.7071i



2
−0.7071 + 0.7071i
 0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i 



3
 0.7071 − 0.7071i
 0.7071 − 0.7071i
−0.7071 − 0.7071i
0.7071 + 0.7071i



4
 0.7071 + 0.7071i
 0.7071 − 0.7071i
−0.7071 − 0.7071i
0.7071 − 0.7071i



5
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
0.7071 + 0.7071i



6
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
−0.7071 + 0.7071i 



7
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 − 0.7071i
−0.7071 + 0.7071i 



8
−0.7071 − 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i 



9
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
0.7071 − 0.7071i



10
 0.7071 + 0.7071i
 0.7071 + 0.7071i
 0.7071 + 0.7071i
0.7071 − 0.7071i



11
 0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
−0.7071 + 0.7071i 



12
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i
0.7071 − 0.7071i
















element
1
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 + 0.7071i




2
−0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i




3
 0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i




4
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i




5
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 − 0.7071i




6
 0.7071 + 0.7071i
−0.7071 + 0.7071i
 0.7071 − 0.7071i




7
−0.7071 − 0.7071i
−0.7071 − 0.7071i
−0.7071 − 0.7071i




8
−0.7071 − 0.7071i
−0.7071 − 0.7071i
−0.7071 − 0.7071i




9
 0.7071 − 0.7071i
−0.7071 + 0.7071i
 0.7071 + 0.7071i




10
 0.7071 − 0.7071i
 0.7071 + 0.7071i
−0.7071 − 0.7071i




11
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i




12
−0.7071 − 0.7071i
 0.7071 − 0.7071i
 0.7071 − 0.7071i.

24. A program storage device as in claim 19, where the at least one saved sequence comprises at least one of:
















element
1
−0.7071 − 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



2
−0.7071 − 0.7071i
0.7071 − 0.7071i
−0.7071 + 0.7071i



3
−0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



4
 0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



5
−0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



6
 0.7071 + 0.7071i
−0.7071 − 0.7071i 
 0.7071 + 0.7071i



7
−0.7071 − 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



8
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



9
 0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



10
−0.7071 + 0.7071i
0.7071 + 0.7071i
 0.7071 − 0.7071i



11
 0.7071 + 0.7071i
0.7071 − 0.7071i
 0.7071 + 0.7071i



12
 0.7071 + 0.7071i
0.7071 + 0.7071i
 0.7071 + 0.7071i



13
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
 0.7071 + 0.7071i



14
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



15
 0.7071 − 0.7071i
−0.7071 + 0.7071i 
 0.7071 + 0.7071i



16
 0.7071 − 0.7071i
0.7071 − 0.7071i
 0.7071 − 0.7071i



17
−0.7071 − 0.7071i
0.7071 + 0.7071i
−0.7071 + 0.7071i



18
 0.7071 + 0.7071i
0.7071 + 0.7071i
−0.7071 − 0.7071i



19
−0.7071 − 0.7071i
−0.7071 − 0.7071i 
−0.7071 − 0.7071i



20
 0.7071 − 0.7071i
0.7071 + 0.7071i
 0.7071 + 0.7071i



21
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



22
 0.7071 + 0.7071i
0.7071 − 0.7071i
 0.7071 + 0.7071i



23
 0.7071 + 0.7071i
−0.7071 − 0.7071i 
 0.7071 + 0.7071i



24
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



























element
1

0.7071 − 0.7071i
 0.7071 − 0.7071i




2

0.7071 − 0.7071i
 0.7071 + 0.7071i




3

0.7071 − 0.7071i
−0.7071 − 0.7071i




4

−0.7071 − 0.7071i 
−0.7071 − 0.7071i




5

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




6

0.7071 − 0.7071i
 0.7071 − 0.7071i




7

0.7071 + 0.7071i
−0.7071 + 0.7071i




8

0.7071 + 0.7071i
 0.7071 − 0.7071i




9

−0.7071 + 0.7071i 
 0.7071 − 0.7071i




10

−0.7071 + 0.7071i 
−0.7071 − 0.7071i




11

0.7071 − 0.7071i
−0.7071 − 0.7071i




12

−0.7071 + 0.7071i 
−0.7071 − 0.7071i




13

0.7071 − 0.7071i
 0.7071 − 0.7071i




14

0.7071 + 0.7071i
−0.7071 − 0.7071i




15

0.7071 − 0.7071i
−0.7071 − 0.7071i




16

−0.7071 − 0.7071i 
 0.7071 + 0.7071i




17

0.7071 + 0.7071i
 0.7071 − 0.7071i




18

0.7071 − 0.7071i
 0.7071 + 0.7071i




19

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




20

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




21

0.7071 + 0.7071i
 0.7071 − 0.7071i




22

−0.7071 − 0.7071i 
 0.7071 + 0.7071i




23

0.7071 − 0.7071i
 0.7071 − 0.7071i




24

0.7071 − 0.7071i
−0.7071 + 0.7071i.

25. A program storage device as in claim 19, where the at least one saved sequence is used for at least one wireless communication within an evolved universal terrestrial radio access network.

26. A program storage device as in claim 19, where the at least one saved sequence comprises a plurality of saved sequences, the operations further comprising: selecting a subset of the plurality of saved sequences, where selecting the subset of the plurality of saved sequences comprises:
calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a plurality of different cyclic shift combinations;
selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences; and
iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration:
for each sequence of the plurality of saved sequences, counting a first number of representative values exceeding a first cross-correlation threshold, a second number of representative values exceeding a second cross-correlation threshold and a third number of representative values exceeding a third cross-correlation threshold, where the first cross-correlation threshold is greater than the second cross-correlation threshold and the second cross-correlation threshold is greater than the third cross-correlation threshold;
selecting for further consideration those sequences having the first number of representative values equal to a maximum first number of representative values over all sequences under consideration;
selecting for further consideration those sequences having the second number of representative values equal to a maximum second number of representative values over all sequences under consideration;
removing a sequence having a largest third number of representative values over all sequences under consideration;
removing the cross-correlation representative values related to the removed sequence; and
placing remaining sequences back under consideration.

27. A program storage device as in claim 19, where the at least one saved sequence comprises a plurality of saved sequences, the operations further comprising: selecting a subset of the plurality of saved sequences, where selecting the subset of the plurality of saved sequences comprises:
calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a first plurality of different cyclic shift combinations;
selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences;
for each pair of sequences, calculating mean squared difference between the cross-correlations and m/sqrt(N) over a second plurality of different cyclic shift combination, where m comprises a scaling factor and N comprises a sequence length;
iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration:
for each sequence of the plurality of saved sequences, counting a number of representative values exceeding a cross-correlation threshold;
selecting for further consideration those sequences having the number of representative values equal to a maximum number of representative values over all sequences under consideration;
removing a sequence having a largest mean squared difference over all sequences under consideration;
removing the cross-correlation representative values and the mean squared difference values related to the removed sequence; and
placing remaining sequences back under consideration.

28. An apparatus comprising: a memory and at least one processor, where the at least one processor is configured to:
randomly select a set of sequences with each sequence comprised of sequence elements, each sequence element having a frequency selected from constellation points on a unit circle in a complex plane, where the selected set of sequences comprises a candidate set of sequences;
calculate a first cubic metric for each sequence of the candidate set of sequences, where the first cubic metric is for single code modulation; and
in response to the first cubic metric being larger than at least one threshold, remove the corresponding sequence from the candidate set of sequences to obtain at least one saved sequence, where the at least one saved sequence is stored on the memory.

29. An apparatus as in claim 28, where the at least one processor is further configured to:
calculate a second cubic metric for each sequence of the candidate set of sequences, where the second cubic metric is for multi-code modulation; and
in response to at least one of the first cubic metric or the second cubic metric being larger than at least one threshold, remove the corresponding sequence from the candidate set of sequences to obtain the at least one saved sequence.

30. An apparatus as in claim 29, where the at least one threshold comprises a first threshold and a second threshold, where the at least one processor is configured to remove the corresponding sequence in response to at least one of the first cubic metric being larger than the first threshold or the second cubic metric being larger than the second threshold.

31. An apparatus as in claim 28, where the processor is further configured to:
calculate cross-correlations for a plurality of different cyclic shift combinations of each sequence of the candidate set of sequences against a second sequence set;
select a cross-correlation value having a largest amplitude as a representative cross-correlation value for the cross-correlations between the corresponding sequence and the second sequence set; and
in response to the representative cross-correlation value being larger than a threshold, remove the corresponding sequence from the candidate set of sequences.

32. An apparatus as in claim 28, where the at least one saved sequence comprises at least one of:

















element
1
 0.7071 − 0.7071i
−0.7071 + 0.7071i
 0.7071 + 0.7071i
0.7071 + 0.7071i



2
−0.7071 + 0.7071i
 0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i 



3
 0.7071 − 0.7071i
 0.7071 − 0.7071i
−0.7071 − 0.7071i
0.7071 + 0.7071i



4
 0.7071 + 0.7071i
 0.7071 − 0.7071i
−0.7071 − 0.7071i
0.7071 − 0.7071i



5
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
0.7071 + 0.7071i



6
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
−0.7071 + 0.7071i 



7
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 − 0.7071i
−0.7071 + 0.7071i 



8
−0.7071 − 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i 



9
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
0.7071 − 0.7071i



10
 0.7071 + 0.7071i
 0.7071 + 0.7071i
 0.7071 + 0.7071i
0.7071 − 0.7071i



11
 0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 − 0.7071i
−0.7071 + 0.7071i 



12
−0.7071 − 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i
0.7071 − 0.7071i
















element
1
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 + 0.7071i




2
−0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i




3
 0.7071 + 0.7071i
 0.7071 + 0.7071i
−0.7071 + 0.7071i




4
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i




5
−0.7071 − 0.7071i
−0.7071 − 0.7071i
 0.7071 − 0.7071i




6
 0.7071 + 0.7071i
−0.7071 + 0.7071i
 0.7071 − 0.7071i




7
−0.7071 − 0.7071i
−0.7071 − 0.7071i
−0.7071 − 0.7071i




8
−0.7071 − 0.7071i
−0.7071 − 0.7071i
−0.7071 − 0.7071i




9
 0.7071 − 0.7071i
−0.7071 + 0.7071i
 0.7071 + 0.7071i




10
 0.7071 − 0.7071i
 0.7071 + 0.7071i
−0.7071 − 0.7071i




11
 0.7071 + 0.7071i
−0.7071 + 0.7071i
−0.7071 + 0.7071i




12
−0.7071 − 0.7071i
 0.7071 − 0.7071i
 0.7071 − 0.7071i.

33. An apparatus as in claim 28, where the at least one saved sequence comprises at least one of:
















element
1
−0.7071 − 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



2
−0.7071 − 0.7071i
0.7071 − 0.7071i
−0.7071 + 0.7071i



3
−0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



4
 0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



5
−0.7071 + 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



6
 0.7071 + 0.7071i
−0.7071 − 0.7071i 
 0.7071 + 0.7071i



7
−0.7071 − 0.7071i
0.7071 − 0.7071i
−0.7071 − 0.7071i



8
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



9
 0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



10
−0.7071 + 0.7071i
0.7071 + 0.7071i
 0.7071 − 0.7071i



11
 0.7071 + 0.7071i
0.7071 − 0.7071i
 0.7071 + 0.7071i



12
 0.7071 + 0.7071i
0.7071 + 0.7071i
 0.7071 + 0.7071i



13
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
 0.7071 + 0.7071i



14
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



15
 0.7071 − 0.7071i
−0.7071 + 0.7071i 
 0.7071 + 0.7071i



16
 0.7071 − 0.7071i
0.7071 − 0.7071i
 0.7071 − 0.7071i



17
−0.7071 − 0.7071i
0.7071 + 0.7071i
−0.7071 + 0.7071i



18
 0.7071 + 0.7071i
0.7071 + 0.7071i
−0.7071 − 0.7071i



19
−0.7071 − 0.7071i
−0.7071 − 0.7071i 
−0.7071 − 0.7071i



20
 0.7071 − 0.7071i
0.7071 + 0.7071i
 0.7071 + 0.7071i



21
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 + 0.7071i



22
 0.7071 + 0.7071i
0.7071 − 0.7071i
 0.7071 + 0.7071i



23
 0.7071 + 0.7071i
−0.7071 − 0.7071i 
 0.7071 + 0.7071i



24
−0.7071 + 0.7071i
−0.7071 + 0.7071i 
−0.7071 − 0.7071i



























element
1

0.7071 − 0.7071i
 0.7071 − 0.7071i




2

0.7071 − 0.7071i
 0.7071 + 0.7071i




3

0.7071 − 0.7071i
−0.7071 − 0.7071i




4

−0.7071 − 0.7071i 
−0.7071 − 0.7071i




5

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




6

0.7071 − 0.7071i
 0.7071 − 0.7071i




7

0.7071 + 0.7071i
−0.7071 + 0.7071i




8

0.7071 + 0.7071i
 0.7071 − 0.7071i




9

−0.7071 + 0.7071i 
 0.7071 − 0.7071i




10

−0.7071 + 0.7071i 
−0.7071 − 0.7071i




11

0.7071 − 0.7071i
−0.7071 − 0.7071i




12

−0.7071 + 0.7071i 
−0.7071 − 0.7071i




13

0.7071 − 0.7071i
 0.7071 − 0.7071i




14

0.7071 + 0.7071i
−0.7071 − 0.7071i




15

0.7071 − 0.7071i
−0.7071 − 0.7071i




16

−0.7071 − 0.7071i 
 0.7071 + 0.7071i




17

0.7071 + 0.7071i
 0.7071 − 0.7071i




18

0.7071 − 0.7071i
 0.7071 + 0.7071i




19

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




20

−0.7071 − 0.7071i 
−0.7071 + 0.7071i




21

0.7071 + 0.7071i
 0.7071 − 0.7071i




22

−0.7071 − 0.7071i 
 0.7071 + 0.7071i




23

0.7071 − 0.7071i
 0.7071 − 0.7071i




24

0.7071 − 0.7071i
−0.7071 + 0.7071i.

34. An apparatus as in claim 28, further comprising a transceiver, where the at least one saved sequence is used for at least one wireless communication, via the transceiver, within an evolved universal terrestrial radio access network.

35. An apparatus as in claim 28, where the at least one saved sequence comprises a plurality of saved sequences, the at least one processor being further configured to select a subset of the plurality of saved sequences, where the at least one processor selecting the subset of the plurality of saved sequences comprises the at least one processor:
calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a plurality of different cyclic shift combinations;
selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences; and
iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration:
for each sequence of the plurality of saved sequences, counting a first number of representative values exceeding a first cross-correlation threshold, a second number of representative values exceeding a second cross-correlation threshold and a third number of representative values exceeding a third cross-correlation threshold, where the first cross-correlation threshold is greater than the second cross-correlation threshold and the second cross-correlation threshold is greater than the third cross-correlation threshold;
selecting for further consideration those sequences having the first number of representative values equal to a maximum first number of representative values over all sequences under consideration;
selecting for further consideration those sequences having the second number of representative values equal to a maximum second number of representative values over all sequences under consideration;
removing a sequence having a largest third number of representative values over all sequences under consideration;
removing the cross-correlation representative values related to the removed sequence; and
placing remaining sequences back under consideration.

36. An apparatus as in claim 28, where the at least one saved sequence comprises a plurality of saved sequences, the at least one processor being further configured to select a subset of the plurality of saved sequences, where the at least one processor selecting the subset of the plurality of saved sequences comprises the at least one processor:
calculating cross-correlations for each pair of sequences of the plurality of saved sequences for a first plurality of different cyclic shift combinations;
selecting a cross-correlation value having a largest amplitude as a cross-correlation representative value for the cross-correlations between the corresponding pair of sequences;
for each pair of sequences, calculating mean squared difference between the cross-correlations and m/sqrt(N) over a second plurality of different cyclic shift combination, where m comprises a scaling factor and N comprises a sequence length;
iterating the sequences of the plurality of saved sequences in the following manner to obtain the subset of the plurality of saved sequences, where zero or more of the sequences of the plurality of saved sequences are removed on each iteration:
for each sequence of the plurality of saved sequences, counting a number of representative values exceeding a cross-correlation threshold;
selecting for further consideration those sequences having the number of representative values equal to a maximum number of representative values over all sequences under consideration;
removing a sequence having a largest mean squared difference over all sequences under consideration;
removing the cross-correlation representative values and the mean squared difference values related to the removed sequence; and
placing remaining sequences back under consideration.

37. An apparatus as in claim 28, where the apparatus comprises a mobile station.

38. An apparatus as in claim 28, where the apparatus comprises a base station.