The technical field relates generally to an apparatus and method for communication over a wireless communication network and, particularly, to apparatus and methods for communication over a cellular communication network.
Referring to
In the cellular communication network, communication resources such as frequencies, time slots, signature codes, channels, reference signals, pilot signals, etc. can be re-used across cells. The transmitters and receivers can be simultaneously present in any given cell. In case of uplink (also known as “reverse link” or any other similar term) communication, transmitters are at UEs 115, and receivers are at the base station 110. In case of downlink (also known as “forward link” or any other similar term) communication, transmitters are at the base station 110, and receivers are at the UE 115.
Communication can be established between transmitters and receivers of the cellular network via reference signals (RS). The RS may also be referred to as pilot signal, training signal, or any other similar term. Reference signals are used for: channel estimation, channel sounding, channel quality estimation, synchronization, timing-offset estimation, frequency-offset estimation, or for any other purpose. Channel estimates, which are derived from received reference signals, are used for data demodulation.
The reference signal is preferably generated from a sequence having low autocorrelation property for any non-zero time shift of its own replica. However, conventional approaches cannot generate a sequence having a sufficient number of elements frequently enough, particularly for the proposed goals of the so-called fourth generation mobile communications technology (4G).
According to novel embodiments, a sequence for a reference signal, which is a complex valued sequence having constant amplitude (CA) and zero cyclic autocorrelation (CAZAC sequence) with even symmetry, is generated. Examples of CAZAC sequences include: Chu sequences, Frank-Zadoff sequences, Zadoff-Chu (ZC) sequences, and Generalized Chirp-Like (GCL) Sequences.
The sequence can be obtained by iteratively calculating elements of the CAZAC sequence according to a CAZAC sequence formula until a number of iterations has reached a predetermined iteration value determined in accordance with a number of subcarriers associated with the channel. In order to limit error propagation associated with the use of fixed point arithmetic, values of particular elements of the CAZAC sequence can be obtained from a table of stored values at predetermined reset iteration values. Further, in order to lower processor power consumption and computation needs for obtaining the sequence, the iterative calculations can be made until the number of iterations is equal to
wherein NZCRS is the sequence length, which is the largest prime number that is less than the number of subcarriers associated with the channel. The remaining elements of the sequence can be obtaining by taking advantage of the symmetric properties of the sequence. Particularly, remaining elements of the CAZAC sequences can be are assigned to be equal to an symmetric element of the iteratively calculated elements.
A reference signal to be transmitted on a wireless communication channel between user equipment and a base station within a cellular communication network can be generated based upon the sequence. When the CAZAC sequence is generated based upon the ZC sequence formula, a method of generating the CAZAC sequence includes: receiving at one of the user equipment and the base station one or more signals specifying a sequence root u and a sequence length NZCRS, wherein the sequence length is equal to the largest prime number that is less than a number of subcarriers of the channel; generating a constant amplitude zero autocorrelation (CAZAC) sequence based upon formula 1, wherein u is the sequence root and NZCRS is the sequence length,
The sequence generated according to formula 1, can be obtained calculating a first constant k according to
calculating a second constant k0 according to k0=cos(2k); calculating a third constant k1 according to k1=−sin(2k); and iteratively calculating cR(m), cI(m), dR(m), dI(m), and xu(m) according to formula 2 until m is equal to a predetermined iteration value or a total number of iterations is equal to NZCRS−1,
cR(m+1)=cR(m)dR(m)−c1(m)d1(m)
cI(m+1)=c1(m)dR(m)−cR(m)d1(m),
dR(m+1)=dR(m)k0−d1(m)k1,
dI(m+1)=dR(m)k0+d1(m)k1,
xu(m+1)=cR(m+1)+jc1(m+1) wherein
cR(0)=1, cI(0)=0, dR(0)=k0, dI(0)=k1, xu(0)=1 (formula 2).
Regarding the iteratively calculating cR(m), cI(m), dR(m), dI(m), and xu(m) according to formula 2, values of cR(m), cI(m), dR(m), and dI(m) can be obtained based upon a table of values when a reset parameter is equal to a predetermined iteration value in order to obtain a desired precision level.
The symmetric properties of the ZC sequence can be taken advantage of by iteratively calculating cR(m), cI(m), dR(m), dI(m), and xu(m) according to formula 2 until the total number of iterations is equal to
thereby calculating only half of the sequence. The remaining elements of the sequence can be obtaining by taking advantage of the symmetric properties of the sequence. Particularly, remaining elements of the CAZAC sequences can be are assigned to be equal to a symmetric element of the iteratively calculated elements.
Further, when a processor including a complex multiplication enabled arithmetic logic unit (ALU) for performing single-instruction complex multiplication operations is available, the iterative calculations of cR(m), cI(m), dR(m), and dI(m) can be performed by single-instructions complex multiplication operations, wherein
c(m+1)=(cR(m)+jcI(m)(dR(m)+jdI(m)) and
d(m+1)=(dR(m)t+jdI(m))(k0+jk1).
The accompanying figures, in which like reference numerals refer to identical or functionally similar elements, together with the detailed description below are incorporated in and form part of the specification and serve to further illustrate various exemplary embodiments and explain various principles and advantages in accordance with the present invention.
In overview, the present disclosure concerns user equipment (UE) and base stations (BS) of a cellular communication network, a processor for the UE and BS, a memory associated with the processor, and computer readable instructions stored in the memory for configuring the processor. More particularly, various inventive concepts and principles are embodied in systems, apparatuses, and methods for generating complex-valued constant amplitude and zero cyclic autocorrelation (CAZAC) sequences with even symmetry.
The instant disclosure is provided to further explain in an enabling fashion the best modes of performing one or more embodiments of the present invention. The use of relational terms such as first and second, and the like, if any, are used solely to distinguish one from another entity, item, or action without necessarily requiring or implying any actual such relationship or order between such entities, items or actions. It is noted that some embodiments may include a plurality of processes or steps, which can be performed in any order, unless expressly and necessarily limited to a particular order; i.e., processes or steps that are not so limited may be performed in any order.
Much of the inventive functionality and many of the inventive principles when implemented, are best supported with or in computer instructions (software) or integrated circuits (ICs), and/or application specific ICs. It is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions or ICs with minimal experimentation. Therefore, in the interest of brevity and minimization of any risk of obscuring the principles and concepts according to the present invention, further discussion of such software and ICs, if any, will be limited to the essentials with respect to the principles and concepts used by the exemplary embodiments.
Referring to
During wireless operation within the coverage area 100, the base station 110 and the UE 115 share time variant information such as frame numbers, sub-frame offsets, slot offsets, and transmitted symbol offsets, and time independent information such as cell identifications, UE identifications, and noise generator seeds by, for example, broadcasting, direct or indirect signaling, or by any other method of sharing.
The base station 110 and the UE 115 also communicate time variant reference signals for: channel estimation, channel sounding, channel quality estimation, synchronization, timing-offset estimation, frequency-offset estimation, or for any other purpose over a cellular communication channel.
For example, during synchronization, the base station 110 sends a type of reference signal referred to here as a primary synchronization signal that includes a sequence of CAZAC numbers to the UE 115. The UE 115 receives the CAZAC numbers of the primary synchronization signal with different delays. The UE 115 can then generate CAZAC numbers locally based upon the shared time variant and time independent information to compare the delay of the locally generated CAZAC numbers with those received from the base station 110 to estimate channel delay.
In another example, the UE 115 can transmit another type of reference signal referred to here as an uplink demodulation reference signal to the base station 110 in order to determine the channel quality. The uplink demodulation signal also includes a sequence of CAZAC numbers unique to the UE 115 and base station 110 and, in many instances, the time index of the data frame being communicated. The base station 110 generates CAZAC numbers locally to compare with the CAZAC sequence received from the UE 115. The reference signals are not limited to the above examples and can include other types such as random access channel demodulations signals.
In any ease, the CAZAC sequences are generated based upon fixed parameters such as; (1) the number of subcarriers or channel frequencies (MSCRS); (2) the length of the sequence (NZCRS); and (3) the root of the sequence (u). These fixed parameters are preferably included among shared time variant and time independent information. For example, the length of the sequence can be communicated to the UE 115 as part of the scheduling process that distributes available bandwidth with different UEs. The root may be communicated directly or derived from other parameter previously communicated
The CAZAC sequence is preferably generated based upon the Zadoff-Chu (ZC) sequence shown by formula 1:
The length NZCRS of the Zadoff-Chu sequence is given by the largest prime number such that NZCRS<MSCRS.
In the Long Term Evolution (LTE) standard of the Fourth Generation Communications System (4G), the possible values for MSCRS are 12, 24 36, 48, 60, 72, 96, 108, 120, 144, 180, 192, 216, 240, 288, 300, 324, 360, 384, 432, 480, 540, 576, 600, 648, 720, 768, 864, 900, 960, 972, 1080, 1152, 1200. Thus, the corresponding possible values for NZCRS (excluding those less than MSCRS=36) are 31, 47, 59, 71, 89, 107, 113, 139, 179, 191, 211, 239, 283, 293, 317, 359, 383, 431, 479, 523, 571, 599, 647, 719, 761, 863, 887, 953, 971, 1069, 1151, 1193. ZC sequences generated based upon these possible values can be used for many applications in the LTE standard such as primary synchronization signal, uplink demodulation reference signal, channel sounding and random access channel (RACH) demodulation.
The ZC sequence can be efficiently generated by using trigonometric properties in an iterative algorithm according to formula 2
By denoting
formula 2 becomes:
The trigonometric properties below can be used to further simplify formula 2.
cos(2k(m+1))=cos(2km+2k)=cos(2km)cos(2k)−sin(2km)sin(2k),
sin(2k(m+1))=sin(2km+2k)=sin(2km)cos(2k)+cos(2km)sin(2k).
If the values of the two constants cos(2k) and sin(2k) are known, both cos(2k(m+1)) and sin(2k(m+1)) can be calculated iteratively.
An iterative algorithm for generating CAZAC sequences according to an exemplary embodiment will be discussed with reference to the flow diagram illustrated in
At 202, a first constant k is calculated according to
Also, a second constant k0 and a third constant k1 are calculated according to k0=cos(2k) and k1=−sin(2k). The values of the sequence length NZCRS and root of the sequence u can be obtained from a received message or an associated memory as discussed above. At 204, values for cR(m), cI(m), dR(m), dI(m), and xu(m) are assigned for m=0. The assigned values are: cR(0)=1; cI(0)=0; dR(0)=k0; dI(0)=k1; and xu(0)=1 in accordance with
cR(m)=cos(k(m2+m)),
cI(m)=−sin(k(m2+m)),
dR(m)=cos(2km),
dI(m)=−sin(2km),
At 206, one iteration step is performed where, cR(m+1), cI(m+1), dR(m+1), dI(m+1), and xu(m+1) are calculated according to formula 3, using the values cR(m), cI(m), dR(m) and dI(m) calculated in the preceding iteration step or in the initialization step 204:
cR(m+1)=cR(m)dR(m)−c1(m)d1(m)
cI(m+1)=c1(m)dR(m)−cR(m)d1(m),
dR(m+1)=dR(m)k0−d1(m)k1,
dI(m+1)=dR(m)k0−d1(m)k1,
xu(m+1)=cR(m+1)+jc1(m+1) (formula 3).
At 208, the value of m is incremented. At 210, it is determined if the value of m is equal to the sequence length NZCRS. Because the initial value of the sequence is determined at m=0, a value of m equal to the sequence length NZCRS will mean that all of the elements of the sequence have been obtained.
If the value of m is determined to not be equal to the sequence length NZCRS (NO at 210), then the values of cR(m+1), cI(m+1), dR(m+1), dI(m+1), and xu(m+1) are calculated again at 208. The iterative algorithm continues until the value of m is determined to be equal to the sequence length NZCRS (YES at 210).
Generally, in the iterative algorithm according to
The values of the second constant k0 and third constant k1 can preferably be obtained from a table containing sine and cosine values stored in the associated memory. In order to reduce the memory needed for this table while also maintaining precision, the table can be broken up into two (or more, if necessary) tables: one containing coarse representation of the sine and cosine values and the other providing refinement for the coarse values.
For example, when it is necessary to find the cosine of an angle θ, the angle can be represented as the sum of two other angles: θ=φ+γ. The angle φ is defined to take values in the interval [0,2π(1−2−b/2)] The angle γ refines the precision of φ and takes values in the interval [0,2π(1−2−b/2)2−b/2], so as to provide finer refinement to the values of φ. b is the number of bits used to index the entries into the tables. Thus, each table will have 2b entries. By applying trigonometric formulas, the values of sine and cosine can be calculated as
cos(θ)=cos(φ)cos(γ)−sin(φ)sin(γ)
and sin(θ)=sin(φ)cos(γ)+cos(φ)sin(γ).
The elements of a CAZAC sequence obtained by the iterative algorithm shown in
As discussed above, both k0 and k1 can be obtained from the table of values. Although the table stores 16 bit numbers, the precision used to calculate k0 and k1 is determined by the number of entries in the table (the size of the table). This precision implies an error in representing k0 and k1 that is propagated and amplified from iteration to iteration, which is an important part of the errors associated with the use of finite precision arithmetic. However, this error propagation effect can be reduced by taking advantage of the symmetry of the ZC sequence to calculate only half of the sequence elements. Particularly, as discussed below, it can be shown that every ZC sequence is an even function around the middle element in the sequence.
Consider the sequence elements xu(m) and xu(m−n). For them to have the same value we require
for some kεN and nεN which implies that
Since NZCRS is prime, for kεN we need 2m−n+1=lNZCRS with lεN+. Choosing l=1 leads to
Since NZCRS is prime (i.e. odd), for mεN we need n to be even. Then, considering
implies that the sequence is symmetric around the element
(the one in the middle).
Thus, because the ZC sequence is symmetric about its middle element, it is possible to compute only half of the elements of the sequence. Accordingly, the iterative algorithm of
The remaining half of the values of the sequence elements xu(m) can be assigned to be equal to the symmetric elements. For example, suppose that the sequence has length N. Thus, the value of xu(0) is assigned to xu(N−1), the value of xu(1) is assigned to xu(N−2), until the middle element
is calculated. Because NZCRS is a prime number, it is always an odd number, so the only element with no “pair” is the middle element.
This approach is shown in
which is one increment past the middle element. If the value of m is determined to not be equal to the sequence length
(NO at 230), then the values of cR(m+1), cI(m+1), dR(m+1), dI(m+1), and xu(m+1) are calculated again at 226, using the values cR(m), cI(m), dR(m) and dI(m) calculated in the preceding iteration step. The iterative algorithm continues until the value of m is determined to be equal to the sequence length
Generally, in the iterative algorithm according to
Thus, values of xu(m) are obtained for
because the algorithm stops when m is equal to
Each of the remaining half of the values of the ZC sequence can be obtained by assigning each element to be equal to it symmetric elements.
This approach has the advantage of speeding up the algorithm as well as reducing the error propagation effect (because the error is propagated over half the sequence length as originally).
If operations are performed using 16 bits of internal precision, the updates to cR, cI, dR and dI can be seen as if they were complex multiplication operations, i.e.: c(m+1)=cR(m+1)+jcI(m+1)=(cR(m)+jcI(m)(dR(m)+jdI(m)) d(m+1)=dR(m+1)+jdI(m+1)=(dR(m)+jdI(m))(k0+jk1). These two operations can be implemented very efficiently in any processor or digital computing device with a complex multiply enabled arithmetic logic unit (
Referring to the flow diagram of
If the value of t is determined to not be equal to the predetermined reset iteration value (NO at 506), the values of cR(m+1) cI(m+1), dR(m+1), dI(m+1), and xu(m+1) are calculated again at 508, using the values cR(m) cI(m), dR(m) and dI(m) calculated in the preceding iteration step at 508, during the initialization step at 504 or in a preceding iteration reset operation at 514. The iterative algorithm continues until the value of m is determined to be equal to the sequence length NZCRS (YES at 512).
Generally, in the iterative algorithm according to
Referring to
which is one increment past the middle element. If the value of m is determined to not be equal to the sequence length
then the values of cR(m+1), cI(m+1), dR(m+1), dI(m+1), and xu(m+1) are calculated again at 528, using the values cR(m), cI(m), dR(m) and dI(m) calculated in the preceding iteration step at 528, during the initialization step at 524 or in a preceding iteration reset operation at 534 or they are directly calculated the table of values at 534. The iterative algorithm continues until the value of m is determined to be equal to the sequence length
In an exemplary operation using the iterative algorithm of
Because the reset operation involves table lookups, the operations of
Ultimately, the decision on how frequently to reset the algorithm can be based on the tradeoff between the number of processing cycles required and the result in terms of the properties of interest in the ZC sequence. In other words, the error in computing the sequence element may not be as important as the effect of the error on the properties of interest for the ZC sequence. One such property is the autocorrelation of the sequence.
Referring to
The interface 1210 is generally for receiving reception signals from and transmitting transmission signals to, for example, the base station 110 or the UE 115, depending on in which entity the interface 1210 is implemented. The interface 1210 can also receive broadcast messages or demodulation signals specifying parameters such as the sequence root u, the sequence length NZCRS and/or a CAZAC sequence. Further, the interface 1210 can receive these parameters from the memory 1230 or other hardware components.
The memory 1230 can be one or a combination of a variety of types of memory or computer readable medium such as random access memory (RAM), read only memory (ROM), flash memory, dynamic RAM (DRAM) or the like. The memory 1230 can include a basic operating system, data, and variables 1240, executable code 1245 and other data such as the sequence root U, sequence length NZCRS and/or a CAZAC sequence and general shared time variant and time independent information.
Further, the memory 1230 can include computer programs or instructions for configuring the processor 1220 such as the CAZAC sequence instructions 1250. The memory 1230 also stores parameters such as the coarse table of cosine and sine values 1255 and the fine table of cosine and sine values 1260.
The CAZAC sequence instructions 1250 can configure the processor 1220 to generate a CAZAC sequence from the Zadoff-Chu sequence, wherein u is the sequence root and NZCRS is the sequence length.
(Zadoff-Chu sequence).
The CAZAC sequence instructions 1250 can configure the processor 1220 to generate a CAZAC sequence according to the flow diagram of
The CAZAC sequence instructions 1250 can configure the processor 1220 to generate a CAZAC sequence according to the flow diagram of
When t is equal to the predetermined reset iteration value, the values of cR(m), cI(m), dR(m), and dI(m) can be obtained from the coarse table 555 and the fine table 560. The processor 1220 continues to iteratively calculate cR(m), cI(m), dR(m), dI(m), and xu(m) according to formula 2 until the total number of increments of m is equal to
When the CAZAC sequence instructions 1250 configures the processor 1220 to generate a CAZAC sequence according to the flow diagrams of
The remaining half of the values of the sequence elements xu(m) for m equal to
can be assigned to be equal to the symmetric elements.
The memory 1230 can also include complex multiplication instructions 1265 for configuring the processor 1220 to perform complex multiplication when the processor 1220 includes a complex multiplication enabled arithmetic logic unit (ALU) for performing complex multiplication operations. One exemplary ALU is the mnemonic “cmpyr1” Texas Instruments' Digital Signal Processor TMS320C64x+ instruction set. The complex multiplication instructions 1270 can configure the processor 1220 to perform the iterative calculation of cR(m+1), cI(m+1), dR(m+1), and dI(m+1) by complex multiplication operations, such as c=_cmpyr1(c,d), d=_cmpyr1(k,d) in Texas Instruments' Digital Signal Processor TMS320C64x+ instruction set, wherein
c(m+1)=(cR(m)+jcI(m)(dR(m)+jdI(m)) and
d(m+1)=(dR(m)+jdI(m)(k0+jk1).
Referring to
Referring to
Referring to
The reference signal instructions 1270 can configure the processor 1220 to generate a reference signal to be transmitted by the interface 1230, to derive a CAZAC sequence from a reference signal received by the interface 1230 and compare the received CAZAC sequence with the locally generated CAZAC sequence to determine a channel parameter. In order to generate a reference signal from the CAZAC sequence, the CAZAC sequence can be cyclically shifted by a cyclic shifter based upon the shared time variant and time independent information. A modulator maps samples of the cyclically shifted CAZAC sequence into a designated set of IDFT input tones, which are adapted for further transmission to be sent over the air via a transmitter and antenna. The modulator can be, for example, an OFDM modulator or a DFT-Spread OFDM modulator. Exemplary embodiments for transmitting and receiving reference signals from CAZAC sequences are described in: International Publication No. WO 2007/127902 to Muharemovic et al. entitled “Methods and Apparatus to Allocate Reference Signals in Wireless Communication Systems” and published on Nov. 8, 2007; and International Publication No. WO 2007/126793 to Bertrand et al. entitled “Random Access Structure for Wireless Networks” and published on Nov. 8, 2007, the contents of both of which are incorporated herein by reference.
This disclosure is intended to explain how to fashion and use various embodiments in accordance with the invention rather than to limit the true, intended, and fair scope and spirit thereof. The invention is defined solely by the appended claims, as they may be amended during the pendency of this application for patent, and all equivalents thereof. The foregoing description is not intended to be exhaustive or to limit the invention to the precise form disclosed.
Modifications or variations are possible in light of the above teachings. The embodiment(s) was chosen and described to provide the best illustration of the principles of the invention and its practical application, and to enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims, as may be amended during the pendency of this application for patent, and all equivalents thereof, when interpreted in accordance with the breadth to which they are fairly, legally, and equitably entitled.
This application claims the benefit of provisional application No. 60/984,578 filed on 1 Nov. 2007, the contents of which are expressly incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
20070183386 | Muharemovic et al. | Aug 2007 | A1 |
20080240285 | Han et al. | Oct 2008 | A1 |
20080310383 | Kowalski | Dec 2008 | A1 |
20090067318 | Kowalski | Mar 2009 | A1 |
20090110034 | Kowalski | Apr 2009 | A1 |
Number | Date | Country |
---|---|---|
WO2007082408 | Jul 2007 | WO |
WO2007087602 | Aug 2007 | WO |
WO2007124451 | Nov 2007 | WO |
WO2007126793 | Nov 2007 | WO |
WO2007127902 | Nov 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20090116587 A1 | May 2009 | US |
Number | Date | Country | |
---|---|---|---|
60984578 | Nov 2007 | US |