USRE44848E1 - Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter - Google Patents
Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter Download PDFInfo
- Publication number
- USRE44848E1 USRE44848E1 US12/774,998 US77499810A USRE44848E US RE44848 E1 USRE44848 E1 US RE44848E1 US 77499810 A US77499810 A US 77499810A US RE44848 E USRE44848 E US RE44848E
- Authority
- US
- United States
- Prior art keywords
- data
- memory
- output
- write
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
Definitions
- the present invention relates, in general, to an interleaving apparatus and method for an orthogonal frequency division multiplexing transmitter and, more particularly, to an interleaving apparatus and method for an orthogonal frequency division multiplexing transmitter, which allows an orthogonal frequency division multiplexing transmitter based on IEEE802.11 standards to be efficiently implemented.
- An Orthogonal Frequency Division Multiplexing (OFDM) scheme of WIAN technologies is a digital modulation scheme for improving a transmission rate per unit bandwidth and preventing multipath interference, and is a multi-carrier modulation scheme using a plurality of carriers orthogonal to each other.
- OFDM Orthogonal Frequency Division Multiplexing
- FIG. 1 An example of a typical OFDM transmitter is shown in FIG. 1 .
- the transmission rate of data to be transmitted is set and the data are transmitted to a scrambler 101 .
- Data scrambled by the scrambler 101 are input to an interleaver 103 through a convolution encoder 102 .
- the interleaver 103 interleaves the data, and the interleaved data are mapped by a constellation mapper 104 according to a data transmission rate.
- the data mapped through the above process are transmitted to a Radio Frequency (RF) converter 108 through an Inverse Fast Fourier Transformer (IFFT) 105 , a guard-interval inserter 106 and a symbol wave-shaping filter 107 .
- RF Radio Frequency
- IFFT Inverse Fast Fourier Transformer
- interleaving is a technology of causing burst errors to appear as random errors distributed to several small locations in consideration of the. fact that a greatly concentrated burst error may occur at a specific location during a process of transmitting data through a transmission medium.
- a means or device for implementing such an interleaving technology is called an interleaver.
- An interleaver executes first and second permutation processes.
- k represents each bit index of a bit stream before the first permutation
- i represents an index on which a bit, placed on a k-th position before the first permutation, is to be placed after the first permutation
- j represents an index on which a bit, placed on an i-th position before the second permutation, is to be placed after the second permutation
- mod represents a modulo operation
- floor( ) represents the highest integer that does not exceed the value in parentheses
- NCBPS represents the number of encoded bits included in each OFDM symbol
- s represents max(N BPSC /2,1)
- N BPSC represents the number of encoded bits included in each sub-channel forming an OFDM transmission band
- max( ) represents the highest value selected among the values in parentheses.
- the interleaver When the interleaver is implemented using hardware, it includes memory and an interleaver controller for writing and reading data in and from the memory. According to a mapping scheme related to a data transmission rate based on the standards, the position and sequence in which data are written in the memory and read from the memory are implemented as shown in FIG. 2 , so that the first and second permutation processes can be described.
- FIG. 2 is view showing an example of a memory access scheme to describe an interleaving process. However, FIG. 2 shows only an embodiment to describe the first and second permutations.
- N CBPS and N BPSC vary according to mapping schemes, which are classified into four types: Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), 16-Quadrature Amplitude Modulation (QAM) and 64-QAM.
- BPSK Binary Phase Shift Keying
- QPSK Quadrature Phase Shift Keying
- QAM 16-Quadrature Amplitude Modulation
- 64-QAM 64-QAM.
- BPSK Binary Phase Shift Keying
- N CBPS is 48 and N BPSC is 1.
- QPSK QPSK
- N CBPS is 96 and N BPSC is 2.
- N CBPS is 192 and N BPSC is 4.
- N CBPS is 288 and N BPSC is 6. Therefore, it can be seen that, in the case of a BPSK mapping scheme, 48-bit memory is used, in the case of a QPSK mapping scheme, 96-bit memory is used, in the case of a 16-QAM mapping scheme, 192-bit memory is used, and, in the case of a 64-QAM mapping scheme, 288-bit memory is used.
- Such a conventional interleaver is disadvantageous in that, when data are output from the memory, a subsequent functional block of the interleaver must unnecessarily perform data rearrangement for mapping, or data rearrangement according to sub-carrier frequency allocation. Further, the conventional interleaver is disadvantageous in that, since it does not separately execute first and second permutation processes, the design of a controller for outputting data bits from memory and rearranging the positions of the output data bits is complicated.
- an embodiment of an interleaving apparatus disclosed in IEEE 802.11a PHY Specification shows an interleaver having a 1-bit input, 1-bit output structure.
- This interleaver which is used to describe first and second permutations, includes single 1-bit writable/readable memory and a memory access address generator, and performs write and read operations corresponding to the first and second permutations on a 1-bit-at-a-time basis.
- the present invention provides an interleaving apparatus and method for an OFDM transmitter, which divides memory for interleaving of the OFDM transmitter into a plurality of memory banks independently controlled so that data are written or read in or from the memory banks, writes data in respective memory banks, outputs data bits in parallel from the memory banks using a read control signal according to mapping schemes to correspond to a first permutation process, and rearranges the positions of the output data bits to correspond to a second permutation process.
- the present invention provides an interleaving apparatus for an orthogonal frequency division multiplexing transmitter, comprising a memory unit including a plurality of memory banks each having memory cells arranged in an N ⁇ M matrix structure, the memory banks being capable of being independently controlled so that data can be written or read in or from the memory banks; a memory write/read control unit for generating control signals to write/read data in/from the memory unit; a memory access address generation unit for generating a memory access address used to write/read data in/from the memory unit in response to the memory write/read control signals; and a second permutation and output selection unit for rearranging positions of data bits output from the memory unit and outputting the position-rearranged data bits.
- the present invention provides an interleaving method for an orthogonal frequency division multiplexing transmitter, the transmitter including a memory write/read control unit and a memory access address generation unit and writing/reading data in/from a memory unit including a plurality of memory banks each having memory cells arranged in a matrix structure, the memory banks being capable of being independently controlled so that data.
- input from a convolution encoder can be written or read in or from the memory banks, the method comprising the steps of a) the memory write/read control unit generating a control signal to write the input data in a corresponding memory bank in response to data transmission rate and valid interval indication signals for the input data transmitted from the convolution encoder; b) the memory access address generation unit generating a memory access address to access the memory bank, in which the input data are to be written, in response to the write control signal for the memory bank generated by the memory write/read control unit; c) writing the input data in a memory bank corresponding to the memory access address in response to the write control signal generated by the memory write/read control unit; d) the memory write/read control unit generating a control signal to read data, written in the memory bank according to the data transmission rate, and data transmission rate and valid interval indication signals for output data when the data are read from the memory bank; e) the memory access address generation unit generating a memory access address to access the memory bank, from which output data are to be read, in response
- FIG. 1 illustrates an example of a typical OFDM transmitter
- FIG. 2 illustrates an example of a memory access scheme to describe an interleaving process
- FIGS. 3a and 3b illustrate examples of a method of outputting data written in memory applied to the present invention
- FIG. 4 is a schematic block diagram showing the construction of an interleaving apparatus for an OFDM transmitter according to an embodiment of the present invention
- FIG. 5 illustrates a memory unit including 12 24-bit memory banks according to an embodiment of the present invention
- FIG. 6 illustrates a memory bank divided in an 8 ⁇ 3 matrix structure according to an embodiment of the present invention
- FIGS. 7a to 7j illustrate the selection of 24-bit memory banks in the memory unit and data write/read schemes according to constellation mapping schemes related to data transmission rates according to an embodiment of the present invention
- FIG. 8 is a block diagram showing the construction of a second permutation and output selection unit according to an embodiment of the present invention.
- FIG. 9 is a view showing a data input/output method of a second permutation unit according to an embodiment of the present invention.
- FIG. 10 is a view showing a data input/output method of an output selection unit according to an embodiment of the present invention.
- FIG. 11 is a block diagram showing the construction of a memory access address generation unit according to an embodiment of the present invention.
- FIG. 12 is a flowchart showing an interleaving method for an OFDM transmitter according to an embodiment of the present invention.
- FIG. 13 is a state diagram showing signals of a memory write/read control unit according to constellation mapping schemes related to data transmission rates according to an embodiment of the present invention
- FIG. 14 is a view defining control and indication signals generated by a memory write/read control unit according to an embodiment of the present invention.
- FIGS. 15a to 15c are flowcharts showing the operation of the memory write/read control unit when a constellation mapping scheme related to a data transmission rate is BPSK according to an embodiment of the present invention
- FIGS. 16a to 16c are flowcharts showing the operation of the memory write/read control unit when a constellation mapping scheme related to a data transmission rate is QPSK according to an embodiment of the present invention
- FIGS. 17a to 17d are flowcharts showing the operation of the memory write/read control unit when a constellation mapping scheme related to a data transmission rate is 16-QAM according to an embodiment of the present invention.
- FIGS. 18a to 18d are flowcharts showing the operation of the memory write/read control unit when a constellation mapping scheme related to a data transmission rate is 64-QAM according to an embodiment of the present invention.
- the present invention provides an interleaving apparatus and method to efficiently implement an Orthogonal Frequency Division Multiplexing (OFDM) transmitter based on IEEE 802.11 standards.
- OFDM Orthogonal Frequency Division Multiplexing
- it is efficient to implement a convolution encoder which is a preceding functional block of an interleaving apparatus so that the data output structure of the convolution encoder is a 2-bit parallel structure according to the functional structure thereof. Therefore, when an interleaving apparatus is implemented, it is more reasonable to basically implement a data input structure as a 2-bit parallel structure.
- a constellation mapper which is a subsequent functional block of the interleaving apparatus, must be considered.
- the IEEE 802.11 standards-based constellation mapping schemes are classified into four types: BPSK, QPSK, 16-QAM and 64-QAM.
- Respective mappers differently combine input data bits according to mapping schemes, and output inphase components and quadrature components.
- Each of the mappers groups the input data into sub-groups of one, two or three bits and maps the bits into predetermined values so as to form respective components.
- the interleaving apparatus of the present invention provides a method of outputting data bits in parallel from memory through the use of a control signal that is used to read data from the memory for interleaving, according to mapping schemes to correspond to a first permutation, and a method of rearranging the positions of the data bits, output from the memory, to correspond to a second permutation.
- the interleaving apparatus of the present invention separates first and second permutations, outputs valid bits in parallel from predetermined memory according to mapping schemes during the first permutation, and rearranges the positions of the output data bits during the second permutation.
- the interleaving apparatus of the present invention is operated so that valid data are output in series on a 1-bit-at-a-time basis in the case of BPSK, valid data are output in parallel on a 2-bits-at-a-time basis in the case of QPSK, valid data are output in parallel on a 4-bits-at-a-time basis in the case of 16-QAM, and valid data are output in parallel on a 6-bits-at-a-time basis in the case of 64-QAM, according to mapping schemes related to a data transmission rate.
- FIGS. 3a and 3b illustrate examples of a method of outputting data written in memory applied to the present invention.
- the output index and position of each output data bit are represented by n b .
- data written in predetermined memory according to the example of the memory access scheme of FIG. 2 can be output using the scheme of FIG. 3a .
- the written data can also be output using the scheme of FIG. 3b in consideration of sub-carrier frequency allocation based on IEEE 802.11 standards.
- FIG. 4 is a schematic block diagram showing the construction of an interleaving apparatus for an OFDM transmitter according to an embodiment of the present invention.
- an interleaving apparatus 100 includes a memory unit 130 having a plurality of memory banks 131 each including a plurality of memory cells arranged in an N ⁇ M matrix structure, the memory banks 131 being capable of being independently controlled so that input data 13 are written or read in or from the memory banks, a memory write/read control unit 110 for generating control signals used to write/read data in/from the memory unit 130 , a memory access address generation unit 120 for generating a memory access address used to write/read data in/from the memory unit 130 in response to the memory write/read control signals, and a second permutation and output selection unit 140 includes a permutation and output selection processor for rearranging the positions of data bits output from the memory unit 130 and outputting the position-rearranged data bits.
- the memory unit 130 stores the input data 13 therein, and the memory access address generation unit 120 generates the address to access the memory unit 130 . That is, the memory unit 130 stores the input data 13 in response to the memory write control signal output from the memory write/read control unit 110 .
- the memory write/read control unit 110 receives a data transmission rate indication signal 11 for the input data 13 and a valid interval indication signal 12 for the input data 13 from an upper-layer system, and writes the data in the memory unit 130 in response to the indication signals 12 and 13 .
- the types of activation signals representing writing/reading vary according to the characteristics of memory to be used.
- the memory write/read control unit 110 controls the memory access address generating unit 120 , thus controlling counters used to generate the address to access the memory unit 130 . This operation will be described later in detail.
- the second permutation and output selection unit 140 rearranges the positions of data bits output from the memory unit 130 using predetermined control signals. That is, the second permutation and output selection unit 140 divides the data output from the memory unit 130 into an odd part and an even part, and outputs valid data from the odd and even parts according to the mapping schemes related to the transmission rate of the output data.
- the functional blocks 110 to 140 of FIG. 4 can be easily implemented by those skilled in the art to which the present invention belongs through the use of software, programs, microprocessors, etc.
- FIGS. 5 and 6 illustrate memory banks of a memory unit according to an embodiment of the present invention.
- FIG. 5 illustrates a memory unit including 12 24-bit memory banks according to an embodiment of the present invention
- FIG. 6 illustrates a memory bank divided in an 8 ⁇ 3 matrix structure according to an embodiment of the present invention.
- FIGS. 5 and 6 illustrate a preferred embodiment of the memory unit 130 of the present invention.
- the number of bits per memory bank and the number of memory banks can vary.
- the memory banks can be divided into various matrix structures. These structures can vary with the characteristics of desired OFDM transmitters.
- the present invention is described below on the basis of the preferred embodiment of FIGS. 5 and 6 .
- the memory unit 130 includes a total of 12 memory banks 131 - 0 to 131 - 11 , each being implemented with a memory bank 131 capable of being independently controlled so that data are written or read in or from the memory bank 131 .
- the memory bank 131 is constructed to be able to receive or output one bit at a time. Therefore, a memory access address to access the memory bank 131 is preferably configured in a 5-bit structure. However, the memory access address may have another bit number structure.
- each memory bank 131 is divided in a matrix structure with 8 rows and 3 columns according to the embodiment of the present invention, as shown in FIG. 6 .
- An upper 2-bit signal of the 5-bit signal indicating the memory access address specifies the column of memory banks 131 and a lower 3-bit signal thereof specifies the row of the memory banks 131 .
- a signal indicating the memory access address is assumed to be mb_address[ 4 : 0 ]
- mb_address[ 4 : 3 ] indicates a column
- mb_address[ 2 : 0 ] indicates a row
- one of the cells depicted in FIG. 5 is accessed by a combination of mb_address[ 4 : 3 ] and mb_address[ 2 : 0 ].
- the memory banks 131 are paired, and two memory banks, forming each pair, are classified into an odd part and an even part, so that the format of data input to the memory unit 130 is a 2-bit parallel structure. Further, the memory banks 131 are classified into an inphase block and a quadrature block, each including 6 memory banks.
- mb_din_even denotes even part input data
- mb_din_odd denotes odd part input data
- mb_address[ 4 : 0 ] denotes a memory access address
- mb_ce_ 0 mb_ce_ 1 , mb_ce_ 2 , mb_ce_ 3 , mb_ce_ 4 , mb_ce_ 5 , mb_ce_ 6 , mb_ce_ 7 , mb_ce_ 8 , mb_ce_ 9 , mb_ce_ 10 , and mb_ce_ 11 denote input/output activation signals for respective memory banks
- mb_we_i_ 0 denotes a write/read control signal for a memory bank 0 and a memory bank 1
- mb_we_i_ 1 denotes a write/read control signal for a memory bank 2 and a memory bank 3
- the form of activation signals indicating writing/reading, varies with the characteristics of the memory banks. That is, if writing is activated when the write/read control signal is “1”, reading is activated when the write/read control signal is “0”. Further, if reading is activated when the write/read control signal is “0”, writing is activated when the write/read control signal is “1”.
- the signals mb_dout_even_i_ 0 , mb_dout_even_i_ 1 , mb_dout_even_i_ 2 , mb_dout_odd_i_ 0 , mb_dout_odd_i_ 1 and mb_dout_odd_i_ 2 that are output from the memory banks 131 denote data output corresponding to the inphase block.
- “even” means output corresponding to the even part input
- “odd” means output corresponding to the odd part input.
- 0, 1 and 2 mean corresponding bit positions when the data bits are output.
- the signals mb_dout_even_q_ 0 , mb_dout_even_q_ 1 , mb dout even q_ 2 , mb dout odd_q_ 0 , mb_dout_odd_q_ 1 , and mb_dout_odd_q_ 2 denote data output corresponding to the quadrature block.
- “even” means output corresponding to the even part input
- “odd” means output corresponding to the odd part input.
- 0, 1 and 2 mean corresponding bit positions when the data bits are output.
- the format of data input to the memory unit 130 of the present invention has a 2-bit parallel structure.
- the above equation representing the first permutation when an index for a data bit stream input before the first permutation is analyzed in a temporal or sequential concept, lower bit data temporally precedes upper bit data among the above data, the upper bit data are input to the odd part, and the lower bit data are input to the even part.
- the memory access address, output from the memory access address generation unit 120 , and the write/read control signals, output from the memory write/read control unit 110 are differently generated, thus executing a first permutation process.
- the first permutation is executed by controlling the sequence of data written in the memory unit 130 , the position of data written in the memory unit 130 , the sequence of data read from the memory unit 130 and the position of data read from the memory unit 130 according to mapping schemes related to a data transmission rate, as shown in FIGS. 7a to 7j .
- FIGS. 7a to 7j mapping schemes related to a data transmission rate
- FIGS. 7a to 7j illustrate the selection of 24-bit memory banks in the memory unit and data write/read schemes according to mapping schemes related to a data transmission rate according to an embodiment of the present invention. That is, FIGS. 7a to 7 j show examples of a relationship between a method of accessing cells in the memory bank 131 and the sequence and position in which data bits to be written are input to the memory unit 130 , and a relationship between a method of accessing the cells in the memory bank 131 and the sequence and position in which data bits read from the cells are output from the memory unit 130 .
- the input index and position of each data bit input to the memory unit 130 are expressed as w e and w o , respectively.
- the relationships between w e and w o and the method of accessing the cells in the memory bank 131 are shown in FIGS. 7a to 7j .
- the input index and position of data bits output from the memory unit 130 are expressed as r e,i,p , r oip , r e,q,p and r o,q,p .
- FIGS. 7a to 7j The relationships between r e,i,p , r o,i,p , r e,q,p and r o,q,p and the method of accessing the cells in the memory bank 131 are shown in FIGS. 7a to 7j .
- data bits which are input to the memory unit and have the sequence and position corresponding to 0 0 , 8 0 , 16 0 and 24 0 , are written in a cell 0 of a memory bank 1 131 - 1 , a cell 0 of a memory bank 3 131 - 3 , a cell 0 of a memory bank 7 131 - 7 , and a cell 0 of a memory bank 9 131 - 9 , respectively.
- the sequence and location in which data bits read from the cells are output from the memory unit 130 are 27 o,i,0 , 27 o,i,1 , 27 o,q,0 and 27 o,q,1 , respectively.
- the usable range of w varies with the mapping schemes.
- the maximum value of w is 23, 47, 95 and 143 when the mapping scheme is BPSK, QPSK, 16-QAM, and 64-QAM, respectively.
- the input index and position of data bits input to the memory unit 130 are represented by w e with respect to mb_din_even, and w o with respect to mb_din_odd.
- the output index and position of data bits output from the memory unit 130 are represented by r e,i,p with respect to mb_dout_even_i_ 0 , mb_dout_even_i_ 1 and mb_dout_even_i_ 2 , r o,i,p with respect to mb_dout_odd_i_ 0 , mb_dout_odd_i_ 1 and mb_dout_odd_i_ 2 , r e,q,p with respect to mb_dout_even_q_ 0 , mb_dout_even_q_ 1 and mb_dout_even_q_ 2 , and r o,q,p with respect to mb_dout_even
- FIG. 8 is a block diagram showing the construction of a second permutation and output selection unit according to an embodiment of the present invention.
- the second permutation and output selection unit 140 of the present invention functions to rearrange the positions of data bits output from the memory unit 130 using predetermined control signals so as to obtain the results shown in FIG. 3 .
- the second permutation and output selection unit 140 of the present invention includes a second permutation unit 141 and an output selection unit 142 which includes an output selection processor.
- even_odd_select denotes a control signal.
- output_rate_mode[ 1 : 0 ] denotes a mapping scheme related to a data transmission rate for the data output from the memory unit 130
- output_enable denotes a control signal to indicate the valid interval of data output from the interleaving apparatus.
- Other input signals of the second permutation unit 141 are the same as the signals input/output to/from the memory unit 130 .
- sp_dout_i_ 0 , sp_dout_i_ 1 and sp_dout_i_ 2 denote second permutation results of the data bits output from inphase blocks in the memory unit
- sp_dout_q_ 0 , sp_dout_q_ 1 and sp_dout_q_ 2 denote second permutation results of the data bits output from quadrature blocks in the memory unit 130 .
- the second permutation results can be described in the order of sp_dout_i_ 0 , sp_dout_i_ 1 , sp_dout_i_ 2 , sp_dout_q_ 0 , sp_dout_q_ 1 and sp_dout_q_ 2 , but the output of the second permutation results can be simultaneously performed.
- itlv_dout_i_ 0 , itlv_dout_i_ 1 and itlv_dout_i_ 2 denote the final output of the interleaving apparatus for inphase blocks
- itlv_dout_q_ 0 , itlv_dout_q_ 1 and itlv_dout_q_ 2 denote the final output of the interleaving apparatus for quadrature blocks
- itlv_output_rate_mode[ 1 : 0 ] denotes a mapping scheme related to a transmission rate of data output from the interleaving apparatus
- itlv_dout_env denotes the valid interval of data output from the interleaving apparatus.
- the second permutation unit 141 includes a second permutation processor which rearranges the output positions of data bits output from the memory unit 130 in response to the signals even_odd_select, output_rate_mode[ 1 : 0 ] and mb_address[ 2 : 0 ], and outputs the position-rearranged data bits.
- the second permutation results can be output as shown in FIG.
- FIG. 9 is a view of a data input/output method performed by the second permutation unit 141 according to an embodiment of the present invention, which shows the second permutation method.
- the output selection unit 142 outputs valid data on a 1-bit-at-a-time basis when a mapping scheme is BPSK, outputs valid data in parallel on a 2-bits-at-a-time basis when a mapping scheme is QPSK, outputs valid data in parallel on a 4-bits-at-a-time basis when a mapping scheme is 16-QAM, and outputs valid data in parallel on a 6-bits-at-a-time basis when a mapping scheme is 64-QAM. Further, the output selection unit 142 outputs a signal indicating the valid interval of output data, and a signal indicating a mapping scheme related to a data transmission rate.
- FIG. 10 is a view of a data input/output method of the output selection unit 142 according to an embodiment of the present invention, which shows a method of outputting valid data according to mapping schemes.
- the value of the signal itlv_output_rate_mode[ 1 : 0 ] varies according to the signal output_rate_mode[ 1 : 0 ] when the signal output_enable is “1”, and maintains its previous value when the signal output_enable is “0”.
- FIG. 11 is a block diagram showing the construction of a memory access address generation unit according to an embodiment of the present invention.
- the memory access address generation unit 120 of the present invention includes a 2-bit binary counter 121 and a 3-bit binary counter 122 .
- the memory access address generation unit 120 generates a 5-bit memory access address.
- the 5-bit memory access address is. an address to access the memory banks.
- An upper 2-bit signal of the 5-bit address indicates a “column” of each memory bank having a matrix structure, and a lower 3-bit signal of the 5-bit address indicates a “row” of each memory bank.
- the upper 2-bit signal is output from the 2-bit binary counter 121
- the lower 3-bit signal is output from the 3-bit binary counter 122 .
- the 2-bit binary counter 121 can count from 0 to 2
- the 3-bit binary counter 122 can count from 0 to 7.
- the 2-bit binary counter 121 functions as a modulo-2 counter
- the 3-bit binary counter 122 functions as a modulo-7 counter. Therefore, if output values of the counters 121 and 122 are increased by “1” when the output values reach 2 and 7, respectively, the output values of the counters become “0” again.
- a signal mb_address[ 4 : 3 ] indicating the output of the 2-bit binary counter is equal to a signal indicating the memory bank access address, and increases in the order of “00”, “01” and “10”.
- a signal mb_address[ 2 : 0 ] indicating the output of the 3-bit binary counter 122 is equal to a signal indicating the memory bank access address, and increases in the order of “000”, “001”, “010”, “011”, “100”, “101”, “110” and “111”.
- the output value of the 3-bit binary counter 122 is increased by 1 when the mb address[ 2 : 0 ] is “111”, the mb address[ 2 : 0 ] becomes “000” again.
- the 2-bit binary counter 121 is initialized to 0.
- the output value of the 2-bit binary counter 121 is increased by 1.
- the 3-bit binary counter 122 is initialized to 0.
- the output value of the 3-bit binary counter 122 is increased by 1.
- a signal 3b_cnt_set is activated, the output value of the 3-bit binary counter 122 is set to a value indicated by 3b_cnt_set_value[ 2 : 0 ].
- FIG. 12 is a flowchart showing an interleaving method for an OFDM transmitter according to an embodiment of the present invention.
- the flowchart of FIG. 12 can be preferably implemented in the interleaving apparatus for the OFDM transmitter.
- the interleaving method for the OFDM transmitter of the present invention is described.
- the OFDM transmitter includes a memory write/read control unit 110 for generating control signals to write/read data in/from memory, a memory access address generation unit 120 for generating a memory access address used to write/read data in/from the memory, and a memory unit 130 including a plurality of memory banks 131 each having memory cells arranged in a matrix structure, the memory banks 131 being capable of being independently controlled so that input data received from the convolution encoder 102 are written or read in or from the memory banks 131 .
- FIG. 12 the interleaving method for the OFDM transmitter according to the present invention is described.
- the memory write/read control unit 110 generates a control signal to write input data 13 , transmitted from the convolution encoder 102 , in the memory bank 131 in response to data transmission rate and valid interval indication signals 11 and 12 for the input data 13 at step S 1200 .
- the memory access address generation unit 120 generates a memory access address to access the memory bank 131 in which the input data 13 are to be written in response to the write control signal for the memory bank 131 generated by the memory write/read control unit 110 at step S 1202 . Then, the input data 13 are written in the memory bank 131 corresponding to the memory access address in response to the write control signal generated by the memory write/read control unit 110 at step S 1204 .
- the memory write/read control unit 110 generates a control signal to read data, written in the memory bank 131 in response to the data transmission rate indication signal 11 , and data transmission rate and valid interval indication signals 16 and 14 for data 15 to be output at the time of reading the data at step S 1206 .
- the memory access address generation unit 120 generates a memory access address to access the memory bank 131 , from which the data to be read are output, in response to the read control signal at step S 1208 .
- the output data 15 are read from the memory bank 131 in response to the read control signal and the memory access address at step S 1210 .
- the positions of the output data 15 read from the memory bank 131 are rearranged at step S 1212 .
- valid data are output among the output data, the positions of which have been rearranged, according to the data transmission rate and valid interval indication signals 16 and 14 for the output data 15 at step S 1214 .
- the data transmission rate and valid interval indication signals 16 and 14 for the output data 15 are also preferably output at step S 1214 .
- the memory write/read control unit 110 generates the write/read control signals, controls the counters that generate the memory access address, controls the arrangement of the output position of data bits output from the memory unit 130 for the purpose of a second permutation, and arranges the number of valid bits to be output from the interleaving apparatus according to the mapping schemes related to a data transmission rate.
- the data transmission rate indication signal for the input data 13 , input to the memory write/read control unit 110 indicates a mapping scheme related to the transmission rate of data input to the memory bank 131 .
- FIG. 13 is a state diagram showing signals of a memory write/read control unit according to mapping schemes related to a data transmission rate according to an embodiment of the present invention.
- FIG. 13 the operation according to various states of the memory write/read control unit 110 of the present invention is described.
- FIG. 14 is a view defining control and indication signals generated by the memory write/read control unit 110 according to an embodiment of the present invention.
- FIGS. 13 and 14 the memory write/read control unit 110 of the present invention is described.
- the memory bank input/output activation signals are inactivated to prevent the write/read operation with respect to the memory unit 130 , the 3-bit binary counter 122 and the 2-bit binary counter 121 are initialized, and the valid interval indication signal for output data is inactivated because valid data to be output do not exist. If the valid interval indication signal for input data of FIG. 4 is not activated, the initialization state is maintained. If the valid interval indication signal for input data is activated at the same time that the data are input to the interleaving apparatus, and the mapping scheme related to a data transmission rate for the input data is BPSK, the current state is changed to a BPSK mode 112 .
- the current state is changed to a QPSK mode 113 . If the valid interval indication signal for input data is activated at the same time that the data are input to the interleaving apparatus, and the mapping scheme related to a data transmission rate for the input data is QPSK, the current state is changed to a QPSK mode 113 . If the valid interval indication signal for input data is activated at the same time that the data are input to the interleaving apparatus, and the mapping scheme related to a data transmission rate for the input data is 16-QAM, the current state is changed to a 16-QAM mode 114 .
- the current state is changed to a 64-QAM mode 115 .
- FIG. 13 in the BPSK mode 112 , the permutation processes are executed using the 24-bit memory banks 0 and 1 , as shown in FIGS. 7a to 7j .
- a detailed operation performed in the BPSK mode is shown in FIGS. 15a to 15c .
- the detailed operation of the BPSK mode may vary in the case where the sub-carrier frequency allocation is considered.
- FIG. 13 in the QPSK mode 113 , the permutation processes are executed using the 24-bit memory banks 0 , 1 , 6 and 7 , as shown in FIGS. 7a to 7j .
- a detailed operation performed in the QPSK mode is shown in FIGS. 16a to 16c .
- the detailed operation of the QPSK mode may vary in the case where the sub-carrier frequency allocation is considered.
- FIG. 13 in the 16-QAM mode 114 , the permutation processes are executed using the 24-bit memory banks 0 , 1 , 2 , 3 , 6 , 7 , 8 and 9 , as shown in FIGS. 7a to 7j .
- a detailed operation performed in the 16-QAM mode is shown in FIGS. 17a to 17d .
- the detailed operation of the 16-QAM mode may vary in the case where the sub-carrier frequency allocation is considered.
- FIG. 13 in the 64-QAM mode 115 , the permutation processes are executed using all of the 24-bit memory banks, as shown in FIGS. 7a to 7j .
- a detailed operation performed in the 64-QAM mode is shown in FIGS. 18a to 18d .
- the detailed operation of the 64-QAM mode may vary in the case where the sub-carrier frequency allocation is considered.
- the 2-bit binary counter 121 is operated so that its output value returns to 0 if the counter value is increased by 1 when the output value is 2.
- the 3-bit binary counter 122 is operated so that its output value returns to 0 if a counter value is increased by 1 when the output value is 7.
- FIGS. 15a to 15c are flowcharts showing the operation of the memory write/read control unit 110 when a mapping scheme related to a data transmission rate is BPSK according to an embodiment of the present invention.
- FIG. 15a is a flowchart showing a process of controlling the writing data in the memory unit when a mapping scheme is BPSK. Referring to FIG. 15a , the operation of the 2-bit and 3-bit counters 121 and 122 is activated at step S 10 , and 1-bit data are simultaneously written in the memory banks 0 and 1 each at step S 11 . It is determined whether the output value of the 3-bit counter 122 is 7 at step S 12 .
- the output value of the 3-bit counter 122 is increased by 1 at step S 13 , and then the process returns to step S 11 .
- the output value is 7
- FIG. 15b is a flowchart of a process of controlling the reading of data from the memory unit and controlling the second permutation and output selection unit when a mapping scheme is BPSK.
- the operation of the 2-bit and 3-bit counters 121 and 122 is activated at step S 18 , and 1-bit data is read from the memory bank 0 at step S 19 . It is determined whether the output value of the 2-bit counter 121 is 2 at step S 20 . If the output value of the 2-bit counter 121 is not 2, the output value is increased by 1 at step S 21 , and then the process returns to step S 19 .
- the output value of the 2-bit counter 121 is 2 at step S 20 , the output value is set to 0 at step S 22 , and 1-bit data is read from the memory bank 1 at step S 23 . Then, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 24 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 25 , and then the process returns to step S 23 . If the output value of the 2-bit counter 121 is 2 at step S 24 , it is determined whether the output value of the 3-bit counter 122 is 7 at step S 26 . If the output value of the 3-bit counter 122 is 7, the process ends. In contrast, if the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 27 , the output value of the 2-bit counter 121 is set to 0 at step S 28 , and thereafter the process returns to step S 21 .
- FIG. 15c is a flowchart of a process of controlling the reading of data from the memory unit and controlling the second permutation and output selection unit when a mapping scheme is BPSK and sub-carrier frequency allocation is considered.
- the output value of the 3-bit counter 122 is set to 4 at step S 29 , and the operation of the counters 121 and 122 is activated at step S 30 .
- 1-bit data is read from the memory bank 0 at step S 31 , and it is determined whether the output value of the 2-bit counter 121 is 2 at step S 32 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 33 , and then the process returns to step S 31 .
- the output value of the 2-bit counter is 2 at step S 32 , the output value is set to 0 at step S 34 , and one-bit data is read from the memory bank 1 at step S 35 . Thereafter, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 36 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 37 , and then the process returns to step S 35 . If the output value of the 2-bit counter 121 is 2 at step S 36 , it is determined whether the output value of the 3-bit counter 122 is 3 at step S 38 . If the output value of the 3-bit counter 122 is 3, the process ends. If the output value of the 3-bit counter 122 is not 3, the output value is increased by 1 at step S 39 , the output value of the 2-bit counter 121 is set to 0 at step S 40 , and thereafter the process returns to step S 31 .
- FIGS. 16a to 16c are flowcharts showing the operation of the memory write/read control unit when a mapping scheme related to a data transmission rate is QPSK according to an embodiment of the present invention.
- FIG. 16a is a flowchart showing a process of controlling the writing of data in the memory unit when a mapping scheme is QPSK. Referring to FIG. 16a , the operation of the 2-bit and 3-bit counters 121 and 122 is activated at step S 41 , and 1-bit data are simultaneously written in memory banks 0 and 1 each at step S 42 . It is determined whether the output value of the 3-bit counter 122 is 7 at step S 43 .
- step S 44 If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 44 , and then the process returns to step S 42 .
- the output value of the 3-bit counter 122 is 7, the output value is set to 0 at step S 45 , and 1-bit data are simultaneously written in memory banks 6 and 7 each at step S 46 . Then, it is determined whether the output value of the 3-bit counter 122 is 7 at step S 47 . If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 48 , and then the process returns to step S 46 . If the output value of the 3-bit counter 122 is 7, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 49 .
- step S 49 If the output value is 2 at step S 49 , the counters 121 and 122 are initialized at step S 50 , and thereafter the process ends. If the output value of the 2-bit counter 121 is not 2, the output value is increased by 1 at step S 51 , the output value of the 3-bit counter 122 is set to 0 at step S 52 , and thereafter the process returns to step S 42 .
- FIG. 16b is a flowchart of a process of controlling the reading of data from the memory unit and controlling the second permutation and output selection unit when a mapping scheme is QPSK.
- the operation of the 2-bit and 3-bit counters 121 and 122 is activated at step S 53 , and 1-bit data are simultaneously read from the memory banks 0 and 6 each at step S 54 . It is determined whether the output value of the 2-bit counter 121 is 2 at step S 55 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 56 , and then the process returns to step S 54 .
- the output value of the 2-bit counter 121 is 2 at step S 55 , the output value is set to 0 at step S 57 , and 1-bit data are simultaneously read from memory banks 1 and 7 each at step S 58 . Then, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 59 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 60 , and thereafter the process returns to step S 58 . If the output value of the 2-bit counter 121 is 2 at step S 59 , it is determined whether the output value of the 3-bit counter 122 is 7 at step S 61 . If the output value is 7, the process ends.
- FIG. 16c is a flowchart of a process of controlling the reading of data from the memory unit and controlling the second permutation and output selection unit when a mapping scheme is QPSK and sub-carrier frequency allocation is considered.
- the output value of the 3-bit counter 122 is set to 4 at step S 64 , and the operation of the counters 121 and 122 is activated at step S 65 .
- 1-bit data are read from the memory banks 0 and 6 each at step S 66 , and it is determined whether the output value of the 2-bit counter 121 is 2 at step S 67 . If the output value of the 2-bit counter is not 2, the output value is increased by 1 at step S 68 , and then the process returns to step S 66 .
- the output value of the 2-bit counter 121 is set to 0 at step S 69 , and 1-bit data are simultaneously read from the memory banks 1 and 7 each at step S 70 . Thereafter, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 71 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 72 , and then the process returns to step S 70 . If the output value is 2 at step S 71 , it is determined whether the output value of the 3-bit counter 122 is 3 at step S 73 . If the output value is 3, the process ends.
- step S 73 If the output value is not 3 at step S 73 , the output value of the 3-bit counter 122 is increased by 1 at step S 74 , the output value of the 2-bit counter 121 is set to 0 at step S 75 , and then the process returns to step S 66 .
- FIGS. 17a to 17d are flowcharts showing the operation of the memory write/read control unit when a mapping scheme related to a data transmission rate is 16-QAM according to an embodiment of the present invention.
- FIGS. 17a and 17b are flowcharts showing a process of controlling the writing of data in the memory unit when a mapping scheme is 16-QAM. Referring to FIGS. 17a and 17b , the operation of the 2-bit and 3-bit counters 121 and 122 is activated at step S 80 , and 1-bit data are simultaneously written in memory banks 0 and 1 each at step S 81 . It is determined whether the output value of the 3-bit counter 122 is 7 at step S 82 .
- step S 83 If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 83 , and then the process returns to step S 81 . If the output value of the 3-bit counter 122 is 7, the output value is set to 0 at step S 84 , and 1-bit data are simultaneously written in memory banks 2 and 3 each at step S 85 . Then, it is determined whether the output value of the 3-bit counter 122 is 7 at step S 86 . If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 87 , and then the process returns to step S 85 .
- the output value of the 3-bit counter 122 is 7
- the output value is set to 0 at step S 88
- 1-bit data are simultaneously written in the memory banks 6 and 7 each at step S 89 .
- step S 94 it is determined whether the output value of the 3-bit counter 122 is 7 at step S 94 . If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 95 , and then the process returns to step S 93 . If the output value of the 3-bit counter 122 is 7, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 96 . If the output value of the 2-bit counter 121 is not 2, the output value is increased by 1 at step S 98 , the output value of the 3-bit counter 122 is set to 0 at step S 99 , and then the process returns to step S 81 . If the output value of the 2-bit counter 121 is 2 at step S 96 , the counters 121 and 122 are initialized at step S 97 , and the process ends.
- FIG. 17c is a flowchart of a process of controlling the reading of data from the memory unit and controlling the second permutation and output selection unit when a mapping scheme is 16-QAM.
- the operation of the 2-bit and 3-bit counters 121 and 122 is activated at step S 100 , and 1-bit data are simultaneously read from memory banks 0 , 2 , 6 and 8 each at step S 101 . It is determined whether the output value of the 2-bit counter 121 is 2 at step S 102 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 103 , and then the process returns to step S 101 .
- the output value of the 2-bit counter 121 is 2 at step S 102 , the output value is set to 0 at step S 104 , and 1-bit data are simultaneously read from memory banks 1 , 3 , 7 and 9 each at step S 105 . Then, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 106 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 107 , and then the process returns to step S 105 . If the output value of the 2-bit counter 121 is 2 at step S 106 , it is determined whether the output value of the 3-bit counter 122 is 7 at step S 108 .
- step S 109 the output value of the 3-bit counter 122 is increased by 1 at step S 109 , the output value of the 2-bit counter 121 is set to 0 at step S 110 , and then the process returns to step S 101 .
- FIG. 17d is a flowchart of a process of controlling the reading of data from the memory unit and controlling the second permutation and output selection unit when a mapping scheme is 16-QAM and sub-carrier frequency allocation is considered.
- the output value of the 3-bit counter 122 is set to 4 at step S 111 , and the operation of the counters 121 and 122 is activated at step S 112 .
- 1-bit data are simultaneously read from the memory banks 0 , 2 , 6 and 8 each at step S 113 , and it is determined whether the output value of the 2-bit counter 121 is 2 at step S 114 .
- step S 115 If the output value of the 2-bit counter 121 is not 2, the output value is increased by 1 at step S 115 , and then the process returns to step S 113 . If the output value is 2 at step S 114 , the output value of the 2-bit counter 121 is set to 0 at step S 116 , and 1-bit data are simultaneously read from the memory banks 1 , 3 , 7 and 9 each at step S 117 . Thereafter, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 118 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 119 , and then the process returns to step S 117 .
- step S 118 it is determined whether the output value of the 3-bit counter 122 is 3 at step S 120 . If the output value of the 3-bit counter 122 is 3 at step S 120 , the process ends. If the output value is not 3, the output value of the 3-bit counter 122 is increased by 1 at step S 121 , the output value of the 2-bit counter 121 is set to 0 at step S 122 , and then the process returns to step S 113 .
- FIGS. 18a to 18d are flowcharts showing the operation of the memory write/read control unit when a mapping scheme related to a data transmission rate is 64-QAM according to an embodiment of the present invention.
- FIGS. 18a and 18b are flowcharts showing a process of controlling the writing of data in the memory unit when a mapping scheme is 64-QAM. Referring to FIGS. 18a and 18b , the operation of the 2-bit and 3-bit counters 121 and 122 is activated at step S 130 , and 1-bit data are simultaneously written in memory banks 0 and 1 each at step S 131 . It is determined whether the output value of the 3-bit counter 122 is 7 at step S 132 .
- step S 133 If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 133 , and then the process returns to step S 131 . If the output value is 7, the output value of the 3-bit counter 122 is set to 0 at step S 134 , and 1-bit data are simultaneously written in memory banks 2 and 3 each at step S 135 . Then, it is determined whether the output value of the 3-bit counter 122 is 7 at step S 136 . If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 137 , and then the process returns to step S 135 . In contrast, if the output value is 7, the output value of the 3-bit counter 122 is set to 0 at step S 138 .
- step S 145 If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 145 , and then the process returns to step S 143 . If the output value of the 3-bit counter 122 is 7, the output value is set to 0 at step S 146 , and 1-bit data are simultaneously written in memory banks 8 and 9 each at step S 147 . Then, it is determined whether the output value of the 3-bit counter 122 is 7 at step S 148 . If the output value of the 3-bit counter 122 is not 7, the output value is increased by 1 at step S 149 , and then the process returns to step S 147 .
- step S 148 the output value of the 3-bit counter 122 is set to 0 at step S 150 , and 1-bit data are simultaneously written in memory banks 10 and 11 each at step S 151 . Then, it is determined whether the output value of the 3-bit counter 122 is 7 at step S 152 . If the output value is not 7, the output value of the 3-bit counter 122 is increased by 1 at step S 153 , and then the process returns to step S 151 . If the output value of the 3-bit counter 122 is 7, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 154 .
- the output value of the 2-bit counter 121 is increased by 1 at step S 156 , the output value of the 3-bit counter 122 is set to 0 at step S 157 , and thereafter the process returns to step S 131 . If the output value of the 2-bit counter 121 is 2, the counters 121 and 122 are initialized at step S 155 , and then the process ends.
- FIG. 18c is a flowchart of a process of controlling the reading of data from the memory unit and controlling the second permutation and output selection unit when a mapping scheme is 64-QAM.
- the operation of the 2-bit and 3-bit counters 121 and 122 is activated at step S 158 , and 1-bit data are simultaneously read from memory banks 0 , 2 , 4 , 6 , 8 and 10 each at step S 159 . It is determined whether the output value of the 2-bit counter 121 is 2 at step S 160 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 161 , and then the process returns to step S 159 .
- the output value of the 2-bit counter 121 is set to 0 at step S 162 , and then 1-bit data are simultaneously read from memory banks 1 , 3 , 5 , 7 , 9 and 11 each at step S 163 . Then, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 164 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 165 , and then the process returns to step S 163 . If the output value is 2 at step S 164 , it is determined whether the output value of the 3-bit counter 122 is 7 at step S 166 .
- step S 167 the output value of the 3-bit counter 122 is increased by 1 at step S 167 , the output value of the 2-bit counter 121 is set to 0 at step S 168 , and then the process returns to step S 159 .
- FIG. 18d is a flowchart of a process of controlling the reading of data from the memory unit and controlling the second permutation and output selection unit when a mapping scheme is 64-QAM and sub-carrier frequency allocation is considered.
- the output value of the 3-bit counter 122 is set to 4 at step S 169 , and the operation of the counters 121 and 122 is activated at step S 170 .
- 1-bit data are simultaneously read from memory banks 0 , 2 , 4 , 6 , 8 and 10 each at step S 171 , and it is determined whether the output value of the 2-bit counter 121 is 2 at step S 172 .
- step S 173 If the output value of the 2-bit counter 121 is not 2, the output value is increased by 1 at step S 173 , and then the process returns to step S 171 . If the output value is 2 at step S 172 , the output value of the 2-bit counter 121 is set to 0 at step S 174 , and 1-bit data are simultaneously read from memory banks 1 , 3 , 5 , 7 , 9 and 11 each at step S 175 . Thereafter, it is determined whether the output value of the 2-bit counter 121 is 2 at step S 176 . If the output value is not 2, the output value of the 2-bit counter 121 is increased by 1 at step S 177 , and then the process returns to step S 175 .
- step S 176 it is determined whether the output value of the 3-bit counter 122 is 3 at step S 178 . If the output value is 3, the process ends. If the output value is not 3 at step S 178 , the output value of the 3-bit counter 122 is increased by 1 at step S 179 , the output value of the 2-bit counter 121 is set to 0 at step S 180 , and then the process returns to step S 171 .
- the present invention provides an interleaving apparatus and method for an OFDM transmitter, which separates output data into inphase components and quadrature components, determines the number of bits, output in parallel, according to a mapping scheme, and outputs the determined bits when the data are output from the interleaving apparatus, thus omitting processes that may be unnecessarily executed, such as data rearrangement for mapping or data rearrangement according to sub-carrier frequency allocation.
- the present invention is advantageous in that first and second permutation processes are separated, so that bits are output from memory in parallel according to a mapping scheme during the first permutation process, and the positions of output data bits are rearranged during the second permutation process, thus simplifying and facilitating the design of a required controller.
- the present invention is advantageous in that a 24-bit memory bank is implemented with the unit of memory, so that an interleaving apparatus enabling systematic extension or reduction can be implemented.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
An interleaving apparatus and method for an OFDM transmitter are provided. The interleaving apparatus comprises a memory unit, a memory write/read control unit, a memory access address generation unit, and a second permutation and output selection unit. The memory unit includes a plurality of memory banks, which are capable of being independently controlled so that data can be written or read in/from the memory banks, each having memory cells arranged in an N×M matrix structure. The memory write/read control unit generates control signals to write/read data in/from the memory unit. The memory access address generation unit generates a memory access address used to write/read data in/from the memory unit in response to the memory write/read control signals. The second permutation and output selection unit rearranges the positions of data bits output from the memory unit and outputs the position-rearranged data bits.
Description
The present application is based on, and claims priority from,The present patent application is a Reissue of U.S. Pat. No. 7,370,252, issued on May 6, 2008, which claims the benefit of Korean Application Number 2004-0091392, filed Nov. 10, 2004, the disclosuredisclosures of which isare incorporated by reference herein in itstheir entirety.
1. Field of the Invention
The present invention relates, in general, to an interleaving apparatus and method for an orthogonal frequency division multiplexing transmitter and, more particularly, to an interleaving apparatus and method for an orthogonal frequency division multiplexing transmitter, which allows an orthogonal frequency division multiplexing transmitter based on IEEE802.11 standards to be efficiently implemented.
2. Description of the Prior Art
Recently, Internet phones have been activated, and wireless Internet phones, utilizing Wireless Local Area Network (WLAN) technologies based on Institute of Electrical and Electronic Engineers (IEEE) 802.11 standards, have been introduced. An Orthogonal Frequency Division Multiplexing (OFDM) scheme of WIAN technologies is a digital modulation scheme for improving a transmission rate per unit bandwidth and preventing multipath interference, and is a multi-carrier modulation scheme using a plurality of carriers orthogonal to each other.
An example of a typical OFDM transmitter is shown in FIG. 1 . Referring to FIG. 1 , in the typical OFDM transmitter, the transmission rate of data to be transmitted is set and the data are transmitted to a scrambler 101. Data scrambled by the scrambler 101 are input to an interleaver 103 through a convolution encoder 102. The interleaver 103 interleaves the data, and the interleaved data are mapped by a constellation mapper 104 according to a data transmission rate. The data mapped through the above process are transmitted to a Radio Frequency (RF) converter 108 through an Inverse Fast Fourier Transformer (IFFT) 105, a guard-interval inserter 106 and a symbol wave-shaping filter 107.
In data transmission technology based on OFDM, interleaving is a technology of causing burst errors to appear as random errors distributed to several small locations in consideration of the. fact that a greatly concentrated burst error may occur at a specific location during a process of transmitting data through a transmission medium. A means or device for implementing such an interleaving technology is called an interleaver.
An interleaver executes first and second permutation processes. The first permutation is based on an IEEE 802.11 standards-based permutation equation, i=(NCBPS/16) (k mod 16)+floor(k/16), where k=0, 1, . . . , NCBPS−1. The second permutation is based on an IEEE 802.11 standards-based permutation equation, j=s×floor(i/s)+(i+NCBPS−floor (16×i/NCBPS))mod s, where i=0, 1, . . . , NCBPS−1. In the two permutation equations, k represents each bit index of a bit stream before the first permutation, and i represents an index on which a bit, placed on a k-th position before the first permutation, is to be placed after the first permutation. Further, j represents an index on which a bit, placed on an i-th position before the second permutation, is to be placed after the second permutation, and mod represents a modulo operation. Further, floor( ) represents the highest integer that does not exceed the value in parentheses, NCBPS represents the number of encoded bits included in each OFDM symbol, s represents max(NBPSC/2,1), NBPSC represents the number of encoded bits included in each sub-channel forming an OFDM transmission band, and max( ) represents the highest value selected among the values in parentheses.
When the interleaver is implemented using hardware, it includes memory and an interleaver controller for writing and reading data in and from the memory. According to a mapping scheme related to a data transmission rate based on the standards, the position and sequence in which data are written in the memory and read from the memory are implemented as shown in FIG. 2 , so that the first and second permutation processes can be described. FIG. 2 is view showing an example of a memory access scheme to describe an interleaving process. However, FIG. 2 shows only an embodiment to describe the first and second permutations.
As shown in the permutation equations, the size of memory used for permutation varies according to NCBPS and NBPSC. NCBPS and NBPSC vary according to mapping schemes, which are classified into four types: Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), 16-Quadrature Amplitude Modulation (QAM) and 64-QAM. When the mapping scheme is BPSK, NCBPS is 48 and NBPSC is 1. When the mapping scheme is QPSK, NCBPS is 96 and NBPSC is 2. When the mapping scheme is 16-QAM, NCBPS is 192 and NBPSC is 4. When the mapping scheme is 64-QAM, NCBPS is 288 and NBPSC is 6. Therefore, it can be seen that, in the case of a BPSK mapping scheme, 48-bit memory is used, in the case of a QPSK mapping scheme, 96-bit memory is used, in the case of a 16-QAM mapping scheme, 192-bit memory is used, and, in the case of a 64-QAM mapping scheme, 288-bit memory is used.
Such a conventional interleaver is disadvantageous in that, when data are output from the memory, a subsequent functional block of the interleaver must unnecessarily perform data rearrangement for mapping, or data rearrangement according to sub-carrier frequency allocation. Further, the conventional interleaver is disadvantageous in that, since it does not separately execute first and second permutation processes, the design of a controller for outputting data bits from memory and rearranging the positions of the output data bits is complicated.
In the meantime, an embodiment of an interleaving apparatus disclosed in IEEE 802.11a PHY Specification shows an interleaver having a 1-bit input, 1-bit output structure. This interleaver, which is used to describe first and second permutations, includes single 1-bit writable/readable memory and a memory access address generator, and performs write and read operations corresponding to the first and second permutations on a 1-bit-at-a-time basis.
The present invention provides an interleaving apparatus and method for an OFDM transmitter, which divides memory for interleaving of the OFDM transmitter into a plurality of memory banks independently controlled so that data are written or read in or from the memory banks, writes data in respective memory banks, outputs data bits in parallel from the memory banks using a read control signal according to mapping schemes to correspond to a first permutation process, and rearranges the positions of the output data bits to correspond to a second permutation process.
The present invention provides an interleaving apparatus for an orthogonal frequency division multiplexing transmitter, comprising a memory unit including a plurality of memory banks each having memory cells arranged in an N×M matrix structure, the memory banks being capable of being independently controlled so that data can be written or read in or from the memory banks; a memory write/read control unit for generating control signals to write/read data in/from the memory unit; a memory access address generation unit for generating a memory access address used to write/read data in/from the memory unit in response to the memory write/read control signals; and a second permutation and output selection unit for rearranging positions of data bits output from the memory unit and outputting the position-rearranged data bits.
Further, the present invention provides an interleaving method for an orthogonal frequency division multiplexing transmitter, the transmitter including a memory write/read control unit and a memory access address generation unit and writing/reading data in/from a memory unit including a plurality of memory banks each having memory cells arranged in a matrix structure, the memory banks being capable of being independently controlled so that data. input from a convolution encoder can be written or read in or from the memory banks, the method comprising the steps of a) the memory write/read control unit generating a control signal to write the input data in a corresponding memory bank in response to data transmission rate and valid interval indication signals for the input data transmitted from the convolution encoder; b) the memory access address generation unit generating a memory access address to access the memory bank, in which the input data are to be written, in response to the write control signal for the memory bank generated by the memory write/read control unit; c) writing the input data in a memory bank corresponding to the memory access address in response to the write control signal generated by the memory write/read control unit; d) the memory write/read control unit generating a control signal to read data, written in the memory bank according to the data transmission rate, and data transmission rate and valid interval indication signals for output data when the data are read from the memory bank; e) the memory access address generation unit generating a memory access address to access the memory bank, from which output data are to be read, in response to the read control signal; f) reading the output data from the memory bank in response to the read control signal and the memory access address; g) rearranging positions of output data read from the memory bank; and h) outputting valid data among the position-rearranged output data in response to the data transmission rate and valid interval indication signals for the output data.
The above and other objects, features and other advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
The present invention provides an interleaving apparatus and method to efficiently implement an Orthogonal Frequency Division Multiplexing (OFDM) transmitter based on IEEE 802.11 standards. In the OFDM transmitter, it is efficient to implement a convolution encoder which is a preceding functional block of an interleaving apparatus so that the data output structure of the convolution encoder is a 2-bit parallel structure according to the functional structure thereof. Therefore, when an interleaving apparatus is implemented, it is more reasonable to basically implement a data input structure as a 2-bit parallel structure.
In order to systematically implement an interleaving apparatus for an OFDM transmitter according to the present invention, a constellation mapper, which is a subsequent functional block of the interleaving apparatus, must be considered. The IEEE 802.11 standards-based constellation mapping schemes are classified into four types: BPSK, QPSK, 16-QAM and 64-QAM. Respective mappers differently combine input data bits according to mapping schemes, and output inphase components and quadrature components. Each of the mappers groups the input data into sub-groups of one, two or three bits and maps the bits into predetermined values so as to form respective components. Therefore, if data are separated into inphase components and quadrature components, and the number of bits to be output in parallel is set according to mapping schemes when data are output from the interleaving apparatus in consideration of the mapping scheme, part of processes unnecessarily executed by functional blocks corresponding to the subsequent process of the interleaving apparatus can be omitted.
Therefore, the interleaving apparatus of the present invention provides a method of outputting data bits in parallel from memory through the use of a control signal that is used to read data from the memory for interleaving, according to mapping schemes to correspond to a first permutation, and a method of rearranging the positions of the data bits, output from the memory, to correspond to a second permutation. In this way, the interleaving apparatus of the present invention separates first and second permutations, outputs valid bits in parallel from predetermined memory according to mapping schemes during the first permutation, and rearranges the positions of the output data bits during the second permutation.
In the meantime, the interleaving apparatus of the present invention is operated so that valid data are output in series on a 1-bit-at-a-time basis in the case of BPSK, valid data are output in parallel on a 2-bits-at-a-time basis in the case of QPSK, valid data are output in parallel on a 4-bits-at-a-time basis in the case of 16-QAM, and valid data are output in parallel on a 6-bits-at-a-time basis in the case of 64-QAM, according to mapping schemes related to a data transmission rate.
Preferred embodiments of the present invention are described with reference to the attached drawings below. Reference now should be made to the drawings, in which the same reference numerals are used throughout the different drawings to designate the same or similar components. In the following description of the present invention, detailed descriptions may be omitted if it is determined that the detailed descriptions of related well-known functions and construction may make the gist of the present invention unclear.
Referring to FIG. 4 , the memory unit 130 stores the input data 13 therein, and the memory access address generation unit 120 generates the address to access the memory unit 130. That is, the memory unit 130 stores the input data 13 in response to the memory write control signal output from the memory write/read control unit 110. The memory write/read control unit 110 receives a data transmission rate indication signal 11 for the input data 13 and a valid interval indication signal 12 for the input data 13 from an upper-layer system, and writes the data in the memory unit 130 in response to the indication signals 12 and 13. In the case of the write/read control signals for the memory unit 130, the types of activation signals representing writing/reading vary according to the characteristics of memory to be used. Further, the memory write/read control unit 110 controls the memory access address generating unit 120, thus controlling counters used to generate the address to access the memory unit 130. This operation will be described later in detail.
The second permutation and output selection unit 140 rearranges the positions of data bits output from the memory unit 130 using predetermined control signals. That is, the second permutation and output selection unit 140 divides the data output from the memory unit 130 into an odd part and an even part, and outputs valid data from the odd and even parts according to the mapping schemes related to the transmission rate of the output data.
The functional blocks 110 to 140 of FIG. 4 can be easily implemented by those skilled in the art to which the present invention belongs through the use of software, programs, microprocessors, etc.
Hereinafter, with reference to FIGS. 5 to 13 , the interleaving apparatus of the present invention is described in detail. FIGS. 5 and 6 illustrate memory banks of a memory unit according to an embodiment of the present invention. In detail, FIG. 5 illustrates a memory unit including 12 24-bit memory banks according to an embodiment of the present invention, and FIG. 6 illustrates a memory bank divided in an 8×3 matrix structure according to an embodiment of the present invention. In this case, FIGS. 5 and 6 illustrate a preferred embodiment of the memory unit 130 of the present invention. In another embodiment of the present invention, the number of bits per memory bank and the number of memory banks can vary. In a further embodiment of the present invention, the memory banks can be divided into various matrix structures. These structures can vary with the characteristics of desired OFDM transmitters. Hereinafter, the present invention is described below on the basis of the preferred embodiment of FIGS. 5 and 6 .
Referring to the memory unit 130 according to the embodiments of FIGS. 5 and 6 , the memory unit 130 includes a total of 12 memory banks 131-0 to 131-11, each being implemented with a memory bank 131 capable of being independently controlled so that data are written or read in or from the memory bank 131. The memory bank 131 is constructed to be able to receive or output one bit at a time. Therefore, a memory access address to access the memory bank 131 is preferably configured in a 5-bit structure. However, the memory access address may have another bit number structure. In order to efficiently execute a first permutation process, each memory bank 131 is divided in a matrix structure with 8 rows and 3 columns according to the embodiment of the present invention, as shown in FIG. 6 . An upper 2-bit signal of the 5-bit signal indicating the memory access address specifies the column of memory banks 131 and a lower 3-bit signal thereof specifies the row of the memory banks 131. In this way, if a signal indicating the memory access address is assumed to be mb_address[4:0], mb_address[4:3] indicates a column, mb_address[2:0] indicates a row, and one of the cells depicted in FIG. 5 is accessed by a combination of mb_address[4:3] and mb_address[2:0].
As shown in FIG. 5 , the memory banks 131 are paired, and two memory banks, forming each pair, are classified into an odd part and an even part, so that the format of data input to the memory unit 130 is a 2-bit parallel structure. Further, the memory banks 131 are classified into an inphase block and a quadrature block, each including 6 memory banks.
In FIG. 5 , mb_din_even denotes even part input data, mb_din_odd denotes odd part input data, mb_address[4:0] denotes a memory access address, mb_ce_0, mb_ce_1, mb_ce_2, mb_ce_3, mb_ce_4, mb_ce_5, mb_ce_6, mb_ce_7, mb_ce_8, mb_ce_9, mb_ce_10, and mb_ce_11 denote input/output activation signals for respective memory banks, mb_we_i_0 denotes a write/read control signal for a memory bank 0 and a memory bank 1, mb_we_i_1 denotes a write/read control signal for a memory bank 2 and a memory bank 3, mb_we_i_2 denotes a write/read control signal for a memory bank 4 and a memory bank 5, mb_we_q_0 denotes a write/read control signal for a memory bank 6 and a memory bank 7, mb_we_q_1 denotes a write/read control signal for a memory bank 8 and a memory bank 9, and mb_we_q_2 denotes a write/read control signal for a memory bank 10 and a memory bank 11, mb_dout_even_i_0 denotes output data of the memory bank 0, mb_dout_odd_i_0 denotes output data of the memory bank 1, mb_dout_even_i_1 denotes output data of the memory bank 2, mb_dout_odd_i_1 denotes output data of the memory bank 3, mb_dout_even_i_2 denotes output data of the memory bank 4, mb_dout_odd_i_2 denotes output data of the memory bank 5, mb_dout_even_q_0 denotes output data of the memory bank 6, mb_dout_odd_q_0 denotes output data of the memory bank 7, mb_dout_even_q_1 denotes output data of the memory bank 8, mb_dout_odd_q_1 denotes output data of the memory bank 9, mb_dout_even_q_2 denotes output data of the memory bank 10, and mb dout odd_q_2 denotes output data of the memory bank 11. Terms “even” and “odd” in mb_din_even and mb_din_odd mean an even part and an odd part, respectively. In mb_we_i_0, mb_we_i_1, mb_we_i_2, mb_we_q_0, mb_we_q_1, and mb_we_q_2, denoting the write/read control signals for the memory banks, “i” means the inphase block, “q” means the quadrature block, 0, 1 and 2 mean the positions of corresponding bits when the data bits input to the memory banks are output from the memory unit 130. In the case of the write/read control signals for the memory banks 131, the form of activation signals, indicating writing/reading, varies with the characteristics of the memory banks. That is, if writing is activated when the write/read control signal is “1”, reading is activated when the write/read control signal is “0”. Further, if reading is activated when the write/read control signal is “0”, writing is activated when the write/read control signal is “1”. The signals mb_dout_even_i_0, mb_dout_even_i_1, mb_dout_even_i_2, mb_dout_odd_i_0, mb_dout_odd_i_1 and mb_dout_odd_i_2 that are output from the memory banks 131 denote data output corresponding to the inphase block. In this case, “even” means output corresponding to the even part input, and “odd” means output corresponding to the odd part input. In this case, 0, 1 and 2 mean corresponding bit positions when the data bits are output. The signals mb_dout_even_q_0, mb_dout_even_q_1, mb dout even q_2, mb dout odd_q_0, mb_dout_odd_q_1, and mb_dout_odd_q_2 denote data output corresponding to the quadrature block. In this case, “even” means output corresponding to the even part input and “odd” means output corresponding to the odd part input. In this case, 0, 1 and 2 mean corresponding bit positions when the data bits are output. When the memory bank input/output activation signals are inactivated, write/read operations are not performed regardless of the status of the write/read control signals.
As described above, the format of data input to the memory unit 130 of the present invention has a 2-bit parallel structure. As shown in the above equation representing the first permutation, when an index for a data bit stream input before the first permutation is analyzed in a temporal or sequential concept, lower bit data temporally precedes upper bit data among the above data, the upper bit data are input to the odd part, and the lower bit data are input to the even part.
In the meantime, as described above, when data are written or read in or from the memory unit 130, the memory access address, output from the memory access address generation unit 120, and the write/read control signals, output from the memory write/read control unit 110, are differently generated, thus executing a first permutation process. The first permutation is executed by controlling the sequence of data written in the memory unit 130, the position of data written in the memory unit 130, the sequence of data read from the memory unit 130 and the position of data read from the memory unit 130 according to mapping schemes related to a data transmission rate, as shown in FIGS. 7a to 7j . FIGS. 7a to 7j illustrate the selection of 24-bit memory banks in the memory unit and data write/read schemes according to mapping schemes related to a data transmission rate according to an embodiment of the present invention. That is, FIGS. 7a to 7j show examples of a relationship between a method of accessing cells in the memory bank 131 and the sequence and position in which data bits to be written are input to the memory unit 130, and a relationship between a method of accessing the cells in the memory bank 131 and the sequence and position in which data bits read from the cells are output from the memory unit 130.
Referring to FIG. 7 , an index, indicating the time or sequence of data bits input to the memory unit 130 when the data bits are written in the memory unit 130, is w (=0, 1, . . . , 143), the even part and odd part are distinguished from each other by e and o, and the positions of data bits input in parallel on a 2-bits-at-a-time basis are distinguished from each other by e and o. At this time, the input index and position of each data bit input to the memory unit 130 are expressed as we and wo, respectively. The relationships between we and wo and the method of accessing the cells in the memory bank 131 are shown in FIGS. 7a to 7j . Further, an index, indicating the time or sequence of data bits output from the memory unit 130 when the data bits are read from the memory unit 130, is r (=0, 1, . . . , 47), the even part and odd part are distinguished from each other by e and o, the inphase block and the quadrature block are distinguished from each other by i and q, and the position of data bits output in parallel from the i and q blocks is p (=0, 1 and 2). In this case, the input index and position of data bits output from the memory unit 130 are expressed as re,i,p, roip, re,q,p and ro,q,p. The relationships between re,i,p, ro,i,p, re,q,p and ro,q,p and the method of accessing the cells in the memory bank 131 are shown in FIGS. 7a to 7j . For example, when a mapping scheme related to a data transmission rate is 16-QAM and the sub-carrier frequency allocation is considered, data bits, which are input to the memory unit and have the sequence and position corresponding to 00, 80, 160 and 240, are written in a cell 0 of a memory bank 1 131-1, a cell 0 of a memory bank 3 131-3, a cell 0 of a memory bank 7 131-7, and a cell 0 of a memory bank 9 131-9, respectively. The sequence and location in which data bits read from the cells are output from the memory unit 130 are 27o,i,0, 27o,i,1, 27o,q,0 and 27o,q,1, respectively.
In FIGS. 7a to 7j , the usable range of w varies with the mapping schemes. The maximum value of w is 23, 47, 95 and 143 when the mapping scheme is BPSK, QPSK, 16-QAM, and 64-QAM, respectively.
In FIG. 5 , the input index and position of data bits input to the memory unit 130 are represented by we with respect to mb_din_even, and wo with respect to mb_din_odd. Further, in FIG. 5 , the output index and position of data bits output from the memory unit 130 are represented by re,i,p with respect to mb_dout_even_i_0, mb_dout_even_i_1 and mb_dout_even_i_2, ro,i,p with respect to mb_dout_odd_i_0, mb_dout_odd_i_1 and mb_dout_odd_i_2, re,q,p with respect to mb_dout_even_q_0, mb_dout_even_q_1 and mb_dout_even_q_2, and ro,q,p with respect to mb_dout_odd_q_0, mb_dout_odd_q_1 and mb_dout_odd_q_2.
In FIG. 8 , sp_dout_i_0, sp_dout_i_1 and sp_dout_i_2 denote second permutation results of the data bits output from inphase blocks in the memory unit, and sp_dout_q_0, sp_dout_q_1 and sp_dout_q_2 denote second permutation results of the data bits output from quadrature blocks in the memory unit 130. In a temporal or sequential concept, the second permutation results can be described in the order of sp_dout_i_0, sp_dout_i_1, sp_dout_i_2, sp_dout_q_0, sp_dout_q_1 and sp_dout_q_2, but the output of the second permutation results can be simultaneously performed.
In FIG. 8 , itlv_dout_i_0, itlv_dout_i_1 and itlv_dout_i_2 denote the final output of the interleaving apparatus for inphase blocks, and itlv_dout_q_0, itlv_dout_q_1 and itlv_dout_q_2 denote the final output of the interleaving apparatus for quadrature blocks. Further, itlv_output_rate_mode[1:0] denotes a mapping scheme related to a transmission rate of data output from the interleaving apparatus, and itlv_dout_env denotes the valid interval of data output from the interleaving apparatus.
Referring to FIG. 8 , the second permutation unit 141 includes a second permutation processor which rearranges the output positions of data bits output from the memory unit 130 in response to the signals even_odd_select, output_rate_mode[1:0] and mb_address[2:0], and outputs the position-rearranged data bits. The second permutation results can be output as shown in FIG. 9 when the signals even_odd_select and output_rate_mode[1:0] are implemented so that, if the signal even_odd_select is 0, an even part is selected, while if the signal even_odd_select is 1, an odd part is selected, and if the signal output_rate_mode[1:0] is “00”, “01”, “10” or “11”, a mapping scheme is BPSK, QPSK, 16-QAM or 64-QAM, respectively. In FIG. 8 , x means that its value is indefinite. FIG. 9 is a view of a data input/output method performed by the second permutation unit 141 according to an embodiment of the present invention, which shows the second permutation method.
Further, in accordance with mapping schemes related to the transmission rate of output data, the output selection unit 142 outputs valid data on a 1-bit-at-a-time basis when a mapping scheme is BPSK, outputs valid data in parallel on a 2-bits-at-a-time basis when a mapping scheme is QPSK, outputs valid data in parallel on a 4-bits-at-a-time basis when a mapping scheme is 16-QAM, and outputs valid data in parallel on a 6-bits-at-a-time basis when a mapping scheme is 64-QAM. Further, the output selection unit 142 outputs a signal indicating the valid interval of output data, and a signal indicating a mapping scheme related to a data transmission rate. When a signal output_enable is “1”, it means that valid data are output. The valid data can be output as shown in FIG. 10 when a mapping scheme is set in such a way that, if the signal output_rate_mode[1:0] is “00”, “01”, “10” or “11”, the mapping scheme is BPSK, QPSK, 16-QAM or 64-QAM, respectively. FIG. 10 is a view of a data input/output method of the output selection unit 142 according to an embodiment of the present invention, which shows a method of outputting valid data according to mapping schemes. In FIG. 10 , the value of the signal itlv_output_rate_mode[1:0] varies according to the signal output_rate_mode[1:0] when the signal output_enable is “1”, and maintains its previous value when the signal output_enable is “0”.
Referring to FIG. 11 , the 2-bit binary counter 121 can count from 0 to 2, and the 3-bit binary counter 122 can count from 0 to 7. Further, the 2-bit binary counter 121 functions as a modulo-2 counter, and the 3-bit binary counter 122 functions as a modulo-7 counter. Therefore, if output values of the counters 121 and 122 are increased by “1” when the output values reach 2 and 7, respectively, the output values of the counters become “0” again. A signal mb_address[4:3] indicating the output of the 2-bit binary counter is equal to a signal indicating the memory bank access address, and increases in the order of “00”, “01” and “10”. As described above, if the output value of the 2-bit binary counter 121 is increased by “1” when mb_address[4:3] is “10”, the mb_address[4:3] becomes “00” again. A signal mb_address[2:0] indicating the output of the 3-bit binary counter 122 is equal to a signal indicating the memory bank access address, and increases in the order of “000”, “001”, “010”, “011”, “100”, “101”, “110” and “111”. As described above, if the output value of the 3-bit binary counter 122 is increased by 1 when the mb address[2:0] is “111”, the mb address[2:0] becomes “000” again. If a signal 2b_cnt_clear is activated, the 2-bit binary counter 121 is initialized to 0. Further, if a signal 2b_cnt_up is activated, the output value of the 2-bit binary counter 121 is increased by 1. If a signal 3b_cnt_clear is activated, the 3-bit binary counter 122 is initialized to 0. When a signal 3b_cnt_up is activated, the output value of the 3-bit binary counter 122 is increased by 1. If a signal 3b_cnt_set is activated, the output value of the 3-bit binary counter 122 is set to a value indicated by 3b_cnt_set_value[2:0].
In the meantime, the memory write/read control unit 110 generates the write/read control signals, controls the counters that generate the memory access address, controls the arrangement of the output position of data bits output from the memory unit 130 for the purpose of a second permutation, and arranges the number of valid bits to be output from the interleaving apparatus according to the mapping schemes related to a data transmission rate. The data transmission rate indication signal for the input data 13, input to the memory write/read control unit 110, indicates a mapping scheme related to the transmission rate of data input to the memory bank 131.
Referring to FIG. 13 , at an initialization state 111, the memory bank input/output activation signals are inactivated to prevent the write/read operation with respect to the memory unit 130, the 3-bit binary counter 122 and the 2-bit binary counter 121 are initialized, and the valid interval indication signal for output data is inactivated because valid data to be output do not exist. If the valid interval indication signal for input data of FIG. 4 is not activated, the initialization state is maintained. If the valid interval indication signal for input data is activated at the same time that the data are input to the interleaving apparatus, and the mapping scheme related to a data transmission rate for the input data is BPSK, the current state is changed to a BPSK mode 112. If the valid interval indication signal for input data is activated at the same time that the data are input to the interleaving apparatus, and the mapping scheme related to a data transmission rate for the input data is QPSK, the current state is changed to a QPSK mode 113. If the valid interval indication signal for input data is activated at the same time that the data are input to the interleaving apparatus, and the mapping scheme related to a data transmission rate for the input data is 16-QAM, the current state is changed to a 16-QAM mode 114. If the valid interval indication signal for input data is activated at the same time that the data are input to the interleaving apparatus, and the mapping scheme related to a data transmission rate for the input data is 64-QAM, the current state is changed to a 64-QAM mode 115.
In FIG. 13 , in the BPSK mode 112, the permutation processes are executed using the 24- bit memory banks 0 and 1, as shown in FIGS. 7a to 7j . A detailed operation performed in the BPSK mode is shown in FIGS. 15a to 15c . As shown in FIGS. 15a to 15c , the detailed operation of the BPSK mode may vary in the case where the sub-carrier frequency allocation is considered.
In FIG. 13 , in the QPSK mode 113, the permutation processes are executed using the 24- bit memory banks 0, 1, 6 and 7, as shown in FIGS. 7a to 7j . A detailed operation performed in the QPSK mode is shown in FIGS. 16a to 16c . As shown in FIGS. 16a to 16c , the detailed operation of the QPSK mode may vary in the case where the sub-carrier frequency allocation is considered.
In FIG. 13 , in the 16-QAM mode 114, the permutation processes are executed using the 24- bit memory banks 0, 1, 2, 3, 6, 7, 8 and 9, as shown in FIGS. 7a to 7j . A detailed operation performed in the 16-QAM mode is shown in FIGS. 17a to 17d . As shown in FIGS. 17a to 17d , the detailed operation of the 16-QAM mode may vary in the case where the sub-carrier frequency allocation is considered.
In FIG. 13 , in the 64-QAM mode 115, the permutation processes are executed using all of the 24-bit memory banks, as shown in FIGS. 7a to 7j . A detailed operation performed in the 64-QAM mode is shown in FIGS. 18a to 18d . As shown in FIGS. 18a to 18d , the detailed operation of the 64-QAM mode may vary in the case where the sub-carrier frequency allocation is considered.
As shown in FIGS. 15a to 15c to 18a to 18d, the 2-bit binary counter 121 is operated so that its output value returns to 0 if the counter value is increased by 1 when the output value is 2. Further, the 3-bit binary counter 122 is operated so that its output value returns to 0 if a counter value is increased by 1 when the output value is 7.
Hereinafter, the operating process of the memory write/read control unit 110 according to the mapping schemes related to a data transmission rate of the present invention is described in detail, with reference to FIGS. 15a to 15c and 18a to 18d.
The above detailed descriptions and drawings show the technical spirit of an interleaving apparatus and method for an orthogonal frequency division multiplexing transmitter according to the present invention. Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, the present invention is not limited to the embodiments. In particular, as embodiments of the present invention, memory banks, input/output data and various signals shown in the drawings can be applied to the present invention, but those skilled in the art will appreciate that other embodiments can be implemented.
Further, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. Therefore, the spirit and scope of the present invention would be defined by the accompanying claims, not the detailed description and the drawings.
As described above, the present invention provides an interleaving apparatus and method for an OFDM transmitter, which separates output data into inphase components and quadrature components, determines the number of bits, output in parallel, according to a mapping scheme, and outputs the determined bits when the data are output from the interleaving apparatus, thus omitting processes that may be unnecessarily executed, such as data rearrangement for mapping or data rearrangement according to sub-carrier frequency allocation.
Further, the present invention is advantageous in that first and second permutation processes are separated, so that bits are output from memory in parallel according to a mapping scheme during the first permutation process, and the positions of output data bits are rearranged during the second permutation process, thus simplifying and facilitating the design of a required controller.
Moreover, the present invention is advantageous in that a 24-bit memory bank is implemented with the unit of memory, so that an interleaving apparatus enabling systematic extension or reduction can be implemented.
Claims (30)
1. An interleaving apparatus for an orthogonal frequency division multiplexing transmitter, comprising:
a memory unit including a plurality of memory banks each having memory cells arranged in an N×M matrix structure, the memory banks being capable of being independently controlled so that data can be written or read in or from the memory banks;
a memory write/read control unit for generating controller configured to generate control signals to write/read data in/from the memory unit, according to a constellation mapping scheme related to a data transmission rate , and outputs output the control signals to the memory unit; , and configured to receive signals indicating the data transmission rate and a valid interval of the input data and generate the control signals to write/read data existing in the valid interval;
a memory access address generation unit for generating generator configured to generate a memory access address used to write/read data in/from the memory unit in response to the memory write/read control signals; and
a second permutation and output selection unit for rearranging processor configured to rearrange positions of data bits output from the memory unit and outputting the position-rearranged data bits.
2. The interleaving apparatus according to claim 1 , wherein the memory unit comprises a plurality of 24-bit memory banks.
3. The interleaving apparatus according to claim 1 or 2 , wherein the memory unit comprises at least 12 memory banks.
4. The interleaving apparatus according to claim 1, wherein each of the memory banks receives or outputs data on a 1-bit-at-a-time basis.
5. The interleaving apparatus according to claim 1 , wherein each of the memory banks controls write/read operations in response to activation signals of the write/read control signals output from the memory write/read control unit controller.
6. The interleaving apparatus according to claim 1 , wherein the data input to the memory unit have a 2-bit parallel structure.
7. The interleaving apparatus according to claim 1 , wherein the memory write/read control unit receives signals indicating the data transmission rate and a valid interval of the input data and generates the control signals to write/read data existing in the valid interval.
8. The interleaving apparatus according to claim 1 , wherein the memory access address generation unit generator generates an n-bit memory access address, upper k bits of which indicate a column of each memory cell and lower n-k bits of which indicate a row of each memory cell.
9. The interleaving apparatus according to claim 8, wherein n is 5 and k is 2.
10. The interleaving apparatus according to claim 1 , wherein the second permutation and output selection unit processor comprises:
a second permutation unit for rearranging processor configured to rearrange the positions of data bits output from the memory unit; and
an output selection unit for outputting processor configured to output the position-rearranged data bits and signals indicating a data transmission rate and a valid interval of the output data, and outputting valid data according to the data transmission rate and the valid interval.
11. The interleaving apparatus according to claim 10 , wherein the second permutation unit processor includes 12 bit input ports, which are classified into an inphase block and a quadrature block, each including 6-bit input ports that receive 6-bit parallel data, the 6-bit parallel data corresponding to each block being divided into two 3-bit groups and being input to an odd part and an even part, respectively.
12. The interleaving apparatus according to claim 10 , wherein the second permutation unit processor outputs 6-bit parallel data, which are classified into an inphase block and a quadrature block, each having 3 bits.
13. The interleaving apparatus according to claim 10 , wherein the second permutation unit processor selects one of data output corresponding to an odd part and data output corresponding to an even part in response to an odd/even part distinguishing signal generated by the memory write/read control unit controller, and outputs the selected data.
14. The interleaving apparatus according to claim 10 , wherein the output selection unit processor is operated so that, if a constellation mapping scheme related to a data transmission rate of the output data is BPSK, valid data are output in series on a 1-bit-at-a-time basis, if a constellation mapping scheme is QPSK, valid data are output in parallel on a 2-bits-at-a-time basis, if a constellation mapping scheme is 16-QAM, valid data are output in parallel on a 4-bits-at-a-time basis, and if a constellation mapping scheme is 64-QAM, valid data are output in parallel on a 6-bits-at-a-time basis.
15. An interleaving method for an orthogonal frequency division multiplexing transmitter, the transmitter including a memory write/read control unit controller and a memory access address generation unit generator and writing/reading data in/from a memory unit including a plurality of memory banks each having memory cells arranged in a matrix structure, the memory banks being capable of being independently controlled so that data input from a convolution encoder can be written or read in or from the memory banks, the method comprising the steps of:
a)generating at the memory write/read control unit generatingcontroller a control signal to write the input data in a corresponding memory bank in response to data transmission rate and valid interval indication signals for the input data transmitted from the convolution encoder;
b)generating at the memory access address generation unit generatinggenerator a memory access address to access the memory bank, in which the input data are to be written, in response to the write control signal for the memory bank generated by the memory write/read control unitcontroller;
c) writing the input data in a memory bank corresponding to the memory access address in response to the write control signal generated by the memory write/read control unit controller;
d)generating at the memory write/read control unit generatingcontroller a control signal to read data, written in the memory bank according to the data transmission rate, and data transmission rate and valid interval indication signals for output data when the data are read from the memory bank;
e)generating at the memory access address generation unit generatinggenerator a memory access address to access the memory bank, from which output data are to be read, in response to the read control signal;
f) reading the output data from the memory bank in response to the read control signal and the memory access address;
g) rearranging positions of output data read from the memory bank; and
h) outputting valid data among the position-rearranged output data in response to the data transmission rate and valid interval indication signals for the output data.
16. The interleaving method according to claim 15 , wherein the step a) generating of the control signal to write the input data is performed so that the memory write/read control unit controller generates a control signal to write the input data in 24-bit memory banks.
17. The interleaving method according to claim 15 , wherein the step a) generating of the control signal to write the input data is performed so that the memory write/read control unit controller generates a control signal to write the input data in at least 12 memory banks.
18. The interleaving method according to claim 15, wherein the data input/output to/from the memory bank are 1-bit data.
19. The interleaving method according to claim 15 , wherein the data, input to the memory unit, have a 2-bit parallel input structure.
20. The interleaving method according to claim 15 , wherein the step b) generating of the memory access address is performed to generate the memory access address implemented with an n-bit signal, upper k bits of which indicate a column of each memory cell and lower n-k bits of which indicate a row of each memory cell.
21. The interleaving method according to claim 20, wherein n is 5 and k is 2.
22. The interleaving method according to claim 15 , wherein the step g) rearranging of the positions of the output data read is performed to output 6-bit parallel data, the 6-bit parallel data being classified into an inphase block and a quadrature block, each having 3 bits.
23. The interleaving method according to claim 15 , wherein the step g) rearranging of the positions of the output data read is performed so that one of data output corresponding to an odd part and data output corresponding to an even part is selected in response to an odd/even part distinguishing signal generated by the memory write/read control unit, and the selected data are output.
24. The interleaving method according to claim 15 , wherein the step h) outputting of the valid data is performed so that, if a constellation mapping scheme related to a data transmission rate of the output data is BPSK, valid data are output in series on a 1-bit-at-a-time basis, if a constellation mapping scheme is QPSK, valid data are output in parallel on a 2-bits-at-a-time basis, if a constellation mapping scheme is 16-QAM, valid data are output in parallel on a 4-bits-at-a-time basis, and if a constellation mapping scheme is 64-QAM, valid data are output in parallel on a 6-bits-at a time-basis.
25. The interleaving method according to claim 15 , wherein the step h) outputting of the valid data comprises the step of outputting the data transmission rate and valid interval indication signals for the output data.
26. An interleaving apparatus for an orthogonal frequency division multiplexing (OFDM) transmitter, the apparatus comprising:
a memory write/read controller configured to generate a control signal according a constellation mapping scheme related to a data transmission rate, and output the generated control signal, and configured to receive signals indicating the data transmission rate and a valid interval of the input data and generate the control signal to write/read data existing in the valid interval:
a memory configured to store input data and output data bits of the stored data, in response to the control signal outputted from the memory write/read controller; and
a permutation and output selection processor configured to rearrange positions of the data bits outputted from the memory and output the position-rearranged data bits.
27. The apparatus according to claim 26, wherein the memory includes a plurality of memory banks each having memory cells arranged in an N+M matrix structure, the memory banks being independently controlled so that data can be written or read in or from the memory banks.
28. The apparatus according to claim 26, further comprises a memory access address generator configured to generate a memory access address used to write/read data in/from the memory in response to the control signal.
29. An interleaving method for an orthogonal frequency division multiplexing (OFDM) transmitter, the method comprising:
generating at a memory write/read controller a control signal according to a constellation mapping scheme related to a data transmission rate;
receiving signals indicating the data transmission rate and a valid interval of the input data and generate the control signal to write/read data existing in the valid interval;
storing input data and outputting data bits of the stored data in a memory, in response to the generated control signal;
rearranging positions of the outputted data bits at a permutation and output selection processor; and
outputting the position-rearranged data bits.
30. The method according to claim 29, wherein the method further comprises generating a memory access address used to store the input data and output the data bits of the stored data in response to the control signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/774,998 USRE44848E1 (en) | 2004-11-10 | 2010-05-06 | Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-0091392 | 2004-11-10 | ||
KR1020040091392A KR100608913B1 (en) | 2004-11-10 | 2004-11-10 | Apparatus and Method for Interleaving in OFDM Transmitter |
US11/129,125 US7370252B2 (en) | 2004-11-10 | 2005-05-12 | Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter |
US12/774,998 USRE44848E1 (en) | 2004-11-10 | 2010-05-06 | Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/129,125 Reissue US7370252B2 (en) | 2004-11-10 | 2005-05-12 | Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter |
Publications (1)
Publication Number | Publication Date |
---|---|
USRE44848E1 true USRE44848E1 (en) | 2014-04-15 |
Family
ID=36575809
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/129,125 Active 2026-04-23 US7370252B2 (en) | 2004-11-10 | 2005-05-12 | Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter |
US12/774,998 Active 2026-04-23 USRE44848E1 (en) | 2004-11-10 | 2010-05-06 | Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/129,125 Active 2026-04-23 US7370252B2 (en) | 2004-11-10 | 2005-05-12 | Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter |
Country Status (2)
Country | Link |
---|---|
US (2) | US7370252B2 (en) |
KR (1) | KR100608913B1 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8179954B2 (en) | 2007-10-30 | 2012-05-15 | Sony Corporation | Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard |
GB2454193B (en) * | 2007-10-30 | 2012-07-18 | Sony Corp | Data processing apparatus and method |
US8885761B2 (en) | 2003-03-25 | 2014-11-11 | Sony Corporation | Data processing apparatus and method |
KR100871853B1 (en) * | 2006-06-05 | 2008-12-03 | 삼성전자주식회사 | Data slot allocation method for transferring uncompressed AV data, uncompressed AV data transferring method, and apparatus thereof |
ES2562031T3 (en) | 2007-10-30 | 2016-03-02 | Sony Corporation | Apparatus and method of data processing |
ATE443376T1 (en) * | 2007-10-30 | 2009-10-15 | Sony Corp | DEVICE AND METHOD FOR DATA PROCESSING |
EP2204002B1 (en) | 2007-10-30 | 2013-05-01 | Sony Corporation | Data processing apparatus and method |
GB2460459B (en) * | 2008-05-30 | 2012-07-11 | Sony Corp | Data processing apparatus and method |
US8527726B2 (en) | 2008-11-13 | 2013-09-03 | International Business Machines Corporation | Tiled storage array with systolic move-to-front reorganization |
US8689027B2 (en) * | 2008-11-13 | 2014-04-01 | International Business Machines Corporation | Tiled memory power management |
US8271728B2 (en) * | 2008-11-13 | 2012-09-18 | International Business Machines Corporation | Spiral cache power management, adaptive sizing and interface operations |
US8543768B2 (en) | 2008-11-13 | 2013-09-24 | International Business Machines Corporation | Memory system including a spiral cache |
US9323654B2 (en) * | 2013-07-17 | 2016-04-26 | Infineon Technologies Ag | Memory access using address bit permutation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666521A (en) * | 1992-12-07 | 1997-09-09 | Intel Corporation | Method and apparatus for performing bit block transfers in a computer system |
US6035380A (en) * | 1995-02-14 | 2000-03-07 | Shelton; Christopher D. | Integrated circuit |
US6108745A (en) * | 1997-10-31 | 2000-08-22 | Hewlett-Packard Company | Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes |
US6714599B1 (en) * | 2000-09-29 | 2004-03-30 | Qualcomm, Incorporated | Method and apparatus for efficient processing of signal in a communication system |
US20050228962A1 (en) * | 2002-04-05 | 2005-10-13 | Yoshinori Takase | Non-volatile storage device |
-
2004
- 2004-11-10 KR KR1020040091392A patent/KR100608913B1/en not_active IP Right Cessation
-
2005
- 2005-05-12 US US11/129,125 patent/US7370252B2/en active Active
-
2010
- 2010-05-06 US US12/774,998 patent/USRE44848E1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666521A (en) * | 1992-12-07 | 1997-09-09 | Intel Corporation | Method and apparatus for performing bit block transfers in a computer system |
US6035380A (en) * | 1995-02-14 | 2000-03-07 | Shelton; Christopher D. | Integrated circuit |
US6108745A (en) * | 1997-10-31 | 2000-08-22 | Hewlett-Packard Company | Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes |
US6714599B1 (en) * | 2000-09-29 | 2004-03-30 | Qualcomm, Incorporated | Method and apparatus for efficient processing of signal in a communication system |
US20050228962A1 (en) * | 2002-04-05 | 2005-10-13 | Yoshinori Takase | Non-volatile storage device |
US7334080B2 (en) * | 2002-04-05 | 2008-02-19 | Renesas Technology Corp. | Nonvolatile memory with independent access capability to associated buffer |
Also Published As
Publication number | Publication date |
---|---|
KR100608913B1 (en) | 2006-08-09 |
US7370252B2 (en) | 2008-05-06 |
US20060123323A1 (en) | 2006-06-08 |
KR20060042654A (en) | 2006-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE44848E1 (en) | Interleaving apparatus and method for orthogonal frequency division multiplexing transmitter | |
JP5415280B2 (en) | System, apparatus and method for interleaving data bits or symbols | |
JP4372084B2 (en) | Interleaver and deinterleaver system | |
JP4296172B2 (en) | Interleaver and deinterleaver system | |
USRE44232E1 (en) | OFDM transmission apparatus and method having minimal transmission delay | |
US8218674B2 (en) | OFDM transmitter with adaptive bit interleaver for adaptive bit loading and method for OFDM communications | |
US7170849B1 (en) | Interleaver, deinterleaver, interleaving method, and deinterleaving method for OFDM data | |
US7616704B2 (en) | Broadband multicarrier transmitter with subchannel frequency diversity for transmitting a plurality of spatial streams | |
US8654892B2 (en) | Multiple transmit antenna interleaver design | |
US20070115960A1 (en) | De-interleaver for data decoding | |
WO2007073077A1 (en) | A new interleaver design with column skip for ieee 802.11n standard | |
US20150349997A1 (en) | Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method | |
US7440392B2 (en) | Wireless receiver deinterleaver having partitioned memory | |
WO2006039185A1 (en) | High rate, high diversity transmission on multiple transmit antennas | |
US7278070B2 (en) | Interleaving to avoid wideband interference in a multi-carrier communications system | |
WO2011123458A1 (en) | An enhanced frequency diversity technique for systems with carrier aggregation | |
US8214697B2 (en) | Deinterleaver for a communication device | |
US7233612B1 (en) | Wireless communication deinterleaver using multi-phase logic and cascaded deinterleaving | |
JP2001230680A (en) | Interleaving device and deinterleaving device | |
CN110838890B (en) | Deinterleaving method and device | |
JP2006295756A (en) | Digital modulator and its method, digital demodulator and its method | |
KR100764011B1 (en) | Apparatus and method for operating an interleaving and deinterleaving memory | |
JP7304406B2 (en) | Sending and receiving signals | |
WO2007125581A1 (en) | Preamble composing method | |
US20230269042A1 (en) | Distributed tone mapping for long-range wireless communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |