This application claims the benefit under 35 U.S.C. § 119(a) to a Korean Patent Application filed in the Korean Intellectual Property Office on Aug. 30, 2005 and assigned Serial No. 2005-80387, the entire disclosure of which is hereby incorporated by reference.
1. Field of the Invention
The present invention generally relates to a Linear Feedback Shift Register (LFSR). More particularly, the present invention relates to a method and apparatus for quickly computing a state of an LFSR to generate a code in a mobile communication system.
2. Description of the Related Art
A Linear Feedback Shift Register (LFSR) is a circuit for generating a pseudorandom binary sequence corresponding to a sequenced binary bit stream using linear feedback. In this circuit, values of multiple shift registers are shifted one by one in a clock period. Also, an input of a shift register is applied by performing an Exclusive-OR (EXOR) operation on some outputs. The LFSR is applied to a Pseudo Noise (PN) generator of Code Division Multiple Access (CDMA) mobile communication systems such as cdma2000 or Universal Mobile Telecommunication Systems (UMTS).
Various technologies are being applied to reduce power consumption of a terminal of the CDMA system. The typical technology is an operation in sleep mode. A method for reducing power consumption also in the sleep mode is being considered. A clock for operating the LFSR configuring the PN generator is supplied from a Temperature Compensated Crystal Oscillator (TCXO) conventionally operating at a high rate. When the TCXO is operated at a low rate and power of the LFSR is interrupted in the sleep mode, the power consumption can be reduced. For example, when a high-speed 42-stage LFSR operating at 1.2288 Mchips/sec generates a long PN code in a cdma2000 1× system, power of the LFSR is interrupted and the elapsed time is counted using a low-speed clock rather than a high-speed clock in the sleep mode. A method has been proposed which can compute a state of the LFSR to be used after wake-up by employing a mask pattern for advancing the state of the LFSR by the number of chips corresponding to the sleep time if the terminal repeats sleep and wake-up operations in a fixed period.
Referring to
When the device of
Referring to
Referring to
A searcher or finger of the CDMA system performs a slew operation for multipath combining or handover.
Referring to
As described above, the conventional art has the following problems.
When the wake-up occurs at a regular time interval in the sleep mode, the devices of
On the other hand, when a processing operation for computing a state after an arbitrary time as illustrated in
As described above, the slew operation computes a new LFSR state after the elapsed time. This operation can retard or advance the LFSR by adjusting the speed of a clock for operating the LFSR. In this case, a time required for the slew operation is proportional to a slew amount. A problem exists in which a chip clock mapped to a half of a PN sequence period is required if chip clocks used for the retard and advance operations are half and twice the normal clock, respectively.
Accordingly, there is a need for an improved method and apparatus for reducing computation of a PN generator in an sleep/idle mode and reducing power consumption of a terminal and improving the reception of the terminal
An aspect of exemplary embodiments of the present invention is to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of exemplary embodiments of the present invention is to provide a method and apparatus that can quickly and efficiently generate a code by quickly and efficiently computing a new state of a Linear Feedback Shift Register (LFSR) used for a code generator in a mobile communication system.
It is another aspect of exemplary embodiments of the present invention to provide a method and apparatus that can simplify hardware operation logic when computing a state of a LFSR used for a code generator in a mobile communication system.
It is yet another aspect of exemplary embodiments of the present invention to provide a method and apparatus that can reduce power consumption and can also improve signal acquisition performance by reducing the number of clocks and a required time when computing a state of a LFSR used for a code generator in a mobile communication system.
In accordance with an aspect of exemplary embodiments of the present invention, there is provided a method for generating a code for a communication system using an n-stage Linear Feedback Shift Register (LFSR), in which a characteristic polynomial indicative of current state values of the LFSR is expressed by elements of a finite Galois field; the characteristic polynomial is expressed by a function of a primitive element of the Galois field; a characteristic polynomial at an arbitrary time variably set from the characteristic polynomial expressed is computed by the function of the primitive element; and a multiply operation and a square operation on the characteristic polynomial computed are repeated at the arbitrary time and a code with a new state value is generated by providing the new state value of the LFSR.
In accordance with another aspect of exemplary embodiments of the present invention, there is provided a method for generating a code for a communication system comprising an n-stage Linear Feedback Shift Register (LFSR) and operating in sleep mode and active mode set at a preset time interval from the sleep mode, in which current state values of the LFSR and n different mask patterns are combined to shift the current state values by {20,21, . . . ,2n−1}; and a combination result as a new state value of the LFSR is provided at an arbitrary time variably set in the sleep mode.
In accordance with a further aspect of exemplary embodiments of the present invention, there is provided a computer-readable medium storing computer-readable codes for performing a method for generating a code for a communication system comprising an n-stage Linear Feedback Shift Register (LFSR),
The foregoing has outlined rather broadly the features and technical advantages of exemplary embodiments of the present invention so that those skilled in the art may better understand the detailed description of the invention that follows.
Additional features and advantages of the invention will be described hereinafter that form the subject of the claims of the invention. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the invention in its broadest form.
The above and other objects, features, and advantages of certain exemplary embodiments of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:
FIGS. 14 to 16 illustrate linear combination functions fed back to shift registers when a square operation is performed in the device of
Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features and structures.
The matters defined in the description such as a detailed construction and elements are provided to assist in a comprehensive understanding of exemplary embodiments of the invention. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
The present invention proposes a new algorithm and hardware structure for quickly computing a state of a Linear Feedback Shift Register (LFSR) used for a Pseudo Noise (PN) code generator in a mobile communication system. As described with reference to the conventional art, the present invention can be divided into two exemplary implementations. In a first exemplary implementation, a terminal of a Code Division Multiple Access (CDMA) system is awakened at a regular time interval after stopping the PN generator to reduce power consumption in sleep mode. In a second exemplary implementation, a searcher or finger of the CDMA system quickly slews the PN generator, operating at a chip rate for multipath combining or handover, by the arbitrary number of chips. A difference between the exemplary implementations is present. However, both exemplary implementations follow the same technical idea of computing a new state after the elapsed time in place of the current state of the PN generator.
As described with reference to
As described with reference to
Referring to
The shift register S0 receives an output of the EXOR operator 2 and then outputs a shifted value. The shift register S1 receives the output of the shift register S0 and then outputs a shifted value. The shift register S2 receives the output of the shift register S1 and then outputs a shifted value. The shift register S3 receives the output of the shift register S2 and then outputs a shifted value. The output of the shift register S3 is a PN code output. The EXOR operator 4 receives the values output from the shift registers S2 and S3, performs an EXOR operation on the received values, and outputs an EXOR operation result. The output of the EXOR operator 4 is provided to one input terminal of the EXOR operator 2 through a switch SW1. The EXOR operator 2 receives the output of the EXOR operator 4, receives an output of a buffer R3 through a switch SW3, and performs an EXOR operation on them to output an EXOR operation result. AND operators 10˜13 receive the outputs of the shift registers S0˜S3 and mask patterns M0˜M3 mapped thereto, perform AND operations on them, and output AND operation results. The AND operator 10 receives the output of the shift register S0 and the mask pattern M0 and performs the AND operation on S0 and M0 values. The AND operator 11 receives the output of the shift register S1 and the mask pattern M1 and performs the AND operation on S1 and M1 values. The AND operator 12 receives the output of the shift register S2 and the mask pattern M2 and performs the AND operation on S2 and M2 values. The AND operator 13 receives the output of the shift register S3 and the mask pattern M3 and performs the AND operation on S3 and M3 values. An EXOR operator 20 receives values output from the AND operators 10˜13, performs an EXOR operation on them, and outputs an EXOR operation result. A buffer R0 buffers the output of the EXOR operator 20 received through a switch SW2. A buffer R1 receives and buffers an output of the buffer R0. A buffer R2 receives and buffers an output of the buffer R1. A buffer R3 receives and buffers an output of the buffer R2. An output of the buffer R3 is provided to one input terminal of the EXOR operator 2 through the switch SW3. State values output from the buffers R3, R2, R1, and R0 are serially provided to the shift registers S3, S2, S1, and S0 of the LFSR.
At the time of an initial operation, the switches SW1 and SW2 are closed and the switch SW3 is opened. When a preset time for example, 4 chips) has elapsed, the switches SW1 and SW2 are switched to the opening state and the switch SW3 is switched to the closing state. When a preset time (for example, 8 chips) has elapsed, the switches SW1 and SW2 are switched to the closing state and the switch SW3 is switched to the opening state. This switching operation is repeated in a set time unit.
As a result, the mask patterns M(20) (=M0(20)M1(20)M2(20)M3(20)), M(21) (=M0(21)M1(21)M2(21) M3(21)), M(22) (=M0(22)M1(22)M2(22)M3(22)), and M(23) (=M0(23)M1(23)M2(23)M3(23)) serve to shift (or advance) the current state by 20, 21, 22, and 23, respectively. The mask patterns M(2i) (=M0(2i)M1(2i)M2(2i)M3(2i)) for shifting the current state by 2i are input to the AND operators 10˜13. The AND operators 10˜13 perform the AND operations on the mask patterns and the current state values of the shift registers S3, S2, S1, and S0. AND operation results are sequentially buffered in the buffers R0˜R3 through the EXOR operator 20 and then are input again to the shift register S0. When t0=1, the mask pattern M(20) (=M0(20)M1(20)M2(20)M3(20)) is loaded. When t1=1, the mask pattern M(21) (=M0(21)M1(21)M2(21)M3(21)) is loaded. When t2=1, the mask pattern M(22) (=M0(22)M1(22)M2(22)M3(22)) is loaded. When t3=1, the mask pattern M(23) (=M0(23)M1(23)M2(23)M3(23)) is loaded. That is, when t0=1, the AND operator10 performs the operation on the current state value of the shift register S0 and the mask pattern M0(20), the AND operator 11 performs the operation on the current state value of the shift register S1 and the mask pattern M1(20), the AND operator 12 performs the operation on the current state value of the shift register S2 and the mask pattern M2(20), and the AND operator 13 performs the operation on the current state value of the shift register S3 and the mask pattern M3(20). Similarly, when t1, t2, and t3 are 1, the operations are performed in the above-described method.
As described above,
When an extension is made, there can be considered the case where a state is computed after arbitrary t (=(tn−1tn−2 . . . t0)2) chips from the current state of an n-stage LFSR. In this case, four mask patterns M(20), M(21), . . . , M(2n−1) are successively applied to shift (or advance) the current state by 20, 21, . . . 2n−1, respectively. That is, when 0=k<n, M(2k) is repeatedly applied as long as tk=1 with respect to all k values regardless of order of k. This method makes a shift of t=t0+t12+ . . . +tn−12n−1 by dividing the shift into shifts of t0, t12, . . . ,tn−12n−1.
Referring to
An exemplary embodiment of the present invention as illustrated in
Referring to
The shift register S0 receives an output of the EXOR operator 6 and then outputs a shifted value. The shift register S1 receives the output of the shift register S0 through the EXOR operator 8 and then outputs a shifted value. The shift register S2 receives the output of the shift register S1 and then outputs a shifted value. The shift register S3 receives the output of the shift register S2 and then outputs a shifted value. The output of the shift register S3 is produced as a PN code through a switch SW1. The EXOR operator 8 receives the value output from the shift register S0, receives the value output from the shift register S3 through the switch SW1, performs an EXOR operation on the received values, and outputs an EXOR operation result. The output of the EXOR operator 8 is input to the shift register S1. The EXOR operator 6 receives the output of the shift register S3 through the switch SW1, receives an output of a buffer R′3 through a switch SW3, and performs an EXOR operation on input values to output an EXOR operation result.
AND operators 10˜13 receive the outputs of the shift registers S0˜S3 and mask patterns M0˜M3 mapped thereto, perform AND operations on them, and output AND operation results. The AND operator 10 receives the output of the shift register S0 and the mask pattern M0 and performs the AND operation on S0 and M0 values. The AND operator 11 receives the output of the shift register S1 and the mask pattern M1 and performs the AND operation on S1 and M1 values. The AND operator 12 receives the output of the shift register S2 and the mask pattern M2 and performs the AND operation on S2 and M2 values. The AND operator 13 receives the output of the shift register S3 and the mask pattern M3 and performs the AND operation on S3 and M3 values. An EXOR operator 20 receives values output from the AND operators 10˜13, performs an EXOR operation on the received values, and outputs an EXOR operation result. A buffer R0 buffers the output of the EXOR operator 20 received through a switch SW2. A buffer R1 receives and buffers an output of the buffer R0. A buffer R2 receives and buffers an output of the buffer R1. A buffer R3 receives and buffers an output of the buffer R2. When all the buffers R0, R1, R2, and R3 are full, their output values are provided to a linear transformer 30.
The linear transformer 30 receives the output values of the buffers R0, R1, R2, and R3 and linearly combines the received values. Then, the linear transformer 30 provides linear combination results to buffers R′3˜R′0. The linear transformer 30 performs a linear combination operation immediately after a preset time (for example, 4 chips) has elapsed. An output of the buffer R′3 is provided to one input terminal of the EXOR operator 6 through a switch SW3. State values output from the buffers R′3, R′2, R′1, and R′0 are serially provided to the shift registers S3, S2, S1, and S0 of the LFSR.
At the time of an initial operation, the switches SW1 and SW2 are closed and the switch SW3 is opened. When a preset time (for example, 4 chips) has elapsed, the switches SW1 and SW2 are switched to the opening state and the switch SW3 is switched to the closing state. When a preset time (for example, 8 chips) has elapsed, the switches SW1 and SW2 are switched to the closing state and the switch SW3 is switched to the opening state. This switching operation is repeated in a set time unit.
As a result, the mask patterns M0˜M3 serve to shift or advance the current state by 20, 21, 22, and 23, respectively. The mask patterns M0˜M3 are input to the AND operators 10˜13. The AND operators 10˜13 perform the AND operations on the mask patterns and the current state values of the shift registers S3, S2, S1, and S0. AND operation results are sequentially buffered in the buffers R0˜R3 through the EXOR operator 20. After the outputs of the buffers R0˜R3 are linearly combined by the linear transformer 30. The linear combination results are sequentially buffered in the buffers R′3˜R′0 and then are input again to the shift register S0.
The mask patterns M(20) (=M0(20)M1(20)M2(20)M3(20)), M(21)(=M0(21)M1(21)M2(21)M3(21)), M(22) (=M0(22)M1(22)M2(22)M3(22)), and M(23) (=M0(23)M1(23)M2(23)M3(23)) serve to shift (or advance) the currentstate by 20, 21, 22, and 23, respectively. The mask patterns M(2i) (=M0(2i)M1(2i)M2(2i)M3(2i)) for shifting the current state by 2i are input to the AND operators 10˜13. The AND operators 10˜13 perform the AND operations on the mask patterns and the current state values of the shift registers S3, S2, S1, and S0. AND operation results are sequentially buffered in the buffers R0˜R3 through the EXOR operator 20 and then are input again to the shift register S0. When t0=1, the mask pattern M(20) (=M0(20)M1(20)M2(20)M3(20)) is loaded. When t1=1, the mask pattern M(21) (=M0(21)M1(21)M2(21)M3(21)) is loaded. When t2=1, the mask pattern M(22) (=M0(22)M1(22)M2(22)M3(22)) is loaded. When t3=1, the mask pattern M(23) (=M0(23)M1(23)M2(23)M3(23)) is loaded. That is, when t0=1, the AND operator 10 performs the operation on the current state value of the shift register S0 and the mask pattern M0(20), the AND operator 11 performs the operation on the current state value of the shift register S1 and the mask pattern M1(20), the AND operator 12 performs the operation on the current state value of the shift register S2 and the mask pattern M2(20), and the AND operator 13 performs the operation on the current state value of the shift register S3 and the mask pattern M3(20). Similarly, when t1, t2, and t3 are 1, the operations are performed in the above-described method.
As described above,
When an extension is made, there can be considered the case where a state is computed after arbitrary t (=(tn−1tn−2 . . . t0)2) chips from the current state of an n-stage LFSR. In this case, four mask patterns M(20), M(21), . . . , M(2n−1) are successively applied to shift (or advance) the current state by 20, 21, . . . 2n−1, respectively. That is, when 0=k<n, M(2k) is repeatedly applied as long as tk=1 with respect to all k values regardless of order of k. This method makes a shift of t=t0+t12+ . . . +tn−12n−1 by dividing the shift into shifts of t0, t12, . . . tn−12n−1.
A new square & multiply algorithm for directly computing a state of a LFSR after an arbitrary time without use of mask patterns as illustrated in FIGS. 6 to 9 will be described with reference to FIGS. 10 to 13.
When an initial value of the n-stage LFSR connected in the Galois scheme is a non-zero value, state values output according to shifts in the LFSR are mapped to all elements except 0 of GF(2n) in one-to-one correspondence. For example, assuming that (0010) of states of the LFSR is mapped to the primitive element α when a primitive element of GF(24) is α, a state (α3α2α1α0) of the LFSR is expressed by Equation (1).
α3α3+α2α2+α1α+α0εGF(24) Equation (1)
Assuming that α3α3+α2α2+α1α+α0=αx in Equation (1), a state after t chips is defined as shown in Equation (2). The state after the t chips is a state after t shifts.
A state after t chips in αx is computed by performing linear combinations with respect to α3, α2, α, and 1 in Equation (2). Equation (2) can be rewritten as Equation (3).
When Equation (3) is given, a′3 α′2 α′1 α′0 becomes a state after t chips in the LFSR.
For example, when t=t0+t12+t222+t323 in a 4-stage LFSR, αx+1 is computed by repeatedly squaring and multiplying by α. This can be expressed as shown in Equation (4).
((((αx)2α′3)2α402)2α′1)2α′0=(αx)2′α′=αxα′ Equation (4)
In Equation (4), the second equality uses β2″=β in GF(2n). Thus, Equation (4) is computed only by squaring and multiplying by α. A processing operation based on Equation (4) is illustrated in
Referring to
When determining that ti=0 in step 315, the controller immediately proceeds to step 317. If ti≠0, the controller proceeds to step 317 after performing step 316. In step 316, the controller replaces {β·α} by β. After steps 314 to 316 are performed, the controller increments i by 1 in step 317. Then, the controller again performs steps 314 to 316. This operation is performed when it is determined that i is not less than n in step 318. When determining that i is equal to or more than n in step 318, the controller writes a PN state mapped to P and ends the operation in step 319.
When t=t0+t12+t222+t323 in a 4-stage LFSR, α′″ can be computed by repeatedly squaring and multiplying by a as shown in Equation (4). The multiply operation is the same as a result obtained by one shift in the LFSR connected in the Galois scheme. In relation to this, an example of the shift register logic is illustrated in
On the other hand, the square operation can be performed as follows. Assuming that a characteristic polynomial of the LFSR connected in the Galois scheme for expressing an element of GF(24) is x4+x+1 as illustrated in
In Equation (5), the first equality is (b3α3)2+(b2α2)2+(b1α)2 +(b0)2. Because b3, b2, b0, or b0 has a value of 0 or 1, the second equality is obtained. Because α6=α3+α2 and α4 l =α+1, Equation (5) can be rewritten as Equation (6). An example of implementing Equation (6) with the shift register logic is illustrated in
β2=b3α3+(b3+b1)α2+b2α+(b2+b0) Equation (6)
αxα1=((((αx)2α′3)2α′2)2α′1)2α′0 as shown in Equation (4) can be implemented by repeatedly applying the square and multiply operation as illustrated in
Referring to
The shift register S1 receives the output of the EXOR operator 70 and outputs a value in response to the clock CLK. An AND operator 59 receives an output of the shift register S1 and the output of the OR operator 54 and performs an AND operation on them to output an AND operation result. An EXOR operator 71 receives outputs of AND operators 59, 60, and 66 and performs an EXOR operation on them to output an EXOR operation result. The AND operator 60 receives the output of the shift register S2 and the output of the AND operator 53 and performs an AND operation on them to output an AND operation result. The AND operator 66 receives a result of EXORing the outputs of the shift registers S1 and S2 and an output of the AND operator 63 and performs an AND operation on them to output an AND operation result.
The shift register S2 receives an output of the EXOR operator 71 and outputs a value in response to the clock CLK. An AND operator 61 receives the output of the shift register S2 and the output of the OR operator 54 and performs an AND operation on them to output an AND operation result. The EXOR operator 72 receives outputs of AND operators 61, 62, and 67 and performs an EXOR operation on them to output an EXOR operation result. The AND operator 62 receives the output of the shift register S3 and the output of the AND operator 53 and performs an AND operation on them to output an AND operation result. The AND operator 67 receives the output of the shift register S3 and the output of the AND operator 63 and performs an AND operation on them to output an AND operation result. The shift register S3 receives an output of the EXOR operator 72 and outputs a value in response to the clock CLK.
The AND operator 53 receives an output of an AND operator 51 and the enable signal Enb and performs an AND operation on them to output an AND operation result. The OR operator 54 receives the output of the AND operator 52 and the inverted enable signal and performs an OR operation on them to output an OR operation result. The AND operator 52 receives the selection signal FbMux and an output of a flip-flop t3 and performs an AND operation to output an AND operation result. The AND operator 51 receives the selection signal FbMux, receives the output of the flip-flop t3 passing through an inverter, and performs an AND operation to output an AND operation result. Serially connected flip-flops t3, t2, t1, and to operate in response to the selection signal FbMux.
The AND operators 63˜67 are the components for performing the square operation. The flip-flops t3, t2, t1, and t0 and the AND operators 51 and 52 are the components for performing the multiply operation.
Referring to
A LFSR can be implemented in accordance with an exemplary embodiment of the FIGS. 10 to 13. This LFSR can be applied to a cdma2000 system, a Universal Mobile Telecommunications System (UMTS) (or Wide-band CDMA (WCDMA)) system, and the like as illustrated in FIGS. 14 to 16 as described below.
FIGS. 14 to 16 illustrate linear combination functions fed back to shift registers when the square operation is performed in the device of
S′22=S41+S37+S35+S33+S28+S25+S24+S23+S21+S11 Equation (7)
For example, because a connection to S22 is (22A13A00800)16 in
S′22=S41+S37+S35+S33+S28+S25+S24+S23+S21+S11 Equation (8)
As described above, exemplary embodiments of the present invention proposes a method and apparatus that can quickly and efficiently compute an LFSR state after an arbitrary time. The present invention can compute the next state of a PN generator in sleep/idle mode or can be applied to a slew operation of the PN generator at the time of a handover or multipath combining of a searcher or finger.
When a high-speed slew operation can be performed, the acquisition performance of a terminal can be improved. Exemplary embodiments of the present invention can reduce a computation time of the PN generator in the sleep/idle mode, thereby reducing a wake-up time of a Central Processing Unit (CPU) and related components and therefore reducing power consumption.
Conventionally, a discontinuous reception scheme is mandatory to reduce power consumption in a mobile termninal. As an amount of transmission data increases and a frequency band is high, an operating rate of a searcher or finger is required to be improved. Therefore, exemplary embodiments of the present invention improves the operating rate of components, thereby reducing the power consumption of the terminal and improving the reception performance of the terminal.
The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer-readable recording medium include, but are not limited to, read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet via wired or wireless transmission paths). The computer-readable recording medium can also be distributed over network-coupled computer systems so that the computer-readable code is stored and executed in a distributed fashion. Also, function programs, codes, and code segments for accomplishing the present invention can be easily construed as within the scope of the invention by programmers skilled in the art to which the present invention pertains.
While the invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2005-80387 | Aug 2005 | KR | national |