1. Field of the Invention
The present invention relates to a broadband wireless communication system. More particularly, the present invention relates to an apparatus and a method for generating a sequence corresponding to a seed value in the broadband wireless communication system.
2. Description of the Related Art
A next-generation communication system aims to provide users with services of various Quality of Service (QoS) levels at a high data rate. Particularly, present-day next-generation communication systems are advancing in order to guarantee mobility and QoS in Broadband Wireless Access (BWA) communication systems such as Wireless Local Area Network (WLAN) systems and Wireless Metropolitan Area Network (WMAN) systems. Representative examples include an Institute of Electrical and Electronics Engineers (IEEE) 802.16a/d communication system and an IEEE 802.16e communication system.
The IEEE 802.16a/d communication system and the IEEE 802.16e communication system adopt an Orthogonal Frequency Division Multiplexing (OFDM)/Orthogonal Frequency Division Multiple Access (OFDMA) scheme to support a broadband transmission network over physical channels of the WMAN system. The IEEE 802.16a/d communication system considers only the fixed status of a current Subscriber Station (SS), that is, only a single-cell structure without considering the mobility of the SS. In contrast, the IEEE 802.16e communication system considers the mobility of the SS in the IEEE 802.16a communication system. A mobile SS is referred to herein as a Mobile Station (MS).
According to a particular pattern defined by a hopping sequence in the communication system, a Base Station (BS) and the MS transmit and receive data with each other. For example, in the communication system of a frequency hopping spread spectrum scheme, the BS and the MS transmit and receive data by hopping or switching a carrier frequency corresponding to the particular pattern defined by the hopping sequence. In the communication system of a time hopping spread spectrum scheme, a data transmission frame is divided into a plurality of time slots. A time slot is selected according to the particular pattern defined by the hopping sequence, and the BS and the MS transmit and receive data in the selected time slot. In the OFDM/OFDMA communication system, a plurality of MSs transmit and receive data in their allocated interval according to the particular pattern defined by the hopping sequence.
The communication system adopts, for example, a permutation sequence as the hopping sequence. The permutation has a one-to-one correspondence from an ordered list set to itself, that is, rearrangement of the order of the elements in the set. For example, the number of permutations in a set including M-ary elements is M!. M! is given by Equation (1).
M!=M×(M−1)× . . . ×1, 0!=1 (1)
In more detail, when various seed values for generating the sequence are input, the communication system generates the sequence by producing different permutations corresponding to the seed values. For example, when an S-bit seed value is input and the M-length permutation is generated, the communication system selects 2S permutations from the M!-ary permutations with respect to all of the 2S possible seed values and maps the seed values to the selected permutations.
Table 1 illustrates an example of generated permutation sequences corresponding to the seed values when M is 7 and S is 5.
In Table 1, since S is 5, that is, S0, S1, S2, S3 and S4, 25(=32) permutations are selected from all of the possible 7! (=7×6×5×4×3×2×1=5040) permutations with respect to 25(=32) seed values and the seed values, that is, S0, S1, S2, S3 and S4 are mapped to the selected permutations.
As illustrated in Table 1, the seed values and the permutation sequences corresponding to the seed values are stored by a transmitter and a receiver of the communication system. As the seed value S, which produces the permutations, and the sequence length M increase, the seed value and the permutation sequences corresponding to the seed value increase. As a result, a memory capacity of the transmitter and the receiver for storing the permutation sequences must also increase which results in a corresponding increase in an overall size of the transmitter and the receiver.
An aspect of the present invention is to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention is to provide an apparatus and a method for reducing the amount of memory necessary to store permutation sequences in a broadband wireless communication system.
Another aspect of the present invention is to provide an apparatus and a method for generating a permutation sequence when the permutation sequence is necessary in a broadband wireless communication system.
In accordance with an aspect of the present invention, a method for generating an M-length permutation sequence in a communication system is provided. The method includes splitting an L2-length seed value into a first part and a second part, determining coefficients of a generator polynomial using values of the first part and the second part, and calculating the permutation sequence using the generator polynomial.
In accordance with another aspect of the present invention, an apparatus for generating an M-length permutation sequence in a communication system is provided. The apparatus includes a splitter for splitting an L2-length seed value into a first part and a second part, a coefficient determiner for determining coefficients of a generator polynomial using values of the first part and the second part, and a calculator for calculating the permutation sequence using the generator polynomial.
Other aspects, advantages, and salient features of the invention will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses exemplary embodiments of the invention.
The above and other aspects, features and advantages of certain exemplary embodiments the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures.
The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of exemplary embodiments of the invention as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. 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 terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the invention. Accordingly, it should be apparent to those skilled in the art that the following description of exemplary embodiments of the present invention are provided for illustration purpose only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.
It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.
By the term “substantially” it is meant that the recited characteristic, parameter, or value need not be achieved exactly, but that deviations or variations, including for example, tolerances, measurement error, measurement accuracy limitations and other factors known to skill in the art, may occur in amounts that do not preclude the effect the characteristic was intended to provide.
Exemplary embodiments of the present invention provide a technique for preventing waste of a memory which stores permutation sequences in a broadband wireless communication system. That is, the present invention provides a technique for generating the permutation sequence if necessary without storing the permutation sequence.
A method for generating a permutation sequence according to an exemplary embodiment of the present invention is described in brief.
A sequence generator according to an exemplary embodiment of present invention determines a seed value of a specific length from a basic seed value. For example, the sequence generator determines an L2-length seed value required to generate the permutation sequence, from the L1-length basic seed value. The L2-length seed value is given by Equation (2).
Y=A·X mod 2L2 (2)
In Equation (2), Y denotes the L2-length seed value expressed by a decimal number, A denotes a set variable, and X denotes the L1-length basic seed value expressed by a decimal number.
2L2 is a dividend. The modulo operation is conducted so as to generate the L2-length bit output. The decimal number determined for Y is converted to a binary number and becomes the L2-length bit, that is, cL2-1 cL2-2 . . . c2 c1 c0. In an exemplary implementation, the variable A should be set to a specific constant number. More particularly, conditions of the variable A are described. First, when a different X is input, the variable A should be set so that a different Y is output. For example, when the variable A is a prime number, the first condition is satisfied. Secondly, when adjacent values, for example, 12 and 13 are input as X, the variable A should be set so that output values of Y are not adjacent, but are separate from each other. In an exemplary implementation, when the binary number is considered as the variable A which meets the second condition, it is advantageous that the number of ‘1’s occupies more than half of the total number of digits. In this case, when two adjacent input values, that is, input values which differ by ‘1,’ are under consideration, the output values of the two input values have the same difference as the variable A. When the variable A is expressed as a binary number, the number of ‘1’s in the binary number determines the difference between the output values. Accordingly, as the number of ‘1’s increases in the binary number, the difference between the output values corresponding to the adjacent input values increases. When the variable A is set to meet the above-stated conditions and the basic seed value of the first length is input, the different seed value of the second length is output and randomness of the seed value of the second length is much more likely.
The sequence generator splits the generated seed value into a first part and a second part, makes a generator polynomial for generating the sequence using the first part and the second part, and generates a permutation sequence corresponding to the generator polynomial. For example, the generator polynomial is given by Equation (3).
Y={(D·X+E)mod P} mod M (3)
In Equation (3), Y denotes an output of the polynomial, X denotes an input of the polynomial, D and E denote variables calculated from the seed value, P denotes a set variable, and M denotes a length of the permutation sequence. In an exemplary implementation, P is set as a prime number greater than 2L2.
In the generation of the permutation sequence, an array is necessary to store the permutation sequence in the process of the generation. Hereinafter, to ease the understanding, the array for storing the permutation sequence is referred to as a sequence array. By generating the permutation sequence with the polynomial generated using the seed value, that is, by generating the hopping sequence, the capacity of the memory for storing the seed value and the permutation sequence corresponding to the seed value is reduced.
According to an exemplary embodiment of the present invention, the sequence generator initializes the sequence array, compares a value calculated using the generator polynomial generated by the seed value with the sequence array, swaps the values of the sequence array according to the result of the comparison, and thus generates the permutation sequence.
Now, methods for generating the permutation sequence according to exemplary embodiments of the present invention are elucidated by referring to the drawings.
Referring to
In step 103, the sequence generator determines the coefficients D and E of the generator polynomial of Equation (3). The sequence generator splits the L2-length seed value into the first partial seed value dL21-1 dL21-2 . . . d2 d1 d0 and the second partial seed value eL22-1 eL22-2 . . . e2 e1 e0. Herein, the sum of L21 and L22 is L2. The sequence generator converts the first partial seed value to a decimal number, adds the set variable v, and sets D to the sum of the first partial seed value converted to the decimal number and the set variable v. According to another exemplary embodiment of the present invention, the set variable v may be certain constant number. The sequence generator converts the second partial seed value to a decimal number and determines E as the second partial seed value converted to the decimal number.
In step 105, the sequence generator determines the number of repetitions N. Herein, N, which is a positive integer, denotes the maximum number of the repetitions of the generator polynomial operation for exchanging the array values for one time.
In step 107, the sequence generator initializes the sequence array for storing the permutation sequence. That is, the sequence generator initializes the elements of the M-size sequence array A[0], A[1], . . . , A[M−1] to 0, 1, . . . , M−1.
In step 109, the sequence generator initializes the variable i to M−1 and the variable x to −1.
In step 111, the sequence generator initializes the variable j to zero.
In step 113, the sequence generator increases the variable x by the variable i and calculates the output of the generator polynomial with the input variable x. Namely, the sequence generator adds the product of x and D with E, performs the modulo operation on the addition result by P, and performs the modulo operation on the result of the modulo operation by T. Next, the sequence generator substitutes the output of the generator polynomial to the variable y.
In step 115, the sequence generator increases the variable j by one.
In step 117, the sequence generator determines whether the variable j is equal to N or the variable y is smaller than the variable i. When the variable j is different from N and the variable y is greater than or equal to the variable i, the sequence generator goes back to step 113.
When the variable j is equal to N or the variable y is smaller than the variable i, the sequence generator determines whether the variable y is greater than or equal to the variable i in step 119. When the variable y is smaller than the variable i, the sequence generator goes to step 123.
When the variable y is greater than or equal to the variable i, the sequence generator conducts the modulo operation on the variable y by the variable i and substitutes the result of the modulo operation to the variable y in step 121.
In step 123, the sequence generator swaps the value of A[y] and the value of A[i]. Namely, the sequence generator substitutes the value of A[y] to A[i] and substitutes the value of A[i] to A[y].
In step 125, the sequence generator decreases the variable i by one.
Next, the sequence generator determines whether the variable i is zero in step 127. When the variable i is not zero, the sequence generator returns to step 111. On the other hand, when the variable i is zero, the sequence generator determines the sequence stored to the current sequence array as the final permutation sequence and finishes this process.
The permutation sequence generation illustrated in
The sequence generator determines the L2-length seed value s=[cL2-1 cL2-2 . . . c2 C1 c0] required for the generation of the permutation sequence, from the L1-length basic seed value, which is the input for generating the permutation sequence, and determines the size M of the permutation sequence. s is the decimal number of the L2-length seed value. Based on the determined L2-length seed value and the size M of the permutation sequence, the permutation sequence [0, 1, . . . , M−1] is produced.
Now, an exemplary structure of a permutation sequence generator is explained in more detail by referring to the drawings.
Referring to
The seed determiner 202 determines the L2-length seed value from the L1-length basic seed value. That is, the seed determiner 202 reconstructs the L1-length basic seed value bL1-1 bL1-2 . . . b2 b1 b0 to the L2-length seed value cL2-1 cL2-2 . . . c2 c1 c0. The seed determiner 202 determines the L2-length seed value based on Equation (2). When the L1-length bit bL1-1 bL1-2 . . . b2 b1 b0 is input, the seed determiner 202 converts bL1-1 bL1-2 . . . b2 b1 b0 to the decimal number and substitutes the decimal number to the variable X. The seed determiner 202 multiples the variable X by the variable A and performs the modulo operation on the product of X and A L2 by 2. Next, the seed determiner 202 substitutes the remainder of the division of the product of the variable X and the variable A by 2L2 to the variable Y. The seed determiner 202 converts the variable Y to the binary number and thus determines the L2-length seed value.
The seed splitter 204 splits the L2-length seed value determined by the seed determiner 202 to the first partial seed value and the second partial seed value. In more detail, the seed splitter 204 splits the L2-length seed value cL2-1 cL2-2 . . . c2 c1 c0 provided from the seed determiner 202, to the first partial seed value of the L21 length and the second partial seed value of the L22 length. Herein, the sum of L21 and L22 is L2.
The coefficient determiner 206 determines the coefficients D and E of the generator polynomial of Equation (3). The coefficient determiner 206 converts the first partial seed value provided from the seed splitter 204, to a decimal number, adds the set variable v, and sets D to the sum of the first partial seed value converted to the decimal number and the set variable v. The coefficient determiner 206 converts the second partial seed value provided from the seed splitter 204, to a decimal number and determines E as the second partial seed value converted to the decimal number.
The sequence calculator 208 calculates the elements of the permutation sequence, that is, generates the permutation sequence using the generator polynomial of Equation (3) including D and E defined by the coefficient determiner 206. Specific functions of the sequence calculator 208 differ in various exemplary embodiments of the present invention.
According to an exemplary embodiment of the present invention, the sequence calculator 208 calculates the permutation sequence in steps 105 through 129 of
The permutation sequence generated as above can be utilized in various manners in the broadband wireless communication system. For example, the generated permutation sequence can be used for interleaving of the encoded bit stream and frequency hopping as illustrated in
Referring to
The sequence generator 302 is constructed as illustrated in
The bit interleaver 306 interleaves the encoded bit stream output from the encoder 304 according to the permutation sequence fed from the sequence generator 302. That is, the bit interleaver 306 splits the encoded bit stream based on the length of the permutation sequence and changes the positions of the bits within the split unit according to the permutation sequence. For instance, when the permutation sequence is ‘3 0 1 2’, the bit interleaver 306 splits the encoded bit stream to four units, and changes the fourth bit to the first position, the first bit to the second position, the second bit to the third position, and the third bit to the fourth position of the four bits. For example, [b0 b1 b2 b3] is interleaved to [b3 b0 b1 b2].
The symbol modulator 308 demodulates the interleaved bit stream output from the bit interleaver 306 to complex symbols. The subcarrier mapper 310 maps the complex symbols output from the symbol modulator 308 to subcarriers. The OFDM modulator 312 converts the frequency-domain signals output from the subcarrier mapper 310 to time-domain signals through Inverse Fast Fourier Transform (IFFT) and constitutes OFDM symbols by inserting a Cyclic Prefix (CP). The RF transmitter 314 up-converts the baseband signal output from the OFDM modulator 312 to an RF signal and sends the RF signal over an antenna.
With the interleaving at the structure of
Referring to
The sequence generator 402 is constructed as illustrated in
The encoder 404 encodes the transmit bit stream. For example, the encoder 404 encodes according to the turbo code scheme or the LDPC scheme. The symbol modulator 406 demodulates the interleaved bit stream output from the encoder 404 to complex symbols. The subcarrier mapper 408 maps the complex symbols output from the symbol modulator 406 to subcarriers.
The frequency hopper 410 frequency-hops the complex symbols mapped to the subcarriers provided from the subcarrier mapper 408, according to the permutation sequence fed from the sequence generator 402. More specifically, with respect to a target of the subcarriers as long as the permutation sequence, the frequency hopper 410 changes the signals mapped to the subcarriers of the target according to the permutation sequence. For instance, when the permutation sequence is ‘3 0 1 2’, the frequency hopper 410 changes the signal mapped to the fourth subcarrier of the four subcarriers to the first subcarrier, the signal mapped to the first subcarrier to the second subcarrier, the signal mapped to the second subcarrier to the third subcarrier, and the signal mapped to the third subcarrier to the fourth subcarrier. In another exemplary implementation, the frequency hopping can be a swap of a certain bundle unit including the plurality of the subcarriers, rather than the swap of the subcarrier unit.
The OFDM modulator 412 converts the frequency-domain signals output from the frequency hopper 410 to time-domain signals through the IFFT and constitutes OFDM symbols by inserting a CP. The RF transmitter 414 up-converts the baseband signal output from the OFDM modulator 412 to an RF signal and sends the RF signal over an antenna.
With the frequency hopping structure of
So far, the utilizations of the generated permutation sequence have been described in
As set forth above, by generating the permutation sequence using the basic seed value in the broadband wireless communication system, the complexity of the system for storing the permutation sequence can be reduced. 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 |
---|---|---|---|
10-2008-0064660 | Jul 2008 | KR | national |
The application is a continuation in-part application of the U.S. patent application Ser. No. 12/498,117 filed on Jul. 6, 2009, the entire disclosure of which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 12498117 | Jul 2009 | US |
Child | 12502853 | US |